%!PS-Adobe-2.0
%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
%%Title: /tmp/tmpPQoCp1/users_guide_tmp.dvi
%%CreationDate: Tue Jul 14 18:28:44 2009
%%Pages: 239
%%PageOrder: Ascend
%%BoundingBox: 0 0 595 842
%%DocumentFonts: Times-Roman Helvetica Helvetica-Bold Helvetica-Oblique
%%+ Times-Bold Courier Courier-Oblique Times-Italic Courier-Bold
%%+ Courier-BoldOblique CMSY10 Symbol CMMI10
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -R0 -o /tmp/tmpPQoCp1/users_guide_tmp.ps
%+ /tmp/tmpPQoCp1/users_guide_tmp.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2009.07.14:1828
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: 8r.enc 0 0
% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30
%
% @@psencodingfile@{
% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,
% W. Schmidt, P. Lehman",
% version = "2.0",
% date = "27nov06",
% filename = "8r.enc",
% email = "tex-fonts@@tug.org",
% docstring = "This is the encoding vector for Type1 and TrueType
% fonts to be used with TeX. This file is part of the
% PSNFSS bundle, version 9"
% @}
%
% The idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,
% MacRoman, and some extra characters from Lucida.
%
% Character code assignments were made as follows:
%
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
%
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
%
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
% These are /dotlessj /ff /ffi /ffl.
%
% (4) hyphen appears twice for compatibility with both ASCII and Windows.
%
% (5) /Euro was assigned to 128, as in Windows ANSI
%
% (6) Missing characters from MacRoman encoding incorporated as follows:
%
% PostScript MacRoman TeXBase1
% -------------- -------------- --------------
% /notequal 173 0x16
% /infinity 176 0x17
% /lessequal 178 0x18
% /greaterequal 179 0x19
% /partialdiff 182 0x1A
% /summation 183 0x1B
% /product 184 0x1C
% /pi 185 0x1D
% /integral 186 0x81
% /Omega 189 0x8D
% /radical 195 0x8E
% /approxequal 197 0x8F
% /Delta 198 0x9D
% /lozenge 215 0x9E
%
/TeXBase1Encoding [
% 0x00
/.notdef /dotaccent /fi /fl
/fraction /hungarumlaut /Lslash /lslash
/ogonek /ring /.notdef /breve
/minus /.notdef /Zcaron /zcaron
% 0x10
/caron /dotlessi /dotlessj /ff
/ffi /ffl /notequal /infinity
/lessequal /greaterequal /partialdiff /summation
/product /pi /grave /quotesingle
% 0x20
/space /exclam /quotedbl /numbersign
/dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus
/comma /hyphen /period /slash
% 0x30
/zero /one /two /three
/four /five /six /seven
/eight /nine /colon /semicolon
/less /equal /greater /question
% 0x40
/at /A /B /C
/D /E /F /G
/H /I /J /K
/L /M /N /O
% 0x50
/P /Q /R /S
/T /U /V /W
/X /Y /Z /bracketleft
/backslash /bracketright /asciicircum /underscore
% 0x60
/quoteleft /a /b /c
/d /e /f /g
/h /i /j /k
/l /m /n /o
% 0x70
/p /q /r /s
/t /u /v /w
/x /y /z /braceleft
/bar /braceright /asciitilde /.notdef
% 0x80
/Euro /integral /quotesinglbase /florin
/quotedblbase /ellipsis /dagger /daggerdbl
/circumflex /perthousand /Scaron /guilsinglleft
/OE /Omega /radical /approxequal
% 0x90
/.notdef /.notdef /.notdef /quotedblleft
/quotedblright /bullet /endash /emdash
/tilde /trademark /scaron /guilsinglright
/oe /Delta /lozenge /Ydieresis
% 0xA0
/.notdef /exclamdown /cent /sterling
/currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft
/logicalnot /hyphen /registered /macron
% 0xB0
/degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown
% 0xC0
/Agrave /Aacute /Acircumflex /Atilde
/Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis
/Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
/Eth /Ntilde /Ograve /Oacute
/Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls
% 0xE0
/agrave /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis
/igrave /iacute /icircumflex /idieresis
% 0xF0
/eth /ntilde /ograve /oacute
/ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis
] def
%%EndProcSet
%%BeginProcSet: texps.pro 0 0
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
%%EndProcSet
%%BeginProcSet: special.pro 0 0
%!
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/setpagedevice{pop}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
/setpagedevice{pop}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
%%BeginProcSet: color.pro 0 0
%!
TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
%%EndProcSet
TeXDict begin @defspecial
/DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div
Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff
pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF
/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2
sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint
HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A {
H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt
sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub
/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch
pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict
/pdfmark known { userdict /?pdfmark systemdict /exec get put }{ userdict
/?pdfmark systemdict /pop get put userdict /pdfmark systemdict /cleartomark
get put } ifelse
@fedspecial end
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 45 /arrowhookright put
readonly def
/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
9560176676ABB71BBD0EE56B4CC492C0652750227CEC7DE3C101D8ACE30121BC
56A5E92F5923A805EF130005131649C0F8BF786E20EE3832E2924E51A53C555A
AA9D9A9D13E3F79D45F86201DC8817948DF105B0A29A320063E1C83AA3B4024B
1F334308B0C323412BCC7305B51C14BDA6963740E6F6838C1A9A34622EF89CD4
F80A8BA6E69770D89C7B44C95DE6360BAB7603413178493FE9294DB9A1DB46F9
D595487169CA04F559BC346775808D34B1F51AC20E7A2F4638F0183DC67C1AEE
A328BF57FB326B5740A6B035552C6196B7A83FB93F0FEC75BA8D0FDAE7C88792
57422E469BC3CE8F5F73EEE3E1196F7AA1119B411F4FF2F580719258B6CF3E96
22
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 32 /arrowleft put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609
C627A8BD98D9E826F964721E92BBDC978E88EEA0A9C14802EBCC41F810428FA8
B9972032A01769A7C72D1A65276F414DEEDAF1D22BE23F4705BF5EF31B6A3B69
0C896320F09E9875B50220A5BDBBD57C041B5EA97F421685A7256B0D9755EDBE
D05190DABF1C3DBF558258163C8231D89167A816BBA55FB1F14AD04320AE381D
F783A9EACEE8AE5C1838775FE2380BDD1F3AFCCCC96D2A2DFC999B52A6689C51
AF82B8D63205B339103134DAC7E3C45E6693940276041BB07EBDB9B729E8EF0D
EE8BF450FA42551BE65217FEA902E28DECC09580B504F0F52F1E8FC5CE7AC28D
C4E47F908FDAEBA23827A97A0AA741AA7708F7BBFEC6FA69CC4F7C3BD4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
TeXDict begin 39158274 55380984 1000 600 600
(/tmp/tmpPQoCp1/users_guide_tmp.dvi) @start /Fa 139[72
72 9[72 72 72 1[72 1[72 40[72 11[72 46[{TeXBase1Encoding ReEncodeFont}9
119.552 /Courier-Bold rf /Fb 210[21 45[{}1 74.7198 /CMMI10
rf /Fd 223[75 32[{}1 74.7198 /CMSY10 rf /Fe 145[35 60[35
49[{TeXBase1Encoding ReEncodeFont}2 58.1154 /Courier-BoldOblique
rf /Ff 131[45 1[45 45 45 1[45 45 45 45 45 1[45 45 45
45 45 2[45 45 45 45 45 45 45 45 45 16[45 2[45 77[{
TeXBase1Encoding ReEncodeFont}25 74.7198 /Courier-BoldOblique
rf /Fg 134[50 1[50 50 1[50 1[50 50 50 50 2[50 2[50 50
1[50 50 50 50 1[50 12[50 50 3[50 9[50 69[{TeXBase1Encoding ReEncodeFont}
20 83.022 /Courier-Oblique rf /Fh 131[50 1[50 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 1[50 1[50 1[50 50 2[50 50 50 50 50 50 1[50
50 50 50 50 50 1[50 50 50 50 50 50 50 50 50 1[50 50 50
50 1[50 50 50 3[50 50 50 50 50 50 50 50 50 50 50 50 50
2[50 50 50 50 50 33[{TeXBase1Encoding ReEncodeFont}77
83.022 /Courier-Bold rf /Fi 134[60 60 60 1[60 60 60 60
1[60 60 60 60 60 60 1[60 60 60 60 60 60 60 60 60 1[60
10[60 3[60 60 5[60 4[60 22[60 2[60 7[60 34[{
TeXBase1Encoding ReEncodeFont}31 99.6264 /Courier-Bold
rf /Fj 138[33 1[26 26 2[33 9[29 1[29 99[{TeXBase1Encoding ReEncodeFont}
6 66.4176 /Times-Italic rf /Fk 135[40 2[40 40 40 40 1[40
40 40 40 1[40 1[40 40 40 40 40 40 40 1[40 1[40 2[40 8[40
14[40 40 8[40 12[40 3[40 40 40[{TeXBase1Encoding ReEncodeFont}27
66.4176 /Courier rf /Fl 107[29 29 25[33 33 48 33 33 18
26 22 33 33 33 33 52 18 33 18 18 33 33 22 29 33 29 33
29 22 8[63 2[41 37 3[48 48 4[22 48 48 1[41 1[44 7[18
4[33 1[33 33 33 33 2[17 22 17 4[22 36[37 2[{
TeXBase1Encoding ReEncodeFont}49 66.4176 /Times-Roman
rf /Fm 201[25 25 25 25 25 25 49[{TeXBase1Encoding ReEncodeFont}6
49.8132 /Times-Roman rf /Fn 139[17 1[20 5[17 2[17 31
31 20 27 43[31 2[31 31 31 31 31 31 31 48[{TeXBase1Encoding ReEncodeFont}
16 61.4362 /Times-Roman rf /Fo 108[45 20[45 45 45 45
45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
33[{TeXBase1Encoding ReEncodeFont}95 74.7198 /Courier
rf /Fp 107[45 45 25[50 50 70 50 55 30 50 35 55 55 55
55 80 25 50 1[25 55 55 30 50 55 50 55 50 1[50 4[55 2[85
60 65 55 60 65 70 60 70 65 75 55 65 1[25 65 70 55 60
65 65 65 65 1[55 4[30 50 50 50 50 50 50 50 50 50 50 25
25 30 25 2[30 30 25 5[30 29[55 55 2[{TeXBase1Encoding ReEncodeFont}72
89.6632 /Helvetica-Bold rf /Fq 134[37 37 55 37 42 23
32 32 42 42 42 42 60 23 37 23 23 42 42 23 37 42 37 42
42 7[46 1[69 1[60 46 42 51 1[51 1[55 69 46 2[28 60 60
51 51 60 55 1[51 5[28 28 42 42 2[42 3[42 2[21 28 21 2[28
28 28 5[28 29[42 42 2[{TeXBase1Encoding ReEncodeFont}58
83.022 /Times-Italic rf /Fr 133[45 45 45 45 45 45 45
45 45 45 45 45 45 45 45 45 1[45 45 45 45 45 45 45 45
45 7[45 2[45 1[45 3[45 2[45 4[45 45 2[45 45 16[45 45
2[45 45 1[45 43[{TeXBase1Encoding ReEncodeFont}39 74.7198
/Courier-Oblique rf /Fs 105[60 1[54 54 25[60 60 84 60
66 36 60 42 66 66 66 66 96 30 60 30 30 66 66 36 60 66
60 66 60 7[72 1[102 1[78 66 72 78 84 72 84 1[90 66 78
1[30 78 84 66 72 78 78 78 78 6[36 60 60 60 60 60 60 60
60 60 60 1[30 36 30 2[36 36 5[51 31[66 2[{TeXBase1Encoding ReEncodeFont}
67 107.596 /Helvetica-Bold rf /Ft 119[50 9[50 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 1[50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
33[{TeXBase1Encoding ReEncodeFont}94 83.022 /Courier
rf /Fu 104[83 42 1[42 42 21[33 1[33 37 42 42 60 42 46
28 32 37 1[46 42 46 69 23 46 1[23 46 42 28 37 46 37 46
42 28 42 1[28 1[28 1[60 1[83 60 60 55 46 60 65 51 65
60 78 55 65 1[32 65 65 51 55 60 60 55 60 1[42 1[47 2[28
42 42 42 42 42 42 42 42 42 42 23 21 28 21 47 1[28 28
28 1[83 3[28 29[46 46 2[{TeXBase1Encoding ReEncodeFont}82
83.022 /Times-Bold rf /Fv 134[103 103 145 103 114 62
103 72 1[114 114 114 165 52 103 1[52 114 114 62 103 114
103 114 103 9[175 1[134 114 1[134 1[124 145 2[114 134
1[52 134 145 114 2[134 1[134 6[62 6[103 103 5[52 2[62
62 37[114 2[{TeXBase1Encoding ReEncodeFont}44 185.902
/Helvetica-Bold rf /Fw 170[54 46 50 54 2[58 54 62 42
2[21 1[58 46 50 54 54 1[50 65[{TeXBase1Encoding ReEncodeFont}15
74.7193 /Helvetica-Oblique rf /Fx 134[42 42 58 42 46
25 42 29 46 46 46 46 66 21 42 1[21 46 46 25 42 46 42
46 42 7[50 1[71 50 54 46 50 54 58 50 58 54 62 46 2[21
54 58 1[50 54 54 54 54 1[46 5[42 42 42 42 42 42 42 42
42 42 1[21 25 21 41[46 2[{TeXBase1Encoding ReEncodeFont}60
74.7193 /Helvetica-Bold rf /Fy 134[86 1[121 1[95 52 86
60 1[95 95 95 138 43 86 1[43 95 95 1[86 95 2[86 10[103
112 95 103 10[112 121 3[112 9[86 86 86 86 86 86 86 86
86 86 1[43 1[43 4[43 39[{TeXBase1Encoding ReEncodeFont}38
154.968 /Helvetica-Bold rf /Fz 134[37 37 54 37 42 21
37 25 1[42 42 42 62 17 37 1[17 42 42 21 42 42 37 42 42
7[50 1[71 50 54 46 50 54 1[50 58 54 62 2[37 21 54 58
46 50 54 54 50 50 6[21 42 42 42 42 42 42 42 42 42 42
21 21 1[21 2[25 25 17 36[37 2[{TeXBase1Encoding ReEncodeFont}62
74.7193 /Helvetica rf /FA 104[83 42 29 37 37 20[45 1[17
1[37 42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23
23 42 42 28 37 42 37 42 37 28 42 1[28 23 28 51 60 60
78 60 60 51 46 55 60 46 60 60 74 51 60 32 28 60 60 46
51 60 55 55 60 76 37 47 47 47 23 23 42 42 42 42 42 42
42 42 42 42 23 21 28 21 47 42 28 28 28 65 69 42 42 34
28 29[46 46 2[{TeXBase1Encoding ReEncodeFont}98 83.022
/Times-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a -600 -600
a
SDict begin [ /Producer (dvips + Distiller) /Title (The Glorious Glasgow Haskell Compilation System User's Guide, Version 6.10.4) /Subject () /Creator (DBLaTeX-0.2.8) /Author (The GHC Team) /Keywords () /DOCINFO pdfmark end
-600 -600 a Black 0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382
a 0 TeXcolorgray 0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382
a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.i) cvn H.B /DEST pdfmark end
-128 -382 a Black -78 -412 a FA(The)20
b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)-78 -313 y(Compilation)f(System)h
(User')-5 b(s)21 b(Guide,)-78 -213 y(V)-9 b(ersion)20
b(6.10.4)3666 b Fz(i)p -128 -179 4252 5 v Black -128
90 a
SDict begin [ /Count -8 /Dest (chapter.1) cvn /Title (Introduction to GHC) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.1) cvn /Title (Obtaining GHC) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.2) cvn /Title (Meta-information: Web sites, mailing lists, etc.) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.3) cvn /Title (Reporting bugs in GHC) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.4) cvn /Title (GHC version numbering policy) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.5) cvn /Title (Release notes for version 6.10.4) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.6) cvn /Title (Release notes for version 6.10.3) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.1.7) cvn /Title (Release notes for version 6.10.2) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -10 /Dest (section.1.8) cvn /Title (Release notes for version 6.10.1) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.1) cvn /Title (User-visible compiler changes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.2) cvn /Title (Deprecated flags) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.3) cvn /Title (GHC API changes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.4) cvn /Title (GHCi changes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.5) cvn /Title (Runtime system changes) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.6) cvn /Title (runghc) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.7) cvn /Title (ghc-pkg) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.8) cvn /Title (Haddock) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.1.8.9) cvn /Title (DPH changes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -23 /Dest (subsection.1.8.10) cvn /Title (Boot Libraries) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.1) cvn /Title (array) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.2) cvn /Title (base) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.3) cvn /Title (bytestring) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.4) cvn /Title (Cabal) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.5) cvn /Title (containers) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.6) cvn /Title (directory) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.7) cvn /Title (editline) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.8) cvn /Title (filepath) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.9) cvn /Title (ghc-prim) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.10) cvn /Title (haskell98) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.11) cvn /Title (hpc) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.12) cvn /Title (integer) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.13) cvn /Title (old-locale) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.14) cvn /Title (old-time) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.15) cvn /Title (packedstring) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.16) cvn /Title (pretty) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.17) cvn /Title (process) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.18) cvn /Title (random) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.19) cvn /Title (readline) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.20) cvn /Title (syb) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.21) cvn /Title (template-haskell) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.22) cvn /Title (unix) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.1.8.10.23) cvn /Title (Win32) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -11 /Dest (chapter.2) cvn /Title (Using GHCi) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.2.1) cvn /Title (Introduction to GHCi) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -2 /Dest (section.2.2) cvn /Title (Loading source files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.2.1) cvn /Title (Modules vs. filenames) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.2.2) cvn /Title (Making changes and recompilation) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (section.2.3) cvn /Title (Loading compiled code) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -5 /Dest (section.2.4) cvn /Title (Interactive evaluation at the prompt) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.4.1) cvn /Title (I/O actions at the prompt) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.4.2) cvn /Title (Using do-notation at the prompt) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsection.2.4.3) cvn /Title (What's really in scope at the prompt?) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.2.4.3.1) cvn /Title (:module and :load) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.2.4.3.2) cvn /Title (Qualified names) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.2.4.3.3) cvn /Title (The :main and :run commands) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.2.4.4) cvn /Title (The it variable) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.4.5) cvn /Title (Type defaulting in GHCi) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -8 /Dest (section.2.5) cvn /Title (The GHCi Debugger) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -2 /Dest (subsection.2.5.1) cvn /Title (Breakpoints and inspecting variables) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.2.5.1.1) cvn /Title (Setting breakpoints) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.2.5.1.2) cvn /Title (Listing and deleting breakpoints) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.5.2) cvn /Title (Single-stepping) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.5.3) cvn /Title (Nested breakpoints) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.2.5.4) cvn /Title (The \137result variable) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.5.5) cvn /Title (Tracing and history) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.5.6) cvn /Title (Debugging exceptions) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.2.5.7) cvn /Title (Example: inspecting functions) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.5.8) cvn /Title (Limitations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.2.6) cvn /Title (Invoking GHCi) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.6.1) cvn /Title (Packages) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.6.2) cvn /Title (Extra libraries) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.2.7) cvn /Title (GHCi commands) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.2.8) cvn /Title (The :set command) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.2.8.1) cvn /Title (GHCi options) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.2.8.2) cvn /Title (Setting GHC command-line options in GHCi) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.2.9) cvn /Title (The .ghci file) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.2.10) cvn /Title (Compiling to object code inside GHCi) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (section.2.11) cvn /Title (FAQ and Things To Watch Out For) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (chapter.3) cvn /Title (Using runghc) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.3.1) cvn /Title (Flags) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -17 /Dest (chapter.4) cvn /Title (Using GHC) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (section.4.1) cvn /Title (Options overview) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.1.1) cvn /Title (Command-line arguments) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.1.2) cvn /Title (Command line options in source files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.1.3) cvn /Title (Setting options in GHCi) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (section.4.2) cvn /Title (Static, Dynamic, and Mode options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.4.3) cvn /Title (Meaningful file suffixes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (section.4.4) cvn /Title (Modes of operation) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.4.1) cvn /Title (Using ghc \205\205make) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.4.2) cvn /Title (Expression evaluation mode) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (subsection.4.4.3) cvn /Title (Batch compiler mode) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.4.4.3.1) cvn /Title (Overriding the default behaviour for a file) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.4.5) cvn /Title (Help and verbosity options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -12 /Dest (section.4.6) cvn /Title (Filenames and separate compilation) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.1) cvn /Title (Haskell source files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.2) cvn /Title (Output files) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.4.6.3) cvn /Title (The search path) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.4) cvn /Title (Redirecting the compilation output\(s\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.5) cvn /Title (Keeping Intermediate Files) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.6) cvn /Title (Redirecting temporary files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.7) cvn /Title (Other options related to interface files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.8) cvn /Title (The recompilation checker) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.9) cvn /Title (How to compile mutually recursive modules) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.10) cvn /Title (Using make) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.11) cvn /Title (Dependency generation) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.6.12) cvn /Title (Orphan modules and instance declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.4.7) cvn /Title (Warnings and sanity-checking) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -7 /Dest (section.4.8) cvn /Title ( Packages ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.8.1) cvn /Title (Using Packages ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.8.2) cvn /Title (The main package) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.8.3) cvn /Title (Consequences of packages) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (subsection.4.8.4) cvn /Title (Package Databases) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.4.8.4.1) cvn /Title (The GHC\137PACKAGE\137PATH environment variable) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.8.5) cvn /Title (Building a package from Haskell source) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.8.6) cvn /Title (Package management \(the ghc-pkg command\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.8.7) cvn /Title ( InstalledPackageInfo: a package specification ) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.4.9) cvn /Title (Optimisation \(code improvement\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.9.1) cvn /Title (-O*: convenient \215packages\216 of optimisation flags.) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.4.9.2) cvn /Title (-f*: platform-independent flags) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -7 /Dest (section.4.10) cvn /Title (Options related to a particular phase) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.10.1) cvn /Title (Replacing the program for one or more phases) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.10.2) cvn /Title (Forcing options to a particular phase) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (subsection.4.10.3) cvn /Title (Options affecting the C pre-processor) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.4.10.3.1) cvn /Title (CPP and string gaps) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.10.4) cvn /Title (Options affecting a Haskell pre-processor) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.10.5) cvn /Title (Options affecting the C compiler \(if applicable\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.10.6) cvn /Title (Options affecting code generation) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.10.7) cvn /Title (Options affecting linking) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.4.11) cvn /Title (Using Concurrent Haskell) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -2 /Dest (section.4.12) cvn /Title (Using SMP parallelism) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.12.1) cvn /Title (Options for SMP parallelism) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.12.2) cvn /Title (Hints for using SMP parallelism) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (section.4.13) cvn /Title (Platform-specific Flags) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -8 /Dest (section.4.14) cvn /Title (Running a compiled program) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.1) cvn /Title (Setting global RTS options) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.2) cvn /Title (Miscellaneous RTS options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.3) cvn /Title (RTS options to control the garbage collector) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.4) cvn /Title (RTS options for concurrency and parallelism) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.5) cvn /Title (RTS options for profiling) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.6) cvn /Title (RTS options for hackers, debuggers, and over-interested souls) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.4.14.7) cvn /Title (\215Hooks\216 to change RTS behaviour) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.14.8) cvn /Title (Getting information about the RTS) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.4.15) cvn /Title (Generating and compiling External Core Files) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -4 /Dest (section.4.16) cvn /Title (Debugging the compiler) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.16.1) cvn /Title (Dumping out compiler intermediate structures) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.16.2) cvn /Title (Checking for consistency) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.16.3) cvn /Title (How to read Core syntax \(from some -ddump flags\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.16.4) cvn /Title (Unregisterised compilation) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -28 /Dest (section.4.17) cvn /Title (Flag reference) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.1) cvn /Title (Help and verbosity options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.2) cvn /Title (Which phases to run) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.4.17.3) cvn /Title (Alternative modes of operation) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.4) cvn /Title (Redirecting output) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.5) cvn /Title (Keeping intermediate files) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.6) cvn /Title (Temporary files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.7) cvn /Title (Finding imports) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.8) cvn /Title (Interface file options) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.9) cvn /Title (Recompilation checking) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.10) cvn /Title (Interactive-mode options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.11) cvn /Title (Packages) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.12) cvn /Title (Language options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.13) cvn /Title (Warnings) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.4.17.14) cvn /Title (Optimisation levels) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.15) cvn /Title (Individual optimisations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.16) cvn /Title (Profiling options) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.17) cvn /Title (Program coverage options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.18) cvn /Title (Haskell pre-processor options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.19) cvn /Title (C pre-processor options) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.20) cvn /Title (C compiler options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.21) cvn /Title (Code generation options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.22) cvn /Title (Linking options) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.23) cvn /Title (Replacing phases) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.24) cvn /Title (Forcing options to particular phases) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.4.17.25) cvn /Title (Platform-specific options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.26) cvn /Title (External core file options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.27) cvn /Title (Compiler debugging options) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.4.17.28) cvn /Title (Misc compiler options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -7 /Dest (chapter.5) cvn /Title (Profiling) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.5.1) cvn /Title (Cost centres and cost-centre stacks) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.1.1) cvn /Title (Inserting cost centres by hand) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.1.2) cvn /Title (Rules for attributing costs) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.5.2) cvn /Title (Compiler options for profiling) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.5.3) cvn /Title (Time and allocation profiling) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (section.5.4) cvn /Title (Profiling memory usage) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.5.4.1) cvn /Title (RTS options for heap profiling) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (subsection.5.4.2) cvn /Title (Retainer Profiling) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.4.2.1) cvn /Title (Hints for using retainer profiling) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.5.4.3) cvn /Title (Biographical Profiling) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.4.4) cvn /Title (Actual memory residency) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (section.5.5) cvn /Title (hp2ps\205\205heap profile to PostScript) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.5.1) cvn /Title (Manipulating the hp file) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.5.2) cvn /Title (Zooming in on regions of your profile) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.5.3) cvn /Title (Viewing the heap profile of a running program) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.5.4) cvn /Title (Viewing a heap profile in real time) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (section.5.6) cvn /Title (Observing Code Coverage) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.5.6.1) cvn /Title (A small example: Reciprocation) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.6.2) cvn /Title (Options for instrumenting code for coverage) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -6 /Dest (subsection.5.6.3) cvn /Title (The hpc toolkit) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.6.3.1) cvn /Title (hpc report) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.6.3.2) cvn /Title (hpc markup) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.6.3.3) cvn /Title (hpc sum) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.6.3.4) cvn /Title (hpc combine) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.6.3.5) cvn /Title (hpc map) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.5.6.3.6) cvn /Title (hpc overlay and hpc draft) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.5.6.4) cvn /Title (Caveats and Shortcomings of Haskell Program Coverage) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.5.7) cvn /Title (Using \215ticky-ticky\216 profiling \(for implementors\)) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -4 /Dest (chapter.6) cvn /Title (Advice on: sooner, faster, smaller, thriftier) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.6.1) cvn /Title (Sooner: producing a program more quickly ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.6.2) cvn /Title (Faster: producing a program that runs quicker) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (section.6.3) cvn /Title (Smaller: producing a program that is smaller ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.6.4) cvn /Title (Thriftier: producing a program that gobbles less heap space ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -18 /Dest (chapter.7) cvn /Title (GHC Language Features) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (section.7.1) cvn /Title (Language options) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.7.2) cvn /Title (Unboxed types and primitive operations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.2.1) cvn /Title (Unboxed types ) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.2.2) cvn /Title (Unboxed Tuples ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -16 /Dest (section.7.3) cvn /Title (Syntactic extensions) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.7.3.1) cvn /Title (The magic hash) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.2) cvn /Title (New qualified operator syntax) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.3) cvn /Title (Hierarchical Modules) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.4) cvn /Title (Pattern guards) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.5) cvn /Title (View patterns ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.6) cvn /Title (The recursive do-notation ) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.7) cvn /Title (Parallel List Comprehensions) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.8) cvn /Title (Generalised \(SQL-Like\) List Comprehensions) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.9) cvn /Title (Rebindable syntax and the implicit Prelude import) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.10) cvn /Title (Postfix operators) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.11) cvn /Title (Record field disambiguation) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.7.3.12) cvn /Title (Record puns ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.13) cvn /Title (Record wildcards ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.14) cvn /Title (Local Fixity Declarations ) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.15) cvn /Title (Package-qualified imports) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.3.16) cvn /Title (Summary of stolen syntax) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -6 /Dest (section.7.4) cvn /Title (Extensions to data types and type synonyms) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.4.1) cvn /Title (Data types with no constructors) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.4.2) cvn /Title (Infix type constructors, classes, and type variables) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.4.3) cvn /Title (Liberalised type synonyms) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -4 /Dest (subsection.7.4.4) cvn /Title (Existentially quantified data constructors ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.4.4.1) cvn /Title (Why existential? ) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.7.4.4.2) cvn /Title (Existentials and type classes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.4.4.3) cvn /Title (Record Constructors) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.4.4.4) cvn /Title (Restrictions) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.4.5) cvn /Title (Declaring data types with explicit constructor signatures) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.4.6) cvn /Title (Generalised Algebraic Data Types \(GADTs\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (section.7.5) cvn /Title (Extensions to the "deriving" mechanism) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.5.1) cvn /Title (Inferred context for deriving clauses) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.5.2) cvn /Title (Stand-alone deriving declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.5.3) cvn /Title (Deriving clause for classes Typeable and Data) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -2 /Dest (subsection.7.5.4) cvn /Title (Generalised derived instances for newtypes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.5.4.1) cvn /Title ( Generalising the deriving clause ) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.7.5.4.2) cvn /Title ( A more precise specification ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (section.7.6) cvn /Title (Class and instances declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsection.7.6.1) cvn /Title (Class declarations) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.1.1) cvn /Title (Multi-parameter type classes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.1.2) cvn /Title (The superclasses of a class declaration) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.1.3) cvn /Title (Class method types) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -2 /Dest (subsection.7.6.2) cvn /Title (Functional dependencies ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.2.1) cvn /Title (Rules for functional dependencies ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (subsubsection.7.6.2.2) cvn /Title (Background on functional dependencies) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.6.2.2.1) cvn /Title (An attempt to use constructor classes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.6.2.2.2) cvn /Title (Adding functional dependencies) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -4 /Dest (subsection.7.6.3) cvn /Title (Instance declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.3.1) cvn /Title (Relaxed rules for instance declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.3.2) cvn /Title (Undecidable instances) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.3.3) cvn /Title (Overlapping instances) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.6.3.4) cvn /Title (Type synonyms in the instance head) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.6.4) cvn /Title (Overloaded string literals ) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -2 /Dest (section.7.7) cvn /Title (Type families) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsection.7.7.1) cvn /Title (Data families) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (subsubsection.7.7.1.1) cvn /Title (Data family declarations) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.1.1) cvn /Title (Associated data family declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (subsubsection.7.7.1.2) cvn /Title (Data instance declarations) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.2.1) cvn /Title (Associated data instances) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.2.2) cvn /Title (Scoping of class parameters) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.2.3) cvn /Title (Type class instances of family instances) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.2.4) cvn /Title (Overlap of data instances) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsubsection.7.7.1.3) cvn /Title (Import and export) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.3.1) cvn /Title (Associated families) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.3.2) cvn /Title (Examples) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.1.3.3) cvn /Title (Instances) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsection.7.7.2) cvn /Title (Synonym families) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -1 /Dest (subsubsection.7.7.2.1) cvn /Title (Type family declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.2.1.1) cvn /Title (Associated type family declarations) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -3 /Dest (subsubsection.7.7.2.2) cvn /Title (Type instance declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.2.2.1) cvn /Title (Associated type instance declarations) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.2.2.2) cvn /Title (Overlap of type synonym instances) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (paragraph.7.7.2.2.3) cvn /Title (Decidability of type synonym instances) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.7.2.3) cvn /Title (Equality constraints) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -7 /Dest (section.7.8) cvn /Title (Other type system extensions) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -1 /Dest (subsection.7.8.1) cvn /Title (Type signatures) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.1.1) cvn /Title (The context of a type signature) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -4 /Dest (subsection.7.8.2) cvn /Title (Implicit parameters) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.2.1) cvn /Title (Implicit-parameter type constraints) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.2.2) cvn /Title (Implicit-parameter bindings) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.2.3) cvn /Title (Implicit parameters and polymorphic recursion) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.2.4) cvn /Title (Implicit parameters and monomorphism) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.8.3) cvn /Title (Explicitly-kinded quantification) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -3 /Dest (subsection.7.8.4) cvn /Title (Arbitrary-rank polymorphism ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.4.1) cvn /Title (Examples ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.4.2) cvn /Title (Type inference) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.4.3) cvn /Title (Implicit quantification) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.8.5) cvn /Title (Impredicative polymorphism ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -5 /Dest (subsection.7.8.6) cvn /Title (Lexically scoped type variables ) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.6.1) cvn /Title (Overview) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.6.2) cvn /Title (Declaration type signatures) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.6.3) cvn /Title (Expression type signatures) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.6.4) cvn /Title (Pattern type signatures) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.8.6.5) cvn /Title (Class and instance declarations) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.8.7) cvn /Title (Generalised typing of mutually recursive bindings) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -5 /Dest (section.7.9) cvn /Title (Template Haskell) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.9.1) cvn /Title (Syntax) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.9.2) cvn /Title ( Using Template Haskell ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.9.3) cvn /Title ( A Template Haskell Worked Example ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.9.4) cvn /Title (Using Template Haskell with Profiling) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.9.5) cvn /Title ( Template Haskell Quasi-quotation ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -6 /Dest (section.7.10) cvn /Title (Arrow notation ) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.7.10.1) cvn /Title (do-notation for commands) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.10.2) cvn /Title (Conditional commands) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.10.3) cvn /Title (Defining your own control structures) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.10.4) cvn /Title (Primitive constructs) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.10.5) cvn /Title (Differences with the paper) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.10.6) cvn /Title (Portability) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -2 /Dest (section.7.11) cvn /Title (Bang patterns \040) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.11.1) cvn /Title (Informal description of bang patterns ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.11.2) cvn /Title (Syntax and semantics ) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.7.12) cvn /Title (Assertions \040) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -11 /Dest (section.7.13) cvn /Title (Pragmas) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.7.13.1) cvn /Title (LANGUAGE pragma) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.2) cvn /Title (OPTIONS\137GHC pragma) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.3) cvn /Title (INCLUDE pragma) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.4) cvn /Title (WARNING and DEPRECATED pragmas) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsection.7.13.5) cvn /Title (INLINE and NOINLINE pragmas) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.13.5.1) cvn /Title (INLINE pragma) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.13.5.2) cvn /Title (NOINLINE pragma) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.7.13.5.3) cvn /Title (Phase control) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.6) cvn /Title (LINE pragma) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.7) cvn /Title (RULES pragma) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.8) cvn /Title (SPECIALIZE pragma) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.7.13.9) cvn /Title (SPECIALIZE instance pragma ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.10) cvn /Title (UNPACK pragma) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.13.11) cvn /Title (SOURCE pragma) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -6 /Dest (section.7.14) cvn /Title (Rewrite rules \040 ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.14.1) cvn /Title (Syntax) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.14.2) cvn /Title (Semantics) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.14.3) cvn /Title (List fusion) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.14.4) cvn /Title (Specialisation ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.14.5) cvn /Title (Controlling what's going on) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.14.6) cvn /Title (CORE pragma) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.7.15) cvn /Title (Special built-in functions) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -4 /Dest (section.7.16) cvn /Title (Generic classes) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.16.1) cvn /Title ( Using generics ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.16.2) cvn /Title ( Changes wrt the paper ) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.7.16.3) cvn /Title (Terminology and restrictions) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.16.4) cvn /Title ( Another example ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.7.17) cvn /Title (Control over monomorphism) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.17.1) cvn /Title (Switching off the dreaded Monomorphism Restriction) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.17.2) cvn /Title (Monomorphic pattern bindings) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -5 /Dest (section.7.18) cvn /Title (Concurrent and Parallel Haskell) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.18.1) cvn /Title (Concurrent Haskell) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.18.2) cvn /Title (Software Transactional Memory) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.7.18.3) cvn /Title (Parallel Haskell) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.18.4) cvn /Title (Annotating pure code for parallelism) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.7.18.5) cvn /Title (Data Parallel Haskell) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -2 /Dest (chapter.8) cvn /Title ( Foreign function interface \(FFI\) ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (section.8.1) cvn /Title (GHC extensions to the FFI Addendum) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.8.1.1) cvn /Title (Unboxed types) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.8.1.2) cvn /Title (Newtype wrapping of the IO monad) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (section.8.2) cvn /Title (Using the FFI with GHC) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (subsection.8.2.1) cvn /Title (Using foreign export and foreign import ccall "wrapper" with GHC) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.8.2.1.1) cvn /Title (Using your own main\(\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.8.2.1.2) cvn /Title (Making a Haskell library that can be called from foreign code) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.8.2.1.3) cvn /Title (On the use of hs\137exit\(\)) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.8.2.2) cvn /Title (Using function headers) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.8.2.3) cvn /Title (Memory Allocation) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -2 /Dest (chapter.9) cvn /Title (What to do when something goes wrong) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.9.1) cvn /Title (When the compiler \215does the wrong thing\216) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.9.2) cvn /Title (When your program \215does the wrong thing\216) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -3 /Dest (chapter.10) cvn /Title (Other Haskell utility programs) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -1 /Dest (section.10.1) cvn /Title (Ctags and Etags for Haskell: hasktags) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.10.1.1) cvn /Title (Using tags with your editor) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.10.2) cvn /Title (\215Yacc for Haskell\216: happy) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (section.10.3) cvn /Title (Writing Haskell interfaces to C code: hsc2hs) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.10.3.1) cvn /Title (command line syntax) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.10.3.2) cvn /Title (Input syntax) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.10.3.3) cvn /Title (Custom constructs) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -6 /Dest (chapter.11) cvn /Title (Running GHC on Win32 systems) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.11.1) cvn /Title ( Starting GHC on Windows platforms) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.11.2) cvn /Title (Running GHCi on Windows) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -0 /Dest (section.11.3) cvn /Title ( Interacting with the terminal) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (section.11.4) cvn /Title ( Differences in library behaviour ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (section.11.5) cvn /Title ( Using GHC \(and other GHC-compiled executables\) with cygwin) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.11.5.1) cvn /Title (Background) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.11.5.2) cvn /Title (The problem) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsection.11.5.3) cvn /Title (Things to do) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -3 /Dest (section.11.6) cvn /Title (Building and using Win32 DLLs ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.11.6.1) cvn /Title (Creating a DLL) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsection.11.6.2) cvn /Title (Making DLLs to be called from other languages) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.11.6.3) cvn /Title (Beware of DllMain\(\)!) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -2 /Dest (chapter.12) cvn /Title (Known bugs and infelicities) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -3 /Dest (section.12.1) cvn /Title (Haskell 98 vs. Glasgow Haskell: language non-compliance ) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -7 /Dest (subsection.12.1.1) cvn /Title (Divergence from Haskell 98) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.1) cvn /Title (Lexical syntax) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.2) cvn /Title (Context-free syntax) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.3) cvn /Title (Expressions and patterns) /OUT pdfmark end
-128 90 a -128 90
a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.4) cvn /Title (Declarations and bindings) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.5) cvn /Title (Module system and interface files) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.6) cvn /Title (Numbers, basic types, and built-in classes) /OUT pdfmark end
-128 90 a -128
90 a
SDict begin [ /Count -0 /Dest (subsubsection.12.1.1.7) cvn /Title (In Prelude support) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.12.1.2) cvn /Title (GHC's interpretation of undefined behaviour in Haskell 98) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.12.1.3) cvn /Title (Divergence from the FFI specification) /OUT pdfmark end
-128 90
a -128 90 a
SDict begin [ /Count -2 /Dest (section.12.2) cvn /Title (Known bugs or infelicities) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.12.2.1) cvn /Title (Bugs in GHC) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Count -0 /Dest (subsection.12.2.2) cvn /Title (Bugs in GHCi \(the interactive GHC\)) /OUT pdfmark end
-128
90 a -128 90 a
SDict begin [ /Count -0 /Dest (chapter.13) cvn /Title (Index) /OUT pdfmark end
-128 90 a -128 90 a
SDict begin [ /Page 1 /View [ /FitH ] /PageMode /UseOutlines /DOCVIEW pdfmark end
-128 90 a -128 90
a
SDict begin [ {Catalog} << >> /PUT pdfmark end
-128 90 a -128 90 a
SDict begin H.S end
-128 90 a -128 90 a
SDict begin 12 H.A end
-128 90 a -128
90 a
SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end
-128 90 a -128 90 a
SDict begin [ {Catalog} << /PageLabels << /Nums [0 << /S /r >> 15 << /S /D >> ] >> >> /PUT pdfmark end
-128 90 a Black Black 118 2938
a Fy(The)43 b(Glorious)f(Glasgo)n(w)f(Haskell)j(Compilation)e(System)
965 3146 y(User')-9 b(s)44 b(Guide)r(,)e(V)-8 b(er)n(sion)43
b(6.10.4)p Black Black Black -128 6014 4252 5 v Black
eop end
%%Page: 2 2
TeXDict begin 2 1 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.ii) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3650 b Fz(ii)p -128
-179 4252 5 v Black Black Black -90 93 4177 4 v -90 193
4 100 v 1661 163 a Fx(COLLABORA)-7 b(T)m(ORS)p 4083 193
V -90 196 4177 4 v -90 299 V -90 399 4 100 v 722 399
V 775 369 a Fw(TITLE)26 b Fz(:)p 2463 399 V 1489 w Fw(REFERENCE)h
Fz(:)p 4083 399 V -90 499 V 722 499 V 2463 499 V 4083
499 V -90 698 4 200 v 722 698 V 775 568 a(The)49 b(Glor)q(ious)f
(Glasgo)o(w)h(Hask)o(ell)f(Compilation)775 668 y(System)21
b(User')l(s)g(Guide)o(,)d(V)-6 b(ersion)20 b(6.10.4)p
2463 698 V 4083 698 V -90 701 4177 4 v -90 721 V -90
821 4 100 v 722 821 V 1534 821 V 2463 821 V 4083 821
V -90 920 V 175 891 a Fw(A)n(CTION)p 722 920 V 562 w(NAME)p
1534 920 V 669 w(D)m(A)-9 b(TE)p 2463 920 V 967 w(SIGNA)g(TURE)p
4083 920 V -90 1020 V 722 1020 V 1534 1020 V 2463 1020
V 4083 1020 V -90 1023 4177 4 v -90 1123 4 100 v 722
1123 V 1534 1123 V 2463 1123 V 4083 1123 V -90 1223 V
87 1193 a Fz(WRITTEN)20 b(BY)p 722 1223 V 321 w(The)g(GHC)h(T)-9
b(eam)p 1534 1223 V 389 w(J)o(uly)20 b(14,)f(2009)p 2463
1223 V 4083 1223 V -90 1322 V 722 1322 V 1534 1322 V
2463 1322 V 4083 1322 V -90 1326 4177 4 v -87 1831 4172
4 v -87 1831 V -87 1930 4 100 v 1647 1900 a Fx(REVISION)h(HIST)m(OR)l
(Y)p 4081 1930 V -87 1934 4172 4 v -87 1934 V -87 2037
V -87 2037 V -87 2136 4 100 v 159 2106 a Fz(NUMBER)p
725 2136 V 555 w(D)m(A)-9 b(TE)p 1536 2136 V 923 w(DESCRIPTION)p
3269 2136 V 908 w(NAME)p 4081 2136 V -87 2140 4172 4
v -87 2140 V -87 2239 4 100 v 725 2239 V 1536 2239 V
3269 2239 V 4081 2239 V -87 2339 V 725 2339 V 1536 2339
V 3269 2339 V 4081 2339 V -87 2438 V 725 2438 V 1536
2438 V 3269 2438 V 4081 2438 V -87 2442 4172 4 v -87
2442 V Black Black Black -128 6084 4252 5 v Black eop
end
%%Page: 3 3
TeXDict begin 3 2 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.iii) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3633 b Fz(iii)p -128
-179 4252 5 v Black -128 885 a Fv(Contents)-128 1292
y
SDict begin H.S end
-128 1292 a -128 1292 a
SDict begin 12 H.A end
-128 1292 a -128 1292 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter*.1) cvn H.B /DEST pdfmark end
-128
1292 a 196 x Fu(1)83 b(Intr)o(oduction)19 b(to)h(GHC)p
1 0 0 TeXcolorrgb 4083 1488 a
SDict begin H.S end
4083 1488 a Fu(1)4125 1488
y
SDict begin 12 H.L end
4125 1488 a 4125 1488 a
SDict begin [ /Subtype /Link /Dest (chapter.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1488 a Black -3 1635 a
FA(1.1)86 b(Obtaining)19 b(GHC)49 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 1635 a
SDict begin H.S end
4083 1635 a FA(1)4125 1635 y
SDict begin 12 H.L end
4125 1635 a
4125 1635 a
SDict begin [ /Subtype /Link /Dest (section.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1635 a Black Black -3 1783 a FA(1.2)86
b(Meta-information:)22 b(W)-7 b(eb)21 b(sites,)g(mailing)e(lists,)j
(etc.)68 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4083 1783 a
SDict begin H.S end
4083
1783 a FA(1)4125 1783 y
SDict begin 12 H.L end
4125 1783 a 4125 1783 a
SDict begin [ /Subtype /Link /Dest (section.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
1783 a Black Black -3 1930 a FA(1.3)86 b(Reporting)19
b(b)n(ugs)h(in)g(GHC)37 b(.)k(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4083 1930 a
SDict begin H.S end
4083 1930
a FA(2)4125 1930 y
SDict begin 12 H.L end
4125 1930 a 4125 1930 a
SDict begin [ /Subtype /Link /Dest (section.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1930
a Black Black -3 2077 a FA(1.4)86 b(GHC)21 b(v)o(ersion)e(numbering)e
(polic)o(y)27 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4083 2077 a
SDict begin H.S end
4083 2077 a FA(2)4125
2077 y
SDict begin 12 H.L end
4125 2077 a 4125 2077 a
SDict begin [ /Subtype /Link /Dest (section.1.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2077 a Black Black
-3 2224 a FA(1.5)86 b(Release)21 b(notes)f(for)f(v)o(ersion)g(6.10.4)71
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 2224 a
SDict begin H.S end
4083 2224 a FA(3)4125 2224 y
SDict begin 12 H.L end
4125 2224 a
4125 2224 a
SDict begin [ /Subtype /Link /Dest (section.1.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2224 a Black Black -3 2372 a FA(1.6)86
b(Release)21 b(notes)f(for)f(v)o(ersion)g(6.10.3)71 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 2372 a
SDict begin H.S end
4083 2372 a FA(3)4125 2372 y
SDict begin 12 H.L end
4125 2372 a
4125 2372 a
SDict begin [ /Subtype /Link /Dest (section.1.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2372 a Black Black -3 2519 a FA(1.7)86
b(Release)21 b(notes)f(for)f(v)o(ersion)g(6.10.2)71 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 2519 a
SDict begin H.S end
4083 2519 a FA(3)4125 2519 y
SDict begin 12 H.L end
4125 2519 a
4125 2519 a
SDict begin [ /Subtype /Link /Dest (section.1.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2519 a Black Black -3 2666 a FA(1.8)86
b(Release)21 b(notes)f(for)f(v)o(ersion)g(6.10.1)71 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 2666 a
SDict begin H.S end
4083 2666 a FA(4)4125 2666 y
SDict begin 12 H.L end
4125 2666 a
4125 2666 a
SDict begin [ /Subtype /Link /Dest (section.1.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2666 a Black Black 188 2814 a FA(1.8.1)98
b(User)n(-visible)19 b(compiler)g(changes)49 b(.)41 b(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4083 2814 a
SDict begin H.S end
4083 2814 a FA(4)4125
2814 y
SDict begin 12 H.L end
4125 2814 a 4125 2814 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2814 a Black Black
188 2961 a FA(1.8.2)98 b(Deprecated)18 b(\003ags)67 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4083 2961 a
SDict begin H.S end
4083 2961 a FA(6)4125 2961 y
SDict begin 12 H.L end
4125 2961 a 4125 2961 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2961 a Black Black 188 3108
a FA(1.8.3)98 b(GHC)21 b(API)f(changes)66 b(.)41 b(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4083 3108
a
SDict begin H.S end
4083 3108 a FA(7)4125 3108 y
SDict begin 12 H.L end
4125 3108 a 4125 3108
a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3108 a Black Black 188 3256 a FA(1.8.4)98 b(GHCi)21
b(changes)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4083 3256 a
SDict begin H.S end
4083 3256 a FA(7)4125
3256 y
SDict begin 12 H.L end
4125 3256 a 4125 3256 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3256 a Black Black
188 3403 a FA(1.8.5)98 b(Runtime)19 b(system)i(changes)44
b(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 3403 a
SDict begin H.S end
4083 3403 a FA(8)4125 3403 y
SDict begin 12 H.L end
4125 3403 a
4125 3403 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3403 a Black Black 188 3550 a FA(1.8.6)98
b(runghc)78 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4083 3550 a
SDict begin H.S end
4083
3550 a FA(8)4125 3550 y
SDict begin 12 H.L end
4125 3550 a 4125 3550 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
3550 a Black Black 188 3697 a FA(1.8.7)98 b(ghc-pkg)36
b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4083 3697 a
SDict begin H.S end
4083 3697 a FA(8)4125
3697 y
SDict begin 12 H.L end
4125 3697 a 4125 3697 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3697 a Black Black
188 3845 a FA(1.8.8)98 b(Haddock)71 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4083 3845 a
SDict begin H.S end
4083 3845 a FA(8)4125 3845 y
SDict begin 12 H.L end
4125 3845 a
4125 3845 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3845 a Black Black 188 3992 a FA(1.8.9)98
b(DPH)20 b(changes)43 b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4083 3992 a
SDict begin H.S end
4083 3992
a FA(8)4125 3992 y
SDict begin 12 H.L end
4125 3992 a 4125 3992 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3992
a Black Black 188 4139 a FA(1.8.10)56 b(Boot)20 b(Libraries)77
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4083 4139 a
SDict begin H.S end
4083 4139 a FA(9)4125
4139 y
SDict begin 12 H.L end
4125 4139 a 4125 4139 a
SDict begin [ /Subtype /Link /Dest (subsection.1.8.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4139 a Black Black
454 4287 a FA(1.8.10.1)67 b(array)48 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4083
4287 a
SDict begin H.S end
4083 4287 a FA(9)4125 4287 y
SDict begin 12 H.L end
4125 4287 a 4125
4287 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4287 a Black Black 454 4434 a FA(1.8.10.2)67
b(base)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4083 4434 a
SDict begin H.S end
4083 4434 a FA(9)4125
4434 y
SDict begin 12 H.L end
4125 4434 a 4125 4434 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4434 a Black Black
454 4581 a FA(1.8.10.3)67 b(bytestring)73 b(.)41 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 4581 a
SDict begin H.S end
4041 4581 a FA(10)4125 4581 y
SDict begin 12 H.L end
4125 4581 a 4125 4581 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4581 a Black Black 454 4728 a FA(1.8.10.4)67 b(Cabal)26
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4728 a
SDict begin H.S end
4041 4728 a FA(10)4125
4728 y
SDict begin 12 H.L end
4125 4728 a 4125 4728 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4728 a Black Black
454 4876 a FA(1.8.10.5)67 b(containers)d(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 4876 a
SDict begin H.S end
4041
4876 a FA(10)4125 4876 y
SDict begin 12 H.L end
4125 4876 a 4125 4876 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
4876 a Black Black 454 5023 a FA(1.8.10.6)67 b(directory)43
b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 5023 a
SDict begin H.S end
4041 5023 a FA(10)4125 5023 y
SDict begin 12 H.L end
4125 5023 a 4125 5023 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5023 a Black Black 454 5170
a FA(1.8.10.7)67 b(editline)32 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 5170 a
SDict begin H.S end
4041
5170 a FA(10)4125 5170 y
SDict begin 12 H.L end
4125 5170 a 4125 5170 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
5170 a Black Black 454 5318 a FA(1.8.10.8)67 b(\002lepath)32
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5318 a
SDict begin H.S end
4041 5318 a FA(10)4125
5318 y
SDict begin 12 H.L end
4125 5318 a 4125 5318 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5318 a Black Black
454 5465 a FA(1.8.10.9)67 b(ghc-prim)38 b(.)j(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 5465 a
SDict begin H.S end
4041 5465 a FA(10)4125 5465 y
SDict begin 12 H.L end
4125 5465 a 4125 5465 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5465 a Black Black 454 5612 a FA(1.8.10.10)25 b(hask)o(ell98)h(.)
41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 5612 a
SDict begin H.S end
4041 5612 a FA(10)4125 5612 y
SDict begin 12 H.L end
4125 5612 a 4125 5612 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5612 a Black Black 454 5759
a FA(1.8.10.11)25 b(hpc)37 b(.)k(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 5759 a
SDict begin H.S end
4041
5759 a FA(10)4125 5759 y
SDict begin 12 H.L end
4125 5759 a 4125 5759 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
5759 a Black Black Black -128 6084 4252 5 v Black eop
end
%%Page: 4 4
TeXDict begin 4 3 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.iv) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3629 b Fz(iv)p -128
-179 4252 5 v Black 454 173 a FA(1.8.10.12)25 b(inte)o(ger)51
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 173 a
SDict begin H.S end
4041 173 a FA(10)4125
173 y
SDict begin 12 H.L end
4125 173 a 4125 173 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 173 a Black Black 454
322 a FA(1.8.10.13)25 b(old-locale)73 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 322 a
SDict begin H.S end
4041
322 a FA(10)4125 322 y
SDict begin 12 H.L end
4125 322 a 4125 322 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.13) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 322
a Black Black 454 471 a FA(1.8.10.14)25 b(old-time)62
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 471 a
SDict begin H.S end
4041 471 a FA(11)4125 471
y
SDict begin 12 H.L end
4125 471 a 4125 471 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.14) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 471 a Black Black 454 619
a FA(1.8.10.15)25 b(pack)o(edstring)43 b(.)e(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4041 619 a
SDict begin H.S end
4041 619 a FA(11)4125
619 y
SDict begin 12 H.L end
4125 619 a 4125 619 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.15) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 619 a Black Black 454
768 a FA(1.8.10.16)25 b(pretty)g(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 768 a
SDict begin H.S end
4041
768 a FA(11)4125 768 y
SDict begin 12 H.L end
4125 768 a 4125 768 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.16) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 768
a Black Black 454 917 a FA(1.8.10.17)25 b(process)32
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 917 a
SDict begin H.S end
4041 917 a FA(11)4125
917 y
SDict begin 12 H.L end
4125 917 a 4125 917 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.17) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 917 a Black Black 454
1066 a FA(1.8.10.18)25 b(random)h(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 1066 a
SDict begin H.S end
4041
1066 a FA(11)4125 1066 y
SDict begin 12 H.L end
4125 1066 a 4125 1066 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.18) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
1066 a Black Black 454 1214 a FA(1.8.10.19)25 b(readline)76
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 1214 a
SDict begin H.S end
4041 1214 a FA(11)4125
1214 y
SDict begin 12 H.L end
4125 1214 a 4125 1214 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.19) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1214 a Black Black
454 1363 a FA(1.8.10.20)25 b(syb)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
1363 a
SDict begin H.S end
4041 1363 a FA(11)4125 1363 y
SDict begin 12 H.L end
4125 1363 a 4125
1363 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.20) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1363 a Black Black 454 1512 a FA(1.8.10.21)25
b(template-hask)o(ell)44 b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 1512 a
SDict begin H.S end
4041 1512 a FA(11)4125
1512 y
SDict begin 12 H.L end
4125 1512 a 4125 1512 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.21) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1512 a Black Black
454 1661 a FA(1.8.10.22)25 b(unix)71 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
1661 a
SDict begin H.S end
4041 1661 a FA(11)4125 1661 y
SDict begin 12 H.L end
4125 1661 a 4125
1661 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.22) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1661 a Black Black 454 1809 a FA(1.8.10.23)25
b(W)m(in32)58 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 1809 a
SDict begin H.S end
4041 1809 a FA(11)4125
1809 y
SDict begin 12 H.L end
4125 1809 a 4125 1809 a
SDict begin [ /Subtype /Link /Dest (subsubsection.1.8.10.23) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1809 a Black Black
-128 2041 a Fu(2)83 b(Using)21 b(GHCi)p 1 0 0 TeXcolorrgb
4041 2041 a
SDict begin H.S end
4041 2041 a Fu(12)4125 2041 y
SDict begin 12 H.L end
4125 2041 a
4125 2041 a
SDict begin [ /Subtype /Link /Dest (chapter.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2041 a Black -3 2190 a FA(2.1)86 b(Introduction)17
b(to)j(GHCi)50 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4041 2190 a
SDict begin H.S end
4041 2190 a
FA(12)4125 2190 y
SDict begin 12 H.L end
4125 2190 a 4125 2190 a
SDict begin [ /Subtype /Link /Dest (section.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2190 a
Black Black -3 2339 a FA(2.2)86 b(Loading)18 b(source)i(\002les)28
b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2339 a
SDict begin H.S end
4041 2339 a FA(12)4125
2339 y
SDict begin 12 H.L end
4125 2339 a 4125 2339 a
SDict begin [ /Subtype /Link /Dest (section.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2339 a Black Black
188 2487 a FA(2.2.1)98 b(Modules)19 b(vs.)25 b(\002lenames)59
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 2487 a
SDict begin H.S end
4041 2487 a FA(13)4125 2487 y
SDict begin 12 H.L end
4125 2487 a 4125 2487 a
SDict begin [ /Subtype /Link /Dest (subsection.2.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2487 a Black Black 188 2636
a FA(2.2.2)98 b(Making)19 b(changes)g(and)g(recompilation)74
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2636 a
SDict begin H.S end
4041
2636 a FA(13)4125 2636 y
SDict begin 12 H.L end
4125 2636 a 4125 2636 a
SDict begin [ /Subtype /Link /Dest (subsection.2.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
2636 a Black Black -3 2785 a FA(2.3)86 b(Loading)18 b(compiled)h(code)
41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2785 a
SDict begin H.S end
4041 2785 a FA(14)4125
2785 y
SDict begin 12 H.L end
4125 2785 a 4125 2785 a
SDict begin [ /Subtype /Link /Dest (section.2.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2785 a Black Black
-3 2933 a FA(2.4)86 b(Interacti)n(v)o(e)18 b(e)n(v)n(aluation)h(at)i
(the)f(prompt)g(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 2933 a
SDict begin H.S end
4041 2933 a FA(15)4125 2933 y
SDict begin 12 H.L end
4125 2933 a 4125 2933 a
SDict begin [ /Subtype /Link /Dest (section.2.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2933 a Black Black 188 3082
a FA(2.4.1)98 b(I/O)20 b(actions)g(at)h(the)f(prompt)39
b(.)j(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 3082 a
SDict begin H.S end
4041 3082 a FA(15)4125 3082 y
SDict begin 12 H.L end
4125 3082 a
4125 3082 a
SDict begin [ /Subtype /Link /Dest (subsection.2.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3082 a Black Black 188 3231 a FA(2.4.2)98
b(Using)20 b Ft(do-)p FA(notation)e(at)j(the)f(prompt)77
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3231 a
SDict begin H.S end
4041 3231 a FA(16)4125 3231 y
SDict begin 12 H.L end
4125 3231 a 4125 3231 a
SDict begin [ /Subtype /Link /Dest (subsection.2.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3231 a Black Black 188 3380 a FA(2.4.3)98 b(What')-5
b(s)21 b(really)e(in)i(scope)e(at)i(the)f(prompt?)65
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3380 a
SDict begin H.S end
4041 3380
a FA(17)4125 3380 y
SDict begin 12 H.L end
4125 3380 a 4125 3380 a
SDict begin [ /Subtype /Link /Dest (subsection.2.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3380
a Black Black 454 3528 a FA(2.4.3.1)109 b Ft(:module)19
b FA(and)h Ft(:load)g FA(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 3528 a
SDict begin H.S end
4041 3528 a FA(18)4125 3528 y
SDict begin 12 H.L end
4125 3528 a 4125 3528 a
SDict begin [ /Subtype /Link /Dest (subsubsection.2.4.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3528 a Black Black 454 3677
a FA(2.4.3.2)109 b(Quali\002ed)20 b(names)51 b(.)41 b(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3677 a
SDict begin H.S end
4041 3677
a FA(18)4125 3677 y
SDict begin 12 H.L end
4125 3677 a 4125 3677 a
SDict begin [ /Subtype /Link /Dest (subsubsection.2.4.3.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3677
a Black Black 454 3826 a FA(2.4.3.3)109 b(The)20 b Ft(:main)g
FA(and)f Ft(:run)h FA(commands)74 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
3826 a
SDict begin H.S end
4041 3826 a FA(19)4125 3826 y
SDict begin 12 H.L end
4125 3826 a 4125
3826 a
SDict begin [ /Subtype /Link /Dest (subsubsection.2.4.3.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3826 a Black Black 188 3975 a FA(2.4.4)98
b(The)19 b Ft(it)i FA(v)n(ariable)i(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3975
a
SDict begin H.S end
4041 3975 a FA(19)4125 3975 y
SDict begin 12 H.L end
4125 3975 a 4125 3975
a
SDict begin [ /Subtype /Link /Dest (subsection.2.4.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3975 a Black Black 188 4123 a FA(2.4.5)98 b(T)-7
b(ype)19 b(def)o(aulting)g(in)h(GHCi)47 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4041 4123 a
SDict begin H.S end
4041 4123 a
FA(20)4125 4123 y
SDict begin 12 H.L end
4125 4123 a 4125 4123 a
SDict begin [ /Subtype /Link /Dest (subsection.2.4.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4123 a
Black Black -3 4272 a FA(2.5)86 b(The)20 b(GHCi)h(Deb)n(ugger)67
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4272 a
SDict begin H.S end
4041 4272 a FA(21)4125
4272 y
SDict begin 12 H.L end
4125 4272 a 4125 4272 a
SDict begin [ /Subtype /Link /Dest (section.2.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4272 a Black Black
188 4421 a FA(2.5.1)98 b(Breakpoints)19 b(and)g(inspecting)g(v)n
(ariables)j(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 4421
a
SDict begin H.S end
4041 4421 a FA(21)4125 4421 y
SDict begin 12 H.L end
4125 4421 a 4125 4421
a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4421 a Black Black 454 4570 a FA(2.5.1.1)109 b(Setting)20
b(breakpoints)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 4570 a
SDict begin H.S end
4041 4570 a FA(23)4125 4570 y
SDict begin 12 H.L end
4125 4570 a 4125 4570 a
SDict begin [ /Subtype /Link /Dest (subsubsection.2.5.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4570 a Black Black 454 4718
a FA(2.5.1.2)109 b(Listing)20 b(and)g(deleting)f(breakpoints)79
b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4718 a
SDict begin H.S end
4041 4718 a FA(24)4125
4718 y
SDict begin 12 H.L end
4125 4718 a 4125 4718 a
SDict begin [ /Subtype /Link /Dest (subsubsection.2.5.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4718 a Black Black
188 4867 a FA(2.5.2)98 b(Single-stepping)36 b(.)41 b(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 4867 a
SDict begin H.S end
4041 4867 a FA(24)4125 4867 y
SDict begin 12 H.L end
4125 4867 a
4125 4867 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4867 a Black Black 188 5016 a FA(2.5.3)98
b(Nested)20 b(breakpoints)44 b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4041 5016 a
SDict begin H.S end
4041 5016 a
FA(25)4125 5016 y
SDict begin 12 H.L end
4125 5016 a 4125 5016 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5016 a
Black Black 188 5165 a FA(2.5.4)98 b(The)19 b Ft(_result)h
FA(v)n(ariable)j(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5165 a
SDict begin H.S end
4041 5165 a FA(25)4125
5165 y
SDict begin 12 H.L end
4125 5165 a 4125 5165 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5165 a Black Black
188 5313 a FA(2.5.5)98 b(T)m(racing)19 b(and)g(history)37
b(.)k(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 5313 a
SDict begin H.S end
4041 5313 a FA(25)4125 5313 y
SDict begin 12 H.L end
4125 5313 a 4125 5313 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5313 a Black Black 188 5462
a FA(2.5.6)98 b(Deb)n(ugging)18 b(e)o(xceptions)65 b(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 5462 a
SDict begin H.S end
4041 5462 a FA(27)4125 5462 y
SDict begin 12 H.L end
4125 5462 a
4125 5462 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5462 a Black Black 188 5611 a FA(2.5.7)98
b(Example:)24 b(inspecting)19 b(functions)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5611 a
SDict begin H.S end
4041 5611 a FA(27)4125
5611 y
SDict begin 12 H.L end
4125 5611 a 4125 5611 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5611 a Black Black
188 5759 a FA(2.5.8)98 b(Limitations)51 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 5759 a
SDict begin H.S end
4041 5759 a FA(28)4125 5759 y
SDict begin 12 H.L end
4125 5759 a
4125 5759 a
SDict begin [ /Subtype /Link /Dest (subsection.2.5.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5759 a Black Black Black -128 6084 4252
5 v Black eop end
%%Page: 5 5
TeXDict begin 5 4 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.v) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3646 b Fz(v)p -128 -179
4252 5 v Black -3 173 a FA(2.6)86 b(In)m(v)n(oking)17
b(GHCi)64 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 173 a
SDict begin H.S end
4041
173 a FA(29)4125 173 y
SDict begin 12 H.L end
4125 173 a 4125 173 a
SDict begin [ /Subtype /Link /Dest (section.2.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 173
a Black Black 188 323 a FA(2.6.1)98 b(P)o(ackages)64
b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 323 a
SDict begin H.S end
4041 323 a FA(29)4125
323 y
SDict begin 12 H.L end
4125 323 a 4125 323 a
SDict begin [ /Subtype /Link /Dest (subsection.2.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 323 a Black Black 188
472 a FA(2.6.2)98 b(Extra)19 b(libraries)25 b(.)41 b(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 472 a
SDict begin H.S end
4041 472 a FA(29)4125 472 y
SDict begin 12 H.L end
4125 472 a 4125
472 a
SDict begin [ /Subtype /Link /Dest (subsection.2.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 472 a Black Black -3 622 a FA(2.7)86 b(GHCi)21
b(commands)58 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 622 a
SDict begin H.S end
4041
622 a FA(30)4125 622 y
SDict begin 12 H.L end
4125 622 a 4125 622 a
SDict begin [ /Subtype /Link /Dest (section.2.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 622
a Black Black -3 771 a FA(2.8)86 b(The)20 b Ft(:set)g
FA(command)64 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4041 771 a
SDict begin H.S end
4041 771 a FA(33)4125
771 y
SDict begin 12 H.L end
4125 771 a 4125 771 a
SDict begin [ /Subtype /Link /Dest (section.2.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 771 a Black Black 188
920 a FA(2.8.1)98 b(GHCi)21 b(options)33 b(.)41 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 920 a
SDict begin H.S end
4041 920 a FA(34)4125 920 y
SDict begin 12 H.L end
4125 920 a 4125
920 a
SDict begin [ /Subtype /Link /Dest (subsection.2.8.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 920 a Black Black 188 1070 a FA(2.8.2)98 b(Setting)20
b(GHC)h(command-line)c(options)i(in)i(GHCi)55 b(.)41
b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 1070 a
SDict begin H.S end
4041 1070 a FA(34)4125
1070 y
SDict begin 12 H.L end
4125 1070 a 4125 1070 a
SDict begin [ /Subtype /Link /Dest (subsection.2.8.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1070 a Black Black
-3 1219 a FA(2.9)86 b(The)20 b Ft(.ghci)g FA(\002le)51
b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4041 1219 a
SDict begin H.S end
4041 1219 a FA(34)4125
1219 y
SDict begin 12 H.L end
4125 1219 a 4125 1219 a
SDict begin [ /Subtype /Link /Dest (section.2.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1219 a Black Black
-3 1369 a FA(2.10)j(Compiling)19 b(to)h(object)g(code)f(inside)i(GHCi)
44 b(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
1369 a
SDict begin H.S end
4041 1369 a FA(35)4125 1369 y
SDict begin 12 H.L end
4125 1369 a 4125
1369 a
SDict begin [ /Subtype /Link /Dest (section.2.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1369 a Black Black -3 1518 a FA(2.11)j(F)-6
b(A)h(Q)21 b(and)f(Things)f(T)-7 b(o)20 b(W)-7 b(atch)21
b(Out)f(F)o(or)35 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 1518 a
SDict begin H.S end
4041 1518 a FA(35)4125
1518 y
SDict begin 12 H.L end
4125 1518 a 4125 1518 a
SDict begin [ /Subtype /Link /Dest (section.2.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1518 a Black Black
-128 1751 a Fu(3)83 b(Using)21 b(runghc)p 1 0 0 TeXcolorrgb
4041 1751 a
SDict begin H.S end
4041 1751 a Fu(37)4125 1751 y
SDict begin 12 H.L end
4125 1751 a
4125 1751 a
SDict begin [ /Subtype /Link /Dest (chapter.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1751 a Black -3 1900 a FA(3.1)86 b(Flags)23
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
1900 a
SDict begin H.S end
4041 1900 a FA(37)4125 1900 y
SDict begin 12 H.L end
4125 1900 a 4125
1900 a
SDict begin [ /Subtype /Link /Dest (section.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1900 a Black Black -128 2133 a Fu(4)83 b(Using)21
b(GHC)p 1 0 0 TeXcolorrgb 4041 2133 a
SDict begin H.S end
4041 2133 a Fu(38)4125
2133 y
SDict begin 12 H.L end
4125 2133 a 4125 2133 a
SDict begin [ /Subtype /Link /Dest (chapter.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2133 a Black -3 2282
a FA(4.1)86 b(Options)20 b(o)o(v)o(ervie)n(w)48 b(.)41
b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2282 a
SDict begin H.S end
4041 2282 a FA(38)4125
2282 y
SDict begin 12 H.L end
4125 2282 a 4125 2282 a
SDict begin [ /Subtype /Link /Dest (section.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2282 a Black Black
188 2431 a FA(4.1.1)98 b(Command-line)17 b(ar)o(guments)69
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 2431 a
SDict begin H.S end
4041 2431 a FA(38)4125 2431 y
SDict begin 12 H.L end
4125 2431 a
4125 2431 a
SDict begin [ /Subtype /Link /Dest (subsection.4.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2431 a Black Black 188 2581 a FA(4.1.2)98
b(Command)18 b(line)j(options)e(in)h(source)g(\002les)69
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2581 a
SDict begin H.S end
4041 2581
a FA(38)4125 2581 y
SDict begin 12 H.L end
4125 2581 a 4125 2581 a
SDict begin [ /Subtype /Link /Dest (subsection.4.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2581
a Black Black 188 2730 a FA(4.1.3)98 b(Setting)20 b(options)f(in)h
(GHCi)67 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 2730 a
SDict begin H.S end
4041 2730 a FA(39)4125 2730 y
SDict begin 12 H.L end
4125 2730 a 4125 2730 a
SDict begin [ /Subtype /Link /Dest (subsection.4.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2730 a Black Black -3 2880
a FA(4.2)86 b(Static,)21 b(Dynamic,)d(and)i(Mode)g(options)i(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
2880 a
SDict begin H.S end
4041 2880 a FA(39)4125 2880 y
SDict begin 12 H.L end
4125 2880 a 4125
2880 a
SDict begin [ /Subtype /Link /Dest (section.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2880 a Black Black -3 3029 a FA(4.3)86 b(Meaningful)18
b(\002le)j(suf)n(\002x)o(es)35 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3029 a
SDict begin H.S end
4041 3029 a FA(39)4125 3029 y
SDict begin 12 H.L end
4125 3029 a 4125 3029 a
SDict begin [ /Subtype /Link /Dest (section.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3029 a Black Black -3 3179 a FA(4.4)86 b(Modes)20
b(of)g(operation)48 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3179 a
SDict begin H.S end
4041
3179 a FA(39)4125 3179 y
SDict begin 12 H.L end
4125 3179 a 4125 3179 a
SDict begin [ /Subtype /Link /Dest (section.4.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
3179 a Black Black 188 3328 a FA(4.4.1)98 b(Using)20
b Fu(ghc)g Ft(--make)h FA(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4041 3328 a
SDict begin H.S end
4041 3328 a FA(40)4125
3328 y
SDict begin 12 H.L end
4125 3328 a 4125 3328 a
SDict begin [ /Subtype /Link /Dest (subsection.4.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3328 a Black Black
188 3477 a FA(4.4.2)98 b(Expression)18 b(e)n(v)n(aluation)h(mode)58
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 3477 a
SDict begin H.S end
4041 3477 a FA(41)4125 3477 y
SDict begin 12 H.L end
4125 3477 a
4125 3477 a
SDict begin [ /Subtype /Link /Dest (subsection.4.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3477 a Black Black 188 3627 a FA(4.4.3)98
b(Batch)20 b(compiler)f(mode)31 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4041 3627 a
SDict begin H.S end
4041 3627 a
FA(41)4125 3627 y
SDict begin 12 H.L end
4125 3627 a 4125 3627 a
SDict begin [ /Subtype /Link /Dest (subsection.4.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3627 a
Black Black 454 3776 a FA(4.4.3.1)109 b(Ov)o(erriding)18
b(the)i(def)o(ault)f(beha)n(viour)g(for)g(a)i(\002le)76
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 3776 a
SDict begin H.S end
4041 3776 a FA(41)4125 3776 y
SDict begin 12 H.L end
4125 3776 a 4125 3776 a
SDict begin [ /Subtype /Link /Dest (subsubsection.4.4.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3776 a Black Black -3 3926
a FA(4.5)86 b(Help)20 b(and)g(v)o(erbosity)e(options)54
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 3926 a
SDict begin H.S end
4041 3926 a FA(42)4125
3926 y
SDict begin 12 H.L end
4125 3926 a 4125 3926 a
SDict begin [ /Subtype /Link /Dest (section.4.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3926 a Black Black
-3 4075 a FA(4.6)86 b(Filenames)20 b(and)g(separate)f(compilation)68
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 4075 a
SDict begin H.S end
4041 4075 a FA(42)4125 4075 y
SDict begin 12 H.L end
4125 4075 a
4125 4075 a
SDict begin [ /Subtype /Link /Dest (section.4.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4075 a Black Black 188 4225 a FA(4.6.1)98
b(Hask)o(ell)20 b(source)g(\002les)36 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 4225 a
SDict begin H.S end
4041 4225 a FA(43)4125 4225 y
SDict begin 12 H.L end
4125 4225 a 4125 4225 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4225 a Black Black 188 4374 a FA(4.6.2)98 b(Output)19
b(\002les)46 b(.)c(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4041 4374 a
SDict begin H.S end
4041 4374 a
FA(43)4125 4374 y
SDict begin 12 H.L end
4125 4374 a 4125 4374 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4374 a
Black Black 188 4524 a FA(4.6.3)98 b(The)19 b(search)h(path)34
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4524 a
SDict begin H.S end
4041 4524 a FA(44)4125
4524 y
SDict begin 12 H.L end
4125 4524 a 4125 4524 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4524 a Black Black
188 4673 a FA(4.6.4)98 b(Redirecting)19 b(the)h(compilation)e
(output\(s\))58 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
4673 a
SDict begin H.S end
4041 4673 a FA(44)4125 4673 y
SDict begin 12 H.L end
4125 4673 a 4125
4673 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4673 a Black Black 188 4822 a FA(4.6.5)98
b(K)n(eeping)19 b(Intermediate)f(Files)33 b(.)41 b(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4041 4822 a
SDict begin H.S end
4041 4822 a
FA(45)4125 4822 y
SDict begin 12 H.L end
4125 4822 a 4125 4822 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4822 a
Black Black 188 4972 a FA(4.6.6)98 b(Redirecting)19 b(temporary)f
(\002les)26 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 4972 a
SDict begin H.S end
4041 4972 a FA(46)4125 4972 y
SDict begin 12 H.L end
4125 4972 a 4125 4972 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4972 a Black Black 188 5121
a FA(4.6.7)98 b(Other)19 b(options)h(related)f(to)i(interf)o(ace)e
(\002les)52 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 5121
a
SDict begin H.S end
4041 5121 a FA(46)4125 5121 y
SDict begin 12 H.L end
4125 5121 a 4125 5121
a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5121 a Black Black 188 5271 a FA(4.6.8)98 b(The)19
b(recompilation)f(check)o(er)44 b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5271 a
SDict begin H.S end
4041 5271 a FA(46)4125
5271 y
SDict begin 12 H.L end
4125 5271 a 4125 5271 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5271 a Black Black
188 5420 a FA(4.6.9)98 b(Ho)n(w)20 b(to)g(compile)f(mutually)g(recursi)
n(v)o(e)g(modules)h(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 5420 a
SDict begin H.S end
4041
5420 a FA(47)4125 5420 y
SDict begin 12 H.L end
4125 5420 a 4125 5420 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
5420 a Black Black 188 5570 a FA(4.6.10)56 b(Using)20
b Fu(mak)o(e)j FA(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 5570 a
SDict begin H.S end
4041 5570
a FA(48)4125 5570 y
SDict begin 12 H.L end
4125 5570 a 4125 5570 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5570
a Black Black 188 5719 a FA(4.6.11)56 b(Dependenc)o(y)17
b(generation)22 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5719 a
SDict begin H.S end
4041 5719 a FA(49)4125
5719 y
SDict begin 12 H.L end
4125 5719 a 4125 5719 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5719 a Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 6 6
TeXDict begin 6 5 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.vi) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3629 b Fz(vi)p -128
-179 4252 5 v Black 188 173 a FA(4.6.12)56 b(Orphan)18
b(modules)h(and)h(instance)g(declarations)k(.)41 b(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 173 a
SDict begin H.S end
4041 173 a FA(51)4125 173 y
SDict begin 12 H.L end
4125
173 a 4125 173 a
SDict begin [ /Subtype /Link /Dest (subsection.4.6.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 173 a Black Black -3 320 a FA(4.7)86
b(W)-7 b(arnings)20 b(and)f(sanity-checking)69 b(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 320 a
SDict begin H.S end
4041 320 a FA(52)4125 320 y
SDict begin 12 H.L end
4125 320 a 4125
320 a
SDict begin [ /Subtype /Link /Dest (section.4.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 320 a Black Black -3 467 a FA(4.8)107 b(P)o(ackages)60
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 467 a
SDict begin H.S end
4041
467 a FA(55)4125 467 y
SDict begin 12 H.L end
4125 467 a 4125 467 a
SDict begin [ /Subtype /Link /Dest (section.4.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 467
a Black Black 188 614 a FA(4.8.1)98 b(Using)20 b(P)o(ackages)94
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 614 a
SDict begin H.S end
4041 614 a FA(55)4125
614 y
SDict begin 12 H.L end
4125 614 a 4125 614 a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 614 a Black Black 188
761 a FA(4.8.2)98 b(The)19 b(main)h(package)75 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 761 a
SDict begin H.S end
4041 761 a FA(56)4125 761 y
SDict begin 12 H.L end
4125
761 a 4125 761 a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 761 a Black Black 188 908 a FA(4.8.3)98
b(Consequences)18 b(of)i(packages)43 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 908 a
SDict begin H.S end
4041 908 a FA(56)4125
908 y
SDict begin 12 H.L end
4125 908 a 4125 908 a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 908 a Black Black 188
1055 a FA(4.8.4)98 b(P)o(ackage)19 b(Databases)52 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 1055 a
SDict begin H.S end
4041 1055 a FA(56)4125 1055 y
SDict begin 12 H.L end
4125 1055 a 4125 1055 a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1055 a Black Black 454 1202
a FA(4.8.4.1)109 b(The)20 b Ft(GHC_PACKAGE_PATH)e FA(en)m(vironment)f
(v)n(ariable)42 b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 1202 a
SDict begin H.S end
4041 1202 a FA(57)4125 1202 y
SDict begin 12 H.L end
4125 1202 a 4125 1202 a
SDict begin [ /Subtype /Link /Dest (subsubsection.4.8.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1202 a Black Black 188 1349
a FA(4.8.5)98 b(Building)19 b(a)i(package)d(from)i(Hask)o(ell)g(source)
34 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4041 1349 a
SDict begin H.S end
4041 1349 a
FA(57)4125 1349 y
SDict begin 12 H.L end
4125 1349 a 4125 1349 a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1349 a
Black Black 188 1496 a FA(4.8.6)98 b(P)o(ackage)19 b(management)f
(\(the)i Ft(ghc-pkg)f FA(command\))63 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 1496
a
SDict begin H.S end
4041 1496 a FA(58)4125 1496 y
SDict begin 12 H.L end
4125 1496 a 4125 1496
a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1496 a Black Black 188 1643 a FA(4.8.7)118 b Ft
(InstalledPackageInfo)p FA(:)22 b(a)f(package)e(speci\002cation)93
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 1643 a
SDict begin H.S end
4041 1643 a FA(60)4125 1643 y
SDict begin 12 H.L end
4125 1643 a
4125 1643 a
SDict begin [ /Subtype /Link /Dest (subsection.4.8.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1643 a Black Black -3 1790 a FA(4.9)86
b(Optimisation)19 b(\(code)g(impro)o(v)o(ement\))69 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
1790 a
SDict begin H.S end
4041 1790 a FA(63)4125 1790 y
SDict begin 12 H.L end
4125 1790 a 4125
1790 a
SDict begin [ /Subtype /Link /Dest (section.4.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1790 a Black Black 188 1937 a FA(4.9.1)98
b Ft(-O)554 1952 y(*)604 1937 y FA(:)25 b(con)m(v)o(enient)17
b(\223packages\224)i(of)h(optimisation)f(\003ags.)62
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 1937 a
SDict begin H.S end
4041 1937 a FA(63)4125
1937 y
SDict begin 12 H.L end
4125 1937 a 4125 1937 a
SDict begin [ /Subtype /Link /Dest (subsection.4.9.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1937 a Black Black
188 2084 a FA(4.9.2)98 b Ft(-f)554 2099 y(*)604 2084
y FA(:)25 b(platform-independent)15 b(\003ags)25 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2084 a
SDict begin H.S end
4041
2084 a FA(64)4125 2084 y
SDict begin 12 H.L end
4125 2084 a 4125 2084 a
SDict begin [ /Subtype /Link /Dest (subsection.4.9.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
2084 a Black Black -3 2231 a FA(4.10)j(Options)20 b(related)f(to)i(a)f
(particular)f(phase)60 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 2231 a
SDict begin H.S end
4041 2231 a FA(65)4125
2231 y
SDict begin 12 H.L end
4125 2231 a 4125 2231 a
SDict begin [ /Subtype /Link /Dest (section.4.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2231 a Black Black
188 2378 a FA(4.10.1)56 b(Replacing)19 b(the)h(program)e(for)i(one)f
(or)h(more)g(phases)75 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2378 a
SDict begin H.S end
4041 2378
a FA(65)4125 2378 y
SDict begin 12 H.L end
4125 2378 a 4125 2378 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2378
a Black Black 188 2525 a FA(4.10.2)56 b(F)o(orcing)18
b(options)i(to)g(a)h(particular)d(phase)31 b(.)41 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2525 a
SDict begin H.S end
4041 2525 a FA(65)4125
2525 y
SDict begin 12 H.L end
4125 2525 a 4125 2525 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2525 a Black Black
188 2672 a FA(4.10.3)56 b(Options)19 b(af)n(fecting)g(the)h(C)h
(pre-processor)57 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
2672 a
SDict begin H.S end
4041 2672 a FA(66)4125 2672 y
SDict begin 12 H.L end
4125 2672 a 4125
2672 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2672 a Black Black 454 2819 a FA(4.10.3.1)67
b(CPP)21 b(and)f(string)g(gaps)46 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2819 a
SDict begin H.S end
4041 2819 a FA(66)4125
2819 y
SDict begin 12 H.L end
4125 2819 a 4125 2819 a
SDict begin [ /Subtype /Link /Dest (subsubsection.4.10.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2819 a Black Black
188 2966 a FA(4.10.4)56 b(Options)19 b(af)n(fecting)g(a)i(Hask)o(ell)f
(pre-processor)49 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2966 a
SDict begin H.S end
4041 2966 a FA(67)4125 2966 y
SDict begin 12 H.L end
4125 2966 a 4125 2966 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2966 a Black Black 188 3113 a FA(4.10.5)56 b(Options)19
b(af)n(fecting)g(the)h(C)h(compiler)e(\(if)h(applicable\))37
b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 3113 a
SDict begin H.S end
4041 3113 a FA(67)4125
3113 y
SDict begin 12 H.L end
4125 3113 a 4125 3113 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3113 a Black Black
188 3260 a FA(4.10.6)56 b(Options)19 b(af)n(fecting)g(code)h
(generation)55 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 3260 a
SDict begin H.S end
4041 3260 a FA(67)4125 3260 y
SDict begin 12 H.L end
4125 3260 a
4125 3260 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3260 a Black Black 188 3407 a FA(4.10.7)56
b(Options)19 b(af)n(fecting)g(linking)37 b(.)42 b(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3407 a
SDict begin H.S end
4041 3407
a FA(68)4125 3407 y
SDict begin 12 H.L end
4125 3407 a 4125 3407 a
SDict begin [ /Subtype /Link /Dest (subsection.4.10.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3407
a Black Black -3 3554 a FA(4.11)j(Using)20 b(Concurrent)e(Hask)o(ell)k
(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 3554 a
SDict begin H.S end
4041 3554 a FA(70)4125
3554 y
SDict begin 12 H.L end
4125 3554 a 4125 3554 a
SDict begin [ /Subtype /Link /Dest (section.4.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3554 a Black Black
-3 3701 a FA(4.12)j(Using)20 b(SMP)h(parallelism)50 b(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 3701 a
SDict begin H.S end
4041 3701 a FA(70)4125
3701 y
SDict begin 12 H.L end
4125 3701 a 4125 3701 a
SDict begin [ /Subtype /Link /Dest (section.4.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3701 a Black Black
188 3848 a FA(4.12.1)56 b(Options)19 b(for)h(SMP)h(parallelism)38
b(.)j(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
3848 a
SDict begin H.S end
4041 3848 a FA(70)4125 3848 y
SDict begin 12 H.L end
4125 3848 a 4125
3848 a
SDict begin [ /Subtype /Link /Dest (subsection.4.12.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3848 a Black Black 188 3995 a FA(4.12.2)56
b(Hints)20 b(for)g(using)f(SMP)i(parallelism)45 b(.)d(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 3995 a
SDict begin H.S end
4041 3995 a FA(71)4125
3995 y
SDict begin 12 H.L end
4125 3995 a 4125 3995 a
SDict begin [ /Subtype /Link /Dest (subsection.4.12.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3995 a Black Black
-3 4142 a FA(4.13)j(Platform-speci\002c)19 b(Flags)53
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4142 a
SDict begin H.S end
4041 4142 a FA(71)4125
4142 y
SDict begin 12 H.L end
4125 4142 a 4125 4142 a
SDict begin [ /Subtype /Link /Dest (section.4.13) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4142 a Black Black
-3 4289 a FA(4.14)j(Running)19 b(a)h(compiled)f(program)35
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 4289 a
SDict begin H.S end
4041 4289 a FA(71)4125 4289 y
SDict begin 12 H.L end
4125 4289 a 4125 4289 a
SDict begin [ /Subtype /Link /Dest (section.4.14) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4289 a Black Black 188 4436
a FA(4.14.1)56 b(Setting)20 b(global)f(R)-5 b(TS)21 b(options)36
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 4436 a
SDict begin H.S end
4041 4436 a FA(72)4125 4436 y
SDict begin 12 H.L end
4125 4436 a
4125 4436 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4436 a Black Black 188 4583 a FA(4.14.2)56
b(Miscellaneous)19 b(R)-5 b(TS)21 b(options)f(.)41 b(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4041 4583 a
SDict begin H.S end
4041 4583 a
FA(72)4125 4583 y
SDict begin 12 H.L end
4125 4583 a 4125 4583 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4583 a
Black Black 188 4730 a FA(4.14.3)56 b(R)-5 b(TS)21 b(options)e(to)h
(control)f(the)h(garbage)e(collector)23 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 4730 a
SDict begin H.S end
4041 4730 a FA(72)4125 4730 y
SDict begin 12 H.L end
4125 4730 a
4125 4730 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4730 a Black Black 188 4877 a FA(4.14.4)56
b(R)-5 b(TS)21 b(options)e(for)g(concurrenc)o(y)e(and)j(parallelism)65
b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4877 a
SDict begin H.S end
4041 4877 a FA(76)4125
4877 y
SDict begin 12 H.L end
4125 4877 a 4125 4877 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4877 a Black Black
188 5024 a FA(4.14.5)56 b(R)-5 b(TS)21 b(options)e(for)g(pro\002ling)33
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 5024 a
SDict begin H.S end
4041 5024 a FA(76)4125 5024 y
SDict begin 12 H.L end
4125 5024 a
4125 5024 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5024 a Black Black 188 5171 a FA(4.14.6)56
b(R)-5 b(TS)21 b(options)e(for)g(hack)o(ers,)h(deb)n(uggers,)e(and)h(o)
o(v)o(er)n(-interested)f(souls)65 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5171 a
SDict begin H.S end
4041 5171 a FA(76)4125
5171 y
SDict begin 12 H.L end
4125 5171 a 4125 5171 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5171 a Black Black
188 5318 a FA(4.14.7)56 b(\223Hooks\224)19 b(to)h(change)f(R)-5
b(TS)21 b(beha)n(viour)30 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 5318 a
SDict begin H.S end
4041 5318 a FA(77)4125 5318 y
SDict begin 12 H.L end
4125 5318 a 4125 5318 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5318 a Black Black 188 5465
a FA(4.14.8)56 b(Getting)19 b(information)f(about)h(the)i(R)-5
b(TS)26 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
5465 a
SDict begin H.S end
4041 5465 a FA(77)4125 5465 y
SDict begin 12 H.L end
4125 5465 a 4125
5465 a
SDict begin [ /Subtype /Link /Dest (subsection.4.14.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5465 a Black Black -3 5612 a FA(4.15)j(Generating)19
b(and)g(compiling)g(External)g(Core)h(Files)40 b(.)h(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5612 a
SDict begin H.S end
4041 5612 a FA(78)4125
5612 y
SDict begin 12 H.L end
4125 5612 a 4125 5612 a
SDict begin [ /Subtype /Link /Dest (section.4.15) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5612 a Black Black
-3 5759 a FA(4.16)j(Deb)n(ugging)18 b(the)i(compiler)81
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 5759 a
SDict begin H.S end
4041 5759 a FA(79)4125
5759 y
SDict begin 12 H.L end
4125 5759 a 4125 5759 a
SDict begin [ /Subtype /Link /Dest (section.4.16) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 5759 a Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 7 7
TeXDict begin 7 6 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.vii) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3612 b Fz(vii)p -128
-179 4252 5 v Black 188 173 a FA(4.16.1)56 b(Dumping)18
b(out)i(compiler)f(intermediate)g(structures)g(.)41 b(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 173 a
SDict begin H.S end
4041 173 a FA(79)4125 173 y
SDict begin 12 H.L end
4125 173 a 4125
173 a
SDict begin [ /Subtype /Link /Dest (subsection.4.16.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 173 a Black Black 188 323 a FA(4.16.2)56 b(Checking)19
b(for)g(consistenc)o(y)27 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 323 a
SDict begin H.S end
4041 323 a FA(80)4125
323 y
SDict begin 12 H.L end
4125 323 a 4125 323 a
SDict begin [ /Subtype /Link /Dest (subsection.4.16.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 323 a Black Black 188
472 a FA(4.16.3)56 b(Ho)n(w)20 b(to)g(read)g(Core)g(syntax)f(\(from)g
(some)h Ft(-ddump)g FA(\003ags\))46 b(.)c(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 472 a
SDict begin H.S end
4041 472
a FA(80)4125 472 y
SDict begin 12 H.L end
4125 472 a 4125 472 a
SDict begin [ /Subtype /Link /Dest (subsection.4.16.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 472 a Black
Black 188 622 a FA(4.16.4)56 b(Unre)o(gisterised)18 b(compilation)32
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 622 a
SDict begin H.S end
4041 622 a FA(82)4125 622 y
SDict begin 12 H.L end
4125 622 a 4125
622 a
SDict begin [ /Subtype /Link /Dest (subsection.4.16.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 622 a Black Black -3 771 a FA(4.17)j(Flag)20
b(reference)36 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 771
a
SDict begin H.S end
4041 771 a FA(82)4125 771 y
SDict begin 12 H.L end
4125 771 a 4125 771 a
SDict begin [ /Subtype /Link /Dest (section.4.17) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
771 a Black Black 188 920 a FA(4.17.1)56 b(Help)20 b(and)f(v)o
(erbosity)g(options)37 b(.)k(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 920 a
SDict begin H.S end
4041 920 a FA(82)4125
920 y
SDict begin 12 H.L end
4125 920 a 4125 920 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 920 a Black Black 188
1070 a FA(4.17.2)56 b(Which)20 b(phases)g(to)g(run)66
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 1070 a
SDict begin H.S end
4041 1070 a FA(82)4125 1070 y
SDict begin 12 H.L end
4125 1070 a 4125 1070 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1070 a Black Black 188 1219
a FA(4.17.3)56 b(Alternati)n(v)o(e)19 b(modes)g(of)h(operation)k(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 1219 a
SDict begin H.S end
4041 1219 a FA(83)4125 1219 y
SDict begin 12 H.L end
4125 1219 a 4125 1219 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1219 a Black Black 188 1369 a FA(4.17.4)56 b(Redirecting)19
b(output)63 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 1369 a
SDict begin H.S end
4041 1369 a FA(83)4125
1369 y
SDict begin 12 H.L end
4125 1369 a 4125 1369 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1369 a Black Black
188 1518 a FA(4.17.5)56 b(K)n(eeping)19 b(intermediate)f(\002les)61
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 1518 a
SDict begin H.S end
4041 1518 a FA(84)4125 1518 y
SDict begin 12 H.L end
4125 1518 a
4125 1518 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1518 a Black Black 188 1668 a FA(4.17.6)56
b(T)-6 b(emporary)17 b(\002les)39 b(.)i(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 1668 a
SDict begin H.S end
4041 1668 a FA(84)4125 1668 y
SDict begin 12 H.L end
4125 1668 a 4125 1668 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1668 a Black Black 188 1817 a FA(4.17.7)56 b(Finding)19
b(imports)26 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 1817 a
SDict begin H.S end
4041 1817 a FA(84)4125
1817 y
SDict begin 12 H.L end
4125 1817 a 4125 1817 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1817 a Black Black
188 1966 a FA(4.17.8)56 b(Interf)o(ace)18 b(\002le)j(options)60
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 1966 a
SDict begin H.S end
4041 1966 a FA(84)4125 1966 y
SDict begin 12 H.L end
4125 1966 a 4125 1966 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 1966 a Black Black 188 2116
a FA(4.17.9)56 b(Recompilation)18 b(checking)60 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 2116 a
SDict begin H.S end
4041 2116 a FA(84)4125 2116 y
SDict begin 12 H.L end
4125 2116 a
4125 2116 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2116 a Black Black 188 2265 a FA(4.17.10)14
b(Interacti)n(v)o(e-mode)i(options)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2265 a
SDict begin H.S end
4041 2265 a FA(85)4125
2265 y
SDict begin 12 H.L end
4125 2265 a 4125 2265 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2265 a Black Black
188 2415 a FA(4.17.11)14 b(P)o(ackages)64 b(.)41 b(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 2415 a
SDict begin H.S end
4041 2415 a FA(85)4125 2415 y
SDict begin 12 H.L end
4125 2415 a 4125 2415 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2415 a Black Black 188 2564
a FA(4.17.12)14 b(Language)k(options)28 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2564
a
SDict begin H.S end
4041 2564 a FA(85)4125 2564 y
SDict begin 12 H.L end
4125 2564 a 4125 2564
a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2564 a Black Black 188 2714 a FA(4.17.13)14 b(W)-7
b(arnings)56 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 2714 a
SDict begin H.S end
4041
2714 a FA(87)4125 2714 y
SDict begin 12 H.L end
4125 2714 a 4125 2714 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.13) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
2714 a Black Black 188 2863 a FA(4.17.14)14 b(Optimisation)19
b(le)n(v)o(els)40 b(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 2863 a
SDict begin H.S end
4041 2863 a FA(88)4125
2863 y
SDict begin 12 H.L end
4125 2863 a 4125 2863 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.14) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 2863 a Black Black
188 3013 a FA(4.17.15)14 b(Indi)n(vidual)k(optimisations)62
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 3013 a
SDict begin H.S end
4041 3013 a FA(89)4125 3013 y
SDict begin 12 H.L end
4125 3013 a
4125 3013 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.15) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3013 a Black Black 188 3162 a FA(4.17.16)14
b(Pro\002ling)19 b(options)65 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 3162 a
SDict begin H.S end
4041
3162 a FA(90)4125 3162 y
SDict begin 12 H.L end
4125 3162 a 4125 3162 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.16) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125
3162 a Black Black 188 3311 a FA(4.17.17)14 b(Program)k(co)o(v)o(erage)
g(options)64 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 3311 a
SDict begin H.S end
4041 3311 a FA(90)4125 3311 y
SDict begin 12 H.L end
4125 3311 a 4125 3311 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.17) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3311 a Black Black 188 3461
a FA(4.17.18)14 b(Hask)o(ell)20 b(pre-processor)e(options)66
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
3461 a
SDict begin H.S end
4041 3461 a FA(91)4125 3461 y
SDict begin 12 H.L end
4125 3461 a 4125
3461 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.18) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3461 a Black Black 188 3610 a FA(4.17.19)14
b(C)21 b(pre-processor)c(options)77 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4041 3610 a
SDict begin H.S end
4041 3610 a FA(91)4125
3610 y
SDict begin 12 H.L end
4125 3610 a 4125 3610 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.19) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3610 a Black Black
188 3760 a FA(4.17.20)14 b(C)21 b(compiler)e(options)47
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4041 3760 a
SDict begin H.S end
4041 3760 a FA(91)4125
3760 y
SDict begin 12 H.L end
4125 3760 a 4125 3760 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.20) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3760 a Black Black
188 3909 a FA(4.17.21)14 b(Code)20 b(generation)e(options)58
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 3909 a
SDict begin H.S end
4041 3909 a FA(91)4125 3909 y
SDict begin 12 H.L end
4125 3909 a
4125 3909 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.21) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 3909 a Black Black 188 4059 a FA(4.17.22)14
b(Linking)k(options)31 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 4059 a
SDict begin H.S end
4041 4059
a FA(92)4125 4059 y
SDict begin 12 H.L end
4125 4059 a 4125 4059 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.22) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4059
a Black Black 188 4208 a FA(4.17.23)14 b(Replacing)19
b(phases)43 b(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4208 a
SDict begin H.S end
4041 4208 a FA(92)4125
4208 y
SDict begin 12 H.L end
4125 4208 a 4125 4208 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.23) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4208 a Black Black
188 4358 a FA(4.17.24)14 b(F)o(orcing)k(options)i(to)g(particular)f
(phases)56 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041 4358
a
SDict begin H.S end
4041 4358 a FA(93)4125 4358 y
SDict begin 12 H.L end
4125 4358 a 4125 4358
a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.24) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4358 a Black Black 188 4507 a FA(4.17.25)14 b
(Platform-speci\002c)k(options)33 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4507 a
SDict begin H.S end
4041 4507 a FA(93)4125
4507 y
SDict begin 12 H.L end
4125 4507 a 4125 4507 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.25) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4507 a Black Black
188 4656 a FA(4.17.26)14 b(External)19 b(core)g(\002le)i(options)33
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4041 4656 a
SDict begin H.S end
4041 4656 a FA(93)4125 4656 y
SDict begin 12 H.L end
4125 4656 a
4125 4656 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.26) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4656 a Black Black 188 4806 a FA(4.17.27)14
b(Compiler)19 b(deb)n(ugging)f(options)46 b(.)41 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 4806 a
SDict begin H.S end
4041 4806 a FA(93)4125
4806 y
SDict begin 12 H.L end
4125 4806 a 4125 4806 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.27) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4806 a Black Black
188 4955 a FA(4.17.28)14 b(Misc)20 b(compiler)f(options)61
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4041 4955 a
SDict begin H.S end
4041 4955 a FA(95)4125 4955 y
SDict begin 12 H.L end
4125 4955 a 4125 4955 a
SDict begin [ /Subtype /Link /Dest (subsection.4.17.28) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 4955 a Black Black Black
-128 6084 4252 5 v Black eop end
%%Page: 8 8
TeXDict begin 8 7 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.viii) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3596 b Fz(viii)p -128
-179 4252 5 v Black -128 173 a Fu(5)83 b(Pr)o(o\002ling)p
1 0 0 TeXcolorrgb 4041 173 a
SDict begin H.S end
4041 173 a Fu(96)4125 173
y
SDict begin 12 H.L end
4125 173 a 4125 173 a
SDict begin [ /Subtype /Link /Dest (chapter.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 173 a Black -3 323 a FA(5.1)j(Cost)21
b(centres)f(and)f(cost-centre)g(stacks)43 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 323 a
SDict begin H.S end
4041 323 a FA(96)4125
323 y
SDict begin 12 H.L end
4125 323 a 4125 323 a
SDict begin [ /Subtype /Link /Dest (section.5.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 323 a Black Black 188
472 a FA(5.1.1)98 b(Inserting)18 b(cost)j(centres)f(by)g(hand)65
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4041
472 a
SDict begin H.S end
4041 472 a FA(98)4125 472 y
SDict begin 12 H.L end
4125 472 a 4125 472
a
SDict begin [ /Subtype /Link /Dest (subsection.5.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 472 a Black Black 188 622 a FA(5.1.2)98 b(Rules)20
b(for)g(attrib)n(uting)f(costs)76 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4041 622 a
SDict begin H.S end
4041 622 a FA(99)4125
622 y
SDict begin 12 H.L end
4125 622 a 4125 622 a
SDict begin [ /Subtype /Link /Dest (subsection.5.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4125 622 a Black Black -3
771 a FA(5.2)86 b(Compiler)19 b(options)h(for)f(pro\002ling)70
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 771 a
SDict begin H.S end
4000 771 a FA(100)4126 771 y
SDict begin 12 H.L end
4126
771 a 4126 771 a
SDict begin [ /Subtype /Link /Dest (section.5.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 771 a Black Black -3 920 a FA(5.3)86
b(T)m(ime)20 b(and)g(allocation)f(pro\002ling)43 b(.)e(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 920
a
SDict begin H.S end
4000 920 a FA(100)4126 920 y
SDict begin 12 H.L end
4126 920 a 4126 920 a
SDict begin [ /Subtype /Link /Dest (section.5.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 920 a Black Black -3 1070 a FA(5.4)86 b(Pro\002ling)19
b(memory)g(usage)27 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 1070 a
SDict begin H.S end
4000 1070 a
FA(100)4126 1070 y
SDict begin 12 H.L end
4126 1070 a 4126 1070 a
SDict begin [ /Subtype /Link /Dest (section.5.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1070
a Black Black 188 1219 a FA(5.4.1)98 b(R)-5 b(TS)21 b(options)e(for)g
(heap)h(pro\002ling)42 b(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1219 a
SDict begin H.S end
4000 1219 a FA(101)4126 1219
y
SDict begin 12 H.L end
4126 1219 a 4126 1219 a
SDict begin [ /Subtype /Link /Dest (subsection.5.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1219 a Black Black 188
1369 a FA(5.4.2)98 b(Retainer)20 b(Pro\002ling)28 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1369 a
SDict begin H.S end
4000 1369 a FA(102)4126 1369
y
SDict begin 12 H.L end
4126 1369 a 4126 1369 a
SDict begin [ /Subtype /Link /Dest (subsection.5.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1369 a Black Black 454
1518 a FA(5.4.2.1)109 b(Hints)21 b(for)e(using)h(retainer)f
(pro\002ling)73 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1518 a
SDict begin H.S end
4000
1518 a FA(102)4126 1518 y
SDict begin 12 H.L end
4126 1518 a 4126 1518 a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.4.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
1518 a Black Black 188 1668 a FA(5.4.3)98 b(Biographical)18
b(Pro\002ling)68 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1668 a
SDict begin H.S end
4000 1668 a FA(102)4126
1668 y
SDict begin 12 H.L end
4126 1668 a 4126 1668 a
SDict begin [ /Subtype /Link /Dest (subsection.5.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1668 a Black Black
188 1817 a FA(5.4.4)98 b(Actual)20 b(memory)e(residenc)o(y)76
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 1817 a
SDict begin H.S end
4000 1817 a FA(103)4126 1817 y
SDict begin 12 H.L end
4126 1817
a 4126 1817 a
SDict begin [ /Subtype /Link /Dest (subsection.5.4.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1817 a Black Black -3 1966 a FA(5.5)86
b Fu(hp2ps)p FA(\226\226heap)19 b(pro\002le)g(to)i(PostScript)62
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 1966 a
SDict begin H.S end
4000 1966 a FA(103)4126 1966 y
SDict begin 12 H.L end
4126 1966
a 4126 1966 a
SDict begin [ /Subtype /Link /Dest (section.5.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1966 a Black Black 188 2116 a FA(5.5.1)98
b(Manipulating)18 b(the)i(hp)g(\002le)71 b(.)42 b(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2116 a
SDict begin H.S end
4000 2116
a FA(104)4126 2116 y
SDict begin 12 H.L end
4126 2116 a 4126 2116 a
SDict begin [ /Subtype /Link /Dest (subsection.5.5.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2116
a Black Black 188 2265 a FA(5.5.2)98 b(Zooming)18 b(in)i(on)g(re)o
(gions)f(of)h(your)f(pro\002le)48 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 2265 a
SDict begin H.S end
4000 2265 a FA(105)4126 2265
y
SDict begin 12 H.L end
4126 2265 a 4126 2265 a
SDict begin [ /Subtype /Link /Dest (subsection.5.5.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2265 a Black Black 188
2415 a FA(5.5.3)98 b(V)-5 b(ie)n(wing)19 b(the)h(heap)g(pro\002le)f(of)
h(a)h(running)d(program)71 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2415 a
SDict begin H.S end
4000
2415 a FA(105)4126 2415 y
SDict begin 12 H.L end
4126 2415 a 4126 2415 a
SDict begin [ /Subtype /Link /Dest (subsection.5.5.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
2415 a Black Black 188 2564 a FA(5.5.4)98 b(V)-5 b(ie)n(wing)19
b(a)i(heap)e(pro\002le)h(in)g(real)g(time)33 b(.)41 b(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2564 a
SDict begin H.S end
4000 2564 a FA(105)4126
2564 y
SDict begin 12 H.L end
4126 2564 a 4126 2564 a
SDict begin [ /Subtype /Link /Dest (subsection.5.5.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2564 a Black Black
-3 2714 a FA(5.6)86 b(Observing)19 b(Code)h(Co)o(v)o(erage)70
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 2714 a
SDict begin H.S end
4000 2714 a FA(106)4126
2714 y
SDict begin 12 H.L end
4126 2714 a 4126 2714 a
SDict begin [ /Subtype /Link /Dest (section.5.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2714 a Black Black
188 2863 a FA(5.6.1)98 b(A)20 b(small)h(e)o(xample:)j(Reciprocation)42
b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2863 a
SDict begin H.S end
4000 2863 a FA(106)4126 2863 y
SDict begin 12 H.L end
4126 2863 a 4126 2863
a
SDict begin [ /Subtype /Link /Dest (subsection.5.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2863 a Black Black 188 3013 a FA(5.6.2)98 b(Options)19
b(for)h(instrumenting)e(code)h(for)h(co)o(v)o(erage)78
b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3013 a
SDict begin H.S end
4000 3013 a FA(107)4126
3013 y
SDict begin 12 H.L end
4126 3013 a 4126 3013 a
SDict begin [ /Subtype /Link /Dest (subsection.5.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3013 a Black Black
188 3162 a FA(5.6.3)98 b(The)19 b(hpc)h(toolkit)52 b(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 3162 a
SDict begin H.S end
4000 3162 a FA(107)4126
3162 y
SDict begin 12 H.L end
4126 3162 a 4126 3162 a
SDict begin [ /Subtype /Link /Dest (subsection.5.6.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3162 a Black Black
454 3311 a FA(5.6.3.1)109 b(hpc)20 b(report)66 b(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3311 a
SDict begin H.S end
4000 3311 a FA(108)4126 3311 y
SDict begin 12 H.L end
4126 3311
a 4126 3311 a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.6.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3311 a Black Black 454 3461 a FA(5.6.3.2)109
b(hpc)20 b(markup)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3461 a
SDict begin H.S end
4000 3461 a FA(108)4126
3461 y
SDict begin 12 H.L end
4126 3461 a 4126 3461 a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.6.3.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3461 a Black Black
454 3610 a FA(5.6.3.3)109 b(hpc)20 b(sum)65 b(.)41 b(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 3610
a
SDict begin H.S end
4000 3610 a FA(108)4126 3610 y
SDict begin 12 H.L end
4126 3610 a 4126 3610
a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.6.3.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3610 a Black Black 454 3760 a FA(5.6.3.4)109 b(hpc)20
b(combine)40 b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 3760 a
SDict begin H.S end
4000 3760 a FA(109)4126
3760 y
SDict begin 12 H.L end
4126 3760 a 4126 3760 a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.6.3.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3760 a Black Black
454 3909 a FA(5.6.3.5)109 b(hpc)20 b(map)60 b(.)41 b(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 3909
a
SDict begin H.S end
4000 3909 a FA(109)4126 3909 y
SDict begin 12 H.L end
4126 3909 a 4126 3909
a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.6.3.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3909 a Black Black 454 4059 a FA(5.6.3.6)109 b(hpc)20
b(o)o(v)o(erlay)e(and)i(hpc)f(draft)58 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 4059 a
SDict begin H.S end
4000 4059 a FA(109)4126
4059 y
SDict begin 12 H.L end
4126 4059 a 4126 4059 a
SDict begin [ /Subtype /Link /Dest (subsubsection.5.6.3.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4059 a Black Black
188 4208 a FA(5.6.4)98 b(Ca)n(v)o(eats)20 b(and)g(Shortcomings)e(of)i
(Hask)o(ell)g(Program)f(Co)o(v)o(erage)39 b(.)i(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 4208 a
SDict begin H.S end
4000 4208 a
FA(110)4126 4208 y
SDict begin 12 H.L end
4126 4208 a 4126 4208 a
SDict begin [ /Subtype /Link /Dest (subsection.5.6.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4208
a Black Black -3 4358 a FA(5.7)86 b(Using)20 b(\223tick)o(y-tick)o
(y\224)e(pro\002ling)g(\(for)i(implementors\))25 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4358 a
SDict begin H.S end
4000 4358 a FA(110)4126
4358 y
SDict begin 12 H.L end
4126 4358 a 4126 4358 a
SDict begin [ /Subtype /Link /Dest (section.5.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4358 a Black Black
-128 4590 a Fu(6)83 b(Advice)20 b(on:)25 b(sooner)-8
b(,)20 b(faster)-8 b(,)20 b(smaller)-8 b(,)21 b(thriftier)p
1 0 0 TeXcolorrgb 4000 4590 a
SDict begin H.S end
4000 4590 a Fu(112)4126
4590 y
SDict begin 12 H.L end
4126 4590 a 4126 4590 a
SDict begin [ /Subtype /Link /Dest (chapter.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4590 a Black -3 4739
a FA(6.1)86 b(Sooner:)24 b(producing)17 b(a)k(program)d(more)h(quickly)
68 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4739 a
SDict begin H.S end
4000
4739 a FA(112)4126 4739 y
SDict begin 12 H.L end
4126 4739 a 4126 4739 a
SDict begin [ /Subtype /Link /Dest (section.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
4739 a Black Black -3 4889 a FA(6.2)86 b(F)o(aster:)25
b(producing)18 b(a)i(program)e(that)j(runs)e(quick)o(er)47
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4889 a
SDict begin H.S end
4000 4889
a FA(113)4126 4889 y
SDict begin 12 H.L end
4126 4889 a 4126 4889 a
SDict begin [ /Subtype /Link /Dest (section.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4889
a Black Black -3 5038 a FA(6.3)86 b(Smaller:)25 b(producing)17
b(a)k(program)d(that)i(is)h(smaller)83 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5038 a
SDict begin H.S end
4000 5038 a FA(115)4126 5038
y
SDict begin 12 H.L end
4126 5038 a 4126 5038 a
SDict begin [ /Subtype /Link /Dest (section.6.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5038 a Black Black -3
5188 a FA(6.4)86 b(Thriftier:)24 b(producing)17 b(a)k(program)d(that)i
(gobbles)f(less)j(heap)d(space)92 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 5188 a
SDict begin H.S end
4000 5188
a FA(115)4126 5188 y
SDict begin 12 H.L end
4126 5188 a 4126 5188 a
SDict begin [ /Subtype /Link /Dest (section.6.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5188
a Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 9 9
TeXDict begin 9 8 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black 0
TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray 0
TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.ix) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3629 b Fz(ix)p -128
-179 4252 5 v Black -128 173 a Fu(7)83 b(GHC)20 b(Language)f(F)n(eatur)
o(es)p 1 0 0 TeXcolorrgb 4000 173 a
SDict begin H.S end
4000 173 a Fu(116)4126
173 y
SDict begin 12 H.L end
4126 173 a 4126 173 a
SDict begin [ /Subtype /Link /Dest (chapter.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 173 a Black -3 320 a
FA(7.1)86 b(Language)18 b(options)45 b(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 320 a
SDict begin H.S end
4000 320 a FA(116)4126 320 y
SDict begin 12 H.L end
4126 320 a 4126
320 a
SDict begin [ /Subtype /Link /Dest (section.7.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 320 a Black Black -3 467 a FA(7.2)86 b(Unbox)o(ed)18
b(types)i(and)f(primiti)n(v)o(e)g(operations)56 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 467 a
SDict begin H.S end
4000
467 a FA(116)4126 467 y
SDict begin 12 H.L end
4126 467 a 4126 467 a
SDict begin [ /Subtype /Link /Dest (section.7.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 467
a Black Black 188 614 a FA(7.2.1)98 b(Unbox)o(ed)17 b(types)61
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 614 a
SDict begin H.S end
4000 614 a FA(117)4126
614 y
SDict begin 12 H.L end
4126 614 a 4126 614 a
SDict begin [ /Subtype /Link /Dest (subsection.7.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 614 a Black Black 188
761 a FA(7.2.2)98 b(Unbox)o(ed)17 b(T)l(uples)76 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 761 a
SDict begin H.S end
4000 761 a FA(118)4126 761 y
SDict begin 12 H.L end
4126
761 a 4126 761 a
SDict begin [ /Subtype /Link /Dest (subsection.7.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 761 a Black Black -3 908 a FA(7.3)86
b(Syntactic)20 b(e)o(xtensions)g(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
908 a
SDict begin H.S end
4000 908 a FA(119)4126 908 y
SDict begin 12 H.L end
4126 908 a 4126 908
a
SDict begin [ /Subtype /Link /Dest (section.7.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 908 a Black Black 188 1055 a FA(7.3.1)98 b(The)19
b(magic)h(hash)34 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 1055 a
SDict begin H.S end
4000 1055 a
FA(119)4126 1055 y
SDict begin 12 H.L end
4126 1055 a 4126 1055 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1055
a Black Black 188 1202 a FA(7.3.2)98 b(Ne)n(w)20 b(quali\002ed)f
(operator)g(syntax)56 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1202 a
SDict begin H.S end
4000 1202 a FA(119)4126 1202
y
SDict begin 12 H.L end
4126 1202 a 4126 1202 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1202 a Black Black 188
1349 a FA(7.3.3)98 b(Hierarchical)19 b(Modules)24 b(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 1349 a
SDict begin H.S end
4000 1349 a FA(119)4126 1349 y
SDict begin 12 H.L end
4126 1349
a 4126 1349 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1349 a Black Black 188 1496 a FA(7.3.4)98
b(P)o(attern)19 b(guards)i(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1496 a
SDict begin H.S end
4000 1496 a FA(120)4126 1496 y
SDict begin 12 H.L end
4126 1496 a 4126 1496
a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1496 a Black Black 188 1643 a FA(7.3.5)98 b(V)-5
b(ie)n(w)20 b(patterns)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1643 a
SDict begin H.S end
4000
1643 a FA(121)4126 1643 y
SDict begin 12 H.L end
4126 1643 a 4126 1643 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
1643 a Black Black 188 1790 a FA(7.3.6)98 b(The)19 b(recursi)n(v)o(e)g
(do-notation)77 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 1790 a
SDict begin H.S end
4000 1790 a FA(123)4126
1790 y
SDict begin 12 H.L end
4126 1790 a 4126 1790 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1790 a Black Black
188 1937 a FA(7.3.7)98 b(P)o(arallel)20 b(List)h(Comprehensions)74
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
1937 a
SDict begin H.S end
4000 1937 a FA(123)4126 1937 y
SDict begin 12 H.L end
4126 1937 a 4126
1937 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1937 a Black Black 188 2084 a FA(7.3.8)98
b(Generalised)19 b(\(SQL-Lik)o(e\))g(List)i(Comprehensions)78
b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2084 a
SDict begin H.S end
4000 2084 a FA(124)4126
2084 y
SDict begin 12 H.L end
4126 2084 a 4126 2084 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2084 a Black Black
188 2231 a FA(7.3.9)98 b(Rebindable)19 b(syntax)g(and)h(the)g(implicit)
g(Prelude)f(import)68 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 2231 a
SDict begin H.S end
4000 2231 a FA(125)4126
2231 y
SDict begin 12 H.L end
4126 2231 a 4126 2231 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2231 a Black Black
188 2378 a FA(7.3.10)56 b(Post\002x)20 b(operators)60
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2378 a
SDict begin H.S end
4000 2378 a FA(126)4126
2378 y
SDict begin 12 H.L end
4126 2378 a 4126 2378 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2378 a Black Black
188 2525 a FA(7.3.11)56 b(Record)19 b(\002eld)h(disambiguation)53
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2525 a
SDict begin H.S end
4000 2525 a FA(126)4126 2525 y
SDict begin 12 H.L end
4126 2525
a 4126 2525 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2525 a Black Black 188 2672 a FA(7.3.12)56
b(Record)19 b(puns)80 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2672 a
SDict begin H.S end
4000
2672 a FA(127)4126 2672 y
SDict begin 12 H.L end
4126 2672 a 4126 2672 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
2672 a Black Black 188 2819 a FA(7.3.13)56 b(Record)19
b(wildcards)101 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2819 a
SDict begin H.S end
4000 2819 a FA(127)4126
2819 y
SDict begin 12 H.L end
4126 2819 a 4126 2819 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.13) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2819 a Black Black
188 2966 a FA(7.3.14)56 b(Local)19 b(Fixity)i(Declarations)84
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2966 a
SDict begin H.S end
4000 2966 a FA(128)4126 2966 y
SDict begin 12 H.L end
4126 2966
a 4126 2966 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.14) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2966 a Black Black 188 3113 a FA(7.3.15)56
b(P)o(ackage-quali\002ed)17 b(imports)65 b(.)41 b(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 3113 a
SDict begin H.S end
4000 3113 a
FA(128)4126 3113 y
SDict begin 12 H.L end
4126 3113 a 4126 3113 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.15) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3113
a Black Black 188 3260 a FA(7.3.16)56 b(Summary)18 b(of)i(stolen)g
(syntax)64 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 3260 a
SDict begin H.S end
4000 3260 a FA(129)4126 3260
y
SDict begin 12 H.L end
4126 3260 a 4126 3260 a
SDict begin [ /Subtype /Link /Dest (subsection.7.3.16) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3260 a Black Black -3
3407 a FA(7.4)86 b(Extensions)19 b(to)h(data)g(types)g(and)g(type)g
(synon)o(yms)43 b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
3407 a
SDict begin H.S end
4000 3407 a FA(129)4126 3407 y
SDict begin 12 H.L end
4126 3407 a 4126
3407 a
SDict begin [ /Subtype /Link /Dest (section.7.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3407 a Black Black 188 3554 a FA(7.4.1)98
b(Data)20 b(types)g(with)g(no)g(constructors)67 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 3554 a
SDict begin H.S end
4000
3554 a FA(129)4126 3554 y
SDict begin 12 H.L end
4126 3554 a 4126 3554 a
SDict begin [ /Subtype /Link /Dest (subsection.7.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
3554 a Black Black 188 3701 a FA(7.4.2)98 b(In\002x)19
b(type)h(constructors,)e(classes,)j(and)f(type)g(v)n(ariables)79
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 3701 a
SDict begin H.S end
4000 3701 a FA(129)4126
3701 y
SDict begin 12 H.L end
4126 3701 a 4126 3701 a
SDict begin [ /Subtype /Link /Dest (subsection.7.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3701 a Black Black
188 3848 a FA(7.4.3)98 b(Liberalised)19 b(type)h(synon)o(yms)38
b(.)j(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3848 a
SDict begin H.S end
4000 3848 a FA(130)4126 3848 y
SDict begin 12 H.L end
4126 3848
a 4126 3848 a
SDict begin [ /Subtype /Link /Dest (subsection.7.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3848 a Black Black 188 3995 a FA(7.4.4)98
b(Existentially)19 b(quanti\002ed)g(data)h(constructors)72
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3995 a
SDict begin H.S end
4000 3995 a FA(131)4126
3995 y
SDict begin 12 H.L end
4126 3995 a 4126 3995 a
SDict begin [ /Subtype /Link /Dest (subsection.7.4.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3995 a Black Black
454 4142 a FA(7.4.4.1)109 b(Why)20 b(e)o(xistential?)96
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4142 a
SDict begin H.S end
4000 4142 a FA(132)4126 4142 y
SDict begin 12 H.L end
4126 4142
a 4126 4142 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.4.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4142 a Black Black 454 4289 a FA(7.4.4.2)109
b(Existentials)20 b(and)g(type)g(classes)k(.)41 b(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 4289 a
SDict begin H.S end
4000 4289 a FA(132)4126
4289 y
SDict begin 12 H.L end
4126 4289 a 4126 4289 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.4.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4289 a Black Black
454 4436 a FA(7.4.4.3)109 b(Record)20 b(Constructors)31
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
4436 a
SDict begin H.S end
4000 4436 a FA(132)4126 4436 y
SDict begin 12 H.L end
4126 4436 a 4126
4436 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.4.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4436 a Black Black 454 4583 a FA(7.4.4.4)109
b(Restrictions)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4583 a
SDict begin H.S end
4000 4583 a FA(133)4126
4583 y
SDict begin 12 H.L end
4126 4583 a 4126 4583 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.4.4.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4583 a Black Black
188 4730 a FA(7.4.5)98 b(Declaring)19 b(data)h(types)g(with)g(e)o
(xplicit)g(constructor)e(signatures)58 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 4730 a
SDict begin H.S end
4000 4730 a
FA(134)4126 4730 y
SDict begin 12 H.L end
4126 4730 a 4126 4730 a
SDict begin [ /Subtype /Link /Dest (subsection.7.4.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4730
a Black Black 188 4877 a FA(7.4.6)98 b(Generalised)19
b(Algebraic)g(Data)h(T)-7 b(ypes)20 b(\(GADTs\))78 b(.)41
b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4877 a
SDict begin H.S end
4000 4877 a FA(137)4126
4877 y
SDict begin 12 H.L end
4126 4877 a 4126 4877 a
SDict begin [ /Subtype /Link /Dest (subsection.7.4.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4877 a Black Black
-3 5024 a FA(7.5)86 b(Extensions)19 b(to)h(the)h("deri)n(ving")d
(mechanism)50 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 5024 a
SDict begin H.S end
4000 5024 a FA(138)4126 5024 y
SDict begin 12 H.L end
4126 5024
a 4126 5024 a
SDict begin [ /Subtype /Link /Dest (section.7.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5024 a Black Black 188 5171 a FA(7.5.1)98
b(Inferred)18 b(conte)o(xt)h(for)g(deri)n(ving)g(clauses)40
b(.)h(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 5171 a
SDict begin H.S end
4000 5171
a FA(138)4126 5171 y
SDict begin 12 H.L end
4126 5171 a 4126 5171 a
SDict begin [ /Subtype /Link /Dest (subsection.7.5.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5171
a Black Black 188 5318 a FA(7.5.2)98 b(Stand-alone)18
b(deri)n(ving)g(declarations)68 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 5318 a
SDict begin H.S end
4000 5318 a FA(139)4126
5318 y
SDict begin 12 H.L end
4126 5318 a 4126 5318 a
SDict begin [ /Subtype /Link /Dest (subsection.7.5.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5318 a Black Black
188 5465 a FA(7.5.3)98 b(Deri)n(ving)18 b(clause)j(for)e(classes)j
Ft(Typeable)d FA(and)g Ft(Data)73 b FA(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 5465 a
SDict begin H.S end
4000 5465 a FA(139)4126 5465 y
SDict begin 12 H.L end
4126 5465 a 4126 5465
a
SDict begin [ /Subtype /Link /Dest (subsection.7.5.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5465 a Black Black 188 5612 a FA(7.5.4)98 b(Generalised)19
b(deri)n(v)o(ed)f(instances)i(for)g(ne)n(wtypes)55 b(.)41
b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 5612 a
SDict begin H.S end
4000 5612 a FA(139)4126
5612 y
SDict begin 12 H.L end
4126 5612 a 4126 5612 a
SDict begin [ /Subtype /Link /Dest (subsection.7.5.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5612 a Black Black
454 5759 a FA(7.5.4.1)130 b(Generalising)19 b(the)h(deri)n(ving)e
(clause)63 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 5759 a
SDict begin H.S end
4000 5759 a
FA(140)4126 5759 y
SDict begin 12 H.L end
4126 5759 a 4126 5759 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.5.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5759
a Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 10 10
TeXDict begin 10 9 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.x) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3646 b Fz(x)p -128 -179
4252 5 v Black 454 173 a FA(7.5.4.2)130 b(A)20 b(more)g(precise)g
(speci\002cation)59 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
173 a
SDict begin H.S end
4000 173 a FA(141)4126 173 y
SDict begin 12 H.L end
4126 173 a 4126 173
a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.5.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 173 a Black Black -3 320 a FA(7.6)86 b(Class)22
b(and)d(instances)h(declarations)68 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 320 a
SDict begin H.S end
4000 320 a FA(141)4126
320 y
SDict begin 12 H.L end
4126 320 a 4126 320 a
SDict begin [ /Subtype /Link /Dest (section.7.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 320 a Black Black 188
467 a FA(7.6.1)98 b(Class)21 b(declarations)e(.)42 b(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
467 a
SDict begin H.S end
4000 467 a FA(141)4126 467 y
SDict begin 12 H.L end
4126 467 a 4126 467
a
SDict begin [ /Subtype /Link /Dest (subsection.7.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 467 a Black Black 454 614 a FA(7.6.1.1)109 b(Multi-parameter)18
b(type)i(classes)70 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
614 a
SDict begin H.S end
4000 614 a FA(142)4126 614 y
SDict begin 12 H.L end
4126 614 a 4126 614
a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 614 a Black Black 454 761 a FA(7.6.1.2)109 b(The)20
b(superclasses)g(of)g(a)g(class)i(declaration)59 b(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 761 a
SDict begin H.S end
4000 761 a FA(142)4126 761
y
SDict begin 12 H.L end
4126 761 a 4126 761 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 761 a Black Black 454 908
a FA(7.6.1.3)109 b(Class)22 b(method)c(types)72 b(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 908 a
SDict begin H.S end
4000 908 a FA(142)4126 908 y
SDict begin 12 H.L end
4126 908 a 4126 908 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
908 a Black Black 188 1055 a FA(7.6.2)98 b(Functional)19
b(dependencies)45 b(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 1055 a
SDict begin H.S end
4000 1055 a FA(142)4126
1055 y
SDict begin 12 H.L end
4126 1055 a 4126 1055 a
SDict begin [ /Subtype /Link /Dest (subsection.7.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1055 a Black Black
454 1202 a FA(7.6.2.1)109 b(Rules)21 b(for)e(functional)g(dependencies)
81 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1202 a
SDict begin H.S end
4000 1202 a FA(143)4126
1202 y
SDict begin 12 H.L end
4126 1202 a 4126 1202 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1202 a Black Black
454 1349 a FA(7.6.2.2)109 b(Background)18 b(on)h(functional)g
(dependencies)65 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1349 a
SDict begin H.S end
4000 1349 a FA(143)4126
1349 y
SDict begin 12 H.L end
4126 1349 a 4126 1349 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1349 a Black Black
703 1496 a FA(7.6.2.2.1)121 b(An)20 b(attempt)g(to)g(use)h(constructor)
d(classes)33 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1496 a
SDict begin H.S end
4000 1496 a FA(144)4126
1496 y
SDict begin 12 H.L end
4126 1496 a 4126 1496 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.6.2.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1496 a Black Black
703 1643 a FA(7.6.2.2.2)121 b(Adding)19 b(functional)f(dependencies)64
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1643 a
SDict begin H.S end
4000 1643 a FA(144)4126 1643
y
SDict begin 12 H.L end
4126 1643 a 4126 1643 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.6.2.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1643 a Black Black 188
1790 a FA(7.6.3)98 b(Instance)19 b(declarations)47 b(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 1790 a
SDict begin H.S end
4000 1790 a FA(146)4126 1790 y
SDict begin 12 H.L end
4126 1790
a 4126 1790 a
SDict begin [ /Subtype /Link /Dest (subsection.7.6.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1790 a Black Black 454 1937 a FA(7.6.3.1)109
b(Relax)o(ed)20 b(rules)g(for)f(instance)h(declarations)54
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1937 a
SDict begin H.S end
4000 1937 a FA(146)4126
1937 y
SDict begin 12 H.L end
4126 1937 a 4126 1937 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1937 a Black Black
454 2084 a FA(7.6.3.2)109 b(Undecidable)18 b(instances)35
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2084
a
SDict begin H.S end
4000 2084 a FA(147)4126 2084 y
SDict begin 12 H.L end
4126 2084 a 4126 2084
a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.3.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2084 a Black Black 454 2231 a FA(7.6.3.3)109 b(Ov)o(erlapping)18
b(instances)40 b(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2231 a
SDict begin H.S end
4000 2231 a FA(148)4126 2231 y
SDict begin 12 H.L end
4126 2231
a 4126 2231 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.3.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2231 a Black Black 454 2378 a FA(7.6.3.4)109
b(T)-7 b(ype)20 b(synon)o(yms)e(in)i(the)h(instance)e(head)79
b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2378 a
SDict begin H.S end
4000 2378 a FA(150)4126
2378 y
SDict begin 12 H.L end
4126 2378 a 4126 2378 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.6.3.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2378 a Black Black
188 2525 a FA(7.6.4)98 b(Ov)o(erloaded)17 b(string)j(literals)92
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2525 a
SDict begin H.S end
4000 2525 a FA(150)4126 2525 y
SDict begin 12 H.L end
4126 2525
a 4126 2525 a
SDict begin [ /Subtype /Link /Dest (subsection.7.6.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2525 a Black Black -3 2672 a FA(7.7)86
b(T)-7 b(ype)20 b(f)o(amilies)63 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 2672 a
SDict begin H.S end
4000 2672 a FA(151)4126 2672
y
SDict begin 12 H.L end
4126 2672 a 4126 2672 a
SDict begin [ /Subtype /Link /Dest (section.7.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2672 a Black Black 188
2819 a FA(7.7.1)98 b(Data)20 b(f)o(amilies)54 b(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2819 a
SDict begin H.S end
4000 2819 a FA(151)4126
2819 y
SDict begin 12 H.L end
4126 2819 a 4126 2819 a
SDict begin [ /Subtype /Link /Dest (subsection.7.7.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2819 a Black Black
454 2966 a FA(7.7.1.1)109 b(Data)20 b(f)o(amily)g(declarations)26
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2966 a
SDict begin H.S end
4000 2966 a FA(151)4126 2966 y
SDict begin 12 H.L end
4126 2966 a 4126 2966
a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.7.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2966 a Black Black 703 3113 a FA(7.7.1.1.1)121
b(Associated)20 b(data)g(f)o(amily)g(declarations)g(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3113 a
SDict begin H.S end
4000 3113 a FA(152)4126 3113 y
SDict begin 12 H.L end
4126 3113
a 4126 3113 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3113 a Black Black 454 3260 a FA(7.7.1.2)109
b(Data)20 b(instance)g(declarations)32 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 3260 a
SDict begin H.S end
4000 3260 a FA(152)4126
3260 y
SDict begin 12 H.L end
4126 3260 a 4126 3260 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.7.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3260 a Black Black
703 3407 a FA(7.7.1.2.1)121 b(Associated)20 b(data)g(instances)43
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3407 a
SDict begin H.S end
4000 3407 a FA(153)4126
3407 y
SDict begin 12 H.L end
4126 3407 a 4126 3407 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3407 a Black Black
703 3554 a FA(7.7.1.2.2)121 b(Scoping)19 b(of)h(class)h(parameters)i(.)
42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3554 a
SDict begin H.S end
4000 3554 a FA(153)4126
3554 y
SDict begin 12 H.L end
4126 3554 a 4126 3554 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3554 a Black Black
703 3701 a FA(7.7.1.2.3)121 b(T)-7 b(ype)19 b(class)j(instances)e(of)g
(f)o(amily)f(instances)67 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3701 a
SDict begin H.S end
4000 3701 a FA(153)4126
3701 y
SDict begin 12 H.L end
4126 3701 a 4126 3701 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.2.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3701 a Black Black
703 3848 a FA(7.7.1.2.4)121 b(Ov)o(erlap)19 b(of)h(data)g(instances)51
b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3848 a
SDict begin H.S end
4000 3848 a FA(153)4126
3848 y
SDict begin 12 H.L end
4126 3848 a 4126 3848 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.2.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3848 a Black Black
454 3995 a FA(7.7.1.3)109 b(Import)19 b(and)g(e)o(xport)56
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3995 a
SDict begin H.S end
4000 3995 a FA(154)4126 3995 y
SDict begin 12 H.L end
4126 3995
a 4126 3995 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.7.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3995 a Black Black 703 4142 a FA(7.7.1.3.1)121
b(Associated)20 b(f)o(amilies)53 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4142 a
SDict begin H.S end
4000 4142 a FA(154)4126 4142 y
SDict begin 12 H.L end
4126 4142
a 4126 4142 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4142 a Black Black 703 4289 a FA(7.7.1.3.2)121
b(Examples)65 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4289 a
SDict begin H.S end
4000 4289 a FA(154)4126 4289 y
SDict begin 12 H.L end
4126 4289
a 4126 4289 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.3.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4289 a Black Black 703 4436 a FA(7.7.1.3.3)121
b(Instances)22 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 4436 a
SDict begin H.S end
4000 4436 a FA(154)4126 4436
y
SDict begin 12 H.L end
4126 4436 a 4126 4436 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.1.3.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4436 a Black Black 188
4583 a FA(7.7.2)98 b(Synon)o(ym)17 b(f)o(amilies)81 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 4583 a
SDict begin H.S end
4000 4583 a FA(154)4126 4583
y
SDict begin 12 H.L end
4126 4583 a 4126 4583 a
SDict begin [ /Subtype /Link /Dest (subsection.7.7.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4583 a Black Black 454
4730 a FA(7.7.2.1)109 b(T)-7 b(ype)20 b(f)o(amily)f(declarations)81
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4730 a
SDict begin H.S end
4000
4730 a FA(155)4126 4730 y
SDict begin 12 H.L end
4126 4730 a 4126 4730 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.7.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
4730 a Black Black 703 4877 a FA(7.7.2.1.1)121 b(Associated)20
b(type)g(f)o(amily)f(declarations)78 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 4877 a
SDict begin H.S end
4000 4877 a
FA(155)4126 4877 y
SDict begin 12 H.L end
4126 4877 a 4126 4877 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.2.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4877
a Black Black 454 5024 a FA(7.7.2.2)109 b(T)-7 b(ype)20
b(instance)g(declarations)k(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 5024 a
SDict begin H.S end
4000 5024 a FA(155)4126 5024 y
SDict begin 12 H.L end
4126 5024
a 4126 5024 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.7.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5024 a Black Black 703 5171 a FA(7.7.2.2.1)121
b(Associated)20 b(type)g(instance)f(declarations)j(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 5171 a
SDict begin H.S end
4000 5171 a FA(156)4126 5171 y
SDict begin 12 H.L end
4126 5171
a 4126 5171 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.2.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5171 a Black Black 703 5318 a FA(7.7.2.2.2)121
b(Ov)o(erlap)19 b(of)h(type)f(synon)o(ym)f(instances)35
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5318 a
SDict begin H.S end
4000 5318 a FA(156)4126 5318
y
SDict begin 12 H.L end
4126 5318 a 4126 5318 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.2.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5318 a Black Black 703
5465 a FA(7.7.2.2.3)121 b(Decidability)19 b(of)h(type)g(synon)o(ym)e
(instances)76 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5465 a
SDict begin H.S end
4000 5465 a FA(156)4126 5465
y
SDict begin 12 H.L end
4126 5465 a 4126 5465 a
SDict begin [ /Subtype /Link /Dest (paragraph.7.7.2.2.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5465 a Black Black 454
5612 a FA(7.7.2.3)109 b(Equality)19 b(constraints)55
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
5612 a
SDict begin H.S end
4000 5612 a FA(157)4126 5612 y
SDict begin 12 H.L end
4126 5612 a 4126
5612 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.7.2.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5612 a Black Black -3 5759 a FA(7.8)86 b(Other)20
b(type)f(system)i(e)o(xtensions)37 b(.)k(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 5759 a
SDict begin H.S end
4000 5759 a
FA(157)4126 5759 y
SDict begin 12 H.L end
4126 5759 a 4126 5759 a
SDict begin [ /Subtype /Link /Dest (section.7.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5759
a Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 11 11
TeXDict begin 11 10 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.xi) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3629 b Fz(xi)p -128
-179 4252 5 v Black 188 173 a FA(7.8.1)98 b(T)-7 b(ype)19
b(signatures)38 b(.)j(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 173 a
SDict begin H.S end
4000 173 a FA(157)4126
173 y
SDict begin 12 H.L end
4126 173 a 4126 173 a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 173 a Black Black 454
320 a FA(7.8.1.1)109 b(The)20 b(conte)o(xt)f(of)h(a)g(type)g(signature)
61 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 320 a
SDict begin H.S end
4000 320 a FA(157)4126
320 y
SDict begin 12 H.L end
4126 320 a 4126 320 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 320 a Black Black 188
467 a FA(7.8.2)98 b(Implicit)19 b(parameters)36 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 467 a
SDict begin H.S end
4000 467 a FA(158)4126 467 y
SDict begin 12 H.L end
4126
467 a 4126 467 a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 467 a Black Black 454 614 a FA(7.8.2.1)109
b(Implicit-parameter)17 b(type)j(constraints)48 b(.)41
b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 614 a
SDict begin H.S end
4000 614 a FA(159)4126
614 y
SDict begin 12 H.L end
4126 614 a 4126 614 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 614 a Black Black 454
761 a FA(7.8.2.2)109 b(Implicit-parameter)17 b(bindings)36
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 761 a
SDict begin H.S end
4000 761
a FA(160)4126 761 y
SDict begin 12 H.L end
4126 761 a 4126 761 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 761 a
Black Black 454 908 a FA(7.8.2.3)109 b(Implicit)20 b(parameters)f(and)g
(polymorphic)e(recursion)25 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 908 a
SDict begin H.S end
4000 908 a FA(160)4126
908 y
SDict begin 12 H.L end
4126 908 a 4126 908 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.2.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 908 a Black Black 454
1055 a FA(7.8.2.4)109 b(Implicit)20 b(parameters)f(and)g(monomorphism)
64 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1055 a
SDict begin H.S end
4000 1055 a FA(161)4126
1055 y
SDict begin 12 H.L end
4126 1055 a 4126 1055 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.2.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1055 a Black Black
188 1202 a FA(7.8.3)98 b(Explicitly-kinded)16 b(quanti\002cation)60
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1202
a
SDict begin H.S end
4000 1202 a FA(161)4126 1202 y
SDict begin 12 H.L end
4126 1202 a 4126 1202
a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1202 a Black Black 188 1349 a FA(7.8.4)98 b(Arbitrary-rank)16
b(polymorphism)66 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1349 a
SDict begin H.S end
4000 1349 a FA(162)4126 1349
y
SDict begin 12 H.L end
4126 1349 a 4126 1349 a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1349 a Black Black 454
1496 a FA(7.8.4.1)109 b(Examples)78 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1496 a
SDict begin H.S end
4000 1496
a FA(162)4126 1496 y
SDict begin 12 H.L end
4126 1496 a 4126 1496 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.4.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1496
a Black Black 454 1643 a FA(7.8.4.2)109 b(T)-7 b(ype)20
b(inference)35 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 1643 a
SDict begin H.S end
4000 1643 a FA(164)4126
1643 y
SDict begin 12 H.L end
4126 1643 a 4126 1643 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.4.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1643 a Black Black
454 1790 a FA(7.8.4.3)109 b(Implicit)20 b(quanti\002cation)37
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1790
a
SDict begin H.S end
4000 1790 a FA(164)4126 1790 y
SDict begin 12 H.L end
4126 1790 a 4126 1790
a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.4.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1790 a Black Black 188 1937 a FA(7.8.5)98 b(Impredicati)n(v)o(e)
17 b(polymorphism)92 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1937 a
SDict begin H.S end
4000 1937 a FA(165)4126 1937
y
SDict begin 12 H.L end
4126 1937 a 4126 1937 a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1937 a Black Black 188
2084 a FA(7.8.6)98 b(Le)o(xically)19 b(scoped)g(type)h(v)n(ariables)73
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2084
a
SDict begin H.S end
4000 2084 a FA(165)4126 2084 y
SDict begin 12 H.L end
4126 2084 a 4126 2084
a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2084 a Black Black 454 2231 a FA(7.8.6.1)109 b(Ov)o(ervie)n(w)81
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 2231 a
SDict begin H.S end
4000 2231 a FA(165)4126 2231
y
SDict begin 12 H.L end
4126 2231 a 4126 2231 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2231 a Black Black 454
2378 a FA(7.8.6.2)109 b(Declaration)19 b(type)h(signatures)57
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2378 a
SDict begin H.S end
4000 2378
a FA(166)4126 2378 y
SDict begin 12 H.L end
4126 2378 a 4126 2378 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2378
a Black Black 454 2525 a FA(7.8.6.3)109 b(Expression)19
b(type)g(signatures)76 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2525 a
SDict begin H.S end
4000 2525 a FA(166)4126 2525 y
SDict begin 12 H.L end
4126 2525
a 4126 2525 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.6.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2525 a Black Black 454 2672 a FA(7.8.6.4)109
b(P)o(attern)20 b(type)f(signatures)24 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2672 a
SDict begin H.S end
4000 2672 a FA(167)4126
2672 y
SDict begin 12 H.L end
4126 2672 a 4126 2672 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.6.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2672 a Black Black
454 2819 a FA(7.8.6.5)109 b(Class)22 b(and)d(instance)h(declarations)55
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2819 a
SDict begin H.S end
4000 2819 a FA(167)4126
2819 y
SDict begin 12 H.L end
4126 2819 a 4126 2819 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.8.6.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2819 a Black Black
188 2966 a FA(7.8.7)98 b(Generalised)19 b(typing)g(of)h(mutually)f
(recursi)n(v)o(e)f(bindings)78 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2966 a
SDict begin H.S end
4000 2966
a FA(168)4126 2966 y
SDict begin 12 H.L end
4126 2966 a 4126 2966 a
SDict begin [ /Subtype /Link /Dest (subsection.7.8.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2966
a Black Black -3 3113 a FA(7.9)86 b(T)-6 b(emplate)19
b(Hask)o(ell)58 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 3113 a
SDict begin H.S end
4000
3113 a FA(168)4126 3113 y
SDict begin 12 H.L end
4126 3113 a 4126 3113 a
SDict begin [ /Subtype /Link /Dest (section.7.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
3113 a Black Black 188 3260 a FA(7.9.1)98 b(Syntax)79
b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 3260 a
SDict begin H.S end
4000 3260 a FA(168)4126
3260 y
SDict begin 12 H.L end
4126 3260 a 4126 3260 a
SDict begin [ /Subtype /Link /Dest (subsection.7.9.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3260 a Black Black
188 3407 a FA(7.9.2)118 b(Using)20 b(T)-6 b(emplate)20
b(Hask)o(ell)50 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3407 a
SDict begin H.S end
4000 3407 a FA(169)4126
3407 y
SDict begin 12 H.L end
4126 3407 a 4126 3407 a
SDict begin [ /Subtype /Link /Dest (subsection.7.9.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3407 a Black Black
188 3554 a FA(7.9.3)118 b(A)21 b(T)-6 b(emplate)20 b(Hask)o(ell)g(W)-7
b(ork)o(ed)20 b(Example)88 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3554 a
SDict begin H.S end
4000 3554 a FA(170)4126 3554 y
SDict begin 12 H.L end
4126 3554
a 4126 3554 a
SDict begin [ /Subtype /Link /Dest (subsection.7.9.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3554 a Black Black 188 3701 a FA(7.9.4)98
b(Using)20 b(T)-6 b(emplate)19 b(Hask)o(ell)i(with)f(Pro\002ling)26
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 3701 a
SDict begin H.S end
4000 3701
a FA(171)4126 3701 y
SDict begin 12 H.L end
4126 3701 a 4126 3701 a
SDict begin [ /Subtype /Link /Dest (subsection.7.9.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3701
a Black Black 188 3848 a FA(7.9.5)118 b(T)-6 b(emplate)20
b(Hask)o(ell)g(Quasi-quotation)85 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 3848 a
SDict begin H.S end
4000 3848 a FA(171)4126 3848
y
SDict begin 12 H.L end
4126 3848 a 4126 3848 a
SDict begin [ /Subtype /Link /Dest (subsection.7.9.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3848 a Black Black -3
3995 a FA(7.10)j(Arro)n(w)19 b(notation)68 b(.)41 b(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 3995 a
SDict begin H.S end
4000 3995 a FA(172)4126 3995
y
SDict begin 12 H.L end
4126 3995 a 4126 3995 a
SDict begin [ /Subtype /Link /Dest (section.7.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3995 a Black Black 188
4142 a FA(7.10.1)56 b(do-notation)17 b(for)j(commands)51
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4142 a
SDict begin H.S end
4000 4142 a FA(174)4126 4142 y
SDict begin 12 H.L end
4126 4142
a 4126 4142 a
SDict begin [ /Subtype /Link /Dest (subsection.7.10.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4142 a Black Black 188 4289 a FA(7.10.2)56
b(Conditional)18 b(commands)35 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4289 a
SDict begin H.S end
4000 4289 a FA(175)4126
4289 y
SDict begin 12 H.L end
4126 4289 a 4126 4289 a
SDict begin [ /Subtype /Link /Dest (subsection.7.10.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4289 a Black Black
188 4436 a FA(7.10.3)56 b(De\002ning)19 b(your)g(o)n(wn)h(control)e
(structures)82 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4436
a
SDict begin H.S end
4000 4436 a FA(175)4126 4436 y
SDict begin 12 H.L end
4126 4436 a 4126 4436
a
SDict begin [ /Subtype /Link /Dest (subsection.7.10.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4436 a Black Black 188 4583 a FA(7.10.4)56 b(Primiti)n(v)o(e)19
b(constructs)i(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4583 a
SDict begin H.S end
4000 4583 a FA(176)4126
4583 y
SDict begin 12 H.L end
4126 4583 a 4126 4583 a
SDict begin [ /Subtype /Link /Dest (subsection.7.10.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4583 a Black Black
188 4730 a FA(7.10.5)56 b(Dif)n(ferences)18 b(with)j(the)f(paper)52
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4730 a
SDict begin H.S end
4000 4730 a FA(177)4126 4730 y
SDict begin 12 H.L end
4126 4730
a 4126 4730 a
SDict begin [ /Subtype /Link /Dest (subsection.7.10.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4730 a Black Black 188 4877 a FA(7.10.6)56
b(Portability)21 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4877 a
SDict begin H.S end
4000 4877 a FA(177)4126 4877 y
SDict begin 12 H.L end
4126 4877 a 4126 4877
a
SDict begin [ /Subtype /Link /Dest (subsection.7.10.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4877 a Black Black -3 5024 a FA(7.11)j(Bang)20
b(patterns)55 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 5024
a
SDict begin H.S end
4000 5024 a FA(177)4126 5024 y
SDict begin 12 H.L end
4126 5024 a 4126 5024
a
SDict begin [ /Subtype /Link /Dest (section.7.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5024 a Black Black 188 5171 a FA(7.11.1)56 b(Informal)18
b(description)h(of)g(bang)h(patterns)70 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 5171 a
SDict begin H.S end
4000 5171 a FA(178)4126
5171 y
SDict begin 12 H.L end
4126 5171 a 4126 5171 a
SDict begin [ /Subtype /Link /Dest (subsection.7.11.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5171 a Black Black
188 5318 a FA(7.11.2)56 b(Syntax)19 b(and)h(semantics)89
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5318 a
SDict begin H.S end
4000 5318 a FA(179)4126 5318
y
SDict begin 12 H.L end
4126 5318 a 4126 5318 a
SDict begin [ /Subtype /Link /Dest (subsection.7.11.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5318 a Black Black -3
5465 a FA(7.12)j(Assertions)101 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5465 a
SDict begin H.S end
4000 5465 a FA(179)4126 5465
y
SDict begin 12 H.L end
4126 5465 a 4126 5465 a
SDict begin [ /Subtype /Link /Dest (section.7.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5465 a Black Black -3
5612 a FA(7.13)j(Pragmas)d(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5612 a
SDict begin H.S end
4000 5612 a FA(180)4126 5612
y
SDict begin 12 H.L end
4126 5612 a 4126 5612 a
SDict begin [ /Subtype /Link /Dest (section.7.13) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5612 a Black Black 188
5759 a FA(7.13.1)56 b(LANGU)m(A)m(GE)19 b(pragma)i(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 5759 a
SDict begin H.S end
4000 5759 a FA(180)4126 5759 y
SDict begin 12 H.L end
4126 5759
a 4126 5759 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5759 a Black Black Black -128 6084
4252 5 v Black eop end
%%Page: 12 12
TeXDict begin 12 11 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.xii) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3612 b Fz(xii)p -128
-179 4252 5 v Black 188 173 a FA(7.13.2)56 b(OPTIONS_GHC)20
b(pragma)32 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 173 a
SDict begin H.S end
4000 173 a FA(180)4126 173
y
SDict begin 12 H.L end
4126 173 a 4126 173 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 173 a Black Black 188 323
a FA(7.13.3)56 b(INCLUDE)20 b(pragma)49 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 323 a
SDict begin H.S end
4000 323 a FA(181)4126 323 y
SDict begin 12 H.L end
4126 323 a 4126 323 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
323 a Black Black 188 472 a FA(7.13.4)56 b(W)-10 b(ARNING)21
b(and)e(DEPRECA)-9 b(TED)20 b(pragmas)46 b(.)41 b(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 472 a
SDict begin H.S end
4000 472 a FA(181)4126 472 y
SDict begin 12 H.L end
4126
472 a 4126 472 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 472 a Black Black 188 622 a FA(7.13.5)56
b(INLINE)19 b(and)h(NOINLINE)f(pragmas)45 b(.)c(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 622 a
SDict begin H.S end
4000 622 a FA(181)4126
622 y
SDict begin 12 H.L end
4126 622 a 4126 622 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 622 a Black Black 454
771 a FA(7.13.5.1)67 b(INLINE)19 b(pragma)46 b(.)41 b(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 771 a
SDict begin H.S end
4000 771
a FA(181)4126 771 y
SDict begin 12 H.L end
4126 771 a 4126 771 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.13.5.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 771 a
Black Black 454 920 a FA(7.13.5.2)67 b(NOINLINE)19 b(pragma)50
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
920 a
SDict begin H.S end
4000 920 a FA(182)4126 920 y
SDict begin 12 H.L end
4126 920 a 4126 920
a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.13.5.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 920 a Black Black 454 1070 a FA(7.13.5.3)67 b(Phase)20
b(control)80 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 1070 a
SDict begin H.S end
4000 1070 a FA(182)4126
1070 y
SDict begin 12 H.L end
4126 1070 a 4126 1070 a
SDict begin [ /Subtype /Link /Dest (subsubsection.7.13.5.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1070 a Black Black
188 1219 a FA(7.13.6)56 b(LINE)19 b(pragma)38 b(.)j(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 1219 a
SDict begin H.S end
4000 1219 a FA(183)4126 1219 y
SDict begin 12 H.L end
4126 1219
a 4126 1219 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1219 a Black Black 188 1369 a FA(7.13.7)56
b(R)m(ULES)20 b(pragma)29 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1369 a
SDict begin H.S end
4000
1369 a FA(183)4126 1369 y
SDict begin 12 H.L end
4126 1369 a 4126 1369 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
1369 a Black Black 188 1518 a FA(7.13.8)56 b(SPECIALIZE)19
b(pragma)72 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 1518 a
SDict begin H.S end
4000 1518 a FA(183)4126
1518 y
SDict begin 12 H.L end
4126 1518 a 4126 1518 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1518 a Black Black
188 1668 a FA(7.13.9)56 b(SPECIALIZE)19 b(instance)h(pragma)90
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1668
a
SDict begin H.S end
4000 1668 a FA(184)4126 1668 y
SDict begin 12 H.L end
4126 1668 a 4126 1668
a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1668 a Black Black 188 1817 a FA(7.13.10)14 b(UNP)-8
b(A)m(CK)21 b(pragma)f(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 1817 a
SDict begin H.S end
4000 1817 a
FA(185)4126 1817 y
SDict begin 12 H.L end
4126 1817 a 4126 1817 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1817
a Black Black 188 1966 a FA(7.13.11)14 b(SOURCE)21 b(pragma)i(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1966 a
SDict begin H.S end
4000 1966 a FA(185)4126 1966
y
SDict begin 12 H.L end
4126 1966 a 4126 1966 a
SDict begin [ /Subtype /Link /Dest (subsection.7.13.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1966 a Black Black -3
2116 a FA(7.14)j(Re)n(write)20 b(rules)72 b(.)41 b(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 2116 a
SDict begin H.S end
4000 2116 a FA(185)4126
2116 y
SDict begin 12 H.L end
4126 2116 a 4126 2116 a
SDict begin [ /Subtype /Link /Dest (section.7.14) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2116 a Black Black
188 2265 a FA(7.14.1)56 b(Syntax)79 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2265 a
SDict begin H.S end
4000 2265 a FA(186)4126 2265 y
SDict begin 12 H.L end
4126 2265
a 4126 2265 a
SDict begin [ /Subtype /Link /Dest (subsection.7.14.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2265 a Black Black 188 2415 a FA(7.14.2)56
b(Semantics)31 b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2415 a
SDict begin H.S end
4000
2415 a FA(187)4126 2415 y
SDict begin 12 H.L end
4126 2415 a 4126 2415 a
SDict begin [ /Subtype /Link /Dest (subsection.7.14.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
2415 a Black Black 188 2564 a FA(7.14.3)56 b(List)21
b(fusion)76 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 2564 a
SDict begin H.S end
4000 2564 a
FA(188)4126 2564 y
SDict begin 12 H.L end
4126 2564 a 4126 2564 a
SDict begin [ /Subtype /Link /Dest (subsection.7.14.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2564
a Black Black 188 2714 a FA(7.14.4)56 b(Specialisation)93
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 2714 a
SDict begin H.S end
4000 2714 a FA(189)4126
2714 y
SDict begin 12 H.L end
4126 2714 a 4126 2714 a
SDict begin [ /Subtype /Link /Dest (subsection.7.14.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2714 a Black Black
188 2863 a FA(7.14.5)56 b(Controlling)18 b(what')-5 b(s)21
b(going)e(on)61 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 2863 a
SDict begin H.S end
4000 2863 a FA(189)4126 2863
y
SDict begin 12 H.L end
4126 2863 a 4126 2863 a
SDict begin [ /Subtype /Link /Dest (subsection.7.14.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2863 a Black Black 188
3013 a FA(7.14.6)56 b(CORE)21 b(pragma)67 b(.)41 b(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3013 a
SDict begin H.S end
4000 3013 a FA(189)4126 3013 y
SDict begin 12 H.L end
4126 3013
a 4126 3013 a
SDict begin [ /Subtype /Link /Dest (subsection.7.14.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3013 a Black Black -3 3162 a FA(7.15)j(Special)20
b(b)n(uilt-in)g(functions)48 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 3162 a
SDict begin H.S end
4000
3162 a FA(190)4126 3162 y
SDict begin 12 H.L end
4126 3162 a 4126 3162 a
SDict begin [ /Subtype /Link /Dest (section.7.15) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
3162 a Black Black -3 3311 a FA(7.16)j(Generic)19 b(classes)64
b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 3311 a
SDict begin H.S end
4000 3311 a FA(190)4126
3311 y
SDict begin 12 H.L end
4126 3311 a 4126 3311 a
SDict begin [ /Subtype /Link /Dest (section.7.16) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3311 a Black Black
188 3461 a FA(7.16.1)76 b(Using)20 b(generics)43 b(.)e(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3461 a
SDict begin H.S end
4000 3461 a FA(191)4126 3461 y
SDict begin 12 H.L end
4126 3461
a 4126 3461 a
SDict begin [ /Subtype /Link /Dest (subsection.7.16.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3461 a Black Black 188 3610 a FA(7.16.2)76
b(Changes)20 b(wrt)g(the)h(paper)42 b(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 3610 a
SDict begin H.S end
4000 3610 a
FA(191)4126 3610 y
SDict begin 12 H.L end
4126 3610 a 4126 3610 a
SDict begin [ /Subtype /Link /Dest (subsection.7.16.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3610
a Black Black 188 3760 a FA(7.16.3)56 b(T)-6 b(erminology)17
b(and)j(restrictions)37 b(.)k(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 3760 a
SDict begin H.S end
4000 3760 a FA(191)4126
3760 y
SDict begin 12 H.L end
4126 3760 a 4126 3760 a
SDict begin [ /Subtype /Link /Dest (subsection.7.16.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3760 a Black Black
188 3909 a FA(7.16.4)76 b(Another)19 b(e)o(xample)90
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 3909 a
SDict begin H.S end
4000 3909 a FA(193)4126
3909 y
SDict begin 12 H.L end
4126 3909 a 4126 3909 a
SDict begin [ /Subtype /Link /Dest (subsection.7.16.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3909 a Black Black
-3 4059 a FA(7.17)j(Control)19 b(o)o(v)o(er)g(monomorphism)43
b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 4059 a
SDict begin H.S end
4000 4059 a FA(193)4126 4059
y
SDict begin 12 H.L end
4126 4059 a 4126 4059 a
SDict begin [ /Subtype /Link /Dest (section.7.17) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4059 a Black Black 188
4208 a FA(7.17.1)56 b(Switching)19 b(of)n(f)h(the)g(dreaded)e
(Monomorphism)f(Restriction)69 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 4208 a
SDict begin H.S end
4000 4208 a FA(193)4126
4208 y
SDict begin 12 H.L end
4126 4208 a 4126 4208 a
SDict begin [ /Subtype /Link /Dest (subsection.7.17.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4208 a Black Black
188 4358 a FA(7.17.2)56 b(Monomorphic)16 b(pattern)k(bindings)j(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4358 a
SDict begin H.S end
4000 4358 a FA(193)4126 4358 y
SDict begin 12 H.L end
4126 4358 a 4126 4358
a
SDict begin [ /Subtype /Link /Dest (subsection.7.17.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4358 a Black Black -3 4507 a FA(7.18)j(Concurrent)18
b(and)i(P)o(arallel)g(Hask)o(ell)76 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 4507 a
SDict begin H.S end
4000 4507 a FA(193)4126
4507 y
SDict begin 12 H.L end
4126 4507 a 4126 4507 a
SDict begin [ /Subtype /Link /Dest (section.7.18) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4507 a Black Black
188 4656 a FA(7.18.1)56 b(Concurrent)18 b(Hask)o(ell)38
b(.)j(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 4656 a
SDict begin H.S end
4000 4656 a FA(194)4126 4656
y
SDict begin 12 H.L end
4126 4656 a 4126 4656 a
SDict begin [ /Subtype /Link /Dest (subsection.7.18.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4656 a Black Black 188
4806 a FA(7.18.2)56 b(Softw)o(are)19 b(T)m(ransactional)g(Memory)43
b(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4806 a
SDict begin H.S end
4000 4806 a FA(194)4126 4806 y
SDict begin 12 H.L end
4126 4806 a 4126 4806
a
SDict begin [ /Subtype /Link /Dest (subsection.7.18.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4806 a Black Black 188 4955 a FA(7.18.3)56 b(P)o(arallel)20
b(Hask)o(ell)34 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 4955 a
SDict begin H.S end
4000 4955 a FA(194)4126
4955 y
SDict begin 12 H.L end
4126 4955 a 4126 4955 a
SDict begin [ /Subtype /Link /Dest (subsection.7.18.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4955 a Black Black
188 5105 a FA(7.18.4)56 b(Annotating)18 b(pure)h(code)h(for)f
(parallelism)80 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
5105 a
SDict begin H.S end
4000 5105 a FA(194)4126 5105 y
SDict begin 12 H.L end
4126 5105 a 4126
5105 a
SDict begin [ /Subtype /Link /Dest (subsection.7.18.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5105 a Black Black 188 5254 a FA(7.18.5)56
b(Data)20 b(P)o(arallel)g(Hask)o(ell)44 b(.)d(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 5254 a
SDict begin H.S end
4000
5254 a FA(195)4126 5254 y
SDict begin 12 H.L end
4126 5254 a 4126 5254 a
SDict begin [ /Subtype /Link /Dest (subsection.7.18.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
5254 a Black Black Black -128 6084 4252 5 v Black eop
end
%%Page: 13 13
TeXDict begin 13 12 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.xiii) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3596 b Fz(xiii)p -128
-179 4252 5 v Black -128 173 a Fu(8)104 b(F)n(or)o(eign)19
b(function)h(interface)f(\(FFI\))p 1 0 0 TeXcolorrgb
4000 173 a
SDict begin H.S end
4000 173 a Fu(196)4126 173 y
SDict begin 12 H.L end
4126 173 a 4126
173 a
SDict begin [ /Subtype /Link /Dest (chapter.8) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 173 a Black -3 323 a FA(8.1)86 b(GHC)21 b(e)o(xtensions)e
(to)h(the)h(FFI)f(Addendum)38 b(.)j(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 323 a
SDict begin H.S end
4000 323 a FA(196)4126 323
y
SDict begin 12 H.L end
4126 323 a 4126 323 a
SDict begin [ /Subtype /Link /Dest (section.8.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 323 a Black Black 188 472
a FA(8.1.1)98 b(Unbox)o(ed)17 b(types)61 b(.)41 b(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 472 a
SDict begin H.S end
4000 472 a FA(196)4126 472 y
SDict begin 12 H.L end
4126 472 a 4126
472 a
SDict begin [ /Subtype /Link /Dest (subsection.8.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 472 a Black Black 188 622 a FA(8.1.2)98 b(Ne)n(wtype)19
b(wrapping)f(of)i(the)g(IO)h(monad)44 b(.)d(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 622 a
SDict begin H.S end
4000 622 a FA(196)4126 622 y
SDict begin 12 H.L end
4126
622 a 4126 622 a
SDict begin [ /Subtype /Link /Dest (subsection.8.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 622 a Black Black -3 771 a FA(8.2)86
b(Using)20 b(the)g(FFI)h(with)f(GHC)63 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 771
a
SDict begin H.S end
4000 771 a FA(196)4126 771 y
SDict begin 12 H.L end
4126 771 a 4126 771 a
SDict begin [ /Subtype /Link /Dest (section.8.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 771 a Black Black 188 920 a FA(8.2.1)98 b(Using)20
b Ft(foreign)48 b(export)20 b FA(and)f Ft(foreign)49
b(import)g(ccall)g("wrapper")19 b FA(with)h(GHC)52 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 920 a
SDict begin H.S end
4000 920 a FA(197)4126 920 y
SDict begin 12 H.L end
4126 920 a 4126
920 a
SDict begin [ /Subtype /Link /Dest (subsection.8.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 920 a Black Black 454 1070 a FA(8.2.1.1)109
b(Using)20 b(your)f(o)n(wn)h Ft(main\(\))51 b FA(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 1070 a
SDict begin H.S end
4000 1070 a
FA(197)4126 1070 y
SDict begin 12 H.L end
4126 1070 a 4126 1070 a
SDict begin [ /Subtype /Link /Dest (subsubsection.8.2.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1070
a Black Black 454 1219 a FA(8.2.1.2)109 b(Making)19 b(a)i(Hask)o(ell)f
(library)f(that)i(can)f(be)g(called)g(from)f(foreign)f(code)36
b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 1219 a
SDict begin H.S end
4000 1219 a
FA(198)4126 1219 y
SDict begin 12 H.L end
4126 1219 a 4126 1219 a
SDict begin [ /Subtype /Link /Dest (subsubsection.8.2.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1219
a Black Black 454 1369 a FA(8.2.1.3)109 b(On)20 b(the)g(use)h(of)f
Ft(hs_exit\(\))51 b FA(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 1369 a
SDict begin H.S end
4000 1369 a FA(199)4126 1369 y
SDict begin 12 H.L end
4126 1369
a 4126 1369 a
SDict begin [ /Subtype /Link /Dest (subsubsection.8.2.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1369 a Black Black 188 1518 a FA(8.2.2)98
b(Using)20 b(function)e(headers)38 b(.)j(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
p Black 1 0 0 TeXcolorrgb 4000 1518 a
SDict begin H.S end
4000 1518 a FA(199)4126
1518 y
SDict begin 12 H.L end
4126 1518 a 4126 1518 a
SDict begin [ /Subtype /Link /Dest (subsection.8.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1518 a Black Black
188 1668 a FA(8.2.3)98 b(Memory)18 b(Allocation)27 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1668 a
SDict begin H.S end
4000 1668 a FA(199)4126 1668
y
SDict begin 12 H.L end
4126 1668 a 4126 1668 a
SDict begin [ /Subtype /Link /Dest (subsection.8.2.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1668 a Black Black -128
1900 a Fu(9)83 b(What)20 b(to)g(do)g(when)h(something)f(goes)g(wr)o
(ong)p 1 0 0 TeXcolorrgb 4000 1900 a
SDict begin H.S end
4000 1900 a Fu(201)4126
1900 y
SDict begin 12 H.L end
4126 1900 a 4126 1900 a
SDict begin [ /Subtype /Link /Dest (chapter.9) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1900 a Black -3 2049
a FA(9.1)86 b(When)20 b(the)g(compiler)f(\223does)h(the)g(wrong)f
(thing\224)80 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
2049 a
SDict begin H.S end
4000 2049 a FA(201)4126 2049 y
SDict begin 12 H.L end
4126 2049 a 4126
2049 a
SDict begin [ /Subtype /Link /Dest (section.9.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2049 a Black Black -3 2199 a FA(9.2)86 b(When)20
b(your)f(program)f(\223does)i(the)g(wrong)f(thing\224)43
b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 2199 a
SDict begin H.S end
4000 2199
a FA(201)4126 2199 y
SDict begin 12 H.L end
4126 2199 a 4126 2199 a
SDict begin [ /Subtype /Link /Dest (section.9.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2199
a Black Black -128 2431 a Fu(10)g(Other)20 b(Hask)o(ell)g(utility)g(pr)
o(ograms)p 1 0 0 TeXcolorrgb 4000 2431 a
SDict begin H.S end
4000 2431 a
Fu(203)4126 2431 y
SDict begin 12 H.L end
4126 2431 a 4126 2431 a
SDict begin [ /Subtype /Link /Dest (chapter.10) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2431
a Black -3 2581 a FA(10.1)44 b(Ctags)21 b(and)e(Etags)i(for)e(Hask)o
(ell:)26 b Fu(hasktags)39 b FA(.)i(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 2581 a
SDict begin H.S end
4000 2581 a FA(203)4126
2581 y
SDict begin 12 H.L end
4126 2581 a 4126 2581 a
SDict begin [ /Subtype /Link /Dest (section.10.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2581 a Black Black
188 2730 a FA(10.1.1)56 b(Using)20 b(tags)g(with)h(your)d(editor)25
b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 2730 a
SDict begin H.S end
4000 2730 a FA(203)4126 2730 y
SDict begin 12 H.L end
4126 2730
a 4126 2730 a
SDict begin [ /Subtype /Link /Dest (subsection.10.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2730 a Black Black -3 2880 a FA(10.2)j(\223Y)-8
b(acc)20 b(for)f(Hask)o(ell\224:)26 b Fu(happy)53 b FA(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 2880 a
SDict begin H.S end
4000 2880 a FA(203)4126 2880
y
SDict begin 12 H.L end
4126 2880 a 4126 2880 a
SDict begin [ /Subtype /Link /Dest (section.10.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2880 a Black Black -3
3029 a FA(10.3)j(Writing)20 b(Hask)o(ell)h(interf)o(aces)e(to)h(C)i
(code:)i Fu(hsc2hs)76 b FA(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 3029 a
SDict begin H.S end
4000 3029 a FA(204)4126 3029 y
SDict begin 12 H.L end
4126 3029
a 4126 3029 a
SDict begin [ /Subtype /Link /Dest (section.10.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3029 a Black Black 188 3179 a FA(10.3.1)56
b(command)18 b(line)i(syntax)36 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 3179 a
SDict begin H.S end
4000 3179 a
FA(204)4126 3179 y
SDict begin 12 H.L end
4126 3179 a 4126 3179 a
SDict begin [ /Subtype /Link /Dest (subsection.10.3.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3179
a Black Black 188 3328 a FA(10.3.2)56 b(Input)19 b(syntax)i(.)42
b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 3328 a
SDict begin H.S end
4000 3328 a FA(205)4126
3328 y
SDict begin 12 H.L end
4126 3328 a 4126 3328 a
SDict begin [ /Subtype /Link /Dest (subsection.10.3.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3328 a Black Black
188 3477 a FA(10.3.3)56 b(Custom)20 b(constructs)68 b(.)41
b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 3477 a
SDict begin H.S end
4000 3477 a FA(206)4126 3477
y
SDict begin 12 H.L end
4126 3477 a 4126 3477 a
SDict begin [ /Subtype /Link /Dest (subsection.10.3.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3477 a Black Black -128
3710 a Fu(11)g(Running)21 b(GHC)f(on)g(W)o(in32)g(systems)p
1 0 0 TeXcolorrgb 4000 3710 a
SDict begin H.S end
4000 3710 a Fu(207)4126
3710 y
SDict begin 12 H.L end
4126 3710 a 4126 3710 a
SDict begin [ /Subtype /Link /Dest (chapter.11) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3710 a Black -3 3859
a FA(11.1)65 b(Starting)19 b(GHC)i(on)f(W)m(indo)n(ws)g(platforms)66
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
3859 a
SDict begin H.S end
4000 3859 a FA(207)4126 3859 y
SDict begin 12 H.L end
4126 3859 a 4126
3859 a
SDict begin [ /Subtype /Link /Dest (section.11.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 3859 a Black Black -3 4009 a FA(11.2)j(Running)19
b(GHCi)i(on)f(W)m(indo)n(ws)69 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 4009 a
SDict begin H.S end
4000 4009 a
FA(207)4126 4009 y
SDict begin 12 H.L end
4126 4009 a 4126 4009 a
SDict begin [ /Subtype /Link /Dest (section.11.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4009
a Black Black -3 4158 a FA(11.3)65 b(Interacting)18 b(with)i(the)h
(terminal)43 b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4158 a
SDict begin H.S end
4000 4158 a FA(207)4126
4158 y
SDict begin 12 H.L end
4126 4158 a 4126 4158 a
SDict begin [ /Subtype /Link /Dest (section.11.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4158 a Black Black
-3 4308 a FA(11.4)65 b(Dif)n(ferences)19 b(in)h(library)f(beha)n(viour)
50 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4308 a
SDict begin H.S end
4000 4308 a FA(208)4126 4308 y
SDict begin 12 H.L end
4126 4308
a 4126 4308 a
SDict begin [ /Subtype /Link /Dest (section.11.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4308 a Black Black -3 4457 a FA(11.5)65
b(Using)20 b(GHC)h(\(and)e(other)g(GHC-compiled)g(e)o(x)o(ecutables\))f
(with)j(c)o(ygwin)g(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 4457 a
SDict begin H.S end
4000 4457 a FA(208)4126
4457 y
SDict begin 12 H.L end
4126 4457 a 4126 4457 a
SDict begin [ /Subtype /Link /Dest (section.11.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4457 a Black Black
188 4607 a FA(11.5.1)56 b(Background)26 b(.)42 b(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 4607 a
SDict begin H.S end
4000 4607 a FA(208)4126 4607 y
SDict begin 12 H.L end
4126 4607
a 4126 4607 a
SDict begin [ /Subtype /Link /Dest (subsection.11.5.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4607 a Black Black 188 4756 a FA(11.5.2)56
b(The)19 b(problem)70 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 4756 a
SDict begin H.S end
4000
4756 a FA(208)4126 4756 y
SDict begin 12 H.L end
4126 4756 a 4126 4756 a
SDict begin [ /Subtype /Link /Dest (subsection.11.5.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
4756 a Black Black 188 4905 a FA(11.5.3)56 b(Things)19
b(to)h(do)78 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 4905 a
SDict begin H.S end
4000 4905 a
FA(208)4126 4905 y
SDict begin 12 H.L end
4126 4905 a 4126 4905 a
SDict begin [ /Subtype /Link /Dest (subsection.11.5.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 4905
a Black Black -3 5055 a FA(11.6)j(Building)19 b(and)h(using)g(W)m(in32)
f(DLLs)47 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 5055 a
SDict begin H.S end
4000 5055 a FA(209)4126 5055
y
SDict begin 12 H.L end
4126 5055 a 4126 5055 a
SDict begin [ /Subtype /Link /Dest (section.11.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5055 a Black Black 188
5204 a FA(11.6.1)56 b(Creating)19 b(a)i(DLL)34 b(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 5204 a
SDict begin H.S end
4000 5204 a FA(209)4126
5204 y
SDict begin 12 H.L end
4126 5204 a 4126 5204 a
SDict begin [ /Subtype /Link /Dest (subsection.11.6.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5204 a Black Black
188 5354 a FA(11.6.2)56 b(Making)19 b(DLLs)h(to)g(be)h(called)f(from)f
(other)g(languages)77 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)p Black 1 0 0 TeXcolorrgb 4000 5354 a
SDict begin H.S end
4000 5354 a
FA(209)4126 5354 y
SDict begin 12 H.L end
4126 5354 a 4126 5354 a
SDict begin [ /Subtype /Link /Dest (subsection.11.6.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5354
a Black Black 188 5503 a FA(11.6.3)56 b(Be)n(w)o(are)20
b(of)g(DllMain\(\)!)g(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 5503 a
SDict begin H.S end
4000 5503 a FA(211)4126
5503 y
SDict begin 12 H.L end
4126 5503 a 4126 5503 a
SDict begin [ /Subtype /Link /Dest (subsection.11.6.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 5503 a Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 14 14
TeXDict begin 14 13 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.xiv) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3592 b Fz(xiv)p -128
-179 4252 5 v Black -128 173 a Fu(12)41 b(Kno)o(wn)20
b(b)n(ugs)h(and)g(infelicities)p 1 0 0 TeXcolorrgb 4000
173 a
SDict begin H.S end
4000 173 a Fu(213)4126 173 y
SDict begin 12 H.L end
4126 173 a 4126 173
a
SDict begin [ /Subtype /Link /Dest (chapter.12) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 173 a Black -3 323 a FA(12.1)44 b(Hask)o(ell)20
b(98)g(vs.)h(Glasgo)n(w)e(Hask)o(ell:)26 b(language)18
b(non-compliance)42 b(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 323 a
SDict begin H.S end
4000 323 a FA(213)4126
323 y
SDict begin 12 H.L end
4126 323 a 4126 323 a
SDict begin [ /Subtype /Link /Dest (section.12.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 323 a Black Black 188
472 a FA(12.1.1)56 b(Di)n(v)o(er)o(gence)17 b(from)i(Hask)o(ell)i(98)58
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 472 a
SDict begin H.S end
4000 472 a FA(213)4126 472 y
SDict begin 12 H.L end
4126 472 a 4126
472 a
SDict begin [ /Subtype /Link /Dest (subsection.12.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 472 a Black Black 454 622 a FA(12.1.1.1)67
b(Le)o(xical)19 b(syntax)45 b(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p
Black 1 0 0 TeXcolorrgb 4000 622 a
SDict begin H.S end
4000 622 a FA(213)4126
622 y
SDict begin 12 H.L end
4126 622 a 4126 622 a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 622 a Black Black 454
771 a FA(12.1.1.2)67 b(Conte)o(xt-free)18 b(syntax)61
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
771 a
SDict begin H.S end
4000 771 a FA(213)4126 771 y
SDict begin 12 H.L end
4126 771 a 4126 771
a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 771 a Black Black 454 920 a FA(12.1.1.3)67 b(Expressions)19
b(and)h(patterns)78 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb
4000 920 a
SDict begin H.S end
4000 920 a FA(214)4126 920 y
SDict begin 12 H.L end
4126 920 a 4126
920 a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 920 a Black Black 454 1070 a FA(12.1.1.4)67
b(Declarations)19 b(and)h(bindings)36 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black
1 0 0 TeXcolorrgb 4000 1070 a
SDict begin H.S end
4000 1070 a FA(214)4126
1070 y
SDict begin 12 H.L end
4126 1070 a 4126 1070 a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.4) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1070 a Black Black
454 1219 a FA(12.1.1.5)67 b(Module)19 b(system)h(and)g(interf)o(ace)f
(\002les)35 b(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1219 a
SDict begin H.S end
4000 1219
a FA(214)4126 1219 y
SDict begin 12 H.L end
4126 1219 a 4126 1219 a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.5) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1219
a Black Black 454 1369 a FA(12.1.1.6)67 b(Numbers,)19
b(basic)h(types,)g(and)g(b)n(uilt-in)f(classes)77 b(.)42
b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1369 a
SDict begin H.S end
4000 1369 a FA(214)4126 1369
y
SDict begin 12 H.L end
4126 1369 a 4126 1369 a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.6) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1369 a Black Black 454
1518 a FA(12.1.1.7)67 b(In)20 b Ft(Prelude)f FA(support)70
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1518
a
SDict begin H.S end
4000 1518 a FA(214)4126 1518 y
SDict begin 12 H.L end
4126 1518 a 4126 1518
a
SDict begin [ /Subtype /Link /Dest (subsubsection.12.1.1.7) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1518 a Black Black 188 1668 a FA(12.1.2)56 b(GHC')-5
b(s)21 b(interpretation)d(of)i(unde\002ned)e(beha)n(viour)g(in)j(Hask)o
(ell)f(98)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 1668 a
SDict begin H.S end
4000 1668 a FA(215)4126 1668
y
SDict begin 12 H.L end
4126 1668 a 4126 1668 a
SDict begin [ /Subtype /Link /Dest (subsection.12.1.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1668 a Black Black 188
1817 a FA(12.1.3)56 b(Di)n(v)o(er)o(gence)17 b(from)i(the)i(FFI)f
(speci\002cation)43 b(.)e(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000
1817 a
SDict begin H.S end
4000 1817 a FA(215)4126 1817 y
SDict begin 12 H.L end
4126 1817 a 4126
1817 a
SDict begin [ /Subtype /Link /Dest (subsection.12.1.3) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 1817 a Black Black -3 1966 a FA(12.2)j(Kno)n(wn)19
b(b)n(ugs)h(or)g(infelicities)71 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)p Black 1 0 0 TeXcolorrgb 4000 1966 a
SDict begin H.S end
4000
1966 a FA(215)4126 1966 y
SDict begin 12 H.L end
4126 1966 a 4126 1966 a
SDict begin [ /Subtype /Link /Dest (section.12.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126
1966 a Black Black 188 2116 a FA(12.2.1)56 b(Bugs)20
b(in)g(GHC)47 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)p Black 1 0 0 TeXcolorrgb 4000 2116 a
SDict begin H.S end
4000 2116 a
FA(215)4126 2116 y
SDict begin 12 H.L end
4126 2116 a 4126 2116 a
SDict begin [ /Subtype /Link /Dest (subsection.12.2.1) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2116
a Black Black 188 2265 a FA(12.2.2)56 b(Bugs)20 b(in)g(GHCi)h(\(the)f
(interacti)n(v)o(e)f(GHC\))29 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)p Black 1 0 0
TeXcolorrgb 4000 2265 a
SDict begin H.S end
4000 2265 a FA(216)4126 2265
y
SDict begin 12 H.L end
4126 2265 a 4126 2265 a
SDict begin [ /Subtype /Link /Dest (subsection.12.2.2) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2265 a Black Black -128
2498 a Fu(13)g(Index)p 1 0 0 TeXcolorrgb 4000 2498 a
SDict begin H.S end
4000 2498 a Fu(217)4126 2498 y
SDict begin 12 H.L end
4126 2498 a 4126 2498
a
SDict begin [ /Subtype /Link /Dest (chapter.13) cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
4126 2498 a Black -128 2499 a
SDict begin H.S end
-128 2499 a -128 2499
a
SDict begin 12 H.A end
-128 2499 a -128 2499 a
SDict begin [ /View [/XYZ H.V] /Dest (users-guide) cvn H.B /DEST pdfmark end
-128 2499 a Black -128 6084
4252 5 v Black eop end
%%Page: 15 15
TeXDict begin 15 14 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.xv) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3608 b Fz(xv)p -128
-179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90 a
SDict begin 12 H.A end
-128
90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter*.2) cvn H.B /DEST pdfmark end
-128 90 a 797 x Fv(The)52 b(Glasgo)m(w)e(Haskell)j
(Compiler)e(License)-128 1294 y
SDict begin H.S end
-128 1294 a -128 1294
a
SDict begin 12 H.A end
-128 1294 a -128 1294 a
SDict begin [ /View [/XYZ H.V] /Dest (License) cvn H.B /DEST pdfmark end
-128 1294 a 114 x FA(Cop)o(yright)19
b(2002)g(-)h(2007,)f(The)h(Uni)n(v)o(ersity)f(Court)h(of)f(the)i(Uni)n
(v)o(ersity)e(of)h(Glasgo)n(w)-5 b(.)24 b(All)d(rights)e(reserv)o(ed.)
-128 1558 y(Redistrib)n(ution)31 b(and)g(use)g(in)h(source)f(and)f
(binary)g(forms,)k(with)d(or)g(without)g(modi\002cation,)h(are)g
(permitted)e(pro)o(vided)f(that)i(the)h(follo)n(wing)-128
1657 y(conditions)19 b(are)h(met:)p Black -128 1890 a(\225)p
Black 42 w(Redistrib)n(utions)g(of)f(source)h(code)f(must)i(retain)e
(the)i(abo)o(v)o(e)d(cop)o(yright)g(notice,)i(this)g(list)i(of)e
(conditions)e(and)i(the)g(follo)n(wing)f(disclaimer)-5
b(.)p Black -128 2056 a(\225)p Black 42 w(Redistrib)n(utions)21
b(in)h(binary)f(form)f(must)i(reproduce)e(the)i(abo)o(v)o(e)e(cop)o
(yright)g(notice,)h(this)h(list)h(of)f(conditions)e(and)h(the)h(follo)n
(wing)f(disclaimer)-57 2156 y(in)f(the)h(documentation)c(and/or)i
(other)g(materials)h(pro)o(vided)e(with)i(the)g(distrib)n(ution.)p
Black -128 2322 a(\225)p Black 42 w(Neither)e(name)h(of)f(the)h(Uni)n
(v)o(ersity)f(nor)g(the)h(names)f(of)h(its)h(contrib)n(utors)d(may)h
(be)h(used)g(to)g(endorse)e(or)i(promote)e(products)h(deri)n(v)o(ed)f
(from)g(this)-57 2421 y(softw)o(are)j(without)f(speci\002c)i(prior)e
(written)h(permission.)-128 2654 y(THIS)e(SOFTW)-10 b(ARE)18
b(IS)f(PR)m(O)l(VIDED)g(BY)h(THE)f(UNIVERSITY)g(COUR)-5
b(T)18 b(OF)g(THE)f(UNIVERSITY)f(OF)i(GLASGO)m(W)g(AND)f(THE)h(CON-)
-128 2753 y(TRIB)o(UT)o(ORS)27 b("AS)g(IS")g(AND)f(ANY)h(EXPRESS)g(OR)h
(IMPLIED)d(W)-10 b(ARRANTIES,)27 b(INCLUDING,)f(B)o(UT)h(NO)m(T)f
(LIMITED)f(T)o(O,)h(THE)-128 2853 y(IMPLIED)16 b(W)-10
b(ARRANTIES)17 b(OF)g(MERCHANT)-8 b(ABILITY)16 b(AND)g(FITNESS)g(FOR)i
(A)e(P)-8 b(AR)j(TICULAR)18 b(PURPOSE)f(ARE)g(DISCLAIMED.)-128
2953 y(IN)27 b(NO)f(EVENT)g(SHALL)g(THE)h(UNIVERSITY)e(COUR)-5
b(T)28 b(OF)e(THE)g(UNIVERSITY)g(OF)h(GLASGO)m(W)g(OR)g(THE)f(CONTRIB)o
(UT)o(ORS)-128 3052 y(BE)19 b(LIABLE)e(FOR)h(ANY)g(DIRECT)-6
b(,)17 b(INDIRECT)-6 b(,)17 b(INCIDENT)-8 b(AL,)17 b(SPECIAL,)g
(EXEMPLAR)-5 b(Y)-11 b(,)17 b(OR)i(CONSEQ)o(UENTIAL)e(D)m(AMA)m(GES)
-128 3152 y(\(INCLUDING,)32 b(B)o(UT)g(NO)m(T)g(LIMITED)f(T)o(O,)g(PR)m
(OCUREMENT)i(OF)f(SUBSTITUTE)g(GOODS)h(OR)f(SER)-7 b(VICES;)34
b(LOSS)e(OF)h(USE,)-128 3251 y(D)m(A)-9 b(T)h(A,)26 b(OR)g(PR)m(OFITS;)
h(OR)f(B)o(USINESS)h(INTERR)m(UPTION\))d(HO)m(WEVER)j(CA)-5
b(USED)27 b(AND)f(ON)g(ANY)g(THEOR)-5 b(Y)26 b(OF)g(LIABILITY)-11
b(,)-128 3351 y(WHETHER)18 b(IN)g(CONTRA)m(CT)-6 b(,)17
b(STRICT)h(LIABILITY)-11 b(,)16 b(OR)j(T)o(OR)-5 b(T)17
b(\(INCLUDING)f(NEGLIGENCE)h(OR)h(O)m(THER)-5 b(WISE\))17
b(ARISING)h(IN)-128 3451 y(ANY)j(W)-10 b(A)h(Y)21 b(OUT)g(OF)g(THE)f
(USE)g(OF)h(THIS)f(SOFTW)-10 b(ARE,)21 b(EVEN)f(IF)h(AD)m(VISED)f(OF)h
(THE)f(POSSIBILITY)g(OF)g(SUCH)i(D)m(AMA)m(GE.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 1 16
TeXDict begin 1 15 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(1)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.1) cvn H.B /DEST pdfmark end
-128 90 a 753 x Fy(Chapter)43 b(1)-128
1305 y Fv(Intr)l(oduction)50 b(to)h(GHC)-128 1712 y
SDict begin H.S end
-128
1712 a -128 1712 a
SDict begin 12 H.A end
-128 1712 a -128 1712 a
SDict begin [ /View [/XYZ H.V] /Dest (introduction-GHC) cvn H.B /DEST pdfmark end
-128 1712
a 111 x FA(This)24 b(is)h(a)f(guide)f(to)h(using)f(the)h(Glasgo)n(w)f
(Hask)o(ell)h(Compiler)f(\(GHC\):)h(an)g(interacti)n(v)o(e)e(and)h
(batch)g(compilation)f(system)i(for)f(the)p 0 1 0 0 TeXcolorcmyk
3768 1825 a
SDict begin H.S end
3768 1825 a 0 1 0 0 TeXcolorcmyk -2 x FA(Hask)o(ell)d(98)p
0 1 0 0 TeXcolorcmyk 4124 1767 a
SDict begin H.R end
4124 1767 a 4124 1823
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/) >> /Subtype /Link H.B /ANN pdfmark end
4124 1823 a Black -128 1923 a FA(language.)-128 2070
y(GHC)25 b(has)g(tw)o(o)f(main)g(components:)31 b(an)25
b(interacti)n(v)o(e)e(Hask)o(ell)h(interpreter)f(\(also)h(kno)n(wn)f
(as)i(GHCi\),)g(described)e(in)i(Chapter)p 1 0 0 TeXcolorrgb
3650 2070 a
SDict begin H.S end
3650 2070 a 1 0 0 TeXcolorrgb FA(2)p 1 0 0
TeXcolorrgb 3692 2013 a
SDict begin H.R end
3692 2013 a 3692 2070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.2) cvn H.B /ANN pdfmark end
3692
2070 a Black FA(,)g(and)f(a)h(batch)-128 2169 y(compiler)m(,)c
(described)g(throughout)e(Chapter)p 1 0 0 TeXcolorrgb
1222 2169 a
SDict begin H.S end
1222 2169 a 1 0 0 TeXcolorrgb FA(4)p 1 0 0
TeXcolorrgb 1263 2113 a
SDict begin H.R end
1263 2113 a 1263 2169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.4) cvn H.B /ANN pdfmark end
1263
2169 a Black FA(.)32 b(In)22 b(f)o(act,)g(GHC)h(consists)g(of)f(a)h
(single)f(program)e(which)h(is)j(just)e(run)g(with)g(dif)n(ferent)f
(options)g(to)-128 2269 y(pro)o(vide)e(either)g(the)i(interacti)n(v)o
(e)d(or)i(the)h(batch)e(system.)-128 2416 y(The)25 b(batch)g(compiler)f
(can)h(be)g(used)g(alongside)f(GHCi:)36 b(compiled)23
b(modules)i(can)g(be)g(loaded)f(into)h(an)g(interacti)n(v)o(e)f
(session)h(and)g(used)g(in)g(the)-128 2515 y(same)e(w)o(ay)f(as)g
(interpreted)e(code,)i(and)f(in)h(f)o(act)h(when)e(using)g(GHCi)i(most)
f(of)g(the)g(library)f(code)g(will)i(be)f(pre-compiled.)27
b(This)22 b(means)g(you)f(get)-128 2615 y(the)f(best)h(of)e(both)g(w)o
(orlds:)25 b(f)o(ast)c(pre-compiled)c(library)h(code,)h(and)h(f)o(ast)g
(compile)f(turnaround)e(for)i(the)h(parts)g(of)g(your)e(program)g
(being)h(acti)n(v)o(ely)-128 2714 y(de)n(v)o(eloped.)-128
2861 y(GHC)25 b(supports)e(numerous)e(language)h(e)o(xtensions,)i
(including)d(concurrenc)o(y)-5 b(,)21 b(a)j(foreign)e(function)g
(interf)o(ace,)i(e)o(xceptions,)e(type)i(system)g(e)o(x-)-128
2961 y(tensions)17 b(such)g(as)h(multi-parameter)d(type)i(classes,)i
(local)e(uni)n(v)o(ersal)f(and)g(e)o(xistential)h(quanti\002cation,)f
(functional)g(dependencies,)f(scoped)h(type)-128 3060
y(v)n(ariables)k(and)f(e)o(xplicit)h(unbox)o(ed)d(types.)25
b(These)20 b(are)g(all)h(described)e(in)h(Chapter)p 1 0 0
TeXcolorrgb 2280 3061 a
SDict begin H.S end
2280 3061 a 1 0 0 TeXcolorrgb
-1 x FA(7)p 1 0 0 TeXcolorrgb 2321 3006 a
SDict begin H.R end
2321 3006 a
2321 3060 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.7) cvn H.B /ANN pdfmark end
2321 3060 a Black FA(.)-128 3207 y(GHC)26
b(has)f(a)h(comprehensi)n(v)o(e)21 b(optimiser)m(,)k(so)g(when)f(you)g
(w)o(ant)h(to)g(Really)h(Go)f(F)o(or)f(It)h(\(and)f(you')l(v)o(e)f(got)
h(time)h(to)g(spare\))g(GHC)g(can)g(produce)-128 3307
y(pretty)d(f)o(ast)h(code.)30 b(Alternati)n(v)o(ely)-5
b(,)21 b(the)h(def)o(ault)f(option)g(is)i(to)g(compile)e(as)i(f)o(ast)g
(as)g(possible)f(while)g(not)g(making)f(too)h(much)f(ef)n(fort)g(to)h
(optimise)-128 3406 y(the)f(generated)d(code)i(\(although)e(GHC)j
(probably)c(isn')o(t)j(what)h(you')l(d)d(describe)h(as)i(a)g(f)o(ast)g
(compiler)d(:-\).)-128 3553 y(GHC')-5 b(s)31 b(pro\002ling)d(system)h
(supports)g(\223cost)g(centre)g(stacks\224:)43 b(a)30
b(w)o(ay)g(of)f(seeing)g(the)g(pro\002le)g(of)g(a)g(Hask)o(ell)h
(program)d(in)j(a)f(call-graph)f(lik)o(e)-128 3653 y(structure.)c(See)d
(Chapter)p 1 0 0 TeXcolorrgb 634 3654 a
SDict begin H.S end
634 3654 a 1 0 0
TeXcolorrgb -1 x FA(5)p 1 0 0 TeXcolorrgb 675 3596 a
SDict begin H.R end
675 3596 a 675 3653 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end
675 3653 a Black 21 w FA(for)e(more)h(details.)
-128 3799 y(GHC)h(comes)f(with)h(a)f(number)f(of)h(libraries.)k(These)c
(are)g(described)f(in)i(separate)e(documentation.)-128
3941 y
SDict begin H.S end
-128 3941 a -128 3941 a
SDict begin 12 H.A end
-128 3941 a -128 3941
a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.1) cvn H.B /DEST pdfmark end
-128 3941 a Black 178 x Fs(1.1)p Black 108 w(Obtaining)28
b(GHC)-128 4247 y
SDict begin H.S end
-128 4247 a -128 4247 a
SDict begin 12 H.A end
-128 4247 a
-128 4247 a
SDict begin [ /View [/XYZ H.V] /Dest (getting) cvn H.B /DEST pdfmark end
-128 4247 a 111 x FA(Go)21 b(to)f(the)p 0 1 0 0
TeXcolorcmyk 202 4376 a
SDict begin H.S end
202 4376 a 0 1 0 0 TeXcolorcmyk
-18 x FA(GHC)h(home)e(page)p 0 1 0 0 TeXcolorcmyk 760
4302 a
SDict begin H.R end
760 4302 a 760 4358 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/ghc/) >> /Subtype /Link H.B /ANN pdfmark end
760 4358 a Black 21 w FA(and)h(follo)n(w)f
(the)h("do)n(wnload")e(link)i(to)g(do)n(wnload)e(GHC)k(for)d(your)g
(platform.)-128 4505 y(Alternati)n(v)o(ely)-5 b(,)24
b(if)g(you)g(w)o(ant)g(to)h(b)n(uild)f(GHC)h(yourself,)e(head)h(on)g(o)
o(v)o(er)f(to)h(the)p 0 1 0 0 TeXcolorcmyk 2237 4523
a
SDict begin H.S end
2237 4523 a 0 1 0 0 TeXcolorcmyk -18 x FA(GHC)d(Building)e(Guide)p
0 1 0 0 TeXcolorcmyk 2947 4448 a
SDict begin H.R end
2947 4448 a 2947 4505
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/Building) >> /Subtype /Link H.B /ANN pdfmark end
2947 4505 a Black 25 w FA(to)25 b(\002nd)f(out)g(ho)n(w)f(to)i(get)f
(the)h(sources,)-128 4604 y(and)20 b(b)n(uild)g(it)h(on)f(your)e
(system.)26 b(Note)20 b(that)g(GHC)h(itself)g(is)g(written)f(in)g(Hask)
o(ell,)h(so)f(you)f(will)i(still)h(need)d(to)i(install)f(GHC)h(in)g
(order)e(to)h(b)n(uild)g(it.)-128 4746 y
SDict begin H.S end
-128 4746 a
-128 4746 a
SDict begin 12 H.A end
-128 4746 a -128 4746 a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.2) cvn H.B /DEST pdfmark end
-128 4746 a Black
179 x Fs(1.2)p Black 108 w(Meta-inf)n(ormation:)33 b(W)l(eb)c(sites,)g
(mailing)g(lists,)g(etc.)-128 5052 y
SDict begin H.S end
-128 5052 a -128
5052 a
SDict begin 12 H.A end
-128 5052 a -128 5052 a
SDict begin [ /View [/XYZ H.V] /Dest (mailing-lists-GHC) cvn H.B /DEST pdfmark end
-128 5052 a 111 x FA(On)21
b(the)f(W)-7 b(orld-W)m(ide)19 b(W)-7 b(eb,)21 b(there)f(are)g(se)n(v)o
(eral)f(URLs)i(of)f(lik)o(ely)g(interest:)p Black -128
5371 a(\225)p Black 0 1 0 0 TeXcolorcmyk -57 5389 a
SDict begin H.S end
-57
5389 a 0 1 0 0 TeXcolorcmyk -18 x FA(GHC)h(home)e(page)p
0 1 0 0 TeXcolorcmyk 501 5315 a
SDict begin H.R end
501 5315 a 501 5371 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/ghc/) >> /Subtype /Link H.B /ANN pdfmark end
501 5371 a Black Black -128 5534 a FA(\225)p Black 0 1 0 0
TeXcolorcmyk -57 5552 a
SDict begin H.S end
-57 5552 a 0 1 0 0 TeXcolorcmyk
-18 x FA(GHC)i(De)n(v)o(elopers)e(Home)p 0 1 0 0 TeXcolorcmyk
737 5478 a
SDict begin H.R end
737 5478 a 737 5534 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/) >> /Subtype /Link H.B /ANN pdfmark end
737 5534 a Black 21
w FA(\(de)n(v)o(eloper)f(documentation,)f(wiki,)j(and)f(b)n(ug)h(track)
o(er\))-128 5741 y(W)-7 b(e)22 b(run)d(the)h(follo)n(wing)f(mailing)g
(lists)j(about)d(GHC.)i(W)-7 b(e)21 b(encourage)d(you)i(to)g(join,)g
(as)g(you)g(feel)g(is)h(appropriate.)p Black -128 6084
4252 5 v Black eop end
%%Page: 2 17
TeXDict begin 2 16 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(2)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fu(glasgo)o(w-hask)o
(ell-users:)p Black 40 w FA(This)f(list)h(is)g(for)e(GHC)i(users)f(to)g
(chat)g(among)e(themselv)o(es.)24 b(If)19 b(you)f(ha)n(v)o(e)g(a)i
(speci\002c)f(question)f(about)f(GHC,)j(please)80 273
y(check)f(the)p 0 1 0 0 TeXcolorcmyk 417 288 a
SDict begin H.S end
417 288
a 0 1 0 0 TeXcolorcmyk -15 x FA(F)-6 b(A)h(Q)p 0 1 0 0
TeXcolorcmyk 572 217 a
SDict begin H.R end
572 217 a 572 273 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/haskellwiki/GHC/FAQ) >> /Subtype /Link H.B /ANN pdfmark end
572 273 a
Black 21 w FA(\002rst.)p Black 80 431 a Fu(list)21 b(email)f(addr)o
(ess:)p Black 0 1 0 0 TeXcolorcmyk 761 449 a
SDict begin H.S end
761 449
a 0 1 0 0 TeXcolorcmyk -18 x FA(glasgo)n(w-hask)o(ell-users@hask)o
(ell.or)o(g)p 0 1 0 0 TeXcolorcmyk 1937 375 a
SDict begin H.R end
1937 375
a 1937 431 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:glasgow-haskell-users@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
1937 431 a Black Black 80 557 a Fu(subscribe)h(at:)p
Black 0 1 0 0 TeXcolorcmyk 576 575 a
SDict begin H.S end
576 575 a 0 1 0 0
TeXcolorcmyk -18 x FA(http://www)-5 b(.hask)o(ell.or)o
(g/mailman/listinfo/g)o(lasgo)m(w-ha)o(sk)o(ell-user)o(s)p
0 1 0 0 TeXcolorcmyk 2664 501 a
SDict begin H.R end
2664 501 a 2664 557 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/mailman/listinfo/glasgow-haskell-users) >> /Subtype /Link H.B /ANN pdfmark end
2664 557 a Black FA(.)p Black 80 682 a Fu(admin)21 b(email)f(addr)o
(ess:)p Black 0 1 0 0 TeXcolorcmyk 881 700 a
SDict begin H.S end
881 700
a 0 1 0 0 TeXcolorcmyk -18 x FA(glasgo)n(w-hask)o(ell-users-admin@hask)
o(ell.or)n(g)p 0 1 0 0 TeXcolorcmyk 2292 626 a
SDict begin H.R end
2292 626
a 2292 682 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:glasgow-haskell-users-admin@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
2292 682 a Black Black 80 808 a Fu(list)h(ar)o(chi)o(v)o
(es:)p Black 0 1 0 0 TeXcolorcmyk 568 826 a
SDict begin H.S end
568 826 a
0 1 0 0 TeXcolorcmyk -18 x FA(http://www)-5 b(.hask)o(ell.or)o
(g/pipermail/glasgo)m(w-h)o(ask)o(ell-u)o(sers/)p 0 1 0 0
TeXcolorcmyk 2448 751 a
SDict begin H.R end
2448 751 a 2448 808 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/pipermail/glasgow-haskell-users/) >> /Subtype /Link H.B /ANN pdfmark end
2448 808
a Black Black -128 966 a Fu(glasgo)o(w-hask)o(ell-b)n(ugs:)p
Black 40 w FA(This)19 b(list)g(is)g(for)f(reporting)e(and)i(discussing)
g(GHC)h(b)n(ugs.)24 b(Ho)n(we)n(v)o(er)m(,)17 b(please)h(see)h(Section)
p 1 0 0 TeXcolorrgb 3344 967 a
SDict begin H.S end
3344 967 a 1 0 0 TeXcolorrgb
-1 x FA(1.3)p 1 0 0 TeXcolorrgb 3448 910 a
SDict begin H.R end
3448 910 a
3448 966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.1.3) cvn H.B /ANN pdfmark end
3448 966 a Black 18 w FA(before)e(posting)h(here.)p
Black 80 1125 a Fu(list)j(email)f(addr)o(ess:)p Black
0 1 0 0 TeXcolorcmyk 761 1143 a
SDict begin H.S end
761 1143 a 0 1 0 0 TeXcolorcmyk
-18 x FA(glasgo)n(w-hask)o(ell-b)n(ugs@hask)o(ell.or)o(g)p
0 1 0 0 TeXcolorcmyk 1921 1069 a
SDict begin H.R end
1921 1069 a 1921 1125
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:glasgow-haskell-bugs@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
1921 1125 a Black Black 80 1250 a Fu(subscribe)h(at:)p
Black 0 1 0 0 TeXcolorcmyk 576 1268 a
SDict begin H.S end
576 1268 a 0 1 0 0
TeXcolorcmyk -18 x FA(http://www)-5 b(.hask)o(ell.or)o
(g/mailman/listinfo/g)o(lasgo)m(w-ha)o(sk)o(ell-b)n(u)o(gs)p
0 1 0 0 TeXcolorcmyk 2648 1194 a
SDict begin H.R end
2648 1194 a 2648 1250
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs) >> /Subtype /Link H.B /ANN pdfmark end
2648 1250 a Black FA(.)p Black 80 1376 a Fu(admin)21
b(email)f(addr)o(ess:)p Black 0 1 0 0 TeXcolorcmyk 881
1394 a
SDict begin H.S end
881 1394 a 0 1 0 0 TeXcolorcmyk -18 x FA(glasgo)n(w-hask)o
(ell-b)n(ugs-admin@hask)o(ell.or)n(g)p 0 1 0 0 TeXcolorcmyk
2276 1319 a
SDict begin H.R end
2276 1319 a 2276 1376 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:glasgow-haskell-bugs-admin@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
2276 1376 a Black
Black 80 1501 a Fu(list)h(ar)o(chi)o(v)o(es:)p Black
0 1 0 0 TeXcolorcmyk 568 1519 a
SDict begin H.S end
568 1519 a 0 1 0 0 TeXcolorcmyk
-18 x FA(http://www)-5 b(.hask)o(ell.or)o(g/pipermail/glasgo)m(w-h)o
(ask)o(ell-b)m(ug)o(s/)p 0 1 0 0 TeXcolorcmyk 2433 1445
a
SDict begin H.R end
2433 1445 a 2433 1501 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/pipermail/glasgow-haskell-bugs/) >> /Subtype /Link H.B /ANN pdfmark end
2433 1501 a Black Black -128
1660 a Fu(cvs-ghc:)p Black 40 w FA(The)17 b(hardcore)e(GHC)i(de)n(v)o
(elopers)e(hang)h(out)g(here.)24 b(This)17 b(list)g(also)h(gets)f
(commit)f(message)g(from)g(the)h(GHC)h(darcs)e(repository)-5
b(.)22 b(There)80 1759 y(are)e(other)f(lists)j(for)e(other)f(darcs)h
(repositories)f(\(most)h(notably)f Ft(cvs-libraries)p
FA(\).)p Black 80 1918 a Fu(list)i(email)f(addr)o(ess:)p
Black 0 1 0 0 TeXcolorcmyk 761 1936 a
SDict begin H.S end
761 1936 a 0 1 0 0
TeXcolorcmyk -18 x FA(cvs-ghc@hask)o(ell.or)o(g)p 0 1 0 0
TeXcolorcmyk 1460 1862 a
SDict begin H.R end
1460 1862 a 1460 1918 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:cvs-ghc@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
1460
1918 a Black Black 80 2043 a Fu(subscribe)h(at:)p Black
0 1 0 0 TeXcolorcmyk 576 2061 a
SDict begin H.S end
576 2061 a 0 1 0 0 TeXcolorcmyk
-18 x FA(http://www)-5 b(.hask)o(ell.or)o(g/mailman/listinfo/cv)o(s-gh)
o(c)p 0 1 0 0 TeXcolorcmyk 2187 1987 a
SDict begin H.R end
2187 1987 a 2187
2043 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/mailman/listinfo/cvs-ghc) >> /Subtype /Link H.B /ANN pdfmark end
2187 2043 a Black FA(.)p Black 80 2169 a Fu(admin)21
b(email)f(addr)o(ess:)p Black 0 1 0 0 TeXcolorcmyk 881
2187 a
SDict begin H.S end
881 2187 a 0 1 0 0 TeXcolorcmyk -18 x FA(cvs-ghc-admin@hask)o
(ell.or)o(g)p 0 1 0 0 TeXcolorcmyk 1815 2112 a
SDict begin H.R end
1815 2112
a 1815 2169 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:cvs-ghc-admin@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
1815 2169 a Black Black 80 2294 a Fu(list)h(ar)o(chi)o(v)
o(es:)p Black 0 1 0 0 TeXcolorcmyk 568 2312 a
SDict begin H.S end
568 2312
a 0 1 0 0 TeXcolorcmyk -18 x FA(http://www)-5 b(.hask)o(ell.or)o
(g/pipermail/cvs-g)o(hc)o(/)p 0 1 0 0 TeXcolorcmyk 1972
2238 a
SDict begin H.R end
1972 2238 a 1972 2294 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/pipermail/cvs-ghc/) >> /Subtype /Link H.B /ANN pdfmark end
1972 2294 a Black -128
2488 a FA(There)15 b(are)g(se)n(v)o(eral)g(other)f(hask)o(ell)h(and)g
(GHC-related)f(mailing)h(lists)h(serv)o(ed)f(by)f Ft(www.haskell.org)p
FA(.)21 b(Go)16 b(to)p 0 1 0 0 TeXcolorcmyk 3202 2505
a
SDict begin H.S end
3202 2505 a 0 1 0 0 TeXcolorcmyk -17 x FA(http://www)-5
b(.hask)o(ell.or)o(g/mailman/listinfo/)p 0 1 0 0 TeXcolorcmyk
4555 2431 a
SDict begin H.R end
4555 2431 a 4555 2488 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/mailman/listinfo/) >> /Subtype /Link H.B /ANN pdfmark end
4555 2488 a Black
-128 2587 a FA(for)20 b(the)g(full)g(list.)-128 2729
y(Some)g(Hask)o(ell-related)f(discussion)h(also)h(tak)o(es)f(place)g
(in)g(the)h(Usenet)f(ne)n(wsgroup)e Ft(comp.lang.functional)p
FA(.)-128 2869 y
SDict begin H.S end
-128 2869 a -128 2869 a
SDict begin 12 H.A end
-128 2869 a
-128 2869 a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.3) cvn H.B /DEST pdfmark end
-128 2869 a Black 174 x Fs(1.3)p Black 108
w(Repor)r(ting)28 b(b)n(ugs)h(in)g(GHC)-128 3170 y
SDict begin H.S end
-128
3170 a -128 3170 a
SDict begin 12 H.A end
-128 3170 a -128 3170 a
SDict begin [ /View [/XYZ H.V] /Dest (bug-reporting) cvn H.B /DEST pdfmark end
-128 3170
a 107 x FA(Glasgo)n(w)19 b(Hask)o(ell)g(is)h(a)f(changing)e(system)i
(so)g(there)f(are)h(sure)g(to)g(be)g(b)n(ugs)f(in)h(it.)25
b(If)19 b(you)f(\002nd)g(one,)h(please)g(see)p 0 1 0 0
TeXcolorcmyk 3131 3295 a
SDict begin H.S end
3131 3295 a 0 1 0 0 TeXcolorcmyk
-18 x FA(this)i(wiki)f(page)p 0 1 0 0 TeXcolorcmyk 3597
3221 a
SDict begin H.R end
3597 3221 a 3597 3277 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/ReportABug) >> /Subtype /Link H.B /ANN pdfmark end
3597 3277 a Black 19 w
FA(for)e(information)-128 3376 y(on)i(ho)n(w)g(to)g(report)f(it.)-128
3516 y
SDict begin H.S end
-128 3516 a -128 3516 a
SDict begin 12 H.A end
-128 3516 a -128 3516
a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.4) cvn H.B /DEST pdfmark end
-128 3516 a Black 174 x Fs(1.4)p Black 108 w(GHC)29
b(ver)n(sion)g(n)o(umbering)e(polic)o(y)-128 3817 y
SDict begin H.S end
-128
3817 a -128 3817 a
SDict begin 12 H.A end
-128 3817 a -128 3817 a
SDict begin [ /View [/XYZ H.V] /Dest (version-numbering) cvn H.B /DEST pdfmark end
-128 3817
a 107 x FA(As)21 b(of)f(GHC)h(v)o(ersion)e(6.8,)h(we)g(ha)n(v)o(e)g
(adopted)e(the)j(follo)n(wing)d(polic)o(y)h(for)h(numbering)d(GHC)k(v)o
(ersions:)p Black -128 4118 a Fu(Stable)g(Releases)p
Black 41 w FA(Stable)e(branches)f(are)g(numbered)f Fr(x)t
Ft(.)p Fr(y)6 b FA(,)19 b(where)g Fr(y)25 b FA(is)20
b Fq(e)o(ven)p FA(.)k(Releases)c(on)f(the)g(stable)g(branch)e
Fr(x)t Ft(.)p Fr(y)26 b FA(are)19 b(numbered)d Fr(x)t
Ft(.)p Fr(y)6 b Ft(.)p Fr(z)p FA(,)80 4217 y(where)19
b Fr(z)h FA(\(>=)f(1\))g(is)h(the)g(patchle)n(v)o(el)e(number)-5
b(.)23 b(P)o(atchle)n(v)o(els)c(are)g(b)n(ug-\002x)f(releases)i(only)-5
b(,)18 b(and)h(ne)n(v)o(er)f(change)g(the)h(programmer)e(interf)o(ace)
80 4317 y(to)i(an)o(y)e(system-supplied)g(code.)24 b(Ho)n(we)n(v)o(er)m
(,)16 b(if)j(you)f(install)h(a)g(ne)n(w)f(patchle)n(v)o(el)f(o)o(v)o
(er)g(an)i(old)f(one)g(you)f(will)i(need)f(to)h(recompile)e(an)o(y)h
(code)80 4417 y(that)i(w)o(as)h(compiled)e(against)h(the)g(old)g
(libraries.)80 4546 y(The)d(v)n(alue)f(of)h Ft(__GLASGOW_HASKELL__)d
FA(\(see)k(Section)p 1 0 0 TeXcolorrgb 1892 4547 a
SDict begin H.S end
1892
4547 a 1 0 0 TeXcolorrgb -1 x FA(4.10.3)p 1 0 0 TeXcolorrgb
2099 4489 a
SDict begin H.R end
2099 4489 a 2099 4546 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.3) cvn H.B /ANN pdfmark end
2099 4546 a Black
FA(\))g(for)e(a)i(major)e(release)h Fr(x)t Ft(.)p Fr(y)6
b Ft(.)p Fr(z)18 b FA(is)g(the)f(inte)o(ger)f Fr(xyy)23
b FA(\(if)18 b Fr(y)23 b FA(is)18 b(a)g(single)80 4645
y(digit,)k(then)g(a)g(leading)f(zero)h(is)g(added,)g(so)g(for)f(e)o
(xample)g(in)h(v)o(ersion)f(6.8.2)f(of)i(GHC)h(we)f(w)o(ould)g(ha)n(v)o
(e)f Ft(__GLASGOW_HASKELL__-)80 4745 y(==608)p FA(\).)p
Black -128 4903 a Fu(Stable)g(snapshots)p Black 41 w
FA(W)-7 b(e)20 b(may)e(mak)o(e)g(snapshot)f(releases)i(of)f(the)h
(current)e(stable)i(branch)p 0 1 0 0 TeXcolorcmyk 2502
4904 a
SDict begin H.S end
2502 4904 a 0 1 0 0 TeXcolorcmyk -1 x FA(a)n(v)n(ailable)g(for)h
(do)n(wnload)p 0 1 0 0 TeXcolorcmyk 3261 4847 a
SDict begin H.R end
3261
4847 a 3261 4903 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/ghc/dist/stable/dist/) >> /Subtype /Link H.B /ANN pdfmark end
3261 4903 a Black FA(,)f(and)f(the)h(latest)g
(sources)f(are)80 5003 y(a)n(v)n(ailable)i(from)p 0 1 0 0
TeXcolorcmyk 579 5021 a
SDict begin H.S end
579 5021 a 0 1 0 0 TeXcolorcmyk
-18 x FA(the)g(darcs)g(repositories)p 0 1 0 0 TeXcolorcmyk
1284 4947 a
SDict begin H.R end
1284 4947 a 1284 5003 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/DarcsRepositories) >> /Subtype /Link H.B /ANN pdfmark end
1284 5003 a Black
FA(.)80 5132 y(Stable)h(snapshot)e(releases)i(are)g(named)e
Fr(x)t Ft(.)p Fr(y)6 b Ft(.)p Fr(z)p Ft(.)p Fr(YYYYMMDD)s
FA(.)19 b(where)h Fr(YYYYMMDD)j FA(is)f(the)e(date)h(of)f(the)g
(sources)h(from)e(which)h(the)h(snap-)80 5232 y(shot)f(w)o(as)g(b)n
(uilt,)g(and)f Fr(x)t Ft(.)p Fr(y)6 b Ft(.)p Fr(z+1)20
b FA(is)g(the)g(ne)o(xt)f(release)h(to)g(be)g(made)f(on)g(that)h
(branch.)j(F)o(or)d(e)o(xample,)e Ft(6.8.1.20040225)g
FA(w)o(ould)h(be)h(a)80 5331 y(snapshot)f(of)h(the)g
Ft(6.8)h FA(branch)d(during)h(the)h(de)n(v)o(elopment)d(of)j
Ft(6.8.2)p FA(.)80 5461 y(The)e(v)n(alue)f(of)g Ft(__GLASGOW_HASKELL__)
e FA(for)j(a)g(snapshot)f(release)h(is)h(the)f(inte)o(ger)e
Fr(xyy)6 b FA(.)25 b(Y)-9 b(ou)17 b(should)g(ne)n(v)o(er)g(write)h(an)o
(y)f(conditional)80 5560 y(code)h(which)f(tests)j(for)d(this)i(v)n
(alue,)f(ho)n(we)n(v)o(er:)k(since)c(interf)o(aces)g(change)f(on)h(a)g
(day-to-day)e(basis,)j(and)e(we)i(don')o(t)e(ha)n(v)o(e)g(\002ner)h
(granularity)80 5660 y(in)23 b(the)g(v)n(alues)g(of)g
Ft(__GLASGOW_HASKELL__)p FA(,)d(you)i(should)g(only)g(conditionally)f
(compile)h(using)h(predicates)f(which)g(test)i(whether)80
5759 y Ft(__GLASGOW_HASKELL__)17 b FA(is)k(equal)f(to,)g(later)g(than,)
g(or)g(earlier)f(than)h(a)h(gi)n(v)o(en)e(major)g(release.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 3 18
TeXDict begin 3 17 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(3)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fu(Unstable)h(snapshots)p
Black 41 w FA(W)-7 b(e)24 b(may)e(mak)o(e)g(snapshot)f(releases)i(of)f
(the)g(HEAD)p 0 1 0 0 TeXcolorcmyk 2163 174 a
SDict begin H.S end
2163 174
a 0 1 0 0 TeXcolorcmyk -1 x FA(a)n(v)n(ailable)e(for)f(do)n(wnload)p
0 1 0 0 TeXcolorcmyk 2923 117 a
SDict begin H.R end
2923 117 a 2923 173 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/ghc/dist/current/dist/) >> /Subtype /Link H.B /ANN pdfmark end
2923 173 a Black FA(,)k(and)f(the)g(latest)h(sources)f(are)g(a)n(v)n
(ailable)80 273 y(from)p 0 1 0 0 TeXcolorcmyk 262 291
a
SDict begin H.S end
262 291 a 0 1 0 0 TeXcolorcmyk -18 x FA(the)e(darcs)g(repositories)p
0 1 0 0 TeXcolorcmyk 968 217 a
SDict begin H.R end
968 217 a 968 273 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/DarcsRepositories) >> /Subtype /Link H.B /ANN pdfmark end
968
273 a Black FA(.)80 405 y(Unstable)h(snapshot)f(releases)h(are)g(named)
f Fr(x)t Ft(.)p Fr(y)6 b Ft(.)p Fr(YYYYMMDD)s FA(.)20
b(where)g Fr(YYYYMMDD)j FA(is)f(the)f(date)g(of)g(the)g(sources)f(from)
g(which)h(the)g(snap-)80 505 y(shot)f(w)o(as)h(b)n(uilt.)k(F)o(or)20
b(e)o(xample,)f Ft(6.7.20040225)f FA(w)o(ould)i(be)g(a)g(snapshot)g(of)
g(the)g(HEAD)g(before)f(the)h(creation)f(of)h(the)g Ft(6.8)h
FA(branch.)80 638 y(The)d(v)n(alue)f(of)g Ft(__GLASGOW_HASKELL__)e
FA(for)j(a)g(snapshot)f(release)h(is)h(the)f(inte)o(ger)e
Fr(xyy)6 b FA(.)25 b(Y)-9 b(ou)17 b(should)g(ne)n(v)o(er)g(write)h(an)o
(y)f(conditional)80 737 y(code)h(which)f(tests)j(for)d(this)i(v)n
(alue,)f(ho)n(we)n(v)o(er:)k(since)c(interf)o(aces)g(change)f(on)h(a)g
(day-to-day)e(basis,)j(and)e(we)i(don')o(t)e(ha)n(v)o(e)g(\002ner)h
(granularity)80 837 y(in)23 b(the)g(v)n(alues)g(of)g
Ft(__GLASGOW_HASKELL__)p FA(,)d(you)i(should)g(only)g(conditionally)f
(compile)h(using)h(predicates)f(which)g(test)i(whether)80
937 y Ft(__GLASGOW_HASKELL__)17 b FA(is)k(equal)f(to,)g(later)g(than,)g
(or)g(earlier)f(than)h(a)h(gi)n(v)o(en)e(major)g(release.)-128
1151 y(The)h(v)o(ersion)f(number)g(of)h(your)e(cop)o(y)i(of)g(GHC)h
(can)f(be)g(found)e(by)i(in)m(v)n(oking)e Ft(ghc)i FA(with)h(the)f
Ft(--version)f FA(\003ag)h(\(see)h(Section)p 1 0 0 TeXcolorrgb
3654 1152 a
SDict begin H.S end
3654 1152 a 1 0 0 TeXcolorrgb -1 x FA(4.5)p
1 0 0 TeXcolorrgb 3758 1095 a
SDict begin H.R end
3758 1095 a 3758 1151 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.5) cvn H.B /ANN pdfmark end
3758 1151 a Black FA(\).)-128 1294 y
SDict begin H.S end
-128 1294 a -128
1294 a
SDict begin 12 H.A end
-128 1294 a -128 1294 a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.5) cvn H.B /DEST pdfmark end
-128 1294 a Black 181
x Fs(1.5)p Black 108 w(Release)28 b(notes)h(f)n(or)g(ver)n(sion)g
(6.10.4)-128 1602 y
SDict begin H.S end
-128 1602 a -128 1602 a
SDict begin 12 H.A end
-128 1602
a -128 1602 a
SDict begin [ /View [/XYZ H.V] /Dest (release-6-10-4) cvn H.B /DEST pdfmark end
-128 1602 a 114 x FA(6.10.4)19 b(is)i(a)f(b)n(ug\002x)g
(release)g(o)o(v)o(er)f(6.10.3.)k(V)-9 b(ery)19 b(fe)n(w)h(changes)g
(ha)n(v)o(e)f(been)h(made.)k(The)o(y)19 b(are)h(listed)h(belo)n(w)-5
b(.)p Black -128 1947 a(\225)p Black 42 w(Fix)o(ed)20
b(a)g(se)o(gf)o(ault)g(that)g(could)f(occur)g(when)h(calling)g
Ft(mkWeakForeignEnv#)p FA(.)p Black -128 2113 a(\225)p
Black 42 w(Fix)o(ed)g(a)g(crash)g(that)g(could)g(occur)f(when)g
(calling)h Ft(unblock)g FA(inside)g Ft(unsafePerformIO)p
FA(.)p Black -128 2278 a(\225)p Black 42 w(Stop)g(primops)f(such)h(as)h
Ft(readMutVar#)d FA(being)i(inlined,)f(which)h(can)f(cause)i(loss)g(of)
e(referential)g(transparenc)o(y)-5 b(.)p Black -128 2444
a(\225)p Black 42 w(Fix)o(ed)20 b(a)g(b)n(ug)g(that)g(meant)g(ctrl-C)g
(w)o(as)h(ignored)e(by)g(processes)h(we)h(run)e(with)i
Ft(runProcess)p FA(.)p Black -128 2610 a(\225)p Black
42 w(Fix)o(ed)f(a)g(b)n(ug)g(where)f(gcc)h(processes)g(run)g(by)g(GHC)h
(get)f(killed)g(on)f(Mac)i(OS)g(X)f(10.4.11.)p Black
-128 2775 a(\225)p Black 42 w(Fix)o(ed)k(a)g(b)n(ug)g(where)g
(processes)f(on)h(W)m(indo)n(ws)g(could)f(hold)g(\002le)i(handles)f
(open)f(after)h(the)o(y)f(had)h(\002nished,)g(leading)g(to)g
(permission)f(denied)-57 2875 y(errors.)p Black -128
3041 a(\225)p Black 42 w(GHCi)e(only)e(uses)i(Hask)o(eline)f(if)h(the)f
(input)f(is)i(a)g(terminal.)p Black -128 3206 a(\225)p
Black 42 w(Fix)o(ed)f(b)n(uilding)f(with)h(ne)n(wer)f(v)o(ersions)h(of)
g(MSYS)g(binutils.)-128 3349 y
SDict begin H.S end
-128 3349 a -128 3349
a
SDict begin 12 H.A end
-128 3349 a -128 3349 a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.6) cvn H.B /DEST pdfmark end
-128 3349 a Black 181 x Fs(1.6)p
Black 108 w(Release)28 b(notes)h(f)n(or)g(ver)n(sion)g(6.10.3)-128
3657 y
SDict begin H.S end
-128 3657 a -128 3657 a
SDict begin 12 H.A end
-128 3657 a -128 3657
a
SDict begin [ /View [/XYZ H.V] /Dest (release-6-10-3) cvn H.B /DEST pdfmark end
-128 3657 a 114 x FA(6.10.3)19 b(is)i(a)f(b)n(ug\002x)g(release)g(o)o
(v)o(er)f(6.10.2.)k(V)-9 b(ery)19 b(fe)n(w)h(changes)g(ha)n(v)o(e)f
(been)h(mak)o(e.)k(The)o(y)19 b(are)h(listed)h(belo)n(w)-5
b(.)p Black -128 4002 a(\225)p Black 42 w(Control-C)19
b(no)n(w)h(w)o(orks)g(again)f(in)h(GHCi.)26 b(In)20 b(6.10.2)f(it)h(w)o
(as)h(ignored)e(on)h(some)g(platforms)f(due)g(to)i(the)f(changes)f(in)h
(signal)g(handling.)p Black -128 4168 a(\225)p Black
42 w(GHCi)28 b(uses)g(Hask)o(eline,)g(rather)f(than)f(editline,)j(for)d
(line)h(editing.)45 b(This)28 b(\002x)o(es)f(a)h(crash)f(when)f
(pressing)h(control-C)f(on)g(some)h(platforms,)-57 4267
y(remo)o(v)o(es)19 b(a)h(C)h(library)e(dependenc)o(y)-5
b(,)17 b(and)i(pro)o(vides)g(a)h(better)g(user)g(interf)o(ace.)p
Black -128 4433 a(\225)p Black 42 w(It)g(is)i(no)n(w)d(possible)h(to)h
(b)n(uild)e(PDF)i(and)f(PS)h(v)o(ersions)e(of)h(the)g(users)h(guide,)e
(using)g(dblate)o(x.)-128 4576 y
SDict begin H.S end
-128 4576 a -128 4576
a
SDict begin 12 H.A end
-128 4576 a -128 4576 a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.7) cvn H.B /DEST pdfmark end
-128 4576 a Black 181 x Fs(1.7)p
Black 108 w(Release)28 b(notes)h(f)n(or)g(ver)n(sion)g(6.10.2)-128
4884 y
SDict begin H.S end
-128 4884 a -128 4884 a
SDict begin 12 H.A end
-128 4884 a -128 4884
a
SDict begin [ /View [/XYZ H.V] /Dest (release-6-10-2) cvn H.B /DEST pdfmark end
-128 4884 a 114 x FA(6.10.2)24 b(is)i(a)f(b)n(ug\002x)g(release)g(o)o
(v)o(er)e(6.10.1.)38 b(Man)o(y)24 b(b)n(ugs)h(in)h(the)f(compiler)m(,)f
(libraries)h(and)g(b)n(uild)f(system)i(ha)n(v)o(e)e(been)h(\002x)o(ed.)
39 b(Ho)n(we)n(v)o(er)m(,)24 b(most)-128 5097 y(library)d(APIs)i(ha)n
(v)o(e)e(not)g(changed,)f(so)j(code)e(that)h(w)o(ork)o(ed)e(with)i
(6.10.1)e(should)h(continue)f(to)i(w)o(ork)g(with)g(6.10.2.)28
b(The)21 b(notable)g(b)n(ug)g(\002x)o(es)h(are)-128 5197
y(listed)f(belo)n(w)-5 b(.)p Black -128 5428 a(\225)p
Black 42 w(Setting)20 b(stdin)g(to)h Ft(NoBuffering)d
FA(no)n(w)i(w)o(orks)g(on)g(W)m(indo)n(ws.)p Black -128
5594 a(\225)p Black 42 w Ft(System.FilePath.dropTrailingPathSep)o
(arator)43 b("\\\\")20 b FA(will)h(no)n(w)f(return)f
Ft("\\\\")h FA(rather)f(than)h Ft("")p FA(.)p Black -128
5759 a(\225)p Black 42 w(The)g(compatibility)e Ft(Control.OldException)
f FA(functions)i(no)n(w)h(catch)g(ne)n(w-style)f(e)o(xceptions)g(as)i
Ft(DynException)p FA(s.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 4 19
TeXDict begin 4 18 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(4)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(It)g(is)i(no)n(w)d(possible)h(to)h(create)e(C)j(\002nalizers)e
(which,)f(unlik)o(e)h(Hask)o(ell)g(\002nalizers,)g(are)g(guaranteed)e
(to)i(run.)p Black -128 339 a(\225)p Black 42 w(There)f(is)j(no)n(w)d
(a)i Ft(+RTS)49 b(-xm
)18 b FA(\003ag,)i(which)g(tells)h(GHC)g
(where)f(to)g(try)g(to)g(allocate)g(memory)-5 b(.)p Black
-128 505 a(\225)p Black 42 w(There)19 b(is)j(no)n(w)d(a)i
Ft(+RTS)49 b(--machine-readable)17 b FA(\003ag.)25 b(Currently)19
b(it)i(only)f(af)n(fects)f(the)i Ft(+RTS)49 b(-t)20 b
FA(output.)p Black -128 671 a(\225)p Black 42 w(There)f(are)h(no)n(w)g
(more)g(\002elds)g(printed)f(by)h(the)g Ft(+RTS)49 b(--info)20
b FA(\003ag.)p Black -128 837 a(\225)p Black 42 w Ft(ghc-pkg)f
FA(will)i(no)n(w)f(complain)f(if)h(told)g(to)h(use)f(a)h
Ft(package.conf)d FA(that)i(doesn')o(t)f(e)o(xist.)p
Black -128 1003 a(\225)p Black 42 w Ft(ghc-pkg)49 b(check)19
b FA(no)n(w)h(looks)g(for)f(missing)h(\002les)h(\(including)e(.hi)h
(\002les\),)g(and)g(reports)f(all)i(packages)e(that)h(are)g(transiti)n
(v)o(ely)f(brok)o(en.)p Black -128 1169 a(\225)p Black
42 w(The)h Ft(TypeFamilies)e FA(e)o(xtension)h(no)n(w)h(implies)g(the)g
Ft(RelaxedPolyRec)e FA(e)o(xtension.)p Black -128 1336
a(\225)p Black 42 w(W)-7 b(e)21 b(no)n(w)f(ship)g(with)h(haddock)d
(2.4.2)g(\(w)o(as)j(2.3.0\).)p Black -128 1502 a(\225)p
Black 42 w(The)f(v)o(ersion)f(of)h(base)g(has)g(been)g(increased)f
(from)g(4.0.0.0)f(to)j(4.1.0.0.)p Black -128 1668 a(\225)p
Black 42 w(The)f(v)o(ersion)f(of)h(base\(compat\))e(has)i(been)g
(increased)f(from)g(3.0.3.0)f(to)i(3.0.3.1.)p Black -128
1834 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(Cabal)g(has)h(been)e
(increased)g(from)g(1.6.0.1)g(to)h(1.6.0.3.)p Black -128
2000 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(containers)f(has)h
(been)g(increased)f(from)g(0.2.0.0)f(to)i(0.2.0.1.)p
Black -128 2166 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(directory)e
(has)j(been)e(increased)g(from)g(1.0.0.2)g(to)h(1.0.0.3.)p
Black -128 2332 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(e)o
(xtensible-e)o(xceptions)c(has)21 b(been)e(increased)h(from)f(0.1.0.0)f
(to)i(0.1.0.1.)p Black -128 2498 a(\225)p Black 42 w(The)g(v)o(ersion)f
(of)h(\002lepath)g(has)g(been)f(increased)h(from)f(1.1.0.1)f(to)i
(1.1.0.2.)p Black -128 2664 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h
(hpc)f(has)i(been)e(increased)h(from)f(0.5.0.2)f(to)i(0.5.0.3.)p
Black -128 2830 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(inte)o(ger)
n(-gmp)d(has)k(been)e(increased)h(from)f(0.1.0.0)f(to)i(0.1.0.1.)p
Black -128 2996 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(old-time)f
(has)h(been)g(increased)f(from)g(1.0.0.1)f(to)j(1.0.0.2.)p
Black -128 3162 a(\225)p Black 42 w(The)f(v)o(ersion)f(of)h(process)f
(has)i(been)e(increased)h(from)f(1.0.1.0)f(to)i(1.0.1.1.)p
Black -128 3328 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h(syb)g(has)g
(been)g(increased)f(from)g(0.1.0.0)f(to)i(0.1.0.1.)p
Black -128 3494 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h
(template-hask)o(ell)e(has)j(been)e(increased)h(from)f(2.3.0.0)f(to)i
(2.3.0.1.)p Black -128 3660 a(\225)p Black 42 w(The)g(v)o(ersion)f(of)h
(unix)f(has)h(been)g(increased)f(from)g(2.3.1.0)f(to)j(2.4.0.0.)-128
3786 y
SDict begin H.S end
-128 3786 a -128 3786 a
SDict begin 12 H.A end
-128 3786 a -128 3786
a
SDict begin [ /View [/XYZ H.V] /Dest (section.1.8) cvn H.B /DEST pdfmark end
-128 3786 a Black 198 x Fs(1.8)p Black 108 w(Release)28
b(notes)h(f)n(or)g(ver)n(sion)g(6.10.1)-128 4111 y
SDict begin H.S end
-128
4111 a -128 4111 a
SDict begin 12 H.A end
-128 4111 a -128 4111 a
SDict begin [ /View [/XYZ H.V] /Dest (release-6-10-1) cvn H.B /DEST pdfmark end
-128 4111
a 115 x FA(The)20 b(signi\002cant)g(changes)f(to)i(the)f(v)n(arious)f
(parts)h(of)g(the)g(compiler)f(are)h(listed)h(in)f(the)g(follo)n(wing)f
(sections.)-128 4360 y
SDict begin H.S end
-128 4360 a -128 4360 a
SDict begin 12 H.A end
-128 4360
a -128 4360 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.1) cvn H.B /DEST pdfmark end
-128 4360 a Black 148 x Fp(1.8.1)p Black
90 w(User)n(-visib)o(le)k(compiler)h(c)o(hang)q(es)p
Black -128 4711 a FA(\225)p Black 42 w(The)c(ne)n(w)g(QuasiQuotes)g
(language)f(e)o(xtension)f(adds)i(general)g(quasi-quotation,)d(as)k
(described)e(in)i("Nice)f(to)h(be)f(Quoted:)k(Quasiquoting)19
b(for)-57 4811 y(Hask)o(ell")h(\(Geof)n(fre)o(y)e(Mainland,)h(Hask)o
(ell)h(W)-7 b(orkshop)19 b(2007\).)24 b(See)c(Section)p
1 0 0 TeXcolorrgb 2239 4813 a
SDict begin H.S end
2239 4813 a 1 0 0 TeXcolorrgb
-2 x FA(7.9.5)p 1 0 0 TeXcolorrgb 2405 4754 a
SDict begin H.R end
2405 4754
a 2405 4811 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.9.5) cvn H.B /ANN pdfmark end
2405 4811 a Black 21 w FA(for)f(more)h(information.)p
Black -128 4977 a(\225)p Black 42 w(The)h(ne)n(w)h(V)-5
b(ie)n(wP)o(atterns)21 b(language)f(e)o(xtension)g(allo)n(ws)i("vie)n
(w)f(patterns".)29 b(The)21 b(syntax)g(for)g(vie)n(w)g(patterns)g(is)i
Ft(expression)48 b(->)h(pat-)-57 5076 y(tern)20 b FA(in)g(a)h(pattern.)
j(F)o(or)c(more)f(information,)f(see)j(Section)p 1 0 0
TeXcolorrgb 1739 5077 a
SDict begin H.S end
1739 5077 a 1 0 0 TeXcolorrgb
-1 x FA(7.3.5)p 1 0 0 TeXcolorrgb 1905 5020 a
SDict begin H.R end
1905 5020
a 1905 5076 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.5) cvn H.B /ANN pdfmark end
1905 5076 a Black FA(.)p Black -128 5242
a(\225)p Black 42 w(GHC)h(already)d(supported)g(\(e)i(op\))f(post\002x)
g(operators,)f(b)n(ut)i(this)g(support)f(w)o(as)h(enabled)f(by)g(def)o
(ault.)26 b(No)n(w)21 b(you)f(need)g(to)h(use)g(the)g(Post\002xOp-)-57
5342 y(erators)f(language)e(e)o(xtension)h(if)h(you)g(w)o(ant)g(it.)26
b(See)20 b(Section)p 1 0 0 TeXcolorrgb 1749 5343 a
SDict begin H.S end
1749
5343 a 1 0 0 TeXcolorrgb -1 x FA(7.3.10)p 1 0 0 TeXcolorrgb
1957 5286 a
SDict begin H.R end
1957 5286 a 1957 5342 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.10) cvn H.B /ANN pdfmark end
1957 5342 a Black
20 w FA(for)g(more)f(information)f(on)i(post\002x)g(operators.)p
Black -128 5508 a(\225)p Black 42 w(The)29 b(ne)n(w)g(T)m
(ransformListComp)e(language)g(e)o(xtension)h(enables)h(implements)f
(generalised)g(list)i(comprehensions,)f(as)h(described)e(in)h(the)-57
5608 y(paper)24 b("Comprehensi)n(v)o(e)e(comprehensions")g(\(Pe)o(yton)
i(Jones)h(&)g(W)-7 b(adler)m(,)26 b(Hask)o(ell)f(W)-7
b(orkshop)24 b(2007\).)38 b(F)o(or)24 b(more)h(information)d(see)k
(Sec-)-57 5707 y(tion)p 1 0 0 TeXcolorrgb 93 5708 a
SDict begin H.S end
93
5708 a 1 0 0 TeXcolorrgb -1 x FA(7.3.8)p 1 0 0 TeXcolorrgb
259 5651 a
SDict begin H.R end
259 5651 a 259 5707 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.8) cvn H.B /ANN pdfmark end
259 5707 a Black FA(.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 5 20
TeXDict begin 5 19 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(5)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(If)28 b(you)f(w)o(ant)g(to)h(use)g(impredicati)n(v)o(e)e(types)i
(then)f(you)g(no)n(w)g(need)g(to)h(enable)f(the)h(Impredicati)n(v)o(eT)
-7 b(ypes)24 b(language)i(e)o(xtension.)47 b(See)28 b(Sec-)-57
273 y(tion)p 1 0 0 TeXcolorrgb 93 274 a
SDict begin H.S end
93 274 a 1 0 0
TeXcolorrgb -1 x FA(7.8.5)p 1 0 0 TeXcolorrgb 259 217
a
SDict begin H.R end
259 217 a 259 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.5) cvn H.B /ANN pdfmark end
259 273 a Black 21 w FA(for)19
b(more)h(information.)p Black -128 439 a(\225)p Black
42 w(FFI)26 b(change:)35 b(header)25 b(\002les)i(are)f(no)n(w)f
Fq(not)g(used)j FA(when)d(compiling)f(via)i(C.)h(The)e
Ft(-#include)g FA(\003ag,)i(the)f Ft(includes)f FA(\002eld)h(in)g
Ft(.cabal)-57 538 y FA(\002les,)21 b(and)f(header)f(\002les)i
(speci\002ed)f(in)g(a)h Ft(foreign)48 b(import)20 b FA(declaration)e
(all)j(ha)n(v)o(e)f(no)f(ef)n(fect)h(when)g(compiling)e(Hask)o(ell)j
(source)e(code.)-57 671 y(This)g(change)f(has)h(important)f
(rami\002cations)g(if)h(you)f(are)h(calling)g(FFI)g(functions)f(that)h
(are)g(de\002ned)f(by)h(macros)f(\(or)h(renamed)e(by)i(macros\).)k(If)
-57 771 y(you)d(need)h(to)h(call)f(one)g(of)g(these)h(functions,)e
(then)h(write)g(a)h(C)g(wrapper)e(for)h(the)g(function)f(and)h(call)h
(the)f(wrapper)f(using)h(the)g(FFI)h(instead.)28 b(In)-57
871 y(this)21 b(w)o(ay)-5 b(,)19 b(your)g(code)h(will)h(w)o(ork)e(with)
i(GHC)g(6.10.1,)d(and)h(will)i(also)g(w)o(ork)e(with)i
Ft(-fasm)e FA(in)i(older)e(GHCs.)-57 1003 y(This)30 b(change)e(w)o(as)i
(made)f(for)g(se)n(v)o(eral)g(reasons.)53 b(Firstly)-5
b(,)32 b Ft(-fvia-C)c FA(no)n(w)h(beha)n(v)o(es)g(consistently)g(with)h
Ft(-fasm)p FA(,)h(which)e(is)i(important)-57 1103 y(because)22
b(we)h(intend)e(to)i(stop)f(compiling)f(via)i(C)g(in)g(the)f(future.)31
b(Also,)23 b(we)g(don')o(t)e(need)h(to)g(w)o(orry)g(about)g(the)g
(interactions)f(between)h(header)-57 1203 y(\002les,)f(or)f(CPP)h
(options)e(necessary)h(to)g(e)o(xpose)f(certain)g(functions)g(from)g
(the)h(system)h(header)e(\002les)i(\(this)f(w)o(as)h(becoming)d(quite)i
(a)g(headache\).)-57 1302 y(W)-7 b(e)27 b(don')o(t)e(need)g(to)i(w)o
(orry)e(about)g(needing)f(header)h(\002les)j(when)d(inlining)g(FFI)i
(calls)g(across)f(module)f(or)h(package)e(boundaries;)j(calls)g(can)-57
1402 y(no)n(w)20 b(be)g(inlined)g(freely)-5 b(.)24 b(One)c(do)n(wnside)
f(is)i(that)f(you)g(don')o(t)f(get)h(a)h(w)o(arning)e(from)g(the)h(C)i
(compiler)d(when)g(you)h(call)g(a)h(function)e(via)h(the)g(FFI)-57
1502 y(at)h(the)f(wrong)f(type.)-57 1634 y(Another)30
b(consequence)e(of)j(this)g(change)f(is)i(that)f(calling)f
Fq(var)o(ar)m(gs)h FA(functions)e(\(such)i(as)g Ft(printf)p
FA(\))f(via)h(the)g(FFI)h(no)e(longer)g(w)o(orks.)57
b(It)-57 1734 y(has)26 b(ne)n(v)o(er)f(been)g(of)n(\002cially)g
(supported)f(\(the)h(FFI)i(spec)f(outla)o(ws)f(it\),)j(b)n(ut)e(in)g
(GHC)g(6.10.1)e(it)j(may)e(no)n(w)h(really)f(cause)h(a)g(crash)g(on)g
(certain)-57 1834 y(platforms.)e(Again,)19 b(to)h(call)h(one)e(of)h
(these)h(functions)d(use)j(appropriate)d(\002x)o(ed-ar)o(gument)e(C)21
b(wrappers.)p Black -128 2000 a(\225)p Black 42 w(There)g(is)i(a)g(ne)n
(w)f(languages)e(e)o(xtension)h(P)o(ackageImports)e(which)j(allo)n(ws)g
(imports)g(to)g(be)g(quali\002ed)f(with)h(the)g(package)f(the)o(y)h
(should)f(come)-57 2099 y(from,)e(e.g.)-128 2167 y
SDict begin H.S end
-128
2167 a -128 2167 a
SDict begin 12 H.A end
-128 2167 a -128 2167 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.1.-1) cvn H.B /DEST pdfmark end
-128 2167
a 0.95 TeXcolorgray -82 2182 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2274
25 92 v Black 0.95 TeXcolorgray -57 2274 4182 92 v Black
0.95 TeXcolorgray 4124 2274 25 92 v Black 0.95 TeXcolorgray
Black -57 2246 a
SDict begin H.S end
-57 2246 a -57 2246 a
SDict begin 11 H.A end
-57 2246 a -57
2246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-1.1) cvn H.B /DEST pdfmark end
-57 2246 a 0 0 0 TeXcolorrgb Fo(import)p Black
44 w(")p 0 0 0 TeXcolorrgb(network)p Black -2 w(")p 0 0 0
TeXcolorrgb 45 w(Network)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Socket)p
Black 0.95 TeXcolorgray -82 2299 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 2456 a FA(Note)i(that)h(this)g
(feature)e(is)i(not)f(intended)f(for)h(general)f(use,)i(it)g(w)o(as)g
(added)e(for)h(constructing)e(backw)o(ards-compatibility)f(packages)i
(such)h(as)-57 2556 y(the)f Ft(base-3.0.3.0)f FA(package.)k(See)e
(Section)p 1 0 0 TeXcolorrgb 1413 2557 a
SDict begin H.S end
1413 2557 a
1 0 0 TeXcolorrgb -1 x FA(7.3.15)p 1 0 0 TeXcolorrgb
1620 2500 a
SDict begin H.R end
1620 2500 a 1620 2556 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.15) cvn H.B /ANN pdfmark end
1620 2556 a Black
21 w FA(for)f(more)f(details.)p Black -128 2722 a(\225)p
Black 42 w(In)28 b(earlier)g(v)o(ersions)f(of)h(GHC,)h(the)f
(recompilation)e(check)o(er)h(didn')o(t)f(notice)i(changes)f(in)i
(other)e(packages)g(meant)h(that)g(recompilation)e(is)-57
2822 y(needed.)e(This)c(is)h(no)n(w)f(handled)e(properly)-5
b(,)18 b(using)h(MD5)h(checksums)f(of)h(the)h(interf)o(ace)e(ABIs.)p
Black -128 2988 a(\225)p Black 42 w(GHC)i(no)n(w)e(treats)h(the)f
(Unicode)g("Letter)m(,)g(Other")g(class)i(as)f(lo)n(wercase)f(letters.)
25 b(This)20 b(is)h(an)e(arbitrary)g(choice,)f(b)n(ut)i(better)f(than)h
(not)f(allo)n(wing)-57 3087 y(them)h(in)g(identi\002ers)g(at)h(all.)k
(This)c(may)e(be)h(re)n(visited)g(by)g(Hask)o(ell'.)p
Black -128 3253 a(\225)p Black 42 w(In)31 b(addition)e(to)i(the)g
Ft(DEPRECATED)f FA(pragma,)i(you)e(can)h(no)n(w)f(attach)h(arbitrary)e
(w)o(arnings)h(to)h(declarations)f(with)h(the)g(ne)n(w)g
Ft(WARNING)-57 3353 y FA(pragma.)23 b(See)e(Section)p
1 0 0 TeXcolorrgb 649 3354 a
SDict begin H.S end
649 3354 a 1 0 0 TeXcolorrgb
-1 x FA(7.13.4)p 1 0 0 TeXcolorrgb 856 3297 a
SDict begin H.R end
856 3297
a 856 3353 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.4) cvn H.B /ANN pdfmark end
856 3353 a Black 21 w FA(for)f(more)f(details.)p
Black -128 3519 a(\225)p Black 42 w(If)h(GHC)h(is)g(f)o(ailing)f(due)g
(to)g Ft(-Werror)p FA(,)f(then)h(it)h(no)n(w)e(emits)i(a)g(message)f
(telling)g(you)f(so.)p Black -128 3685 a(\225)p Black
42 w(GHC)f(no)n(w)e(w)o(arns)h(about)e(unrecognised)f(pragmas,)i(as)i
(the)o(y)e(are)g(often)g(caused)h(by)f(a)h(typo.)23 b(The)16
b Ft(-fwarn-unrecognised-pragmas)-57 3785 y FA(controls)j(whether)g
(this)i(w)o(arning)e(is)i(emitted.)k(The)20 b(w)o(arning)f(is)i
(enabled)e(by)h(def)o(ault.)p Black -128 3951 a(\225)p
Black 42 w(There)d(is)h(a)g(ne)n(w)f(\003ag)h Ft
(-fwarn-dodgy-foreign-imports)12 b FA(which)17 b(controls)g(a)g(ne)n(w)
h(w)o(arning)e(about)g(FFI)i(delcarations)e(of)i(the)f(form)-128
4018 y
SDict begin H.S end
-128 4018 a -128 4018 a
SDict begin 12 H.A end
-128 4018 a -128 4018
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.1.-2) cvn H.B /DEST pdfmark end
-128 4018 a 0.95 TeXcolorgray -82 4034 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4125 25 92 v Black 0.95 TeXcolorgray
-57 4125 4182 92 v Black 0.95 TeXcolorgray 4124 4125
25 92 v Black 0.95 TeXcolorgray Black -57 4098 a
SDict begin H.S end
-57
4098 a -57 4098 a
SDict begin 11 H.A end
-57 4098 a -57 4098 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-2.1) cvn H.B /DEST pdfmark end
-57 4098 a 0 0 0
TeXcolorrgb Fo(foreign)p Black 0 0 0 TeXcolorrgb 44 w(import)p
Black 43 w(")p 0 0 0 TeXcolorrgb(f)p Black(")p 0 0 0
TeXcolorrgb 45 w(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(FunPtr)p Black 0 0 0 TeXcolorrgb 44 w(t)p Black
0.95 TeXcolorgray -82 4150 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 4308 a FA(on)j(the)g(grounds)e(that)j(it)f(is)i
(probably)17 b(meant)j(to)g(be)-128 4375 y
SDict begin H.S end
-128 4375
a -128 4375 a
SDict begin 12 H.A end
-128 4375 a -128 4375 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.1.-3) cvn H.B /DEST pdfmark end
-128 4375 a 0.95
TeXcolorgray -82 4391 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4482
25 92 v Black 0.95 TeXcolorgray -57 4482 4182 92 v Black
0.95 TeXcolorgray 4124 4482 25 92 v Black 0.95 TeXcolorgray
Black -57 4455 a
SDict begin H.S end
-57 4455 a -57 4455 a
SDict begin 11 H.A end
-57 4455 a -57
4455 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-3.1) cvn H.B /DEST pdfmark end
-57 4455 a 0 0 0 TeXcolorrgb Fo(foreign)p Black
0 0 0 TeXcolorrgb 44 w(import)p Black 43 w("&)p 0 0 0
TeXcolorrgb(f)p Black(")p 0 0 0 TeXcolorrgb 45 w(f)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(FunPtr)p Black
0 0 0 TeXcolorrgb 44 w(t)p Black 0.95 TeXcolorgray -82
4507 4232 25 v Black 0.95 TeXcolorgray Black Black Black
-57 4665 a FA(The)g(w)o(arning)f(is)i(enabled)e(by)h(def)o(ault.)p
Black -128 4831 a(\225)p Black 42 w(External)f(core)h(\(output)e
(only\))h(is)i(w)o(orking)e(again.)p Black -128 4997
a(\225)p Black 42 w(There)24 b(is)h(a)h(ne)n(w)e(\003ag)h
Ft(-dsuppress-uniques)d FA(that)i(mak)o(es)h(GHC')-5
b(s)26 b(intermediate)d(core)h(easier)h(to)g(read.)37
b(This)25 b(\003ag)g(cannot)f(be)g(used)-57 5096 y(when)c(actually)f
(generating)f(code.)p Black -128 5262 a(\225)p Black
42 w(There)i(is)j(a)e(ne)n(w)g(\003ag)h Ft(-dno-debug-output)c
FA(that)k(suppresses)f(all)h(of)f(the)g(deb)n(ug)f(information)f(when)i
(running)e(a)i(compiler)f(b)n(uilt)i(with)-57 5362 y(the)e
Ft(DEBUG)g FA(option.)p Black -128 5528 a(\225)p Black
42 w(A)j(b)n(ug)f(in)h(earlier)f(v)o(ersions)g(of)g(GHC)i(meant)e(that)
h(sections)f(didn')o(t)f(al)o(w)o(ays)i(need)f(to)h(be)g
(parenthesised,)e(e.g.)32 b Ft(\(+)50 b(1,)f(2\))23 b
FA(w)o(as)g(accepted.)-57 5628 y(This)d(has)h(no)n(w)e(been)h(\002x)o
(ed.)p Black -128 6084 4252 5 v Black eop end
%%Page: 6 21
TeXDict begin 6 20 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(6)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(The)g Ft(-fspec-threshold)e FA(\003ag)i(has)h(been)e(replaced)g
(by)h Ft(-fspec-constr-threshold)d FA(and)i Ft(-fliberate-case-thre-)
-57 273 y(shold)h FA(\003ags.)28 b(The)20 b(thresholds)g(can)g(be)h
(disabled)f(by)h Ft(-fno-spec-constr-threshold)16 b FA(and)21
b Ft(-fno-liberate-case-th-)-57 372 y(reshold)p FA(.)p
Black -128 538 a(\225)p Black 42 w(The)i(ne)n(w)h(\003ag)g
Ft(-fsimplifier-phases)c FA(controls)j(the)h(number)e(of)h
(simpli\002er)g(phases)h(run)f(during)f(optimisation.)34
b(These)24 b(are)f(num-)-57 638 y(bered)c(from)g(n)i(to)f(1)g(\(by)g
(def)o(ault,)f(n=2\).)24 b(Phase)c(0)h(is)g(al)o(w)o(ays)f(run)g(re)o
(gardless)e(of)i(this)h(\003ag.)p Black -128 804 a(\225)p
Black 42 w(Simpli\002er)d(phases)g(can)g(ha)n(v)o(e)g(an)g(arbitrary)f
(number)g(of)h(tags)g(assigned)g(to)g(them,)g(and)g(multiple)g(phases)g
(can)g(share)g(the)h(same)f(tags.)25 b(The)18 b(tags)-57
904 y(can)i(be)g(used)g(as)h(ar)o(guments)d(to)i(the)h(ne)n(w)f(\003ag)
g Ft(-ddump-simpl-phases)d FA(to)j(specify)g(which)g(phases)g(are)g(to)
g(be)g(dumped.)-57 1037 y(F)o(or)i(e)o(xample,)g Ft
(-ddump-simpl-phases=main)d FA(will)k(dump)f(the)h(output)e(of)i
(phases)f(2,)h(1)g(and)f(0)h(of)g(the)f(initial)h(simpli\002er)g(run)f
(\(the)o(y)-57 1136 y(all)f(share)f(the)g("main")f(tag\))h(while)h
Ft(-ddump-simpl-phases=main:0)15 b FA(will)21 b(dump)e(only)h(the)g
(output)f(of)h(phase)f(0)i(of)f(that)g(run.)-57 1269
y(At)26 b(the)f(moment,)g(the)g(supported)e(tags)j(are)f(main)f(\(the)h
(main,)h(staged)f(simpli\002er)g(run)f(\(before)g(strictness\)\),)h
(post-w)o(ork)o(er)n(-wrapper)d(\(after)-57 1369 y(the)e(w/w)h
(split\),)f(post-liberate-case)e(\(after)i(LiberateCase\),)f(and)h
(\002nal)g(\(\002nal)g(clean-up)f(run\))-57 1502 y(The)h(names)g(are)g
(some)n(what)f(arbitrary)g(and)g(will)i(change)e(in)i(the)f(future.)p
Black -128 1668 a(\225)p Black 42 w(The)g Ft(-fno-method-sharing)d
FA(\003ag)j(is)h(no)n(w)f(dynamic)f(\(it)h(used)g(to)h(be)f(static\).)
-128 1802 y
SDict begin H.S end
-128 1802 a -128 1802 a
SDict begin 12 H.A end
-128 1802 a -128
1802 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.2) cvn H.B /DEST pdfmark end
-128 1802 a Black 148 x Fp(1.8.2)p Black 90 w(Deprecated)j
(\003a)o(gs)p Black -128 2153 a FA(\225)p Black 42 w(The)i(ne)n(w)g
(\003ag)h Ft(-fwarn-deprecated-flags)p FA(,)c(controls)j(whether)f(we)i
(w)o(arn)f(about)f(deprecated)f(\003ags)j(and)f(language)e(e)o
(xtensions.)-57 2252 y(The)d(w)o(arning)f(is)i(on)f(by)g(def)o(ault.)p
Black -128 2418 a(\225)p Black 42 w(The)g(follo)n(wing)e(language)h(e)o
(xtensions)g(are)h(no)n(w)g(mark)o(ed)f(as)h(deprecated;)f(e)o(xpect)g
(them)h(to)g(be)g(remo)o(v)o(ed)e(in)i(a)h(future)e(release:)p
Black -57 2601 a Fu(\226)p Black 41 w Ft(RecordPuns)g
FA(\(use)h Ft(NamedFieldPuns)e FA(instead\))p Black -57
2734 a Fu(\226)p Black 41 w Ft(PatternSignatures)g FA(\(use)i
Ft(ScopedTypeVariables)d FA(instead\))p Black -128 2917
a(\225)p Black 42 w(The)j(follo)n(wing)e(\003ags)j(are)f(no)n(w)g(mark)
o(ed)f(as)i(deprecated;)d(e)o(xpect)h(them)h(to)g(be)g(remo)o(v)o(ed)e
(in)j(a)f(future)f(release:)p Black -57 3099 a Fu(\226)p
Black 41 w Ft(-Onot)h FA(\(use)g Ft(-O0)g FA(instead\))p
Black -57 3232 a Fu(\226)p Black 41 w Ft(-Wnot)g FA(\(use)g
Ft(-w)g FA(instead\))p Black -57 3365 a Fu(\226)p Black
41 w Ft(-frewrite-rules)e FA(\(use)i Ft(-fenable-rewrite-rules)d
FA(instead\))p Black -57 3498 a Fu(\226)p Black 41 w
Ft(-no-link)i FA(\(use)h Ft(-c)h FA(instead\))p Black
-57 3631 a Fu(\226)p Black 41 w Ft(-recomp)e FA(\(use)i
Ft(-fno-force-recomp)c FA(instead\))p Black -57 3763
a Fu(\226)p Black 41 w Ft(-no-recomp)i FA(\(use)h Ft(-fforce-recomp)e
FA(instead\))p Black -57 3896 a Fu(\226)p Black 41 w
Ft(-syslib)h FA(\(use)i Ft(-package)e FA(instead\))p
Black -57 4029 a Fu(\226)p Black 41 w Ft(-fth)h FA(\(use)g(the)g
Ft(TemplateHaskell)e FA(language)h(e)o(xtension)f(instead\))p
Black -57 4162 a Fu(\226)p Black 41 w Ft(-ffi)p FA(,)i
Ft(-fffi)g FA(\(use)g(the)g Ft(ForeignFunctionInterface)c
FA(e)o(xtension)j(instead\))p Black -57 4295 a Fu(\226)p
Black 41 w Ft(-farrows)g FA(\(use)h(the)h Ft(Arrows)e
FA(language)g(e)o(xtension)f(instead\))p Black -57 4428
a Fu(\226)p Black 41 w Ft(-fgenerics)h FA(\(use)h(the)g
Ft(Generics)f FA(language)g(e)o(xtension)g(instead\))p
Black -57 4560 a Fu(\226)p Black 41 w Ft(-fno-implicit-prelude)e
FA(\(use)j(the)g Ft(NoImplicitPrelude)e FA(language)g(e)o(xtension)h
(instead\))p Black -57 4693 a Fu(\226)p Black 41 w Ft(-fbang-patterns)f
FA(\(use)i(the)g Ft(BangPatterns)f FA(language)f(e)o(xtension)h
(instead\))p Black -57 4826 a Fu(\226)p Black 41 w Ft
(-fno-monomorphism-restriction)c FA(\(use)20 b(the)h
Ft(NoMonomorphismRestriction)16 b FA(language)i(e)o(xtension)h
(instead\))p Black -57 4959 a Fu(\226)p Black 41 w Ft(-fmono-pat-binds)
f FA(\(use)i(the)g Ft(MonoPatBinds)f FA(language)f(e)o(xtension)h
(instead\))p Black -57 5092 a Fu(\226)p Black 41 w Ft
(-fextended-default-rules)d FA(\(use)k(the)h Ft(ExtendedDefaultRules)c
FA(language)h(e)o(xtension)h(instead\))p Black -57 5225
a Fu(\226)p Black 41 w Ft(-fimplicit-params)f FA(\(use)i(the)g
Ft(ImplicitParams)e FA(language)g(e)o(xtension)h(instead\))p
Black -57 5357 a Fu(\226)p Black 41 w Ft(-fscoped-type-variables)d
FA(\(use)21 b(the)f Ft(ScopedTypeVariables)d FA(language)h(e)o
(xtension)h(instead\))p Black -57 5490 a Fu(\226)p Black
41 w Ft(-fparr)h FA(\(use)g(the)g Ft(PArr)g FA(language)e(e)o(xtension)
h(instead\))p Black -57 5623 a Fu(\226)p Black 41 w Ft
(-fallow-overlapping-instances)c FA(\(use)20 b(the)h
Ft(OverlappingInstances)c FA(language)h(e)o(xtension)h(instead\))p
Black -57 5756 a Fu(\226)p Black 41 w Ft(-fallow-undecidable-instances)
c FA(\(use)20 b(the)h Ft(UndecidableInstances)c FA(language)h(e)o
(xtension)h(instead\))p Black -128 6084 4252 5 v Black
eop end
%%Page: 7 22
TeXDict begin 7 21 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(7)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -57 173 a Fu(\226)p Black
41 w Ft(-fallow-incoherent-instances)c FA(\(use)k(the)g
Ft(IncoherentInstances)d FA(language)i(e)o(xtension)f(instead\))p
Black -57 306 a Fu(\226)p Black 41 w Ft(-optdep-s)h FA(\(use)h
Ft(-dep-suffix)f FA(instead\))p Black -57 439 a Fu(\226)p
Black 41 w Ft(-optdep-f)g FA(\(use)h Ft(-dep-makefile)f
FA(instead\))p Black -57 572 a Fu(\226)p Black 41 w Ft(-optdep-w)g
FA(\(has)h(no)g(ef)n(fect\))p Black -57 705 a Fu(\226)p
Black 41 w Ft(-optdep--include-prelude)c FA(\(use)k Ft
(-include-pkg-deps)e FA(instead\))p Black -57 837 a Fu(\226)p
Black 41 w Ft(-optdep--include-pkg-deps)e FA(\(use)k
Ft(-include-pkg-deps)e FA(instead\))p Black -57 970 a
Fu(\226)p Black 41 w Ft(-optdep--exclude-module)e FA(\(use)21
b Ft(-exclude-module)d FA(instead\))p Black -57 1103
a Fu(\226)p Black 41 w Ft(-optdep-x)h FA(\(use)h Ft(-exclude-module)e
FA(instead\))p Black -128 1286 a(\225)p Black 42 w(The)i(follo)n(wing)e
(\003ags)j(ha)n(v)o(e)f(been)f(remo)o(v)o(ed:)p Black
-57 1468 a Fu(\226)p Black 41 w Ft(-no-link-chk)g FA(\(has)h(been)f(a)i
(no-op)d(since)j(at)f(least)h(6.0\))p Black -57 1601
a Fu(\226)p Black 41 w Ft(-fruntime-types)d FA(\(has)i(not)g(been)f
(used)h(for)g(years\))p Black -57 1734 a Fu(\226)p Black
41 w Ft(-fhardwire-lib-paths)d FA(\(use)j Ft(-dynload)48
b(sysdep)p FA(\))p Black -128 1917 a(\225)p Black 42
w(The)18 b Ft(-unreg)h FA(\003ag,)g(which)f(w)o(as)i(used)e(to)h(b)n
(uild)g(unre)o(gisterised)d(code)j(with)g(a)g(re)o(gisterised)f
(compiler)m(,)f(has)i(been)f(remo)o(v)o(ed.)k(No)n(w)d(you)f(need)-57
2016 y(to)i(b)n(uild)g(an)g(unre)o(gisterised)f(compiler)f(if)j(you)e
(w)o(ant)i(to)f(b)n(uild)g(unre)o(gisterised)e(code.)-128
2150 y
SDict begin H.S end
-128 2150 a -128 2150 a
SDict begin 12 H.A end
-128 2150 a -128 2150
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.3) cvn H.B /DEST pdfmark end
-128 2150 a Black 148 x Fp(1.8.3)p Black 90 w(GHC)24
b(API)g(c)o(hang)q(es)p Black -128 2502 a FA(\225)p Black
42 w(There)18 b(is)i(no)n(w)e(a)i(Ghc)f(Monad)e(used)i(to)g(carry)f
(around)f(GHC')-5 b(s)21 b(Session)e(data.)24 b(This)19
b(Monad)f(also)h(pro)o(vides)e(e)o(xception)h(handling)f(functions.)p
Black -128 2668 a(\225)p Black 42 w(It)22 b(is)i(no)n(w)d(possible)h
(to)g(get)h(the)f(ra)o(w)g(characters)f(corresponding)e(to)j(each)g
(tok)o(en)f(the)i(le)o(x)o(er)e(outputs,)g(and)h(thus)g(to)g
(reconstruct)f(the)h(original)-57 2767 y(\002le.)p Black
-128 2933 a(\225)p Black 42 w(GHCi)h(implicitly)e(brings)f(all)j(e)o
(xposed)d(modules)g(into)h(scope)h(with)f(quali\002ed)g(module)f
(names.)29 b(There)21 b(is)i(a)f(ne)n(w)f(\003ag)h Ft(-fimplicit-i-)-57
3033 y(mport-qualified)c FA(that)i(controls)f(this)i(beha)n(viour)m(,)d
(so)i(other)g(GHC)h(API)f(clients)h(can)f(specify)f(whether)g(or)h(not)
g(the)o(y)g(w)o(ant)g(it.)p Black -128 3199 a(\225)p
Black 42 w(There)f(is)j(no)n(w)d(haddock)f(documentation)f(for)j(much)f
(of)h(the)g(GHC)h(API.)-128 3316 y
SDict begin H.S end
-128 3316 a -128 3316
a
SDict begin 12 H.A end
-128 3316 a -128 3316 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.4) cvn H.B /DEST pdfmark end
-128 3316 a Black 165 x Fp(1.8.4)p
Black 90 w(GHCi)j(c)o(hang)q(es)p Black -128 3684 a FA(\225)p
Black 42 w(Y)-9 b(ou)19 b(can)g(no)n(w)f(force)h(GHCi)h(to)f(interpret)
g(a)g(module,)f(rather)h(than)f(loading)g(its)i(compiled)e(code,)h(by)g
(prepending)d(a)k(*)f(character)f(to)i(its)g(name,)-57
3784 y(e.g.)-128 3852 y
SDict begin H.S end
-128 3852 a -128 3852 a
SDict begin 12 H.A end
-128
3852 a -128 3852 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.1.-4) cvn H.B /DEST pdfmark end
-128 3852 a 0.95 TeXcolorgray -82
3867 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3958 25 92 v Black 0.95 TeXcolorgray
-57 3958 4182 92 v Black 0.95 TeXcolorgray 4124 3958
25 92 v Black 0.95 TeXcolorgray Black -57 3931 a
SDict begin H.S end
-57
3931 a -57 3931 a
SDict begin 11 H.A end
-57 3931 a -57 3931 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-4.1) cvn H.B /DEST pdfmark end
-57 3931 a 0 0 0
TeXcolorrgb Fo(Prelude)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb -1 w(load)p Black 615 3944 a(*)p 0 0 0 TeXcolorrgb
-13 x(A)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4049 25 92 v Black 0.95 TeXcolorgray -57 4049 4182
92 v Black 0.95 TeXcolorgray 4124 4049 25 92 v Black
0.95 TeXcolorgray Black -57 4022 a
SDict begin H.S end
-57 4022 a -57 4022
a
SDict begin 11 H.A end
-57 4022 a -57 4022 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-4.2) cvn H.B /DEST pdfmark end
-57 4022 a 0 0 0 TeXcolorrgb
Fo(Compiling)p Black 0 0 0 TeXcolorrgb 43 w(A)p Black
717 w(\()p 0 0 0 TeXcolorrgb 45 w(A)p Black(.)p 0 0 0
TeXcolorrgb(hs)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45
w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 4141 25 92 v Black 0.95 TeXcolorgray
-57 4141 4182 92 v Black 0.95 TeXcolorgray 4124 4141
25 92 v Black 0.95 TeXcolorgray Black -57 4113 a
SDict begin H.S end
-57
4113 a -57 4113 a
SDict begin 11 H.A end
-57 4113 a -57 4113 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-4.3) cvn H.B /DEST pdfmark end
-57 4113 a 13
x Fo(*)p 0 0 0 TeXcolorrgb -13 x(A)p Black(>)p 0.95 TeXcolorgray
-82 4166 4232 25 v Black 0.95 TeXcolorgray Black Black
Black Black -128 4357 a FA(\225)p Black 42 w(By)21 b(def)o(ault,)e
(GHCi)i(will)g(not)f(print)f(bind)h(results,)g(e.g.)-128
4424 y
SDict begin H.S end
-128 4424 a -128 4424 a
SDict begin 12 H.A end
-128 4424 a -128 4424
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.1.-5) cvn H.B /DEST pdfmark end
-128 4424 a 0.95 TeXcolorgray -82 4440 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4531 25 92 v Black 0.95 TeXcolorgray
-57 4531 4182 92 v Black 0.95 TeXcolorgray 4124 4531
25 92 v Black 0.95 TeXcolorgray Black -57 4504 a
SDict begin H.S end
-57
4504 a -57 4504 a
SDict begin 11 H.A end
-57 4504 a -57 4504 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-5.1) cvn H.B /DEST pdfmark end
-57 4504 a 0 0 0
TeXcolorrgb Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb
45 w(c)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(return)p
Black 43 w(')p 0 0 0 TeXcolorrgb(c)p Black(')p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4622 25 92 v Black 0.95 TeXcolorgray
-57 4622 4182 92 v Black 0.95 TeXcolorgray 4124 4622
25 92 v Black 0.95 TeXcolorgray Black -57 4595 a
SDict begin H.S end
-57
4595 a -57 4595 a
SDict begin 11 H.A end
-57 4595 a -57 4595 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-5.2) cvn H.B /DEST pdfmark end
-57 4595 a 0 0 0
TeXcolorrgb Fo(Prelude)p Black -1 w(>)p 0.95 TeXcolorgray
-82 4647 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 4805 a FA(does)g(not)g(print)f Ft('c')p FA(.)25
b(Use)c Ft(-fprint-bind-result)c FA(if)k(you)e(w)o(ant)h(the)h(old)f
(beha)n(viour)-5 b(.)p Black -128 4971 a(\225)p Black
42 w(GHCi)21 b(no)n(w)f(uses)g(editline,)g(rather)f(than)h(readline,)f
(for)h(input.)k(This)c(shouldn')o(t)e(af)n(fect)i(its)h(beha)n(viour)-5
b(.)p Black -128 5137 a(\225)p Black 42 w(The)20 b(GHCi)h(prompt)e
(history)g(is)i(no)n(w)f(sa)n(v)o(ed)g(in)g Ft(~/.ghc/ghci_history)p
FA(.)p Black -128 5303 a(\225)p Black 42 w(GHCi)g(no)n(w)e(uses)h(libf)
n(\002)f(to)h(mak)o(e)f(FFI)h(calls,)h(which)e(means)g(that)h(the)g
(FFI)g(no)n(w)f(w)o(orks)g(in)h(GHCi)g(on)g(a)g(much)e(wider)h(range)g
(of)g(platforms)g(\(all)-57 5403 y(those)i(platforms)f(that)h(libf)n
(\002)g(supports\).)p Black -128 6084 4252 5 v Black
eop end
%%Page: 8 23
TeXDict begin 8 22 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(8)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.5) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(1.8.5)p
Black 90 w(Runtime)j(system)h(c)o(hang)q(es)p Black -128
376 a FA(\225)p Black 42 w(The)c(garbage)f(collector)g(can)i(no)n(w)e
(use)i(multiple)f(threads)g(in)h(parallel.)k(The)20 b(ne)n(w)h
Ft(-g)p Fr(n)f FA(R)-5 b(TS)22 b(\003ag)e(controls)g(it,)h(e.g.)k(run)
20 b(your)f(program)g(with)-57 476 y Ft(+RTS)49 b(-g2)g(-RTS)25
b FA(to)f(use)h(2)f(threads.)37 b(The)24 b Ft(-g)g FA(option)g(is)h
(implied)e(by)h(the)h(usual)f Ft(-N)h FA(option,)e(so)i(normally)e
(there)h(will)h(be)f(no)g(need)g(to)-57 575 y(specify)c(it)g
(separately)-5 b(,)19 b(although)f(occasionally)h(it)i(is)g(useful)f
(to)g(turn)g(it)h(of)n(f)e(with)i Ft(-g1)p FA(.)-57 708
y(Do)e(let)g(us)g(kno)n(w)f(if)h(you)f(e)o(xperience)e(strange)i(ef)n
(fects,)h(especially)f(an)h(increase)f(in)h(GC)g(time)g(when)f(using)h
(the)f(parallel)h(GC)g(\(use)g Ft(+RTS)49 b(-s)-57 808
y(-RTS)20 b FA(to)g(measure)g(GC)h(time\).)k(See)20 b(Section)p
1 0 0 TeXcolorrgb 1314 809 a
SDict begin H.S end
1314 809 a 1 0 0 TeXcolorrgb
-1 x FA(4.14.3)p 1 0 0 TeXcolorrgb 1522 752 a
SDict begin H.R end
1522 752
a 1522 808 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.3) cvn H.B /ANN pdfmark end
1522 808 a Black 20 w FA(for)g(more)f(details.)p
Black -128 974 a(\225)p Black 42 w(It)27 b(is)i(no)n(w)d(possible)h(to)
g(generate)f(a)i(heap)f(pro\002le)f(without)g(recompiling)f(your)h
(program)f(for)i(pro\002ling.)44 b(Run)28 b(the)f(program)e(with)i
Ft(+RTS)-57 1074 y(-hT)h FA(to)h(generate)e(a)i(basic)f(heap)g
(pro\002le,)i(and)d(use)i Fu(hp2ps)g FA(as)g(usual)f(to)h(con)m(v)o
(ert)d(the)j(heap)e(pro\002le)h(into)g(a)h Ft(.ps)f FA(\002le)h(for)f
(vie)n(wing.)49 b(See)-57 1173 y(Section)p 1 0 0 TeXcolorrgb
213 1174 a
SDict begin H.S end
213 1174 a 1 0 0 TeXcolorrgb -1 x FA(4.14.5)p
1 0 0 TeXcolorrgb 420 1117 a
SDict begin H.R end
420 1117 a 420 1173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.5) cvn H.B /ANN pdfmark end
420
1173 a Black 21 w FA(for)20 b(more)f(details.)p Black
-128 1339 a(\225)p Black 42 w(If)g(the)g(user)f(presses)i(control-C)d
(while)i(running)e(a)i(Hask)o(ell)h(program)c(then)j(the)g(program)d
(gets)k(an)e(asynchronous)e(UserInterrupt)h(e)o(xception.)p
Black -128 1505 a(\225)p Black 42 w(W)-7 b(e)21 b(no)n(w)f(ignore)f
(SIGPIPE)h(by)g(def)o(ault.)p Black -128 1671 a(\225)p
Black 42 w(The)g Ft(-S)g FA(and)g Ft(-s)g FA(R)-5 b(TS)21
b(\003ags)g(no)n(w)f(send)f(their)h(output)f(to)i(stderr)m(,)e(rather)g
(than)h Fr(prog)t Ft(.stat)p FA(,)f(by)h(def)o(ault.)p
Black -128 1837 a(\225)p Black 42 w(The)g(ne)n(w)g Ft(-vg)g
FA(R)-5 b(TS)21 b(\003ag)f(pro)o(vides)f(some)h(R)-5
b(TS)21 b(trace)f(messages)g(e)n(v)o(en)f(in)i(the)f(non-deb)n(ug)d(R)
-5 b(TS)21 b(v)n(ariants.)-128 1972 y
SDict begin H.S end
-128 1972 a -128
1972 a
SDict begin 12 H.A end
-128 1972 a -128 1972 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.6) cvn H.B /DEST pdfmark end
-128 1972 a Black 148
x Fp(1.8.6)p Black 90 w(runghc)p Black -128 2323 a FA(\225)p
Black 42 w(runghc)d(no)n(w)i(uses)h(the)f(compiler)f(that)h(it)h(came)f
(with)g(to)h(run)e(the)h(code,)g(rather)f(than)h(the)g(\002rst)h
(compiler)e(that)h(it)h(\002nds)f(on)g(the)g(P)-8 b(A)f(TH.)p
Black -128 2489 a(\225)p Black 42 w(If)24 b(the)h(program)e(to)h(run)g
(does)g(not)h(ha)n(v)o(e)f(a)h Ft(.lhs)f FA(e)o(xtension)f(then)h
(runghc)f(no)n(w)h(treats)h(it)h(as)f(a)g Ft(.hs)f FA(\002le.)39
b(In)25 b(particular)m(,)e(this)j(means)e(that)-57 2588
y(programs)18 b(without)i(an)g(e)o(xtension)f(no)n(w)g(w)o(ork.)p
Black -128 2754 a(\225)p Black 42 w Ft(runghc)49 b(foo)20
b FA(will)h(no)n(w)e(w)o(ork)h(if)g Ft(foo.hs)g FA(or)g
Ft(foo.lhs)f FA(e)o(xists.)p Black -128 2920 a(\225)p
Black 42 w(runghc)f(can)i(no)n(w)g(tak)o(e)g(the)g(code)g(to)g(run)g
(from)f(stdin.)-128 3055 y
SDict begin H.S end
-128 3055 a -128 3055 a
SDict begin 12 H.A end
-128
3055 a -128 3055 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.7) cvn H.B /DEST pdfmark end
-128 3055 a Black 148 x Fp(1.8.7)p
Black 90 w(ghc-pkg)p Black -128 3406 a FA(\225)p Black
42 w(ghc-pkg)f(will)j(refuse)e(to)i(unre)o(gister)d(a)j(package)e(on)g
(which)h(other)f(packages)g(depend,)g(unless)h(the)g
Ft(--force)g FA(option)f(is)i(also)f(supplied.)p Black
-128 3572 a(\225)p Black 42 w(ghc-pkg)e(no)n(w)h(has)i(a)g
Ft(-no-user-package-conf)16 b FA(\003ag)21 b(which)e(instructs)h(it)h
(to)g(ignore)e(the)h(user')-5 b(s)20 b(personal)f(package.conf.)p
Black -128 3738 a(\225)p Black 42 w(ghc-pkg)f(no)i(longer)e(allo)n(ws)j
(you)e(to)i(re)o(gister)e(tw)o(o)i(packages)e(that)h(dif)n(fer)f(in)h
(case)h(only)-5 b(.)p Black -128 3904 a(\225)p Black
42 w(ghc-pkg)18 b(no)i(longer)e(allo)n(ws)j(you)e(to)i(re)o(gister)e
(packages)g(which)h(ha)n(v)o(e)f(un)m(v)o(ersioned)e(dependencies.)p
Black -128 4070 a(\225)p Black 42 w(There)k(is)h(a)g(ne)n(w)f(command)f
Ft(dump)h FA(which)g(is)h(similar)g(to)g Ft(describe)48
b(')2164 4085 y(*)2214 4070 y(')p FA(,)22 b(b)n(ut)f(in)h(a)g(format)e
(that)h(is)i(designed)d(to)i(be)f(parsable)g(by)g(other)-57
4169 y(tools.)-128 4286 y
SDict begin H.S end
-128 4286 a -128 4286 a
SDict begin 12 H.A end
-128
4286 a -128 4286 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.8) cvn H.B /DEST pdfmark end
-128 4286 a Black 166 x Fp(1.8.8)p
Black 90 w(Had)o(doc)n(k)p Black -128 4655 a FA(\225)p
Black 42 w(Haddock)d(2)j(no)n(w)e(comes)h(with)h(GHC.)-128
4772 y
SDict begin H.S end
-128 4772 a -128 4772 a
SDict begin 12 H.A end
-128 4772 a -128 4772
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.9) cvn H.B /DEST pdfmark end
-128 4772 a Black 165 x Fp(1.8.9)p Black 90 w(DPH)j(c)o(hang)q(es)p
Black -128 5140 a FA(\225)p Black 42 w(DPH)d(is)g(no)n(w)f(an)g(e)o
(xtralib)m(.)p Black -128 5306 a(\225)p Black 42 w(There)c(is)j(a)e(ne)
n(w)g(\003ag)h Ft(-Odph)e FA(that)i(sets)g(the)f(\003ags)h(recommended)
c(when)j(using)f(DPH.)i(Currently)e(it)i(is)g(equi)n(v)n(alent)e(to)67
b Ft(-O2)49 b(-fno-met-)-57 5406 y(hod-sharing)f(-fdicts-cheap)f
(-fmax-simplifier-iterations20)e(-fno-spec-constr-threshold)p
Black -128 5572 a FA(\225)p Black 42 w(There)19 b(are)h(no)n(w)g
(\003ags)h Ft(-fdph-seq)e FA(and)g Ft(-fdph-par)h FA(for)f(selecting)h
(which)g(DPH)g(back)o(end)f(to)h(use.)p Black -128 5738
a(\225)p Black 42 w(The)g Ft(-fflatten)f FA(\003ag)h(has)h(been)e(remo)
o(v)o(ed.)k(It)d(ne)n(v)o(er)f(w)o(ork)o(ed)g(and)h(has)g(no)n(w)g
(been)f(superceded)f(by)i(v)o(ectorisation.)p Black -128
6084 4252 5 v Black eop end
%%Page: 9 24
TeXDict begin 9 23 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3455 b Fz(9)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.8.10) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(1.8.10)p
Black 89 w(Boot)k(Libraries)-128 262 y
SDict begin H.S end
-128 262 a -128
262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.1) cvn H.B /DEST pdfmark end
-128 262 a Black 128 x Fx(1.8.10.1)p
Black 72 w(arra)o(y)p Black -128 593 a FA(\225)p Black
42 w(V)-9 b(ersion)19 b(number)g(0.2.0.0)f(\(w)o(as)j(0.1.0.0\))-128
724 y
SDict begin H.S end
-128 724 a -128 724 a
SDict begin 12 H.A end
-128 724 a -128 724 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.2) cvn H.B /DEST pdfmark end
-128
724 a Black 134 x Fx(1.8.10.2)p Black 72 w(base)p Black
-128 1061 a FA(\225)p Black 42 w(V)-9 b(ersion)19 b(number)g(4.0.0.0)f
(\(w)o(as)j(3.0.2.0\))p Black -128 1227 a(\225)p Black
42 w(W)-7 b(e)21 b(also)g(ship)f(a)h(base)f(v)o(ersion)f(3.0.3.0,)f(so)
i(le)o(gac)o(y)f(code)g(should)g(continue)g(to)h(w)o(ork.)p
Black -128 1393 a(\225)p Black 42 w(The)g Ft(Show)g FA(instance)g(for)f
Ft(Ratio)h FA(no)n(w)g(puts)g(spaces)g(around)f(the)h
Ft(\045)p FA(,)g(as)h(required)d(by)i(Hask)o(ell)h(98.)p
Black -128 1559 a(\225)p Black 42 w(There)e(is)j(a)e(ne)n(w)g(module)f
Ft(Control.Category)p FA(.)p Black -128 1725 a(\225)p
Black 42 w Ft(>>>)h FA(is)h(no)f(longer)f(a)i(method)d(of)i(the)h
Ft(Arrow)e FA(class;)j(instead)e Ft(Category)f FA(is)i(a)g(superclass)f
(of)f Ft(Arrow)p FA(.)p Black -128 1891 a(\225)p Black
42 w Ft(pure)h FA(is)h(no)f(longer)f(a)h(method)f(of)h(the)g
Ft(Arrow)g FA(class;)h(use)g Ft(arr)f FA(instead.)p Black
-128 2057 a(\225)p Black 42 w Ft(Control.Exception)d
FA(no)n(w)j(uses)g(e)o(xtensible)f(e)o(xceptions.)k(The)d(old)f(style)i
(of)e(e)o(xceptions)f(are)i(still)h(a)n(v)n(ailable)f(in)g
Ft(Control.OldE-)-57 2157 y(xception)p FA(,)f(b)n(ut)h(we)h(e)o(xpect)e
(to)h(remo)o(v)o(e)f(them)g(in)i(a)f(future)f(release.)p
Black -128 2323 a(\225)p Black 42 w(There)i(is)j(a)e(ne)n(w)g(function)
f Ft(System.Exit.exitSuccess)45 b(::)99 b(IO)50 b(a)22
b FA(analogous)f(to)h(the)g(e)o(xisting)g Ft(System.Exit.exitF-)-57
2423 y(ailure)49 b(::)99 b(IO)49 b(a)p FA(.)p Black -128
2589 a(\225)p Black 42 w(There)25 b(are)h(ne)n(w)f(functions)f
Ft(Data.Either.lefts)47 b(::)99 b([Either)49 b(a)g(b])h(->)f([a])p
FA(,)27 b Ft(Data.Either.rights)47 b(::)99 b([-)-57 2688
y(Either)49 b(a)g(b])h(->)f([b])20 b FA(and)70 b Ft
(Data.Either.partitionEithers)44 b(::)100 b([Either)48
b(a)i(b])f(->)h(\([a],)f([b]\))g FA(.)p Black -128 2854
a(\225)p Black 42 w(The)21 b(ne)n(w)g(function)e Ft
(Data.List.subsequences)46 b(::)99 b([a])50 b(->)f([[a]])21
b FA(gi)n(v)o(es)g(all)g(sublists)h(of)f(a)h(list,)g(e.g.)127
b Ft(subsequen-)-57 2954 y(ces)49 b("abc")g(==)h
(["","a","b","ab","c","ac","bc","a)o(bc"])43 b FA(.)p
Black -128 3120 a(\225)p Black 42 w(The)22 b(ne)n(w)g(function)f
Ft(Data.List.permutations)45 b(::)100 b([a])49 b(->)g([[a]])22
b FA(gi)n(v)o(es)g(all)h(permutations)d(of)i(a)h(list,)h(e.g.)131
b Ft(permu-)-57 3220 y(tations)49 b("abc")f(==)i
(["abc","bac","cba","bca","cab","ac)o(b"])44 b FA(.)p
Black -128 3386 a(\225)p Black 42 w(The)19 b(ne)n(w)g(functions)f
Ft(Data.Traversable.mapAccumL)d FA(and)k Ft(Data.Traversable.mapAccumR)
c FA(generalise)j(their)h Ft(Data-)-57 3485 y(.List)h
FA(counterparts)e(to)i(w)o(ork)g(on)g(an)o(y)f Ft(Traversable)g
FA(type.)p Black -128 3651 a(\225)p Black 42 w(The)j(ne)n(w)g(function)
f Ft(Control.Exception.blocked)45 b(::)100 b(IO)49 b(Bool)22
b FA(tells)i(you)d(whether)h(or)g(not)g(e)o(xceptions)f(are)i(block)o
(ed)e(\(as)-57 3751 y(controlled)d(by)i Ft
(Control.Exception.\(un\)block)p FA(\).)p Black -128
3917 a(\225)p Black 42 w(There)f(is)j(a)e(ne)n(w)g(function)f
Ft(traceShow)48 b(::)99 b(Show)49 b(a)h(=>)f(a)h(->)f(b)h(->)f(b)21
b FA(in)f Ft(Debug.Trace)p FA(.)p Black -128 4083 a(\225)p
Black 42 w(The)i(type)g(of)g Ft(Control.Monad.forever)d
FA(has)j(been)g(generalised)f(from)g Ft(Monad)49 b(m)h(=>)f(m)h(a)g(->)
f(m)h(\(\))22 b FA(to)h Ft(Monad)49 b(m)g(=>)h(m)-57
4183 y(a)g(->)f(m)h(b)p FA(.)p Black -128 4349 a(\225)p
Black 42 w(The)16 b(ne)n(w)g(v)n(alue)f Ft(GHC.Exts.maxTupleSize)e
FA(tells)k(you)e(the)h(lar)o(gest)g(tuple)f(size)i(that)f(can)g(be)g
(used.)23 b(This)17 b(is)g(mostly)e(of)h(use)g(in)h(T)-6
b(emplate)-57 4448 y(Hask)o(ell)21 b(programs.)p Black
-128 4615 a(\225)p Black 42 w Ft(GHC.Exts)26 b FA(no)n(w)g(e)o(xports)f
Ft(Down\(..\))p FA(,)i Ft(groupWith)p FA(,)f Ft(sortWith)g
FA(and)g Ft(the)g FA(which)g(are)h(used)f(in)h(the)f(desugaring)e(of)i
(generalised)-57 4714 y(comprehensions.)p Black -128
4880 a(\225)p Black 42 w Ft(GHC.Exts)g FA(no)h(longer)f(e)o(xports)g
(the)h Ft(Integer)f FA(internals.)45 b(If)27 b(you)f(w)o(ant)i(them)e
(then)h(you)f(need)h(to)g(get)g(them)g(directly)f(from)g(the)h(ne)n(w)
-57 4980 y Ft(integer)19 b FA(package.)p Black -128 5146
a(\225)p Black 42 w(The)h(ne)n(w)g(function)e Ft(GHC.Conc.threadStatus)
f FA(allo)n(ws)k(you)e(to)h(ask)h(whether)e(a)h(thread)g(is)h(running,)
d(block)o(ed)g(on)i(an)g(MV)-9 b(ar)m(,)19 b(etc.)p Black
-128 5312 a(\225)p Black 42 w(The)h Ft(Data.Generics)e
FA(hierarchy)g(has)i(been)g(mo)o(v)o(ed)e(to)j(a)f(ne)n(w)g(package)f
Ft(syb)p FA(.)p Black -128 5478 a(\225)p Black 42 w(The)h
Ft(GHC.Prim)f FA(and)h Ft(GHC.PrimopWrappers)d FA(modules)i(ha)n(v)o(e)
h(been)f(mo)o(v)o(ed)g(into)h(a)g(ne)n(w)g Ft(ghc-prim)f
FA(package.)p Black -128 6084 4252 5 v Black eop end
%%Page: 10 25
TeXDict begin 10 24 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(10)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(1.8.10.3)p
Black 72 w(b)o(ytestring)p Black -128 376 a FA(\225)p
Black 42 w(V)-9 b(ersion)19 b(number)g(0.9.0.1.2)e(\(w)o(as)k
(0.9.0.1.1\))-128 507 y
SDict begin H.S end
-128 507 a -128 507 a
SDict begin 12 H.A end
-128 507
a -128 507 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.4) cvn H.B /DEST pdfmark end
-128 507 a Black 135 x Fx(1.8.10.4)p Black
72 w(Cabal)p Black -128 845 a FA(\225)p Black 42 w(V)-9
b(ersion)19 b(number)g(1.6.0.1)f(\(w)o(as)j(1.2.4.0\))p
Black -128 1011 a(\225)p Black 42 w(Man)o(y)e(API)i(changes.)j(See)c
(the)g(Cabal)h(docs)f(for)f(more)h(information.)-128
1145 y
SDict begin H.S end
-128 1145 a -128 1145 a
SDict begin 12 H.A end
-128 1145 a -128 1145
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.5) cvn H.B /DEST pdfmark end
-128 1145 a Black 132 x Fx(1.8.10.5)p Black 72 w(container)o(s)p
Black -128 1480 a FA(\225)p Black 42 w(V)-9 b(ersion)19
b(number)g(0.2.0.0)f(\(w)o(as)j(0.1.0.2\))p Black -128
1646 a(\225)p Black 42 w(V)-9 b(arious)19 b(result)i(type)e(no)n(w)h
(use)g Ft(Maybe)g FA(rather)g(than)f(allo)n(wing)h(an)o(y)f(Monad.)-128
1780 y
SDict begin H.S end
-128 1780 a -128 1780 a
SDict begin 12 H.A end
-128 1780 a -128 1780
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.6) cvn H.B /DEST pdfmark end
-128 1780 a Black 131 x Fx(1.8.10.6)p Black 72 w(director)q(y)p
Black -128 2114 a FA(\225)p Black 42 w(V)-9 b(ersion)19
b(number)g(1.0.0.2)f(\(w)o(as)j(1.0.0.1\))p Black -128
2280 a(\225)p Black 42 w(No)f(longer)f(de\002nes)h(the)g(UNICODE)h(CPP)
g(symbol)e(for)h(packages)f(that)h(use)h(it.)-128 2414
y
SDict begin H.S end
-128 2414 a -128 2414 a
SDict begin 12 H.A end
-128 2414 a -128 2414 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.7) cvn H.B /DEST pdfmark end
-128
2414 a Black 132 x Fx(1.8.10.7)p Black 72 w(editline)p
Black -128 2749 a FA(\225)p Black 42 w(This)f(is)i(a)e(ne)n(w)g
(bootlib,)f(v)o(ersion)g(0.2.1.0.)-128 2877 y
SDict begin H.S end
-128 2877
a -128 2877 a
SDict begin 12 H.A end
-128 2877 a -128 2877 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.8) cvn H.B /DEST pdfmark end
-128 2877 a Black
137 x Fx(1.8.10.8)p Black 72 w(\002lepath)p Black -128
3218 a FA(\225)p Black 42 w(V)-9 b(ersion)19 b(number)g(1.1.0.1)f(\(w)o
(as)j(1.1.0.0\))-128 3349 y
SDict begin H.S end
-128 3349 a -128 3349 a
SDict begin 12 H.A end
-128
3349 a -128 3349 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.9) cvn H.B /DEST pdfmark end
-128 3349 a Black 134 x Fx(1.8.10.9)p
Black 72 w(ghc-prim)p Black -128 3686 a FA(\225)p Black
42 w(This)f(is)i(a)e(ne)n(w)g(bootlib,)f(v)o(ersion)g(0.1.0.0.)-128
3814 y
SDict begin H.S end
-128 3814 a -128 3814 a
SDict begin 12 H.A end
-128 3814 a -128 3814
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.10) cvn H.B /DEST pdfmark end
-128 3814 a Black 138 x Fx(1.8.10.10)p Black 72 w(haskell98)p
Black -128 4155 a FA(\225)p Black 42 w(V)-9 b(ersion)19
b(number)g(1.0.1.0)f(\(unchanged\))-128 4289 y
SDict begin H.S end
-128 4289
a -128 4289 a
SDict begin 12 H.A end
-128 4289 a -128 4289 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.11) cvn H.B /DEST pdfmark end
-128 4289 a Black
131 x Fx(1.8.10.11)p Black 72 w(hpc)p Black -128 4623
a FA(\225)p Black 42 w(V)-9 b(ersion)19 b(number)g(0.5.0.2)f(\(w)o(as)j
(0.5.0.1\))-128 4754 y
SDict begin H.S end
-128 4754 a -128 4754 a
SDict begin 12 H.A end
-128 4754
a -128 4754 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.12) cvn H.B /DEST pdfmark end
-128 4754 a Black 135 x Fx(1.8.10.12)p
Black 72 w(integ)q(er)p Black -128 5092 a FA(\225)p Black
42 w(This)f(is)i(a)e(ne)n(w)g(bootlib,)f(v)o(ersion)g(0.1.0.0.)-128
5220 y
SDict begin H.S end
-128 5220 a -128 5220 a
SDict begin 12 H.A end
-128 5220 a -128 5220
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.13) cvn H.B /DEST pdfmark end
-128 5220 a Black 138 x Fx(1.8.10.13)p Black 72 w(old-locale)p
Black -128 5561 a FA(\225)p Black 42 w(V)-9 b(ersion)19
b(number)g(1.0.0.1)f(\(w)o(as)j(1.0.0.0\))p Black -128
6084 4252 5 v Black eop end
%%Page: 11 26
TeXDict begin 11 25 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(11)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.14) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(1.8.10.14)p
Black 72 w(old-time)p Black -128 376 a FA(\225)p Black
42 w(V)-9 b(ersion)19 b(number)g(1.0.0.1)f(\(w)o(as)j(1.0.0.0\))-128
507 y
SDict begin H.S end
-128 507 a -128 507 a
SDict begin 12 H.A end
-128 507 a -128 507 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.15) cvn H.B /DEST pdfmark end
-128
507 a Black 135 x Fx(1.8.10.15)p Black 72 w(pac)o(kedstring)p
Black -128 845 a FA(\225)p Black 42 w(V)-9 b(ersion)19
b(number)g(0.1.0.1)f(\(w)o(as)j(0.1.0.0\))-128 976 y
SDict begin H.S end
-128 976 a -128 976 a
SDict begin 12 H.A end
-128 976 a -128 976 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.16) cvn H.B /DEST pdfmark end
-128 976
a Black 134 x Fx(1.8.10.16)p Black 72 w(pretty)p Black
-128 1314 a FA(\225)p Black 42 w(V)-9 b(ersion)19 b(number)g(1.0.1.0)f
(\(w)o(as)j(1.0.0.0\))p Black -128 1480 a(\225)p Black
42 w(There)e(is)j(a)e(ne)n(w)g(combinator)e Ft(zeroWidthText)47
b(::)100 b(String)48 b(->)i(Doc)20 b FA(for)g(printing)e(things)i(lik)o
(e)g(ANSI)h(escape)f(sequences.)-128 1614 y
SDict begin H.S end
-128 1614
a -128 1614 a
SDict begin 12 H.A end
-128 1614 a -128 1614 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.17) cvn H.B /DEST pdfmark end
-128 1614 a Black
131 x Fx(1.8.10.17)p Black 72 w(pr)o(ocess)p Black -128
1948 a FA(\225)p Black 42 w(V)-9 b(ersion)19 b(number)g(1.0.1.0)f(\(w)o
(as)j(1.0.0.1\))p Black -128 2114 a(\225)p Black 42 w(The)f
Ft(System.Process)e FA(API)j(has)f(been)f(o)o(v)o(erhauled.)j(The)e(ne)
n(w)g(API)h(is)g(a)f(superset)g(of)g(the)g(old)g(API,)g(ho)n(we)n(v)o
(er)-5 b(.)-128 2248 y
SDict begin H.S end
-128 2248 a -128 2248 a
SDict begin 12 H.A end
-128 2248
a -128 2248 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.18) cvn H.B /DEST pdfmark end
-128 2248 a Black 132 x Fx(1.8.10.18)p
Black 72 w(random)p Black -128 2583 a FA(\225)p Black
42 w(V)c(ersion)19 b(number)g(1.0.0.1)f(\(w)o(as)j(1.0.0.0\))-128
2714 y
SDict begin H.S end
-128 2714 a -128 2714 a
SDict begin 12 H.A end
-128 2714 a -128 2714
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.19) cvn H.B /DEST pdfmark end
-128 2714 a Black 134 x Fx(1.8.10.19)p Black 72 w(readline)p
Black -128 3051 a FA(\225)p Black 42 w(This)f(is)i(no)d(longer)g(a)i
(bootlib;)e(editline)h(replaces)f(it.)-128 3186 y
SDict begin H.S end
-128
3186 a -128 3186 a
SDict begin 12 H.A end
-128 3186 a -128 3186 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.20) cvn H.B /DEST pdfmark end
-128 3186
a Black 131 x Fx(1.8.10.20)p Black 72 w(syb)p Black -128
3520 a FA(\225)p Black 42 w(This)h(is)i(a)e(ne)n(w)g(bootlib,)f(v)o
(ersion)g(0.1.0.0.)-128 3648 y
SDict begin H.S end
-128 3648 a -128 3648
a
SDict begin 12 H.A end
-128 3648 a -128 3648 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.21) cvn H.B /DEST pdfmark end
-128 3648 a Black 138 x Fx(1.8.10.21)p
Black 72 w(template-haskell)p Black -128 3989 a FA(\225)p
Black 42 w(V)-9 b(ersion)19 b(number)g(2.3.0.0)f(\(w)o(as)j(2.2.0.0\))p
Black -128 4155 a(\225)p Black 42 w(The)f(datatypes)f(no)n(w)h(ha)n(v)o
(e)f(support)g(for)h(W)-7 b(ord)20 b(primiti)n(v)o(es.)p
Black -128 4321 a(\225)p Black 42 w Ft(currentModule)47
b(::)100 b(Q)49 b(String)20 b FA(has)g(been)g(replaced)f(with)h
Ft(location)48 b(::)100 b(Q)49 b(Loc)p FA(,)20 b(where)g
Ft(Loc)g FA(is)h(a)g(ne)n(w)f(datatype.)-128 4455 y
SDict begin H.S end
-128
4455 a -128 4455 a
SDict begin 12 H.A end
-128 4455 a -128 4455 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.22) cvn H.B /DEST pdfmark end
-128 4455
a Black 131 x Fx(1.8.10.22)p Black 72 w(unix)p Black
-128 4789 a FA(\225)p Black 42 w(V)-9 b(ersion)19 b(number)g(2.3.1.0)f
(\(w)o(as)j(2.3.0.1\))p Black -128 4955 a(\225)p Black
42 w(The)f Ft(System.Posix.Terminal.BaudRate)15 b FA(type)20
b(no)n(w)f(includes)h Ft(B57600)f FA(and)h Ft(B115200)g
FA(constructors.)-128 5090 y
SDict begin H.S end
-128 5090 a -128 5090 a
SDict begin 12 H.A end
-128 5090 a -128 5090 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.1.8.10.23) cvn H.B /DEST pdfmark end
-128 5090 a Black 131 x Fx(1.8.10.23)p
Black 72 w(Win32)p Black -128 5424 a FA(\225)p Black
42 w(V)-9 b(ersion)19 b(number)g(2.2.0.0)f(\(w)o(as)j(2.1.1.1\))p
Black -128 5590 a(\225)p Black 42 w(No)f(longer)f(de\002nes)h(the)g
(UNICODE)h(CPP)g(symbol)e(for)h(packages)f(that)h(use)h(it.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 12 27
TeXDict begin 12 26 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(12)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.2) cvn H.B /DEST pdfmark end
-128 90 a 745 x Fy(Chapter)43 b(2)-128
1289 y Fv(Using)52 b(GHCi)-128 1696 y
SDict begin H.S end
-128 1696 a -128
1696 a
SDict begin 12 H.A end
-128 1696 a -128 1696 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci) cvn H.B /DEST pdfmark end
-128 1696 a 119 x FA(GHCi)70
1785 y Fn(1)124 1815 y FA(is)19 b(GHC')-5 b(s)20 b(interacti)n(v)o(e)c
(en)m(vironment,)g(in)i(which)f(Hask)o(ell)i(e)o(xpressions)e(can)h(be)
g(interacti)n(v)o(ely)e(e)n(v)n(aluated)h(and)g(programs)f(can)i(be)g
(inter)n(-)-128 1915 y(preted.)27 b(If)21 b(you')l(re)e(f)o(amiliar)i
(with)p 0 1 0 0 TeXcolorcmyk 893 1933 a
SDict begin H.S end
893 1933 a 0 1 0 0
TeXcolorcmyk -18 x FA(Hugs)p 0 1 0 0 TeXcolorcmyk 1068
1861 a
SDict begin H.R end
1068 1861 a 1068 1915 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/hugs/) >> /Subtype /Link H.B /ANN pdfmark end
1068 1915 a Black FA(,)h(then)f(you')o
(ll)f(be)h(right)f(at)i(home)e(with)h(GHCi.)29 b(Ho)n(we)n(v)o(er)m(,)
19 b(GHCi)j(also)f(has)h(support)d(for)i(interacti)n(v)o(ely)-128
2015 y(loading)16 b(compiled)g(code,)h(as)h(well)f(as)h(supporting)d
(all)1452 1985 y Fn(2)1505 2015 y FA(the)i(language)e(e)o(xtensions)h
(that)i(GHC)g(pro)o(vides.)k(.)i(GHCi)18 b(also)g(includes)e(an)h
(interacti)n(v)o(e)-128 2114 y(deb)n(ugger)h(\(see)j(Section)p
1 0 0 TeXcolorrgb 625 2115 a
SDict begin H.S end
625 2115 a 1 0 0 TeXcolorrgb
-1 x FA(2.5)p 1 0 0 TeXcolorrgb 728 2058 a
SDict begin H.R end
728 2058 a
728 2114 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.5) cvn H.B /ANN pdfmark end
728 2114 a Black FA(\).)-128 2253 y
SDict begin H.S end
-128 2253
a -128 2253 a
SDict begin 12 H.A end
-128 2253 a -128 2253 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.1) cvn H.B /DEST pdfmark end
-128 2253 a Black
170 x Fs(2.1)p Black 108 w(Intr)n(oduction)27 b(to)i(GHCi)-128
2550 y
SDict begin H.S end
-128 2550 a -128 2550 a
SDict begin 12 H.A end
-128 2550 a -128 2550
a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-introduction) cvn H.B /DEST pdfmark end
-128 2550 a 104 x FA(Let')-5 b(s)21 b(start)g(with)f(an)g(e)o(xample)
f(GHCi)i(session.)26 b(Y)-9 b(ou)19 b(can)h(\002re)h(up)e(GHCi)j(with)e
(the)g(command)e Ft(ghci)p FA(:)-128 2711 y
SDict begin H.S end
-128 2711
a -128 2711 a
SDict begin 12 H.A end
-128 2711 a -128 2711 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-6) cvn H.B /DEST pdfmark end
-128 2711 a 0.95
TeXcolorgray -153 2727 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2818 25 92 v Black 0.95 TeXcolorgray -128 2818 4252 92
v Black 0.95 TeXcolorgray 4124 2818 25 92 v Black 0.95
TeXcolorgray Black -128 2791 a
SDict begin H.S end
-128 2791 a -128 2791
a
SDict begin 11 H.A end
-128 2791 a -128 2791 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-6.1) cvn H.B /DEST pdfmark end
-128 2791 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghci)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2909 25 92
v Black 0.95 TeXcolorgray -128 2909 4252 92 v Black 0.95
TeXcolorgray 4124 2909 25 92 v Black 0.95 TeXcolorgray
Black -128 2882 a
SDict begin H.S end
-128 2882 a -128 2882 a
SDict begin 11 H.A end
-128 2882 a
-128 2882 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-6.2) cvn H.B /DEST pdfmark end
-128 2882 a 0 0 0 TeXcolorrgb Fo(GHCi)p Black(,)p
0 0 0 TeXcolorrgb 44 w(version)p Black 44 w(6.8.1:)p
0 0 0 TeXcolorrgb 44 w(http)p Black -1 w(://)p 0 0 0
TeXcolorrgb(www)p Black -1 w(.)p 0 0 0 TeXcolorrgb(haskell)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(org)p Black -1 w(/)p
0 0 0 TeXcolorrgb(ghc)p Black(/)89 b(:?)p 0 0 0 TeXcolorrgb
45 w(for)p Black 0 0 0 TeXcolorrgb 44 w(help)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3001 25
92 v Black 0.95 TeXcolorgray -128 3001 4252 92 v Black
0.95 TeXcolorgray 4124 3001 25 92 v Black 0.95 TeXcolorgray
Black -128 2973 a
SDict begin H.S end
-128 2973 a -128 2973 a
SDict begin 11 H.A end
-128 2973 a
-128 2973 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-6.3) cvn H.B /DEST pdfmark end
-128 2973 a 0 0 0 TeXcolorrgb Fo(Loading)p
Black 0 0 0 TeXcolorrgb 44 w(package)p Black 0 0 0 TeXcolorrgb
44 w(base)p Black 44 w(...)p 0 0 0 TeXcolorrgb 44 w(linking)p
Black 44 w(...)p 0 0 0 TeXcolorrgb 44 w(done)p Black(.)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3092 25
92 v Black 0.95 TeXcolorgray -128 3092 4252 92 v Black
0.95 TeXcolorgray 4124 3092 25 92 v Black 0.95 TeXcolorgray
Black -128 3065 a
SDict begin H.S end
-128 3065 a -128 3065 a
SDict begin 11 H.A end
-128 3065 a
-128 3065 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-6.4) cvn H.B /DEST pdfmark end
-128 3065 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0.95 TeXcolorgray -153 3117 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 3270 a
FA(There)19 b(may)f(be)h(a)g(short)g(pause)g(while)g(GHCi)g(loads)g
(the)g(prelude)f(and)g(standard)g(libraries,)h(after)f(which)h(the)g
(prompt)e(is)j(sho)n(wn.)k(As)c(the)f(banner)-128 3370
y(says,)i(you)e(can)h(type)g Ft(:?)25 b FA(to)c(see)f(the)h(list)g(of)f
(commands)e(a)n(v)n(ailable,)i(and)f(a)i(half)f(line)g(description)f
(of)h(each)g(of)g(them.)-128 3508 y(W)-7 b(e')o(ll)24
b(e)o(xplain)e(most)g(of)h(these)f(commands)f(as)j(we)f(go)f(along.)31
b(F)o(or)22 b(Hugs)h(users:)30 b(man)o(y)22 b(things)g(w)o(ork)g(the)g
(same)h(as)h(in)e(Hugs,)h(so)g(you)f(should)-128 3608
y(be)f(able)f(to)g(get)g(going)f(straight)h(a)o(w)o(ay)-5
b(.)-128 3747 y(Hask)o(ell)21 b(e)o(xpressions)e(can)h(be)g(typed)f(at)
i(the)f(prompt:)-128 3804 y
SDict begin H.S end
-128 3804 a -128 3804 a
SDict begin 12 H.A end
-128
3804 a -128 3804 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-7) cvn H.B /DEST pdfmark end
-128 3804 a 0.95 TeXcolorgray -153
3819 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3911 25 92 v Black 0.95
TeXcolorgray -128 3911 4252 92 v Black 0.95 TeXcolorgray
4124 3911 25 92 v Black 0.95 TeXcolorgray Black -128
3883 a
SDict begin H.S end
-128 3883 a -128 3883 a
SDict begin 11 H.A end
-128 3883 a -128 3883
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-7.1) cvn H.B /DEST pdfmark end
-128 3883 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)45 b(1+2)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4002 25 92 v Black 0.95 TeXcolorgray -128 4002 4252
92 v Black 0.95 TeXcolorgray 4124 4002 25 92 v Black
0.95 TeXcolorgray Black -128 3974 a
SDict begin H.S end
-128 3974 a -128
3974 a
SDict begin 11 H.A end
-128 3974 a -128 3974 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-7.2) cvn H.B /DEST pdfmark end
-128 3974 a Fo(3)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4093 25 92
v Black 0.95 TeXcolorgray -128 4093 4252 92 v Black 0.95
TeXcolorgray 4124 4093 25 92 v Black 0.95 TeXcolorgray
Black -128 4066 a
SDict begin H.S end
-128 4066 a -128 4066 a
SDict begin 11 H.A end
-128 4066 a
-128 4066 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-7.3) cvn H.B /DEST pdfmark end
-128 4066 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black 45 w(=)g(42)p 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(/)g(9)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4184 25
92 v Black 0.95 TeXcolorgray -128 4184 4252 92 v Black
0.95 TeXcolorgray 4124 4184 25 92 v Black 0.95 TeXcolorgray
Black -128 4157 a
SDict begin H.S end
-128 4157 a -128 4157 a
SDict begin 11 H.A end
-128 4157 a
-128 4157 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-7.4) cvn H.B /DEST pdfmark end
-128 4157 a Fo(4.666666666666667)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4276 25 92 v Black 0.95
TeXcolorgray -128 4276 4252 92 v Black 0.95 TeXcolorgray
4124 4276 25 92 v Black 0.95 TeXcolorgray Black -128
4248 a
SDict begin H.S end
-128 4248 a -128 4248 a
SDict begin 11 H.A end
-128 4248 a -128 4248
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-7.5) cvn H.B /DEST pdfmark end
-128 4248 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)p 0.95 TeXcolorgray -153 4301 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 4454 a FA(GHCi)26
b(interprets)d(the)i(whole)e(line)i(as)g(an)f(e)o(xpression)f(to)h(e)n
(v)n(aluate.)37 b(The)24 b(e)o(xpression)f(may)g(not)h(span)h(se)n(v)o
(eral)e(lines)i(-)f(as)i(soon)d(as)i(you)f(press)-128
4553 y(enter)m(,)c(GHCi)h(will)g(attempt)e(to)i(e)n(v)n(aluate)e(it.)
-128 4692 y
SDict begin H.S end
-128 4692 a -128 4692 a
SDict begin 12 H.A end
-128 4692 a -128
4692 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.2) cvn H.B /DEST pdfmark end
-128 4692 a Black 171 x Fs(2.2)p Black 108 w(Loading)28
b(sour)n(ce)h(\002les)-128 4990 y
SDict begin H.S end
-128 4990 a -128 4990
a
SDict begin 12 H.A end
-128 4990 a -128 4990 a
SDict begin [ /View [/XYZ H.V] /Dest (loading-source-files) cvn H.B /DEST pdfmark end
-128 4990 a 103 x FA(Suppose)20
b(we)g(ha)n(v)o(e)g(the)g(follo)n(wing)e(Hask)o(ell)j(source)e(code,)h
(which)f(we)i(place)f(in)g(a)h(\002le)g Ft(Main.hs)p
FA(:)-128 5151 y
SDict begin H.S end
-128 5151 a -128 5151 a
SDict begin 12 H.A end
-128 5151 a
-128 5151 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-8) cvn H.B /DEST pdfmark end
-128 5151 a 0.95 TeXcolorgray -153 5166 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5257 25 92 v Black 0.95
TeXcolorgray -128 5257 4252 92 v Black 0.95 TeXcolorgray
4124 5257 25 92 v Black 0.95 TeXcolorgray Black -128
5230 a
SDict begin H.S end
-128 5230 a -128 5230 a
SDict begin 11 H.A end
-128 5230 a -128 5230
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-8.1) cvn H.B /DEST pdfmark end
-128 5230 a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(print)p Black 44 w(\()p 0 0 0
TeXcolorrgb(fac)p Black 44 w(20\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5348 25 92 v Black 0.95
TeXcolorgray -128 5348 4252 92 v Black 0.95 TeXcolorgray
4124 5348 25 92 v Black 0.95 TeXcolorgray Black -128
5321 a
SDict begin H.S end
-128 5321 a -128 5321 a
SDict begin 11 H.A end
-128 5321 a -128 5321
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-8.2) cvn H.B /DEST pdfmark end
-128 5321 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5440 25 92 v Black 0.95 TeXcolorgray -128 5440 4252
92 v Black 0.95 TeXcolorgray 4124 5440 25 92 v Black
0.95 TeXcolorgray Black -128 5412 a
SDict begin H.S end
-128 5412 a -128
5412 a
SDict begin 11 H.A end
-128 5412 a -128 5412 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-8.3) cvn H.B /DEST pdfmark end
-128 5412 a 0 0 0 TeXcolorrgb
Fo(fac)p Black 45 w(0)44 b(=)h(1)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5531 25 92 v Black 0.95
TeXcolorgray -128 5531 4252 92 v Black 0.95 TeXcolorgray
4124 5531 25 92 v Black 0.95 TeXcolorgray Black -128
5504 a
SDict begin H.S end
-128 5504 a -128 5504 a
SDict begin 11 H.A end
-128 5504 a -128 5504
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-8.4) cvn H.B /DEST pdfmark end
-128 5504 a 0 0 0 TeXcolorrgb Fo(fac)p Black 0 0 0
TeXcolorrgb 45 w(n)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(n)p Black 321 5517 a(*)p 0 0 0 TeXcolorrgb 410 5504
a(fac)p Black 45 w(\()p 0 0 0 TeXcolorrgb(n)p Black -1
w(-1\))p 0.95 TeXcolorgray -153 5556 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 5598 1701 4
v -7 5654 a Fm(1)22 5678 y Fl(The)17 b(`i')g(stands)h(for)f
(\223Interacti)n(v)o(e\224)-7 5735 y Fm(2)22 5759 y Fl(e)o(xcept)i
Fk(foreign)39 b(export)p Fl(,)15 b(at)i(the)h(moment)p
Black Black -128 6084 4252 5 v Black eop end
%%Page: 13 28
TeXDict begin 13 27 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(13)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Y)-9 b(ou)22
b(can)g(sa)n(v)o(e)g Ft(Main.hs)f FA(an)o(ywhere)f(you)h(lik)o(e,)i(b)n
(ut)f(if)g(you)f(sa)n(v)o(e)i(it)f(some)n(where)f(other)g(than)h(the)g
(current)f(directory)3389 143 y Fn(3)3444 173 y FA(then)g(we)i(will)f
(need)g(to)-128 273 y(change)d(to)i(the)f(right)f(directory)g(in)h
(GHCi:)-128 341 y
SDict begin H.S end
-128 341 a -128 341 a
SDict begin 12 H.A end
-128 341 a -128
341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-9) cvn H.B /DEST pdfmark end
-128 341 a 0.95 TeXcolorgray -153 356 4302 25 v
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-9.1) cvn H.B /DEST pdfmark end
-128 420 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(cd)p
Black 0 0 0 TeXcolorrgb 44 w(dir)p Black 0.95 TeXcolorgray
-153 472 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 646 a FA(where)20 b Fr(dir)j FA(is)e(the)f(directory)f(\(or)
g(folder\))g(in)h(which)g(you)f(sa)n(v)o(ed)h Ft(Main.hs)p
FA(.)-128 796 y(T)-7 b(o)21 b(load)f(a)g(Hask)o(ell)h(source)e(\002le)i
(into)f(GHCi,)h(use)f(the)g Ft(:load)g FA(command:)-128
858 y
SDict begin H.S end
-128 858 a -128 858 a
SDict begin 12 H.A end
-128 858 a -128 858 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-10) cvn H.B /DEST pdfmark end
-128
858 a 0.95 TeXcolorgray -153 879 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 970 25 92 v Black 0.95 TeXcolorgray -128 970 4252
92 v Black 0.95 TeXcolorgray 4124 970 25 92 v Black 0.95
TeXcolorgray Black -128 943 a
SDict begin H.S end
-128 943 a -128 943 a
SDict begin 11 H.A end
-128
943 a -128 943 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-10.1) cvn H.B /DEST pdfmark end
-128 943 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(load)p Black
0 0 0 TeXcolorrgb 44 w(Main)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1062 25 92 v Black 0.95
TeXcolorgray -128 1062 4252 92 v Black 0.95 TeXcolorgray
4124 1062 25 92 v Black 0.95 TeXcolorgray Black -128
1034 a
SDict begin H.S end
-128 1034 a -128 1034 a
SDict begin 11 H.A end
-128 1034 a -128 1034
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-10.2) cvn H.B /DEST pdfmark end
-128 1034 a 0 0 0 TeXcolorrgb Fo(Compiling)p Black
0 0 0 TeXcolorrgb 44 w(Main)p Black 582 w(\()p 0 0 0
TeXcolorrgb 45 w(Main)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(interpreted)p Black
43 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1153 25 92 v Black 0.95 TeXcolorgray -128 1153 4252 92
v Black 0.95 TeXcolorgray 4124 1153 25 92 v Black 0.95
TeXcolorgray Black -128 1125 a
SDict begin H.S end
-128 1125 a -128 1125
a
SDict begin 11 H.A end
-128 1125 a -128 1125 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-10.3) cvn H.B /DEST pdfmark end
-128 1125 a 0 0 0 TeXcolorrgb
Fo(Ok)p Black(,)p 0 0 0 TeXcolorrgb 45 w(modules)p Black
0 0 0 TeXcolorrgb 43 w(loaded)p Black -1 w(:)p 0 0 0
TeXcolorrgb 45 w(Main)p Black -1 w(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1244 25 92 v Black 0.95
TeXcolorgray -128 1244 4252 92 v Black 0.95 TeXcolorgray
4124 1244 25 92 v Black 0.95 TeXcolorgray Black -128
1217 a
SDict begin H.S end
-128 1217 a -128 1217 a
SDict begin 11 H.A end
-128 1217 a -128 1217
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-10.4) cvn H.B /DEST pdfmark end
-128 1217 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0.95 TeXcolorgray -153 1269 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1443 a FA(GHCi)18
b(has)f(loaded)f(the)h Ft(Main)g FA(module,)f(and)g(the)h(prompt)f(has)
h(changed)e(to)i(\223)2134 1458 y Ft(*)2184 1443 y(Main>)p
FA(\224)f(to)h(indicate)g(that)g(the)g(current)e(conte)o(xt)h(for)g(e)o
(xpressions)-128 1543 y(typed)21 b(at)h(the)g(prompt)e(is)j(the)e
Ft(Main)h FA(module)e(we)i(just)g(loaded)f(\(we')o(ll)h(e)o(xplain)e
(what)i(the)2538 1558 y Ft(*)2610 1543 y FA(means)g(later)f(in)h
(Section)p 1 0 0 TeXcolorrgb 3373 1544 a
SDict begin H.S end
3373 1544 a
1 0 0 TeXcolorrgb -1 x FA(2.4.3)p 1 0 0 TeXcolorrgb 3539
1487 a
SDict begin H.R end
3539 1487 a 3539 1543 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.4.3) cvn H.B /ANN pdfmark end
3539 1543 a Black FA(\).)29
b(So)22 b(we)g(can)g(no)n(w)-128 1643 y(type)e(e)o(xpressions)f(in)m(v)
n(olving)f(the)i(functions)f(from)g Ft(Main.hs)p FA(:)-128
1710 y
SDict begin H.S end
-128 1710 a -128 1710 a
SDict begin 12 H.A end
-128 1710 a -128 1710
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-11) cvn H.B /DEST pdfmark end
-128 1710 a 0.95 TeXcolorgray -153 1726 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1817 25 92 v Black 0.95 TeXcolorgray
-128 1817 4252 92 v Black 0.95 TeXcolorgray 4124 1817
25 92 v Black 0.95 TeXcolorgray Black -128 1790 a
SDict begin H.S end
-128
1790 a -128 1790 a
SDict begin 11 H.A end
-128 1790 a -128 1790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-11.1) cvn H.B /DEST pdfmark end
-128 1790
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p
0 0 0 TeXcolorrgb 44 w(fac)p Black 45 w(17)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1908 25 92 v Black 0.95
TeXcolorgray -128 1908 4252 92 v Black 0.95 TeXcolorgray
4124 1908 25 92 v Black 0.95 TeXcolorgray Black -128
1881 a
SDict begin H.S end
-128 1881 a -128 1881 a
SDict begin 11 H.A end
-128 1881 a -128 1881
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-11.2) cvn H.B /DEST pdfmark end
-128 1881 a Fo(355687428096000)p 0.95 TeXcolorgray
-153 1933 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2108 a FA(Loading)f(a)i(multi-module)d(program)h(is)i(just)g
(as)h(straightforw)o(ard;)c(just)j(gi)n(v)o(e)f(the)g(name)g(of)g(the)h
(\223topmost\224)e(module)h(to)g(the)h Ft(:load)f FA(command)-128
2207 y(\(hint:)38 b Ft(:load)26 b FA(can)h(be)f(abbre)n(viated)f(to)h
Ft(:l)p FA(\).)45 b(The)26 b(topmost)g(module)f(will)i(normally)e(be)i
Ft(Main)p FA(,)h(b)n(ut)e(it)i(doesn')o(t)d(ha)n(v)o(e)h(to)h(be.)44
b(GHCi)27 b(will)-128 2307 y(disco)o(v)o(er)19 b(which)h(modules)f(are)
h(required,)e(directly)h(or)h(indirectly)-5 b(,)19 b(by)g(the)i
(topmost)e(module,)g(and)g(load)h(them)g(all)g(in)h(dependenc)o(y)c
(order)-5 b(.)-128 2441 y
SDict begin H.S end
-128 2441 a -128 2441 a
SDict begin 12 H.A end
-128
2441 a -128 2441 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.1) cvn H.B /DEST pdfmark end
-128 2441 a Black 148 x Fp(2.2.1)p
Black 90 w(Modules)23 b(vs.)31 b(\002lenames)-128 2678
y
SDict begin H.S end
-128 2678 a -128 2678 a
SDict begin 12 H.A end
-128 2678 a -128 2678 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-modules-filenames) cvn H.B /DEST pdfmark end
-128
2678 a 114 x FA(Question:)38 b(Ho)n(w)26 b(does)g(GHC)h(\002nd)f(the)h
(\002lename)f(which)g(contains)f(module)g Fr(M)9 b FA(?)27
b(Answer:)37 b(it)27 b(looks)f(for)g(the)h(\002le)g Fr(M)9
b Ft(.hs)p FA(,)27 b(or)f Fr(M)9 b Ft(.lhs)p FA(.)43
b(This)-128 2892 y(means)20 b(that)h(for)e(most)h(modules,)f(the)h
(module)f(name)h(must)g(match)g(the)g(\002lename.)k(If)c(it)h(doesn')o
(t,)e(GHCi)i(w)o(on')o(t)e(be)h(able)g(to)h(\002nd)e(it.)-128
3041 y(There)g(is)h(one)e(e)o(xception)f(to)j(this)f(general)f(rule:)25
b(when)18 b(you)g(load)h(a)h(program)d(with)i Ft(:load)p
FA(,)f(or)h(specify)g(it)h(when)e(you)g(in)m(v)n(ok)o(e)g
Ft(ghci)p FA(,)h(you)f(can)-128 3141 y(gi)n(v)o(e)k(a)g(\002lename)f
(rather)h(than)f(a)h(module)f(name.)29 b(This)23 b(\002lename)e(is)i
(loaded)e(if)h(it)h(e)o(xists,)f(and)g(it)g(may)g(contain)f(an)o(y)g
(module)f(you)h(lik)o(e.)31 b(This)22 b(is)-128 3240
y(particularly)d(con)m(v)o(enient)e(if)k(you)e(ha)n(v)o(e)h(se)n(v)o
(eral)f Ft(Main)h FA(modules)f(in)i(the)f(same)g(directory)f(and)g(you)
h(can')o(t)f(call)i(them)e(all)i Ft(Main.hs)p FA(.)-128
3390 y(The)f(search)g(path)g(for)f(\002nding)g(source)h(\002les)h(is)g
(speci\002ed)f(with)g(the)h Ft(-i)f FA(option)f(on)h(the)g(GHCi)h
(command)d(line,)i(lik)o(e)h(so:)-128 3458 y
SDict begin H.S end
-128 3458
a -128 3458 a
SDict begin 12 H.A end
-128 3458 a -128 3458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-12) cvn H.B /DEST pdfmark end
-128 3458 a 0.95
TeXcolorgray -153 3473 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3564 25 92 v Black 0.95 TeXcolorgray -128 3564 4252 92
v Black 0.95 TeXcolorgray 4124 3564 25 92 v Black 0.95
TeXcolorgray Black -128 3537 a
SDict begin H.S end
-128 3537 a -128 3537
a
SDict begin 11 H.A end
-128 3537 a -128 3537 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-12.1) cvn H.B /DEST pdfmark end
-128 3537 a 0 0 0 TeXcolorrgb
Fo(ghci)p Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(idir1)p
Black(:...:)p 0 0 0 TeXcolorrgb -1 w(dirn)p Black 0.95
TeXcolorgray -153 3589 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3763 a FA(or)f(it)h(can)f(be)g(set)h(using)f
(the)g Ft(:set)g FA(command)e(from)i(within)g(GHCi)h(\(see)f(Section)p
1 0 0 TeXcolorrgb 2327 3764 a
SDict begin H.S end
2327 3764 a 1 0 0 TeXcolorrgb
-1 x FA(2.8.2)p 1 0 0 TeXcolorrgb 2493 3707 a
SDict begin H.R end
2493 3707
a 2493 3763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.8.2) cvn H.B /ANN pdfmark end
2493 3763 a Black FA(\))2521 3733 y Fn(4)-128
3913 y FA(One)k(consequence)d(of)i(the)g(w)o(ay)h(that)f(GHCi)h(follo)n
(ws)f(dependencies)f(to)h(\002nd)g(modules)f(to)i(load)f(is)h(that)g(e)
n(v)o(ery)e(module)g(must)h(ha)n(v)o(e)g(a)h(source)-128
4013 y(\002le.)i(The)20 b(only)f(e)o(xception)g(to)h(the)g(rule)g(is)h
(modules)e(that)i(come)e(from)g(a)i(package,)e(including)f(the)i
Ft(Prelude)g FA(and)f(standard)g(libraries)h(such)g(as)-128
4112 y Ft(IO)g FA(and)f Ft(Complex)p FA(.)24 b(If)19
b(you)g(attempt)g(to)g(load)g(a)h(module)e(for)h(which)g(GHCi)h(can')o
(t)e(\002nd)h(a)h(source)f(\002le,)h(e)n(v)o(en)e(if)i(there)f(are)g
(object)g(and)g(interf)o(ace)-128 4212 y(\002les)j(for)d(the)h(module,)
f(you')o(ll)g(get)h(an)h(error)e(message.)-128 4346 y
SDict begin H.S end
-128 4346 a -128 4346 a
SDict begin 12 H.A end
-128 4346 a -128 4346 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.2) cvn H.B /DEST pdfmark end
-128
4346 a Black 148 x Fp(2.2.2)p Black 90 w(Making)k(c)o(hang)q(es)h(and)g
(recompilation)-128 4697 y FA(If)j(you)f(mak)o(e)g(some)h(changes)e(to)
i(the)g(source)f(code)g(and)g(w)o(ant)h(GHCi)g(to)g(recompile)f(the)g
(program,)g(gi)n(v)o(e)g(the)h Ft(:reload)f FA(command.)42
b(The)-128 4797 y(program)30 b(will)h(be)h(recompiled)d(as)j(necessary)
-5 b(,)32 b(with)g(GHCi)g(doing)e(its)i(best)g(to)f(a)n(v)n(oid)g
(actually)g(recompiling)e(modules)h(if)h(their)g(e)o(xternal)-128
4896 y(dependencies)26 b(ha)n(v)o(en')o(t)g(changed.)46
b(This)28 b(is)h(the)f(same)g(mechanism)f(we)h(use)g(to)g(a)n(v)n(oid)f
(re-compiling)f(modules)h(in)h(the)f(batch)h(compilation)-128
4996 y(setting)21 b(\(see)f(Section)p 1 0 0 TeXcolorrgb
539 4997 a
SDict begin H.S end
539 4997 a 1 0 0 TeXcolorrgb -1 x FA(4.6.8)p
1 0 0 TeXcolorrgb 705 4940 a
SDict begin H.R end
705 4940 a 705 4996 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.8) cvn H.B /ANN pdfmark end
705
4996 a Black FA(\).)p Black -128 5067 1701 4 v -7 5122
a Fm(3)22 5146 y Fl(If)d(you)h(started)h(up)e(GHCi)h(from)f(the)i
(command)f(line)g(then)h(GHCi')l(s)f(current)h(directory)h(is)d(the)h
(same)g(as)f(the)h(current)h(directory)h(of)e(the)g(shell)g(from)g
(which)g(it)g(w)o(as)g(started.)23 b(If)-128 5225 y(you)18
b(started)g(GHCi)g(from)e(the)i(\223Start\224)h(menu)e(in)h(W)m(indo)n
(ws,)f(then)h(the)g(current)h(directory)g(is)e(probably)i(something)f
(lik)o(e)g Fk(C:\\DocumentsandSettings\\username)p Fl(.)-7
5283 y Fm(4)22 5307 y Fl(Note)h(that)h(in)f(GHCi,)g(and)g
Fk(--make)e Fl(mode,)i(the)g Fk(-i)f Fl(option)i(is)f(used)g(to)g
(specify)h(the)f(search)h(path)g(for)e Fj(sour)n(ce)h
Fl(\002les,)g(whereas)h(in)f(standard)h(batch-compilation)j(mode)c(the)
-128 5386 y Fk(-i)e Fl(option)h(is)f(used)g(to)h(specify)g(the)g
(search)g(path)g(for)f(interf)o(ace)j(\002les,)d(see)h(Section)p
1 0 0 TeXcolorrgb 1850 5387 a
SDict begin H.S end
1850 5387 a 1 0 0 TeXcolorrgb
-1 x Fl(4.6.3)p 1 0 0 TeXcolorrgb 1982 5341 a
SDict begin H.R end
1982 5341
a 1982 5386 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.3) cvn H.B /ANN pdfmark end
1982 5386 a Black Fl(.)p Black Black -128
6084 4252 5 v Black eop end
%%Page: 14 29
TeXDict begin 14 28 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(14)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.3) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(2.3)p
Black 108 w(Loading)28 b(compiled)g(code)-128 322 y
SDict begin H.S end
-128
322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-compiled) cvn H.B /DEST pdfmark end
-128 322 a 107
x FA(When)18 b(you)f(load)h(a)g(Hask)o(ell)g(source)f(module)g(into)h
(GHCi,)h(it)f(is)h(normally)d(con)m(v)o(erted)g(to)i(byte-code)d(and)j
(run)f(using)g(the)h(interpreter)-5 b(.)23 b(Ho)n(we)n(v)o(er)m(,)-128
529 y(interpreted)17 b(code)h(can)g(also)g(run)g(alongside)f(compiled)g
(code)h(in)g(GHCi;)i(indeed,)d(normally)g(when)h(GHCi)h(starts,)g(it)g
(loads)f(up)g(a)h(compiled)e(cop)o(y)-128 629 y(of)j(the)h
Ft(base)f FA(package,)e(which)i(contains)f(the)h Ft(Prelude)p
FA(.)-128 771 y(Why)h(should)e(we)i(w)o(ant)g(to)f(run)g(compiled)f
(code?)26 b(W)-7 b(ell,)22 b(compiled)d(code)h(is)h(roughly)d(10x)i(f)o
(aster)h(than)f(interpreted)f(code,)g(b)n(ut)i(tak)o(es)g(about)e(2x)
-128 871 y(longer)j(to)h(produce)d(\(perhaps)h(longer)h(if)h
(optimisation)e(is)j(on\).)32 b(So)22 b(it)i(pays)e(to)h(compile)f(the)
h(parts)f(of)h(a)g(program)d(that)j(aren')o(t)f(changing)e(v)o(ery)-128
970 y(often,)g(and)f(use)i(the)f(interpreter)e(for)i(the)g(code)g
(being)f(acti)n(v)o(ely)g(de)n(v)o(eloped.)-128 1113
y(When)j(loading)f(up)g(source)h(modules)f(with)h Ft(:load)p
FA(,)g(GHCi)h(normally)d(looks)h(for)h(an)o(y)f(corresponding)d
(compiled)j(object)g(\002les,)j(and)d(will)i(use)-128
1213 y(one)17 b(in)h(preference)d(to)i(interpreting)e(the)j(source)e
(if)i(possible.)24 b(F)o(or)17 b(e)o(xample,)f(suppose)g(we)i(ha)n(v)o
(e)e(a)i(4-module)d(program)g(consisting)i(of)g(modules)-128
1312 y(A,)k(B,)g(C,)g(and)e(D.)i(Modules)e(B)i(and)f(C)h(both)e(import)
h(D)g(only)-5 b(,)19 b(and)h(A)g(imports)g(both)f(B)i(&)g(C:)-128
1373 y
SDict begin H.S end
-128 1373 a -128 1373 a
SDict begin 12 H.A end
-128 1373 a -128 1373
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-13) cvn H.B /DEST pdfmark end
-128 1373 a 0.95 TeXcolorgray -153 1389 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1480 25 92 v Black 0.95 TeXcolorgray
-128 1480 4252 92 v Black 0.95 TeXcolorgray 4124 1480
25 92 v Black 0.95 TeXcolorgray Black -128 1452 a
SDict begin H.S end
-128
1452 a -128 1452 a
SDict begin 11 H.A end
-128 1452 a -128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-13.1) cvn H.B /DEST pdfmark end
-128 1452
a 0 0 0 TeXcolorrgb 269 w Fo(A)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1571 25 92 v Black 0.95
TeXcolorgray -128 1571 4252 92 v Black 0.95 TeXcolorgray
4124 1571 25 92 v Black 0.95 TeXcolorgray Black -128
1544 a
SDict begin H.S end
-128 1544 a -128 1544 a
SDict begin 11 H.A end
-128 1544 a -128 1544
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-13.2) cvn H.B /DEST pdfmark end
-128 1544 a 225 w Fo(/)44 b(\\)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1663 25 92 v Black 0.95
TeXcolorgray -128 1663 4252 92 v Black 0.95 TeXcolorgray
4124 1663 25 92 v Black 0.95 TeXcolorgray Black -128
1635 a
SDict begin H.S end
-128 1635 a -128 1635 a
SDict begin 11 H.A end
-128 1635 a -128 1635
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-13.3) cvn H.B /DEST pdfmark end
-128 1635 a 0 0 0 TeXcolorrgb 180 w Fo(B)p Black 0 0 0
TeXcolorrgb 134 w(C)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1754 25 92 v Black 0.95 TeXcolorgray
-128 1754 4252 92 v Black 0.95 TeXcolorgray 4124 1754
25 92 v Black 0.95 TeXcolorgray Black -128 1726 a
SDict begin H.S end
-128
1726 a -128 1726 a
SDict begin 11 H.A end
-128 1726 a -128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-13.4) cvn H.B /DEST pdfmark end
-128 1726
a 225 w Fo(\\)g(/)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1845 25 92 v Black 0.95 TeXcolorgray -128 1845 4252
92 v Black 0.95 TeXcolorgray 4124 1845 25 92 v Black
0.95 TeXcolorgray Black -128 1818 a
SDict begin H.S end
-128 1818 a -128
1818 a
SDict begin 11 H.A end
-128 1818 a -128 1818 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-13.5) cvn H.B /DEST pdfmark end
-128 1818 a 0 0 0 TeXcolorrgb
269 w Fo(D)p Black 0.95 TeXcolorgray -153 1870 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 2031
a FA(W)-7 b(e)22 b(can)e(compile)f(D,)h(then)g(load)g(the)g(whole)g
(program,)e(lik)o(e)i(this:)-128 2092 y
SDict begin H.S end
-128 2092 a -128
2092 a
SDict begin 12 H.A end
-128 2092 a -128 2092 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-14) cvn H.B /DEST pdfmark end
-128 2092 a 0.95 TeXcolorgray
-153 2107 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2198 25 92
v Black 0.95 TeXcolorgray -128 2198 4252 92 v Black 0.95
TeXcolorgray 4124 2198 25 92 v Black 0.95 TeXcolorgray
Black -128 2171 a
SDict begin H.S end
-128 2171 a -128 2171 a
SDict begin 11 H.A end
-128 2171 a
-128 2171 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.1) cvn H.B /DEST pdfmark end
-128 2171 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)45 b(:!)p 0 0 0 TeXcolorrgb 44 w(ghc)p Black
45 w(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb
44 w(D)p Black(.)p 0 0 0 TeXcolorrgb(hs)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2290 25 92
v Black 0.95 TeXcolorgray -128 2290 4252 92 v Black 0.95
TeXcolorgray 4124 2290 25 92 v Black 0.95 TeXcolorgray
Black -128 2262 a
SDict begin H.S end
-128 2262 a -128 2262 a
SDict begin 11 H.A end
-128 2262 a
-128 2262 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.2) cvn H.B /DEST pdfmark end
-128 2262 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(load)p Black 0 0 0
TeXcolorrgb 44 w(A)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2381 25 92 v Black 0.95 TeXcolorgray
-128 2381 4252 92 v Black 0.95 TeXcolorgray 4124 2381
25 92 v Black 0.95 TeXcolorgray Black -128 2354 a
SDict begin H.S end
-128
2354 a -128 2354 a
SDict begin 11 H.A end
-128 2354 a -128 2354 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.3) cvn H.B /DEST pdfmark end
-128 2354
a 0 0 0 TeXcolorrgb Fo(Compiling)p Black 0 0 0 TeXcolorrgb
44 w(B)p Black 717 w(\()p 0 0 0 TeXcolorrgb 45 w(B)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0
TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2472 25 92 v Black 0.95
TeXcolorgray -128 2472 4252 92 v Black 0.95 TeXcolorgray
4124 2472 25 92 v Black 0.95 TeXcolorgray Black -128
2445 a
SDict begin H.S end
-128 2445 a -128 2445 a
SDict begin 11 H.A end
-128 2445 a -128 2445
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.4) cvn H.B /DEST pdfmark end
-128 2445 a 0 0 0 TeXcolorrgb Fo(Compiling)p Black
0 0 0 TeXcolorrgb 44 w(C)p Black 717 w(\()p 0 0 0 TeXcolorrgb
45 w(C)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p
0 0 0 TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2564 25
92 v Black 0.95 TeXcolorgray -128 2564 4252 92 v Black
0.95 TeXcolorgray 4124 2564 25 92 v Black 0.95 TeXcolorgray
Black -128 2536 a
SDict begin H.S end
-128 2536 a -128 2536 a
SDict begin 11 H.A end
-128 2536 a
-128 2536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.5) cvn H.B /DEST pdfmark end
-128 2536 a 0 0 0 TeXcolorrgb Fo(Compiling)p
Black 0 0 0 TeXcolorrgb 44 w(A)p Black 717 w(\()p 0 0 0
TeXcolorrgb 45 w(A)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(interpreted)p Black
43 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2655 25 92 v Black 0.95 TeXcolorgray -128 2655 4252 92
v Black 0.95 TeXcolorgray 4124 2655 25 92 v Black 0.95
TeXcolorgray Black -128 2627 a
SDict begin H.S end
-128 2627 a -128 2627
a
SDict begin 11 H.A end
-128 2627 a -128 2627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.6) cvn H.B /DEST pdfmark end
-128 2627 a 0 0 0 TeXcolorrgb
Fo(Ok)p Black(,)p 0 0 0 TeXcolorrgb 45 w(modules)p Black
0 0 0 TeXcolorrgb 43 w(loaded)p Black -1 w(:)p 0 0 0
TeXcolorrgb 45 w(A)p Black(,)p 0 0 0 TeXcolorrgb 45 w(B)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(C)p Black(,)p 0 0 0
TeXcolorrgb 45 w(D)p Black -1 w(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2746 25 92 v Black 0.95
TeXcolorgray -128 2746 4252 92 v Black 0.95 TeXcolorgray
4124 2746 25 92 v Black 0.95 TeXcolorgray Black -128
2719 a
SDict begin H.S end
-128 2719 a -128 2719 a
SDict begin 11 H.A end
-128 2719 a -128 2719
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-14.7) cvn H.B /DEST pdfmark end
-128 2719 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0.95 TeXcolorgray -153 2771 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 2932 a FA(In)20
b(the)h(messages)f(from)f(the)i(compiler)m(,)d(we)j(see)g(that)f(there)
g(is)h(no)f(line)g(for)g Ft(D)p FA(.)g(This)h(is)g(because)f(it)h(isn')
o(t)f(necessary)f(to)i(compile)e Ft(D)p FA(,)h(because)g(the)-128
3031 y(source)g(and)g(e)n(v)o(erything)d(it)k(depends)e(on)h(is)h
(unchanged)c(since)j(the)h(last)g(compilation.)-128 3174
y(At)g(an)o(y)f(time)g(you)f(can)h(use)h(the)f(command)e
Ft(:show)49 b(modules)19 b FA(to)i(get)f(a)h(list)g(of)f(the)g(modules)
f(currently)g(loaded)g(into)h(GHCi:)-128 3235 y
SDict begin H.S end
-128
3235 a -128 3235 a
SDict begin 12 H.A end
-128 3235 a -128 3235 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-15) cvn H.B /DEST pdfmark end
-128 3235
a 0.95 TeXcolorgray -153 3250 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3342 25 92 v Black 0.95 TeXcolorgray -128 3342 4252 92
v Black 0.95 TeXcolorgray 4124 3342 25 92 v Black 0.95
TeXcolorgray Black -128 3314 a
SDict begin H.S end
-128 3314 a -128 3314
a
SDict begin 11 H.A end
-128 3314 a -128 3314 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-15.1) cvn H.B /DEST pdfmark end
-128 3314 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)44 b(:)p 0 0 0 TeXcolorrgb(show)p
Black 0 0 0 TeXcolorrgb 44 w(modules)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3433 25 92 v Black 0.95
TeXcolorgray -128 3433 4252 92 v Black 0.95 TeXcolorgray
4124 3433 25 92 v Black 0.95 TeXcolorgray Black -128
3405 a
SDict begin H.S end
-128 3405 a -128 3405 a
SDict begin 11 H.A end
-128 3405 a -128 3405
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-15.2) cvn H.B /DEST pdfmark end
-128 3405 a 0 0 0 TeXcolorrgb Fo(D)p Black 718 w(\()p
0 0 0 TeXcolorrgb 44 w(D)p Black(.)p 0 0 0 TeXcolorrgb(hs)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(D)p Black(.)p 0 0 0
TeXcolorrgb(o)p Black 45 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3524 25 92 v Black 0.95 TeXcolorgray
-128 3524 4252 92 v Black 0.95 TeXcolorgray 4124 3524
25 92 v Black 0.95 TeXcolorgray Black -128 3497 a
SDict begin H.S end
-128
3497 a -128 3497 a
SDict begin 11 H.A end
-128 3497 a -128 3497 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-15.3) cvn H.B /DEST pdfmark end
-128 3497
a 0 0 0 TeXcolorrgb Fo(C)p Black 718 w(\()p 0 0 0 TeXcolorrgb
44 w(C)p Black(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0
TeXcolorrgb 44 w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3616 25 92 v Black 0.95
TeXcolorgray -128 3616 4252 92 v Black 0.95 TeXcolorgray
4124 3616 25 92 v Black 0.95 TeXcolorgray Black -128
3588 a
SDict begin H.S end
-128 3588 a -128 3588 a
SDict begin 11 H.A end
-128 3588 a -128 3588
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-15.4) cvn H.B /DEST pdfmark end
-128 3588 a 0 0 0 TeXcolorrgb Fo(B)p Black 718 w(\()p
0 0 0 TeXcolorrgb 44 w(B)p Black(.)p 0 0 0 TeXcolorrgb(hs)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(interpreted)p Black
43 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3707 25 92 v Black 0.95 TeXcolorgray -128 3707 4252 92
v Black 0.95 TeXcolorgray 4124 3707 25 92 v Black 0.95
TeXcolorgray Black -128 3679 a
SDict begin H.S end
-128 3679 a -128 3679
a
SDict begin 11 H.A end
-128 3679 a -128 3679 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-15.5) cvn H.B /DEST pdfmark end
-128 3679 a 0 0 0 TeXcolorrgb
Fo(A)p Black 718 w(\()p 0 0 0 TeXcolorrgb 44 w(A)p Black(.)p
0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0 TeXcolorrgb 44
w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3798 25 92 v Black 0.95 TeXcolorgray
-128 3798 4252 92 v Black 0.95 TeXcolorgray 4124 3798
25 92 v Black 0.95 TeXcolorgray Black -128 3771 a
SDict begin H.S end
-128
3771 a -128 3771 a
SDict begin 11 H.A end
-128 3771 a -128 3771 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-15.6) cvn H.B /DEST pdfmark end
-128 3771
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p
0.95 TeXcolorgray -153 3823 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3984 a FA(If)28 b(we)f(no)n(w)g(modify)f(the)h
(source)g(of)g(D)g(\(or)g(pretend)f(to:)39 b(using)27
b(the)h(Unix)e(command)g Ft(touch)h FA(on)g(the)g(source)f(\002le)i(is)
h(handy)c(for)i(this\),)i(the)-128 4083 y(compiler)19
b(will)i(no)f(longer)f(be)h(able)g(to)g(use)h(the)f(object)g(\002le,)g
(because)g(it)h(might)e(be)h(out)g(of)g(date:)-128 4144
y
SDict begin H.S end
-128 4144 a -128 4144 a
SDict begin 12 H.A end
-128 4144 a -128 4144 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-16) cvn H.B /DEST pdfmark end
-128
4144 a 0.95 TeXcolorgray -153 4160 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4251 25 92 v Black 0.95 TeXcolorgray -128 4251 4252
92 v Black 0.95 TeXcolorgray 4124 4251 25 92 v Black
0.95 TeXcolorgray Black -128 4223 a
SDict begin H.S end
-128 4223 a -128
4223 a
SDict begin 11 H.A end
-128 4223 a -128 4223 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-16.1) cvn H.B /DEST pdfmark end
-128 4223 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44 b(:!)p 0 0 0
TeXcolorrgb 45 w(touch)p Black 0 0 0 TeXcolorrgb 44 w(D)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4342 25 92 v Black 0.95
TeXcolorgray -128 4342 4252 92 v Black 0.95 TeXcolorgray
4124 4342 25 92 v Black 0.95 TeXcolorgray Black -128
4315 a
SDict begin H.S end
-128 4315 a -128 4315 a
SDict begin 11 H.A end
-128 4315 a -128 4315
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-16.2) cvn H.B /DEST pdfmark end
-128 4315 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)g(:)p 0 0 0 TeXcolorrgb(reload)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4434 25 92 v Black 0.95
TeXcolorgray -128 4434 4252 92 v Black 0.95 TeXcolorgray
4124 4434 25 92 v Black 0.95 TeXcolorgray Black -128
4406 a
SDict begin H.S end
-128 4406 a -128 4406 a
SDict begin 11 H.A end
-128 4406 a -128 4406
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-16.3) cvn H.B /DEST pdfmark end
-128 4406 a 0 0 0 TeXcolorrgb Fo(Compiling)p Black
0 0 0 TeXcolorrgb 44 w(D)p Black 717 w(\()p 0 0 0 TeXcolorrgb
45 w(D)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p
0 0 0 TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4525 25
92 v Black 0.95 TeXcolorgray -128 4525 4252 92 v Black
0.95 TeXcolorgray 4124 4525 25 92 v Black 0.95 TeXcolorgray
Black -128 4497 a
SDict begin H.S end
-128 4497 a -128 4497 a
SDict begin 11 H.A end
-128 4497 a
-128 4497 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-16.4) cvn H.B /DEST pdfmark end
-128 4497 a 0 0 0 TeXcolorrgb Fo(Ok)p Black(,)p
0 0 0 TeXcolorrgb 45 w(modules)p Black 0 0 0 TeXcolorrgb
43 w(loaded)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(A)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(B)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(C)p Black(,)p 0 0 0 TeXcolorrgb 45 w(D)p
Black -1 w(.)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4616 25 92 v Black 0.95 TeXcolorgray -128 4616 4252
92 v Black 0.95 TeXcolorgray 4124 4616 25 92 v Black
0.95 TeXcolorgray Black -128 4589 a
SDict begin H.S end
-128 4589 a -128
4589 a
SDict begin 11 H.A end
-128 4589 a -128 4589 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-16.5) cvn H.B /DEST pdfmark end
-128 4589 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p 0.95 TeXcolorgray
-153 4641 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4802 a FA(Note)20 b(that)h(module)d(D)j(w)o(as)g(compiled,)d
(b)n(ut)i(in)h(this)f(instance)g(because)f(its)j(source)d(hadn')o(t)f
(really)i(changed,)e(its)j(interf)o(ace)e(remained)g(the)h(same,)-128
4901 y(and)g(the)g(recompilation)e(check)o(er)h(determined)g(that)h(A,)
g(B)h(and)f(C)h(didn')o(t)e(need)g(to)i(be)f(recompiled.)-128
5044 y(So)h(let')-5 b(s)21 b(try)f(compiling)e(one)i(of)g(the)g(other)g
(modules:)-128 5105 y
SDict begin H.S end
-128 5105 a -128 5105 a
SDict begin 12 H.A end
-128 5105
a -128 5105 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-17) cvn H.B /DEST pdfmark end
-128 5105 a 0.95 TeXcolorgray -153 5120
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5212 25 92 v Black 0.95
TeXcolorgray -128 5212 4252 92 v Black 0.95 TeXcolorgray
4124 5212 25 92 v Black 0.95 TeXcolorgray Black -128
5184 a
SDict begin H.S end
-128 5184 a -128 5184 a
SDict begin 11 H.A end
-128 5184 a -128 5184
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.1) cvn H.B /DEST pdfmark end
-128 5184 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)44 b(:!)p 0 0 0 TeXcolorrgb 45 w(ghc)p Black
44 w(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb
45 w(C)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5303 25
92 v Black 0.95 TeXcolorgray -128 5303 4252 92 v Black
0.95 TeXcolorgray 4124 5303 25 92 v Black 0.95 TeXcolorgray
Black -128 5275 a
SDict begin H.S end
-128 5275 a -128 5275 a
SDict begin 11 H.A end
-128 5275 a
-128 5275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.2) cvn H.B /DEST pdfmark end
-128 5275 a 13 x Fo(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black(>)g(:)p 0 0 0 TeXcolorrgb(load)p Black
0 0 0 TeXcolorrgb 44 w(A)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5394 25 92 v Black 0.95 TeXcolorgray
-128 5394 4252 92 v Black 0.95 TeXcolorgray 4124 5394
25 92 v Black 0.95 TeXcolorgray Black -128 5367 a
SDict begin H.S end
-128
5367 a -128 5367 a
SDict begin 11 H.A end
-128 5367 a -128 5367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.3) cvn H.B /DEST pdfmark end
-128 5367
a 0 0 0 TeXcolorrgb Fo(Compiling)p Black 0 0 0 TeXcolorrgb
44 w(D)p Black 717 w(\()p 0 0 0 TeXcolorrgb 45 w(D)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0
TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5485 25 92 v Black 0.95
TeXcolorgray -128 5485 4252 92 v Black 0.95 TeXcolorgray
4124 5485 25 92 v Black 0.95 TeXcolorgray Black -128
5458 a
SDict begin H.S end
-128 5458 a -128 5458 a
SDict begin 11 H.A end
-128 5458 a -128 5458
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.4) cvn H.B /DEST pdfmark end
-128 5458 a 0 0 0 TeXcolorrgb Fo(Compiling)p Black
0 0 0 TeXcolorrgb 44 w(B)p Black 717 w(\()p 0 0 0 TeXcolorrgb
45 w(B)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p
0 0 0 TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5577 25
92 v Black 0.95 TeXcolorgray -128 5577 4252 92 v Black
0.95 TeXcolorgray 4124 5577 25 92 v Black 0.95 TeXcolorgray
Black -128 5549 a
SDict begin H.S end
-128 5549 a -128 5549 a
SDict begin 11 H.A end
-128 5549 a
-128 5549 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.5) cvn H.B /DEST pdfmark end
-128 5549 a 0 0 0 TeXcolorrgb Fo(Compiling)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 717 w(\()p 0 0 0
TeXcolorrgb 45 w(C)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(interpreted)p Black
43 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5668 25 92 v Black 0.95 TeXcolorgray -128 5668 4252 92
v Black 0.95 TeXcolorgray 4124 5668 25 92 v Black 0.95
TeXcolorgray Black -128 5641 a
SDict begin H.S end
-128 5641 a -128 5641
a
SDict begin 11 H.A end
-128 5641 a -128 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.6) cvn H.B /DEST pdfmark end
-128 5641 a 0 0 0 TeXcolorrgb
Fo(Compiling)p Black 0 0 0 TeXcolorrgb 44 w(A)p Black
717 w(\()p 0 0 0 TeXcolorrgb 45 w(A)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0 TeXcolorrgb 45
w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5759 25 92 v Black 0.95 TeXcolorgray
-128 5759 4252 92 v Black 0.95 TeXcolorgray 4124 5759
25 92 v Black 0.95 TeXcolorgray Black -128 5732 a
SDict begin H.S end
-128
5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-17.7) cvn H.B /DEST pdfmark end
-128 5732
a 0 0 0 TeXcolorrgb Fo(Ok)p Black(,)p 0 0 0 TeXcolorrgb
45 w(modules)p Black 0 0 0 TeXcolorrgb 43 w(loaded)p
Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(A)p Black(,)p 0 0 0
TeXcolorrgb 45 w(B)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(C)p Black(,)p 0 0 0 TeXcolorrgb 45 w(D)p Black -1
w(.)p 0.95 TeXcolorgray -153 5784 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 6084 4252 5 v Black
eop end
%%Page: 15 30
TeXDict begin 15 29 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(15)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(W)-7 b(e)19
b(didn')o(t)c(get)i(the)g(compiled)f(v)o(ersion)g(of)h(C!)g(What)h
(happened?)j(W)-7 b(ell,)19 b(in)e(GHCi)h(a)g(compiled)e(module)f(may)i
(only)f(depend)f(on)i(other)f(compiled)-128 273 y(modules,)22
b(and)g(in)g(this)h(case)g(C)g(depends)e(on)h(D,)h(which)e(doesn')o(t)g
(ha)n(v)o(e)h(an)g(object)g(\002le,)h(so)g(GHCi)g(also)g(rejected)e(C')
-5 b(s)24 b(object)e(\002le.)32 b(Ok,)22 b(so)h(let')-5
b(s)-128 372 y(also)21 b(compile)e(D:)-128 437 y
SDict begin H.S end
-128
437 a -128 437 a
SDict begin 12 H.A end
-128 437 a -128 437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-18) cvn H.B /DEST pdfmark end
-128 437 a 0.95
TeXcolorgray -153 452 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
543 25 92 v Black 0.95 TeXcolorgray -128 543 4252 92
v Black 0.95 TeXcolorgray 4124 543 25 92 v Black 0.95
TeXcolorgray Black -128 516 a
SDict begin H.S end
-128 516 a -128 516 a
SDict begin 11 H.A end
-128
516 a -128 516 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-18.1) cvn H.B /DEST pdfmark end
-128 516 a 13 x Fo(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black(>)44 b(:!)p 0 0 0 TeXcolorrgb 45 w(ghc)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb
45 w(D)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 635 25
92 v Black 0.95 TeXcolorgray -128 635 4252 92 v Black
0.95 TeXcolorgray 4124 635 25 92 v Black 0.95 TeXcolorgray
Black -128 607 a
SDict begin H.S end
-128 607 a -128 607 a
SDict begin 11 H.A end
-128 607 a -128
607 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-18.2) cvn H.B /DEST pdfmark end
-128 607 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)g(:)p 0 0 0 TeXcolorrgb(reload)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 726 25 92 v Black 0.95 TeXcolorgray
-128 726 4252 92 v Black 0.95 TeXcolorgray 4124 726 25
92 v Black 0.95 TeXcolorgray Black -128 699 a
SDict begin H.S end
-128 699
a -128 699 a
SDict begin 11 H.A end
-128 699 a -128 699 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-18.3) cvn H.B /DEST pdfmark end
-128 699 a 0 0 0 TeXcolorrgb
Fo(Ok)p Black(,)p 0 0 0 TeXcolorrgb 45 w(modules)p Black
0 0 0 TeXcolorrgb 43 w(loaded)p Black -1 w(:)p 0 0 0
TeXcolorrgb 45 w(A)p Black(,)p 0 0 0 TeXcolorrgb 45 w(B)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(C)p Black(,)p 0 0 0
TeXcolorrgb 45 w(D)p Black -1 w(.)p 0.95 TeXcolorgray
-153 751 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 919 a FA(Nothing)19 b(happened!)k(Here')-5
b(s)20 b(another)f(lesson:)25 b(ne)n(wly)20 b(compiled)f(modules)g
(aren')o(t)g(pick)o(ed)g(up)h(by)g Ft(:reload)p FA(,)f(only)g
Ft(:load)p FA(:)-128 983 y
SDict begin H.S end
-128 983 a -128 983 a
SDict begin 12 H.A end
-128
983 a -128 983 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-19) cvn H.B /DEST pdfmark end
-128 983 a 0.95 TeXcolorgray -153 998
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1090 25 92 v Black 0.95
TeXcolorgray -128 1090 4252 92 v Black 0.95 TeXcolorgray
4124 1090 25 92 v Black 0.95 TeXcolorgray Black -128
1062 a
SDict begin H.S end
-128 1062 a -128 1062 a
SDict begin 11 H.A end
-128 1062 a -128 1062
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-19.1) cvn H.B /DEST pdfmark end
-128 1062 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)44 b(:)p 0 0 0 TeXcolorrgb(load)p Black 0 0 0
TeXcolorrgb 44 w(A)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1181 25 92 v Black 0.95 TeXcolorgray
-128 1181 4252 92 v Black 0.95 TeXcolorgray 4124 1181
25 92 v Black 0.95 TeXcolorgray Black -128 1153 a
SDict begin H.S end
-128
1153 a -128 1153 a
SDict begin 11 H.A end
-128 1153 a -128 1153 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-19.2) cvn H.B /DEST pdfmark end
-128 1153
a 0 0 0 TeXcolorrgb Fo(Compiling)p Black 0 0 0 TeXcolorrgb
44 w(B)p Black 717 w(\()p 0 0 0 TeXcolorrgb 45 w(B)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0
TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1272 25 92 v Black 0.95
TeXcolorgray -128 1272 4252 92 v Black 0.95 TeXcolorgray
4124 1272 25 92 v Black 0.95 TeXcolorgray Black -128
1245 a
SDict begin H.S end
-128 1245 a -128 1245 a
SDict begin 11 H.A end
-128 1245 a -128 1245
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-19.3) cvn H.B /DEST pdfmark end
-128 1245 a 0 0 0 TeXcolorrgb Fo(Compiling)p Black
0 0 0 TeXcolorrgb 44 w(A)p Black 717 w(\()p 0 0 0 TeXcolorrgb
45 w(A)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p
0 0 0 TeXcolorrgb 45 w(interpreted)p Black 43 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1363 25
92 v Black 0.95 TeXcolorgray -128 1363 4252 92 v Black
0.95 TeXcolorgray 4124 1363 25 92 v Black 0.95 TeXcolorgray
Black -128 1336 a
SDict begin H.S end
-128 1336 a -128 1336 a
SDict begin 11 H.A end
-128 1336 a
-128 1336 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-19.4) cvn H.B /DEST pdfmark end
-128 1336 a 0 0 0 TeXcolorrgb Fo(Ok)p Black(,)p
0 0 0 TeXcolorrgb 45 w(modules)p Black 0 0 0 TeXcolorrgb
43 w(loaded)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(A)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(B)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(C)p Black(,)p 0 0 0 TeXcolorrgb 45 w(D)p
Black -1 w(.)p 0.95 TeXcolorgray -153 1388 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1556 a
FA(The)24 b(automatic)e(loading)h(of)g(object)g(\002les)i(can)e
(sometimes)h(lead)f(to)h(confusion,)e(because)h(non-e)o(xported)d
(top-le)n(v)o(el)i(de\002nitions)h(of)g(a)h(module)-128
1656 y(are)f(only)g(a)n(v)n(ailable)f(for)h(use)g(in)h(e)o(xpressions)d
(at)j(the)f(prompt)f(when)g(the)h(module)f(is)i(interpreted)e(\(see)h
(Section)p 1 0 0 TeXcolorrgb 3208 1657 a
SDict begin H.S end
3208 1657 a
1 0 0 TeXcolorrgb -1 x FA(2.4.3)p 1 0 0 TeXcolorrgb 3374
1599 a
SDict begin H.R end
3374 1599 a 3374 1656 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.4.3) cvn H.B /ANN pdfmark end
3374 1656 a Black FA(\).)34
b(F)o(or)22 b(this)i(reason,)f(you)-128 1755 y(might)h(sometimes)g(w)o
(ant)h(to)f(force)f(GHCi)j(to)e(load)g(a)h(module)d(using)i(the)h
(interpreter)-5 b(.)36 b(This)24 b(can)g(be)g(done)g(by)g(pre\002xing)e
(a)3585 1770 y Ft(*)3660 1755 y FA(to)i(the)g(module)-128
1855 y(name)c(or)g(\002lename)g(when)f(using)h Ft(:load)p
FA(,)f(for)h(e)o(xample)-128 1919 y
SDict begin H.S end
-128 1919 a -128
1919 a
SDict begin 12 H.A end
-128 1919 a -128 1919 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-20) cvn H.B /DEST pdfmark end
-128 1919 a 0.95 TeXcolorgray
-153 1934 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2026 25 92
v Black 0.95 TeXcolorgray -128 2026 4252 92 v Black 0.95
TeXcolorgray 4124 2026 25 92 v Black 0.95 TeXcolorgray
Black -128 1998 a
SDict begin H.S end
-128 1998 a -128 1998 a
SDict begin 11 H.A end
-128 1998 a
-128 1998 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-20.1) cvn H.B /DEST pdfmark end
-128 1998 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(load)p Black
545 2011 a(*)p 0 0 0 TeXcolorrgb -13 x(A)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2117 25 92
v Black 0.95 TeXcolorgray -128 2117 4252 92 v Black 0.95
TeXcolorgray 4124 2117 25 92 v Black 0.95 TeXcolorgray
Black -128 2090 a
SDict begin H.S end
-128 2090 a -128 2090 a
SDict begin 11 H.A end
-128 2090 a
-128 2090 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-20.2) cvn H.B /DEST pdfmark end
-128 2090 a 0 0 0 TeXcolorrgb Fo(Compiling)p
Black 0 0 0 TeXcolorrgb 44 w(A)p Black 717 w(\()p 0 0 0
TeXcolorrgb 45 w(A)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(interpreted)p Black
43 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2208 25 92 v Black 0.95 TeXcolorgray -128 2208 4252 92
v Black 0.95 TeXcolorgray 4124 2208 25 92 v Black 0.95
TeXcolorgray Black -128 2181 a
SDict begin H.S end
-128 2181 a -128 2181
a
SDict begin 11 H.A end
-128 2181 a -128 2181 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-20.3) cvn H.B /DEST pdfmark end
-128 2181 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(A)p Black(>)p 0.95 TeXcolorgray -153
2233 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2401 a FA(When)19 b(the)211 2416 y Ft(*)281 2401
y FA(is)g(used,)g(GHCi)h(ignores)e(an)o(y)g(pre-compiled)e(object)j
(code)f(and)g(interprets)g(the)h(module.)k(If)c(you)f(ha)n(v)o(e)h
(already)f(loaded)f(a)j(number)-128 2501 y(of)j(modules)e(as)j(object)e
(code)g(and)g(decide)g(that)g(you)g(w)o(anted)g(to)h(interpret)e(one)h
(of)h(them,)f(instead)h(of)f(re-loading)e(the)j(whole)f(set)i(you)d
(can)i(use)-128 2600 y Ft(:add)122 2615 y(*)172 2600
y(M)g FA(to)g(specify)g(that)g(you)f(w)o(ant)i Ft(M)f
FA(to)g(be)h(interpreted)d(\(note)h(that)i(this)f(might)g(cause)g
(other)f(modules)g(to)i(be)f(interpreted)e(too,)j(because)-128
2700 y(compiled)19 b(modules)g(cannot)g(depend)g(on)h(interpreted)e
(ones\).)-128 2846 y(T)-7 b(o)21 b(al)o(w)o(ays)f(compile)f(e)n(v)o
(erything)e(to)j(object)g(code)f(and)g(ne)n(v)o(er)g(use)h(the)g
(interpreter)m(,)e(use)i(the)g Ft(-fobject-code)e FA(option)h(\(see)h
(Section)p 1 0 0 TeXcolorrgb 3931 2847 a
SDict begin H.S end
3931 2847 a
1 0 0 TeXcolorrgb -1 x FA(2.10)p 1 0 0 TeXcolorrgb 4076
2790 a
SDict begin H.R end
4076 2790 a 4076 2846 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.10) cvn H.B /ANN pdfmark end
4076 2846 a Black FA(\).)-128
2992 y(HINT)l(:)g(since)g(GHCi)h(will)g(only)e(use)i(a)f(compiled)f
(object)g(\002le)i(if)f(it)h(can)f(be)g(sure)f(that)i(the)f(compiled)e
(v)o(ersion)h(is)i(up-to-date,)d(a)i(good)f(technique)-128
3092 y(when)e(w)o(orking)f(on)i(a)g(lar)o(ge)e(program)g(is)i(to)g
(occasionally)e(run)h Ft(ghc)49 b(--make)17 b FA(to)h(compile)e(the)i
(whole)f(project)g(\(say)g(before)f(you)h(go)g(for)g(lunch)-128
3191 y(:-\),)26 b(then)e(continue)f(w)o(orking)f(in)j(the)g
(interpreter)-5 b(.)36 b(As)25 b(you)f(modify)f(code,)h(the)h(changed)d
(modules)i(will)h(be)f(interpreted,)g(b)n(ut)g(the)h(rest)g(of)f(the)
-128 3291 y(project)c(will)h(remain)e(compiled.)-128
3432 y
SDict begin H.S end
-128 3432 a -128 3432 a
SDict begin 12 H.A end
-128 3432 a -128 3432
a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.4) cvn H.B /DEST pdfmark end
-128 3432 a Black 178 x Fs(2.4)p Black 108 w(Interactive)28
b(e)n(v)n(aluation)g(at)i(the)f(pr)n(ompt)-128 3737 y
SDict begin H.S end
-128 3737 a -128 3737 a
SDict begin 12 H.A end
-128 3737 a -128 3737 a
SDict begin [ /View [/XYZ H.V] /Dest (interactive-evaluation) cvn H.B /DEST pdfmark end
-128
3737 a 111 x FA(When)20 b(you)g(type)f(an)i(e)o(xpression)d(at)j(the)f
(prompt,)e(GHCi)k(immediately)c(e)n(v)n(aluates)i(and)g(prints)f(the)i
(result:)-128 3913 y
SDict begin H.S end
-128 3913 a -128 3913 a
SDict begin 12 H.A end
-128 3913
a -128 3913 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-21) cvn H.B /DEST pdfmark end
-128 3913 a 0.95 TeXcolorgray -153 3928
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4019 25 92 v Black 0.95
TeXcolorgray -128 4019 4252 92 v Black 0.95 TeXcolorgray
4124 4019 25 92 v Black 0.95 TeXcolorgray Black -128
3992 a
SDict begin H.S end
-128 3992 a -128 3992 a
SDict begin 11 H.A end
-128 3992 a -128 3992
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-21.1) cvn H.B /DEST pdfmark end
-128 3992 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)p 0 0 0 TeXcolorrgb 45 w(reverse)p Black 44 w(")p
0 0 0 TeXcolorrgb -1 w(hello)p Black(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4111 25 92 v Black 0.95
TeXcolorgray -128 4111 4252 92 v Black 0.95 TeXcolorgray
4124 4111 25 92 v Black 0.95 TeXcolorgray Black -128
4083 a
SDict begin H.S end
-128 4083 a -128 4083 a
SDict begin 11 H.A end
-128 4083 a -128 4083
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-21.2) cvn H.B /DEST pdfmark end
-128 4083 a Fo(")p 0 0 0 TeXcolorrgb(olleh)p Black
-1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4202 25 92 v Black 0.95 TeXcolorgray -128 4202 4252 92
v Black 0.95 TeXcolorgray 4124 4202 25 92 v Black 0.95
TeXcolorgray Black -128 4175 a
SDict begin H.S end
-128 4175 a -128 4175
a
SDict begin 11 H.A end
-128 4175 a -128 4175 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-21.3) cvn H.B /DEST pdfmark end
-128 4175 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)45 b(5+5)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4293 25 92 v Black 0.95
TeXcolorgray -128 4293 4252 92 v Black 0.95 TeXcolorgray
4124 4293 25 92 v Black 0.95 TeXcolorgray Black -128
4266 a
SDict begin H.S end
-128 4266 a -128 4266 a
SDict begin 11 H.A end
-128 4266 a -128 4266
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-21.4) cvn H.B /DEST pdfmark end
-128 4266 a Fo(10)p 0.95 TeXcolorgray -153 4318 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 4479
a
SDict begin H.S end
-128 4479 a -128 4479 a
SDict begin 12 H.A end
-128 4479 a -128 4479 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.1) cvn H.B /DEST pdfmark end
-128
4479 a Black 138 x Fp(2.4.1)p Black 90 w(I/O)24 b(actions)g(at)h(the)f
(pr)n(ompt)-128 4817 y FA(GHCi)f(does)f(more)g(than)f(simple)h(e)o
(xpression)f(e)n(v)n(aluation)f(at)j(the)f(prompt.)29
b(If)22 b(you)f(type)g(something)g(of)h(type)g Ft(IO)49
b(a)22 b FA(for)g(some)g Ft(a)p FA(,)g(then)g(GHCi)-128
4916 y Fq(e)n(xecutes)f FA(it)g(as)g(an)f(IO-computation.)-128
4981 y
SDict begin H.S end
-128 4981 a -128 4981 a
SDict begin 12 H.A end
-128 4981 a -128 4981
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-22) cvn H.B /DEST pdfmark end
-128 4981 a 0.95 TeXcolorgray -153 4996 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5087 25 92 v Black 0.95 TeXcolorgray
-128 5087 4252 92 v Black 0.95 TeXcolorgray 4124 5087
25 92 v Black 0.95 TeXcolorgray Black -128 5060 a
SDict begin H.S end
-128
5060 a -128 5060 a
SDict begin 11 H.A end
-128 5060 a -128 5060 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-22.1) cvn H.B /DEST pdfmark end
-128 5060
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)45 b(")p
0 0 0 TeXcolorrgb(hello)p Black -1 w(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5179 25 92 v Black 0.95
TeXcolorgray -128 5179 4252 92 v Black 0.95 TeXcolorgray
4124 5179 25 92 v Black 0.95 TeXcolorgray Black -128
5151 a
SDict begin H.S end
-128 5151 a -128 5151 a
SDict begin 11 H.A end
-128 5151 a -128 5151
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-22.2) cvn H.B /DEST pdfmark end
-128 5151 a Fo(")p 0 0 0 TeXcolorrgb(hello)p Black
-1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5270 25 92 v Black 0.95 TeXcolorgray -128 5270 4252 92
v Black 0.95 TeXcolorgray 4124 5270 25 92 v Black 0.95
TeXcolorgray Black -128 5243 a
SDict begin H.S end
-128 5243 a -128 5243
a
SDict begin 11 H.A end
-128 5243 a -128 5243 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-22.3) cvn H.B /DEST pdfmark end
-128 5243 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(putStrLn)p
Black 43 w(")p 0 0 0 TeXcolorrgb(hello)p Black -1 w(")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5361 25
92 v Black 0.95 TeXcolorgray -128 5361 4252 92 v Black
0.95 TeXcolorgray 4124 5361 25 92 v Black 0.95 TeXcolorgray
Black -128 5334 a
SDict begin H.S end
-128 5334 a -128 5334 a
SDict begin 11 H.A end
-128 5334 a
-128 5334 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-22.4) cvn H.B /DEST pdfmark end
-128 5334 a 0 0 0 TeXcolorrgb Fo(hello)p
Black 0.95 TeXcolorgray -153 5386 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5554 a FA(Furthermore,)18
b(GHCi)j(will)g(print)f(the)g(result)g(of)g(the)g(I/O)h(action)e(if)i
(\(and)e(only)g(if\):)p Black -128 5759 a(\225)p Black
42 w(The)h(result)g(type)g(is)h(an)f(instance)g(of)g
Ft(Show)p FA(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 16 31
TeXDict begin 16 30 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(16)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(The)g(result)g(type)g(is)h(not)f Ft(\(\))p FA(.)-128
389 y(F)o(or)g(e)o(xample,)f(remembering)e(that)k Ft(putStrLn)48
b(::)99 b(String)49 b(->)g(IO)h(\(\))p FA(:)-128 457
y
SDict begin H.S end
-128 457 a -128 457 a
SDict begin 12 H.A end
-128 457 a -128 457 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-23) cvn H.B /DEST pdfmark end
-128 457
a 0.95 TeXcolorgray -153 472 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
563 25 92 v Black 0.95 TeXcolorgray -128 563 4252 92
v Black 0.95 TeXcolorgray 4124 563 25 92 v Black 0.95
TeXcolorgray Black -128 536 a
SDict begin H.S end
-128 536 a -128 536 a
SDict begin 11 H.A end
-128
536 a -128 536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-23.1) cvn H.B /DEST pdfmark end
-128 536 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(putStrLn)p Black
43 w(")p 0 0 0 TeXcolorrgb(hello)p Black -1 w(")p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 655 25 92 v
Black 0.95 TeXcolorgray -128 655 4252 92 v Black 0.95
TeXcolorgray 4124 655 25 92 v Black 0.95 TeXcolorgray
Black -128 627 a
SDict begin H.S end
-128 627 a -128 627 a
SDict begin 11 H.A end
-128 627 a -128
627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-23.2) cvn H.B /DEST pdfmark end
-128 627 a 0 0 0 TeXcolorrgb Fo(hello)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 746 25 92 v
Black 0.95 TeXcolorgray -128 746 4252 92 v Black 0.95
TeXcolorgray 4124 746 25 92 v Black 0.95 TeXcolorgray
Black -128 719 a
SDict begin H.S end
-128 719 a -128 719 a
SDict begin 11 H.A end
-128 719 a -128
719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-23.3) cvn H.B /DEST pdfmark end
-128 719 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black
-1 w(>)p 0 0 0 TeXcolorrgb 45 w(do)p Black 44 w({)p 0 0 0
TeXcolorrgb 45 w(putStrLn)p Black 44 w(")p 0 0 0 TeXcolorrgb
-1 w(hello)p Black(";)p 0 0 0 TeXcolorrgb 44 w(return)p
Black 44 w(")p 0 0 0 TeXcolorrgb(yes)p Black -1 w(")45
b(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
837 25 92 v Black 0.95 TeXcolorgray -128 837 4252 92
v Black 0.95 TeXcolorgray 4124 837 25 92 v Black 0.95
TeXcolorgray Black -128 810 a
SDict begin H.S end
-128 810 a -128 810 a
SDict begin 11 H.A end
-128
810 a -128 810 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-23.4) cvn H.B /DEST pdfmark end
-128 810 a 0 0 0 TeXcolorrgb Fo(hello)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
929 25 92 v Black 0.95 TeXcolorgray -128 929 4252 92
v Black 0.95 TeXcolorgray 4124 929 25 92 v Black 0.95
TeXcolorgray Black -128 901 a
SDict begin H.S end
-128 901 a -128 901 a
SDict begin 11 H.A end
-128
901 a -128 901 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-23.5) cvn H.B /DEST pdfmark end
-128 901 a Fo(")p 0 0 0 TeXcolorrgb(yes)p
Black(")p 0.95 TeXcolorgray -153 954 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1120 a
SDict begin H.S end
-128
1120 a -128 1120 a
SDict begin 12 H.A end
-128 1120 a -128 1120 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.2) cvn H.B /DEST pdfmark end
-128 1120
a Black 141 x Fp(2.4.2)p Black 90 w(Using)24 b Fi(do-)p
Fp(notation)e(at)j(the)f(pr)n(ompt)-128 1349 y
SDict begin H.S end
-128 1349
a -128 1349 a
SDict begin 12 H.A end
-128 1349 a -128 1349 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-stmts) cvn H.B /DEST pdfmark end
-128 1349 a 115
x FA(GHCi)h(actually)f(accepts)g Fq(statements)g FA(rather)f(than)h
(just)g(e)o(xpressions)f(at)i(the)f(prompt.)35 b(This)24
b(means)g(you)f(can)h(bind)f(v)n(alues)h(and)f(functions)g(to)-128
1563 y(names,)d(and)g(use)g(them)g(in)g(future)f(e)o(xpressions)g(or)h
(statements.)-128 1713 y(The)c(syntax)e(of)i(a)g(statement)f(accepted)f
(at)i(the)g(GHCi)g(prompt)e(is)j(e)o(xactly)d(the)i(same)g(as)g(the)f
(syntax)g(of)g(a)h(statement)g(in)f(a)h(Hask)o(ell)g
Ft(do)g FA(e)o(xpression.)-128 1812 y(Ho)n(we)n(v)o(er)m(,)j(there')-5
b(s)20 b(no)f(monad)g(o)o(v)o(erloading)e(here:)25 b(statements)20
b(typed)f(at)i(the)f(prompt)f(must)h(be)g(in)g(the)h
Ft(IO)f FA(monad.)-128 1880 y
SDict begin H.S end
-128 1880 a -128 1880 a
SDict begin 12 H.A end
-128 1880 a -128 1880 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-24) cvn H.B /DEST pdfmark end
-128 1880 a 0.95 TeXcolorgray
-153 1895 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1987 25 92
v Black 0.95 TeXcolorgray -128 1987 4252 92 v Black 0.95
TeXcolorgray 4124 1987 25 92 v Black 0.95 TeXcolorgray
Black -128 1959 a
SDict begin H.S end
-128 1959 a -128 1959 a
SDict begin 11 H.A end
-128 1959 a
-128 1959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-24.1) cvn H.B /DEST pdfmark end
-128 1959 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(<-)p
0 0 0 TeXcolorrgb 44 w(return)p Black 44 w(42)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2078 25 92
v Black 0.95 TeXcolorgray -128 2078 4252 92 v Black 0.95
TeXcolorgray 4124 2078 25 92 v Black 0.95 TeXcolorgray
Black -128 2051 a
SDict begin H.S end
-128 2051 a -128 2051 a
SDict begin 11 H.A end
-128 2051 a
-128 2051 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-24.2) cvn H.B /DEST pdfmark end
-128 2051 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(print)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2169 25 92 v Black 0.95 TeXcolorgray
-128 2169 4252 92 v Black 0.95 TeXcolorgray 4124 2169
25 92 v Black 0.95 TeXcolorgray Black -128 2142 a
SDict begin H.S end
-128
2142 a -128 2142 a
SDict begin 11 H.A end
-128 2142 a -128 2142 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-24.3) cvn H.B /DEST pdfmark end
-128 2142
a Fo(42)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2261 25 92 v Black 0.95 TeXcolorgray -128 2261 4252 92
v Black 0.95 TeXcolorgray 4124 2261 25 92 v Black 0.95
TeXcolorgray Black -128 2233 a
SDict begin H.S end
-128 2233 a -128 2233
a
SDict begin 11 H.A end
-128 2233 a -128 2233 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-24.4) cvn H.B /DEST pdfmark end
-128 2233 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0.95 TeXcolorgray -153 2286
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2460 a FA(The)i(statement)g Ft(x)50 b(<-)g(return)e(42)23
b FA(means)f(\223e)o(x)o(ecute)e Ft(return)49 b(42)23
b FA(in)f(the)g Ft(IO)h FA(monad,)e(and)h(bind)f(the)h(result)h(to)f
Ft(x)p FA(\224.)31 b(W)-7 b(e)24 b(can)e(then)g(use)-128
2560 y Ft(x)f FA(in)f(future)f(statements,)h(for)g(e)o(xample)f(to)h
(print)g(it)h(as)f(we)h(did)f(abo)o(v)o(e.)-128 2709
y(If)g Ft(-fprint-bind-result)e FA(is)j(set)g(then)f(GHCi)h(will)g
(print)e(the)h(result)h(of)e(a)i(statement)f(if)h(and)e(only)h(if:)p
Black -128 2925 a(\225)p Black 42 w(The)g(statement)g(is)h(not)f(a)g
(binding,)f(or)h(it)g(is)i(a)e(monadic)f(binding)f(\()p
Ft(p)50 b(<-)f(e)p FA(\))20 b(that)h(binds)e(e)o(xactly)h(one)f(v)n
(ariable.)p Black -128 3091 a(\225)p Black 42 w(The)h(v)n(ariable')-5
b(s)19 b(type)h(is)h(not)f(polymorphic,)d(is)k(not)f
Ft(\(\))p FA(,)g(and)g(is)h(an)f(instance)g(of)g Ft(Show)-128
3307 y FA(.)-128 3456 y(Of)h(course,)e(you)g(can)h(also)h(bind)e
(normal)g(non-IO)g(e)o(xpressions)f(using)i(the)g Ft(let)p
FA(-statement:)-128 3524 y
SDict begin H.S end
-128 3524 a -128 3524 a
SDict begin 12 H.A end
-128
3524 a -128 3524 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-25) cvn H.B /DEST pdfmark end
-128 3524 a 0.95 TeXcolorgray -153
3539 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3631 25 92 v Black 0.95
TeXcolorgray -128 3631 4252 92 v Black 0.95 TeXcolorgray
4124 3631 25 92 v Black 0.95 TeXcolorgray Black -128
3603 a
SDict begin H.S end
-128 3603 a -128 3603 a
SDict begin 11 H.A end
-128 3603 a -128 3603
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-25.1) cvn H.B /DEST pdfmark end
-128 3603 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(=)45 b(42)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3722 25 92 v Black 0.95 TeXcolorgray
-128 3722 4252 92 v Black 0.95 TeXcolorgray 4124 3722
25 92 v Black 0.95 TeXcolorgray Black -128 3695 a
SDict begin H.S end
-128
3695 a -128 3695 a
SDict begin 11 H.A end
-128 3695 a -128 3695 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-25.2) cvn H.B /DEST pdfmark end
-128 3695
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)p 0 0 0
TeXcolorrgb 45 w(x)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3813 25 92 v Black 0.95 TeXcolorgray
-128 3813 4252 92 v Black 0.95 TeXcolorgray 4124 3813
25 92 v Black 0.95 TeXcolorgray Black -128 3786 a
SDict begin H.S end
-128
3786 a -128 3786 a
SDict begin 11 H.A end
-128 3786 a -128 3786 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-25.3) cvn H.B /DEST pdfmark end
-128 3786
a Fo(42)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3905 25 92 v Black 0.95 TeXcolorgray -128 3905 4252 92
v Black 0.95 TeXcolorgray 4124 3905 25 92 v Black 0.95
TeXcolorgray Black -128 3877 a
SDict begin H.S end
-128 3877 a -128 3877
a
SDict begin 11 H.A end
-128 3877 a -128 3877 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-25.4) cvn H.B /DEST pdfmark end
-128 3877 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0.95 TeXcolorgray -153 3929
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
4104 a FA(Another)27 b(important)g(dif)n(ference)g(between)g(the)h(tw)o
(o)h(types)f(of)g(binding)f(is)i(that)g(the)f(monadic)f(bind)g(\()p
Ft(p)50 b(<-)f(e)p FA(\))28 b(is)i Fq(strict)h FA(\(it)e(e)n(v)n
(aluates)e Ft(e)p FA(\),)-128 4203 y(whereas)20 b(with)h(the)f
Ft(let)g FA(form,)f(the)h(e)o(xpression)f(isn')o(t)h(e)n(v)n(aluated)e
(immediately:)-128 4271 y
SDict begin H.S end
-128 4271 a -128 4271 a
SDict begin 12 H.A end
-128
4271 a -128 4271 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-26) cvn H.B /DEST pdfmark end
-128 4271 a 0.95 TeXcolorgray -153
4286 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4378 25 92 v Black 0.95
TeXcolorgray -128 4378 4252 92 v Black 0.95 TeXcolorgray
4124 4378 25 92 v Black 0.95 TeXcolorgray Black -128
4350 a
SDict begin H.S end
-128 4350 a -128 4350 a
SDict begin 11 H.A end
-128 4350 a -128 4350
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-26.1) cvn H.B /DEST pdfmark end
-128 4350 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(error)p
Black 44 w(")p 0 0 0 TeXcolorrgb -1 w(help)p Black(!")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4469 25
92 v Black 0.95 TeXcolorgray -128 4469 4252 92 v Black
0.95 TeXcolorgray 4124 4469 25 92 v Black 0.95 TeXcolorgray
Black -128 4442 a
SDict begin H.S end
-128 4442 a -128 4442 a
SDict begin 11 H.A end
-128 4442 a
-128 4442 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-26.2) cvn H.B /DEST pdfmark end
-128 4442 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(print)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4560 25 92 v Black 0.95 TeXcolorgray
-128 4560 4252 92 v Black 0.95 TeXcolorgray 4124 4560
25 92 v Black 0.95 TeXcolorgray Black -128 4533 a
SDict begin H.S end
-128
4533 a -128 4533 a
SDict begin 11 H.A end
-128 4533 a -128 4533 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-26.3) cvn H.B /DEST pdfmark end
-128 4533
a 13 x Fo(***)p 0 0 0 TeXcolorrgb 52 4533 a(Exception)p
Black -2 w(:)p 0 0 0 TeXcolorrgb 45 w(help)p Black -1
w(!)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4652 25 92 v Black 0.95 TeXcolorgray -128 4652 4252 92
v Black 0.95 TeXcolorgray 4124 4652 25 92 v Black 0.95
TeXcolorgray Black -128 4624 a
SDict begin H.S end
-128 4624 a -128 4624
a
SDict begin 11 H.A end
-128 4624 a -128 4624 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-26.4) cvn H.B /DEST pdfmark end
-128 4624 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0.95 TeXcolorgray -153 4677
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
4851 a FA(Note)j(that)f Ft(let)g FA(bindings)f(do)h(not)f
(automatically)g(print)h(the)g(v)n(alue)f(bound,)g(unlik)o(e)g(monadic)
g(bindings.)-128 5000 y(Hint:)26 b(you)19 b(can)h(also)h(use)f
Ft(let)p FA(-statements)f(to)i(de\002ne)e(functions)g(at)i(the)f
(prompt:)-128 5068 y
SDict begin H.S end
-128 5068 a -128 5068 a
SDict begin 12 H.A end
-128 5068
a -128 5068 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-27) cvn H.B /DEST pdfmark end
-128 5068 a 0.95 TeXcolorgray -153 5084
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5175 25 92 v Black 0.95
TeXcolorgray -128 5175 4252 92 v Black 0.95 TeXcolorgray
4124 5175 25 92 v Black 0.95 TeXcolorgray Black -128
5147 a
SDict begin H.S end
-128 5147 a -128 5147 a
SDict begin 11 H.A end
-128 5147 a -128 5147
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-27.1) cvn H.B /DEST pdfmark end
-128 5147 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0 TeXcolorrgb
44 w(add)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(+)p 0 0 0 TeXcolorrgb 45 w(b)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5266 25
92 v Black 0.95 TeXcolorgray -128 5266 4252 92 v Black
0.95 TeXcolorgray 4124 5266 25 92 v Black 0.95 TeXcolorgray
Black -128 5239 a
SDict begin H.S end
-128 5239 a -128 5239 a
SDict begin 11 H.A end
-128 5239 a
-128 5239 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-27.2) cvn H.B /DEST pdfmark end
-128 5239 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(add)p Black 44
w(1)45 b(2)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5357 25 92 v Black 0.95 TeXcolorgray -128 5357 4252
92 v Black 0.95 TeXcolorgray 4124 5357 25 92 v Black
0.95 TeXcolorgray Black -128 5330 a
SDict begin H.S end
-128 5330 a -128
5330 a
SDict begin 11 H.A end
-128 5330 a -128 5330 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-27.3) cvn H.B /DEST pdfmark end
-128 5330 a Fo(3)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5449 25 92
v Black 0.95 TeXcolorgray -128 5449 4252 92 v Black 0.95
TeXcolorgray 4124 5449 25 92 v Black 0.95 TeXcolorgray
Black -128 5421 a
SDict begin H.S end
-128 5421 a -128 5421 a
SDict begin 11 H.A end
-128 5421 a
-128 5421 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-27.4) cvn H.B /DEST pdfmark end
-128 5421 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0.95 TeXcolorgray -153 5474 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 5648 a
FA(Ho)n(we)n(v)o(er)m(,)28 b(this)g(quickly)f(gets)h(tedious)f(when)g
(de\002ning)f(functions)h(with)h(multiple)f(clauses,)j(or)d(groups)f
(of)i(mutually)e(recursi)n(v)o(e)h(functions,)-128 5748
y(because)20 b(the)g(complete)f(de\002nition)g(has)i(to)f(be)g(gi)n(v)o
(en)f(on)h(a)h(single)f(line,)g(using)f(e)o(xplicit)h(braces)g(and)f
(semicolons)h(instead)g(of)g(layout:)p Black -128 6084
4252 5 v Black eop end
%%Page: 17 32
TeXDict begin 17 31 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(17)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-28) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-28.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(let)p
Black 44 w({)p 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0
TeXcolorrgb 45 w(op)p Black 0 0 0 TeXcolorrgb 44 w(n)p
Black 45 w([])44 b(=)p 0 0 0 TeXcolorrgb 45 w(n)p Black
45 w(;)p 0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb
45 w(op)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 45 w(\()p
0 0 0 TeXcolorrgb(h)p Black(:)p 0 0 0 TeXcolorrgb(t)p
Black -1 w(\))h(=)p 0 0 0 TeXcolorrgb 45 w(h)p Black
44 w(`)p 0 0 0 TeXcolorrgb(op)p Black(`)p 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(op)p Black 0 0 0
TeXcolorrgb 45 w(n)p Black 0 0 0 TeXcolorrgb 44 w(t)p
Black 45 w(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-28.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(f)p Black 45 w(\(+\))f(0)h
([1..3])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
447 25 92 v Black 0.95 TeXcolorgray -128 447 4252 92
v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128
420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-28.3) cvn H.B /DEST pdfmark end
-128 420 a Fo(6)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 538 25 92 v Black 0.95 TeXcolorgray
-128 538 4252 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511
a -128 511 a
SDict begin 11 H.A end
-128 511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-28.4) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0.95 TeXcolorgray -153 563
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
738 a FA(T)-7 b(o)22 b(alle)n(viate)g(this)h(issue,)f(GHCi)h(commands)d
(can)i(be)g(split)g(o)o(v)o(er)f(multiple)g(lines,)h(by)g(wrapping)e
(them)i(in)g Ft(:{)g FA(and)f Ft(:})h FA(\(each)f(on)h(a)g(single)g
(line)-128 837 y(of)e(its)i(o)n(wn\):)-128 902 y
SDict begin H.S end
-128
902 a -128 902 a
SDict begin 12 H.A end
-128 902 a -128 902 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-29) cvn H.B /DEST pdfmark end
-128 902 a 0.95
TeXcolorgray -153 920 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1012 25 92 v Black 0.95 TeXcolorgray -128 1012 4252 92
v Black 0.95 TeXcolorgray 4124 1012 25 92 v Black 0.95
TeXcolorgray Black -128 984 a
SDict begin H.S end
-128 984 a -128 984 a
SDict begin 11 H.A end
-128
984 a -128 984 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.1) cvn H.B /DEST pdfmark end
-128 984 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)45 b(:{)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1103 25 92 v Black 0.95 TeXcolorgray -128 1103 4252
92 v Black 0.95 TeXcolorgray 4124 1103 25 92 v Black
0.95 TeXcolorgray Black -128 1076 a
SDict begin H.S end
-128 1076 a -128
1076 a
SDict begin 11 H.A end
-128 1076 a -128 1076 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.2) cvn H.B /DEST pdfmark end
-128 1076 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(|)p 0 0 0 TeXcolorrgb 45 w(let)p
Black 44 w({)p 0 0 0 TeXcolorrgb 45 w(g)p Black 0 0 0
TeXcolorrgb 45 w(op)p Black 0 0 0 TeXcolorrgb 44 w(n)p
Black 45 w([])f(=)p 0 0 0 TeXcolorrgb 45 w(n)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1194 25
92 v Black 0.95 TeXcolorgray -128 1194 4252 92 v Black
0.95 TeXcolorgray 4124 1194 25 92 v Black 0.95 TeXcolorgray
Black -128 1167 a
SDict begin H.S end
-128 1167 a -128 1167 a
SDict begin 11 H.A end
-128 1167 a
-128 1167 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.3) cvn H.B /DEST pdfmark end
-128 1167 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(|)224 b(;)p 0 0 0 TeXcolorrgb 45 w(g)p Black
0 0 0 TeXcolorrgb 45 w(op)p Black 0 0 0 TeXcolorrgb 44
w(n)p Black 45 w(\()p 0 0 0 TeXcolorrgb(h)p Black -1
w(:)p 0 0 0 TeXcolorrgb(t)p Black(\))45 b(=)p 0 0 0 TeXcolorrgb
44 w(h)p Black 45 w(`)p 0 0 0 TeXcolorrgb(op)p Black(`)p
0 0 0 TeXcolorrgb 44 w(g)p Black 0 0 0 TeXcolorrgb 45
w(op)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 0 0 0 TeXcolorrgb
45 w(t)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1286 25 92 v Black 0.95 TeXcolorgray -128 1286 4252
92 v Black 0.95 TeXcolorgray 4124 1286 25 92 v Black
0.95 TeXcolorgray Black -128 1258 a
SDict begin H.S end
-128 1258 a -128
1258 a
SDict begin 11 H.A end
-128 1258 a -128 1258 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.4) cvn H.B /DEST pdfmark end
-128 1258 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(|)224 b(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1377 25 92 v Black 0.95
TeXcolorgray -128 1377 4252 92 v Black 0.95 TeXcolorgray
4124 1377 25 92 v Black 0.95 TeXcolorgray Black -128
1350 a
SDict begin H.S end
-128 1350 a -128 1350 a
SDict begin 11 H.A end
-128 1350 a -128 1350
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.5) cvn H.B /DEST pdfmark end
-128 1350 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(|)45 b(:})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1468 25 92 v Black 0.95 TeXcolorgray -128 1468 4252
92 v Black 0.95 TeXcolorgray 4124 1468 25 92 v Black
0.95 TeXcolorgray Black -128 1441 a
SDict begin H.S end
-128 1441 a -128
1441 a
SDict begin 11 H.A end
-128 1441 a -128 1441 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.6) cvn H.B /DEST pdfmark end
-128 1441 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(g)p
Black 45 w(\()411 1454 y(*)456 1441 y(\))f(1)h([1..3])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1560 25
92 v Black 0.95 TeXcolorgray -128 1560 4252 92 v Black
0.95 TeXcolorgray 4124 1560 25 92 v Black 0.95 TeXcolorgray
Black -128 1532 a
SDict begin H.S end
-128 1532 a -128 1532 a
SDict begin 11 H.A end
-128 1532 a
-128 1532 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-29.7) cvn H.B /DEST pdfmark end
-128 1532 a Fo(6)p 0.95 TeXcolorgray -153
1585 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1759 a FA(Such)29 b(multiline)f(commands)f(can)i(be)g(used)f(with)
h(an)o(y)f(GHCi)i(command,)f(and)f(the)h(lines)g(between)f
Ft(:{)h FA(and)f Ft(:})h FA(are)g(simply)f(mer)o(ged)f(into)-128
1859 y(a)h(single)e(line)h(for)f(interpretation.)43 b(That)26
b(implies)h(that)g(each)f(such)h(group)e(must)i(form)e(a)j(single)e(v)n
(alid)h(command)d(when)i(mer)o(ged,)h(and)f(that)-128
1958 y(no)h(layout)f(rule)g(is)h(used.)45 b(The)26 b(main)g(purpose)f
(of)i(multiline)f(commands)f(is)i(not)g(to)g(replace)f(module)f
(loading)g(b)n(ut)i(to)g(mak)o(e)f(de\002nitions)g(in)-128
2058 y(.ghci-\002les)20 b(\(see)g(Section)p 1 0 0 TeXcolorrgb
647 2060 a
SDict begin H.S end
647 2060 a 1 0 0 TeXcolorrgb -2 x FA(2.9)p
1 0 0 TeXcolorrgb 751 2002 a
SDict begin H.R end
751 2002 a 751 2058 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.9) cvn H.B /ANN pdfmark end
751
2058 a Black FA(\))g(more)g(readable)f(and)g(maintainable.)-128
2207 y(An)o(y)26 b(e)o(xceptions)e(raised)i(during)f(the)h(e)n(v)n
(aluation)e(or)i(e)o(x)o(ecution)e(of)i(the)g(statement)g(are)g(caught)
f(and)h(printed)f(by)h(the)g(GHCi)h(command)d(line)-128
2307 y(interf)o(ace)c(\(for)f(more)g(information)f(on)i(e)o(xceptions,)
e(see)j(the)f(module)f Ft(Control.Exception)f FA(in)i(the)g(libraries)g
(documentation\).)-128 2456 y(Ev)o(ery)j(ne)n(w)h(binding)e(shado)n(ws)
h(an)o(y)g(e)o(xisting)g(bindings)g(of)g(the)h(same)g(name,)g
(including)e(entities)j(that)f(are)f(in)h(scope)g(in)g(the)g(current)e
(module)-128 2556 y(conte)o(xt.)-128 2705 y(W)-10 b(ARNING:)21
b(temporary)d(bindings)h(introduced)e(at)k(the)f(prompt)e(only)h(last)i
(until)f(the)g(ne)o(xt)f Ft(:load)h FA(or)g Ft(:reload)f
FA(command,)f(at)i(which)g(time)-128 2805 y(the)o(y)g(will)h(be)g
(simply)f(lost.)26 b(Ho)n(we)n(v)o(er)m(,)19 b(the)o(y)h(do)g(survi)n
(v)o(e)f(a)i(change)e(of)h(conte)o(xt)g(with)g Ft(:module)p
FA(:)25 b(the)c(temporary)d(bindings)h(just)i(mo)o(v)o(e)e(to)i(the)
-128 2905 y(ne)n(w)f(location.)-128 3054 y(HINT)l(:)g(T)-7
b(o)21 b(get)f(a)h(list)g(of)f(the)g(bindings)f(currently)f(in)j
(scope,)e(use)i(the)f Ft(:show)49 b(bindings)19 b FA(command:)-128
3122 y
SDict begin H.S end
-128 3122 a -128 3122 a
SDict begin 12 H.A end
-128 3122 a -128 3122
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-30) cvn H.B /DEST pdfmark end
-128 3122 a 0.95 TeXcolorgray -153 3137 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3228 25 92 v Black 0.95 TeXcolorgray
-128 3228 4252 92 v Black 0.95 TeXcolorgray 4124 3228
25 92 v Black 0.95 TeXcolorgray Black -128 3201 a
SDict begin H.S end
-128
3201 a -128 3201 a
SDict begin 11 H.A end
-128 3201 a -128 3201 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-30.1) cvn H.B /DEST pdfmark end
-128 3201
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)45 b(:)p
0 0 0 TeXcolorrgb(show)p Black 0 0 0 TeXcolorrgb 44 w(bindings)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3320 25 92 v Black 0.95 TeXcolorgray -128 3320 4252 92
v Black 0.95 TeXcolorgray 4124 3320 25 92 v Black 0.95
TeXcolorgray Black -128 3292 a
SDict begin H.S end
-128 3292 a -128 3292
a
SDict begin 11 H.A end
-128 3292 a -128 3292 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-30.2) cvn H.B /DEST pdfmark end
-128 3292 a 0 0 0 TeXcolorrgb
Fo(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3411 25
92 v Black 0.95 TeXcolorgray -128 3411 4252 92 v Black
0.95 TeXcolorgray 4124 3411 25 92 v Black 0.95 TeXcolorgray
Black -128 3384 a
SDict begin H.S end
-128 3384 a -128 3384 a
SDict begin 11 H.A end
-128 3384 a
-128 3384 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-30.3) cvn H.B /DEST pdfmark end
-128 3384 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0.95 TeXcolorgray -153 3436 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 3610 a
FA(HINT)l(:)20 b(if)h(you)e(turn)h(on)f(the)i Ft(+t)f
FA(option,)f(GHCi)i(will)g(sho)n(w)f(the)g(type)g(of)g(each)f(v)n
(ariable)g(bound)g(by)h(a)g(statement.)25 b(F)o(or)20
b(e)o(xample:)-128 3678 y
SDict begin H.S end
-128 3678 a -128 3678 a
SDict begin 12 H.A end
-128
3678 a -128 3678 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-31) cvn H.B /DEST pdfmark end
-128 3678 a 0.95 TeXcolorgray -153
3693 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3785 25 92 v Black 0.95
TeXcolorgray -128 3785 4252 92 v Black 0.95 TeXcolorgray
4124 3785 25 92 v Black 0.95 TeXcolorgray Black -128
3757 a
SDict begin H.S end
-128 3757 a -128 3757 a
SDict begin 11 H.A end
-128 3757 a -128 3757
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-31.1) cvn H.B /DEST pdfmark end
-128 3757 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)45 b(:)p 0 0 0 TeXcolorrgb(set)p Black 44 w(+)p 0 0 0
TeXcolorrgb(t)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3876 25 92 v Black 0.95 TeXcolorgray -128 3876 4252
92 v Black 0.95 TeXcolorgray 4124 3876 25 92 v Black
0.95 TeXcolorgray Black -128 3849 a
SDict begin H.S end
-128 3849 a -128
3849 a
SDict begin 11 H.A end
-128 3849 a -128 3849 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-31.2) cvn H.B /DEST pdfmark end
-128 3849 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(let)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p Black(:)p 0 0 0
TeXcolorrgb(xs)p Black -1 w(\))g(=)g([1..])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3967 25 92 v Black 0.95
TeXcolorgray -128 3967 4252 92 v Black 0.95 TeXcolorgray
4124 3967 25 92 v Black 0.95 TeXcolorgray Black -128
3940 a
SDict begin H.S end
-128 3940 a -128 3940 a
SDict begin 11 H.A end
-128 3940 a -128 3940
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-31.3) cvn H.B /DEST pdfmark end
-128 3940 a 0 0 0 TeXcolorrgb Fo(x)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(Integer)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4059 25 92 v Black 0.95
TeXcolorgray -128 4059 4252 92 v Black 0.95 TeXcolorgray
4124 4059 25 92 v Black 0.95 TeXcolorgray Black -128
4031 a
SDict begin H.S end
-128 4031 a -128 4031 a
SDict begin 11 H.A end
-128 4031 a -128 4031
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-31.4) cvn H.B /DEST pdfmark end
-128 4031 a 0 0 0 TeXcolorrgb Fo(xs)p Black 45 w(::)f([)p
0 0 0 TeXcolorrgb(Integer)p Black -1 w(])p 0.95 TeXcolorgray
-153 4084 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4249 a
SDict begin H.S end
-128 4249 a -128 4249 a
SDict begin 12 H.A end
-128 4249 a
-128 4249 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.3) cvn H.B /DEST pdfmark end
-128 4249 a Black 142 x Fp(2.4.3)p Black
90 w(What')-5 b(s)23 b(reall)o(y)h(in)g(scope)h(at)f(the)h(pr)n(ompt?)
-128 4479 y
SDict begin H.S end
-128 4479 a -128 4479 a
SDict begin 12 H.A end
-128 4479 a -128
4479 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-scope) cvn H.B /DEST pdfmark end
-128 4479 a 115 x FA(When)g(you)f(type)g(an)h(e)o(xpression)e
(at)i(the)g(prompt,)f(what)h(identi\002ers)f(and)g(types)h(are)f(in)h
(scope?)39 b(GHCi)25 b(pro)o(vides)e(a)i(\003e)o(xible)g(w)o(ay)f(to)h
(control)-128 4693 y(e)o(xactly)17 b(ho)n(w)h(the)g(conte)o(xt)e(for)i
(an)g(e)o(xpression)e(is)j(constructed.)j(Let')-5 b(s)19
b(start)f(with)g(the)g(simple)g(cases;)i(when)d(you)g(start)h(GHCi)h
(the)f(prompt)f(looks)-128 4793 y(lik)o(e)k(this:)-128
4844 y
SDict begin H.S end
-128 4844 a -128 4844 a
SDict begin 12 H.A end
-128 4844 a -128 4844
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-32) cvn H.B /DEST pdfmark end
-128 4844 a 0.95 TeXcolorgray -153 4876 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4967 25 92 v Black 0.95 TeXcolorgray
-128 4967 4252 92 v Black 0.95 TeXcolorgray 4124 4967
25 92 v Black 0.95 TeXcolorgray Black -128 4940 a
SDict begin H.S end
-128
4940 a -128 4940 a
SDict begin 11 H.A end
-128 4940 a -128 4940 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-32.1) cvn H.B /DEST pdfmark end
-128 4940
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)p 0.95
TeXcolorgray -153 4992 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5167 a FA(Which)i(indicates)g(that)f(e)n(v)o
(erything)f(from)g(the)i(module)e Ft(Prelude)h FA(is)i(currently)d(in)i
(scope.)32 b(If)23 b(we)g(no)n(w)f(load)h(a)g(\002le)g(into)g(GHCi,)h
(the)f(prompt)-128 5266 y(will)e(change:)-128 5334 y
SDict begin H.S end
-128 5334 a -128 5334 a
SDict begin 12 H.A end
-128 5334 a -128 5334 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-33) cvn H.B /DEST pdfmark end
-128
5334 a 0.95 TeXcolorgray -153 5349 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5441 25 92 v Black 0.95 TeXcolorgray -128 5441 4252
92 v Black 0.95 TeXcolorgray 4124 5441 25 92 v Black
0.95 TeXcolorgray Black -128 5413 a
SDict begin H.S end
-128 5413 a -128
5413 a
SDict begin 11 H.A end
-128 5413 a -128 5413 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-33.1) cvn H.B /DEST pdfmark end
-128 5413 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(load)p
Black 0 0 0 TeXcolorrgb 44 w(Main)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5532 25 92 v Black 0.95 TeXcolorgray -128 5532 4252
92 v Black 0.95 TeXcolorgray 4124 5532 25 92 v Black
0.95 TeXcolorgray Black -128 5504 a
SDict begin H.S end
-128 5504 a -128
5504 a
SDict begin 11 H.A end
-128 5504 a -128 5504 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-33.2) cvn H.B /DEST pdfmark end
-128 5504 a 0 0 0 TeXcolorrgb
Fo(Compiling)p Black 0 0 0 TeXcolorrgb 44 w(Main)p Black
582 w(\()p 0 0 0 TeXcolorrgb 45 w(Main)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5623 25 92 v Black 0.95
TeXcolorgray -128 5623 4252 92 v Black 0.95 TeXcolorgray
4124 5623 25 92 v Black 0.95 TeXcolorgray Black -128
5596 a
SDict begin H.S end
-128 5596 a -128 5596 a
SDict begin 11 H.A end
-128 5596 a -128 5596
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-33.3) cvn H.B /DEST pdfmark end
-128 5596 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0.95 TeXcolorgray -153 5648 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 6084 4252 5
v Black eop end
%%Page: 18 33
TeXDict begin 18 32 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(18)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(The)j(ne)n(w)f(prompt)g
(is)526 188 y Ft(*)576 173 y(Main)p FA(,)h(which)g(indicates)f(that)h
(we)g(are)g(typing)e(e)o(xpressions)h(in)h(the)g(conte)o(xt)e(of)i(the)
f(top-le)n(v)o(el)g(of)g(the)h Ft(Main)g FA(module.)-128
273 y(Ev)o(erything)17 b(that)j(is)h(in)e(scope)h(at)g(the)f(top-le)n
(v)o(el)f(in)i(the)g(module)e Ft(Main)i FA(we)g(just)g(loaded)e(is)j
(also)f(in)g(scope)f(at)h(the)g(prompt)e(\(probably)f(including)-128
372 y Ft(Prelude)p FA(,)j(as)h(long)e(as)i Ft(Main)f
FA(doesn')o(t)f(e)o(xplicitly)g(hide)g(it\).)-128 514
y(The)h(syntax)259 529 y Ft(*)309 514 y Fr(module)f FA(indicates)g
(that)h(it)g(is)h(the)e(full)h(top-le)n(v)o(el)e(scope)h(of)g
Fr(module)g FA(that)h(is)h(contrib)n(uting)c(to)j(the)f(scope)h(for)f
(e)o(xpressions)f(typed)-128 613 y(at)j(the)f(prompt.)k(W)m(ithout)19
b(the)773 628 y Ft(*)823 613 y FA(,)i(just)g(the)f(e)o(xports)f(of)h
(the)g(module)f(are)h(visible.)-128 754 y(W)-7 b(e')l(re)23
b(not)f(limited)g(to)g(a)g(single)g(module:)28 b(GHCi)23
b(can)f(combine)f(scopes)h(from)f(multiple)g(modules,)h(in)g(an)o(y)f
(mixture)g(of)3470 769 y Ft(*)3543 754 y FA(and)g(non-)3839
769 y Ft(*)3910 754 y FA(forms.)-128 854 y(GHCi)h(combines)d(the)h
(scopes)g(from)f(all)i(of)f(these)g(modules)f(to)h(form)g(the)g(scope)g
(that)g(is)h(in)f(ef)n(fect)g(at)h(the)f(prompt.)-128
995 y(NO)m(TE:)c(for)g(technical)f(reasons,)h(GHCi)h(can)f(only)g
(support)e(the)1742 1010 y Ft(*)1792 995 y FA(-form)h(for)h(modules)f
(that)h(are)g(interpreted.)22 b(Compiled)15 b(modules)g(and)g(package)
-128 1095 y(modules)23 b(can)g(only)f(contrib)n(ute)g(their)h(e)o
(xports)e(to)j(the)f(current)f(scope.)33 b(T)-7 b(o)24
b(ensure)e(that)h(GHCi)i(loads)e(the)g(interpreted)e(v)o(ersion)h(of)h
(a)h(module,)-128 1194 y(add)c(the)135 1209 y Ft(*)206
1194 y FA(when)f(loading)g(the)h(module,)f(e.g.)25 b
Ft(:load)1534 1209 y(*)1584 1194 y(M)p FA(.)-128 1335
y(The)20 b(scope)f(is)i(manipulated)d(using)i(the)f Ft(:module)h
FA(command.)i(F)o(or)e(e)o(xample,)e(if)i(the)g(current)f(scope)g(is)i
Ft(Prelude)p FA(,)e(then)h(we)g(can)g(bring)e(into)-128
1435 y(scope)i(the)g(e)o(xports)f(from)h(the)g(module)f
Ft(IO)h FA(lik)o(e)g(so:)-128 1494 y
SDict begin H.S end
-128 1494 a -128
1494 a
SDict begin 12 H.A end
-128 1494 a -128 1494 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-34) cvn H.B /DEST pdfmark end
-128 1494 a 0.95 TeXcolorgray
-153 1510 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1601 25 92
v Black 0.95 TeXcolorgray -128 1601 4252 92 v Black 0.95
TeXcolorgray 4124 1601 25 92 v Black 0.95 TeXcolorgray
Black -128 1574 a
SDict begin H.S end
-128 1574 a -128 1574 a
SDict begin 11 H.A end
-128 1574 a
-128 1574 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-34.1) cvn H.B /DEST pdfmark end
-128 1574 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(module)p Black
44 w(+)p 0 0 0 TeXcolorrgb -1 w(IO)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1692 25 92 v Black 0.95
TeXcolorgray -128 1692 4252 92 v Black 0.95 TeXcolorgray
4124 1692 25 92 v Black 0.95 TeXcolorgray Black -128
1665 a
SDict begin H.S end
-128 1665 a -128 1665 a
SDict begin 11 H.A end
-128 1665 a -128 1665
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-34.2) cvn H.B /DEST pdfmark end
-128 1665 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black 0 0 0
TeXcolorrgb 44 w(IO)p Black(>)p 0 0 0 TeXcolorrgb 44
w(hPutStrLn)p Black 0 0 0 TeXcolorrgb 44 w(stdout)p Black
44 w(")p 0 0 0 TeXcolorrgb -1 w(hello)p Black(\\)p 0 0 0
TeXcolorrgb -1 w(n)p Black(")p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1784 25 92 v Black 0.95 TeXcolorgray
-128 1784 4252 92 v Black 0.95 TeXcolorgray 4124 1784
25 92 v Black 0.95 TeXcolorgray Black -128 1756 a
SDict begin H.S end
-128
1756 a -128 1756 a
SDict begin 11 H.A end
-128 1756 a -128 1756 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-34.3) cvn H.B /DEST pdfmark end
-128 1756
a 0 0 0 TeXcolorrgb Fo(hello)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1875 25 92 v Black 0.95
TeXcolorgray -128 1875 4252 92 v Black 0.95 TeXcolorgray
4124 1875 25 92 v Black 0.95 TeXcolorgray Black -128
1847 a
SDict begin H.S end
-128 1847 a -128 1847 a
SDict begin 11 H.A end
-128 1847 a -128 1847
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-34.4) cvn H.B /DEST pdfmark end
-128 1847 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black 0 0 0
TeXcolorrgb 44 w(IO)p Black(>)p 0.95 TeXcolorgray -153
1900 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2057 a FA(\(Note:)25 b(you)19 b(can)h(use)g Ft(import)49
b(M)20 b FA(as)h(an)f(alternati)n(v)o(e)e(to)i Ft(:module)49
b(+M)p FA(,)20 b(and)f Ft(:module)g FA(can)h(also)g(be)g(shortened)e
(to)j Ft(:m)p FA(\).)j(The)c(full)g(syntax)-128 2157
y(of)g(the)h Ft(:module)e FA(command)f(is:)-128 2200
y
SDict begin H.S end
-128 2200 a -128 2200 a
SDict begin 12 H.A end
-128 2200 a -128 2200 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-35) cvn H.B /DEST pdfmark end
-128
2200 a 0.95 TeXcolorgray -153 2232 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2323 25 92 v Black 0.95 TeXcolorgray -128 2323 4252
92 v Black 0.95 TeXcolorgray 4124 2323 25 92 v Black
0.95 TeXcolorgray Black -128 2296 a
SDict begin H.S end
-128 2296 a -128
2296 a
SDict begin 11 H.A end
-128 2296 a -128 2296 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-35.1) cvn H.B /DEST pdfmark end
-128 2296 a Fo(:)p 0 0 0
TeXcolorrgb(module)p Black 44 w(+|-)410 2309 y(*)p 0 0 0
TeXcolorrgb -13 x(mod1)p Black 44 w(...)859 2309 y(*)p
0 0 0 TeXcolorrgb -13 x(modn)p Black 0.95 TeXcolorgray
-153 2348 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2506 a FA(Using)26 b(the)f Ft(+)h FA(form)e(of)h(the)g
Ft(module)g FA(commands)e(adds)i(modules)f(to)i(the)f(current)f(scope,)
i(and)f Ft(-)g FA(remo)o(v)o(es)f(them.)40 b(W)m(ithout)24
b(either)h Ft(+)h FA(or)f Ft(-)p FA(,)-128 2605 y(the)c(current)f
(scope)g(is)i(replaced)e(by)g(the)h(set)g(of)g(modules)f(speci\002ed.)
26 b(Note)21 b(that)g(if)g(you)f(use)h(this)g(form)f(and)g(lea)n(v)o(e)
h(out)g Ft(Prelude)p FA(,)f(GHCi)h(will)-128 2705 y(assume)h(that)h
(you)e(really)g(w)o(anted)h(the)g Ft(Prelude)f FA(and)g(add)h(it)h(in)f
(for)f(you)g(\(if)h(you)f(don')o(t)g(w)o(ant)h(the)g
Ft(Prelude)p FA(,)f(then)h(ask)g(to)g(remo)o(v)o(e)e(it)j(with)-128
2804 y Ft(:m)50 b(-Prelude)p FA(\).)-128 2946 y(The)19
b(scope)f(is)h(automatically)e(set)j(after)e(a)h Ft(:load)f
FA(command,)f(to)i(the)f(most)h(recently)e(loaded)h("tar)o(get")f
(module,)h(in)g(a)3364 2961 y Ft(*)3414 2946 y FA(-form)f(if)i
(possible.)24 b(F)o(or)-128 3045 y(e)o(xample,)c(if)h(you)f(say)h
Ft(:load)49 b(foo.hs)f(bar.hs)21 b FA(and)f Ft(bar.hs)g
FA(contains)g(module)g Ft(Bar)p FA(,)h(then)f(the)h(scope)f(will)i(be)f
(set)g(to)3682 3060 y Ft(*)3732 3045 y(Bar)g FA(if)g
Ft(Bar)-128 3145 y FA(is)h(interpreted,)c(or)j(if)f Ft(Bar)h
FA(is)g(compiled)e(it)j(will)f(be)f(set)i(to)e Ft(Prelude)49
b(Bar)20 b FA(\(GHCi)h(automatically)e(adds)i Ft(Prelude)e
FA(if)i(it)h(isn')o(t)e(present)g(and)-128 3244 y(there)g(aren')o(t)f
(an)o(y)411 3259 y Ft(*)461 3244 y FA(-form)g(modules\).)-128
3385 y(W)m(ith)j(multiple)f(modules)f(in)i(scope,)f(especially)g
(multiple)1631 3400 y Ft(*)1681 3385 y FA(-form)f(modules,)g(it)i(is)h
(lik)o(ely)e(that)h(name)f(clashes)g(will)i(occur)-5
b(.)28 b(Hask)o(ell)21 b(speci\002es)-128 3485 y(that)k(name)e(clashes)
h(are)g(only)f(reported)f(when)i(an)g(ambiguous)e(identi\002er)h(is)i
(used,)f(and)g(GHCi)h(beha)n(v)o(es)e(in)h(the)g(same)g(w)o(ay)g(for)f
(e)o(xpressions)-128 3585 y(typed)d(at)g(the)h(prompt.)-128
3726 y(Hint:)27 b(GHCi)22 b(will)f(tab-complete)e(names)h(that)h(are)g
(in)g(scope;)f(for)g(e)o(xample,)g(if)h(you)e(run)h(GHCi)i(and)e(type)g
Ft(J)h FA(then)f(GHCi)h(will)h(e)o(xpand)-128 3825
y(it)f(to)g(\223)p Ft(Just)49 b FA(\224.)-128 3939 y
SDict begin H.S end
-128 3939 a -128 3939 a
SDict begin 12 H.A end
-128 3939 a -128 3939 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.4.3.1) cvn H.B /DEST pdfmark end
-128
3939 a Black 140 x Fx(2.4.3.1)p Black 73 w Fh(:module)19
b Fx(and)h Fh(:load)-128 4274 y FA(It)i(might)f(seem)g(that)h
Ft(:module)e FA(and)h Ft(:load)g FA(do)g(similar)h(things:)27
b(you)20 b(can)h(use)h(both)e(to)i(bring)e(a)i(module)e(into)h(scope.)
28 b(Ho)n(we)n(v)o(er)m(,)19 b(there)i(is)i(a)-128 4373
y(clear)e(dif)n(ference.)h(GHCi)f(is)h(concerned)c(with)i(tw)o(o)g
(sets)i(of)e(modules:)p Black -128 4564 a(\225)p Black
42 w(The)g(set)h(of)f(modules)f(that)h(are)g(currently)f
Fq(loaded)p FA(.)k(This)e(set)g(is)g(modi\002ed)e(by)g
Ft(:load)p FA(,)h Ft(:add)g FA(and)g Ft(:reload)p FA(.)p
Black -128 4722 a(\225)p Black 42 w(The)f(set)h(of)g(modules)e(that)h
(are)h(currently)e Fq(in)h(scope)g FA(at)h(the)g(prompt.)j(This)c(set)i
(is)f(modi\002ed)e(by)h Ft(:module)p FA(,)g(and)g(it)h(is)g(also)g(set)
g(automatically)-57 4821 y(after)g Ft(:load)p FA(,)f
Ft(:add)p FA(,)h(and)g Ft(:reload)p FA(.)-128 5012 y(Y)-9
b(ou)20 b(cannot)e(add)i(a)g(module)e(to)i(the)g(scope)f(if)i(it)f(is)h
(not)e(loaded.)24 b(This)c(is)h(why)e(trying)f(to)i(use)g
Ft(:module)f FA(to)h(load)g(a)g(ne)n(w)f(module)g(results)h(in)g(the)
-128 5112 y(message)g(\223)p Ft(module)49 b(M)h(is)f(not)g(loaded)p
FA(\224.)-128 5242 y
SDict begin H.S end
-128 5242 a -128 5242 a
SDict begin 12 H.A end
-128 5242
a -128 5242 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.4.3.2) cvn H.B /DEST pdfmark end
-128 5242 a Black 124 x Fx(2.4.3.2)p Black
73 w(Quali\002ed)18 b(names)-128 5449 y
SDict begin H.S end
-128 5449 a -128
5449 a
SDict begin 12 H.A end
-128 5449 a -128 5449 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-import-qualified) cvn H.B /DEST pdfmark end
-128 5449 a 111 x FA(T)-7
b(o)30 b(mak)o(e)f(life)g(slightly)g(easier)m(,)i(the)e(GHCi)h(prompt)e
(also)h(beha)n(v)o(es)g(as)h(if)f(there)g(is)h(an)f(implicit)g
Ft(import)49 b(qualified)28 b FA(declaration)g(for)-128
5660 y(e)n(v)o(ery)e(module)g(in)h(e)n(v)o(ery)e(package,)i(and)f(e)n
(v)o(ery)g(module)g(currently)f(loaded)h(into)g(GHCi.)46
b(This)27 b(beha)n(viour)e(can)i(be)g(disabled)f(with)h(the)g(\003ag)
-128 5759 y Ft(-fno-implicit-import-qualified)p FA(.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 19 34
TeXDict begin 19 33 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(19)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.4.3.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(2.4.3.3)p
Black 73 w(The)f Fh(:main)h Fx(and)g Fh(:run)g Fx(commands)-128
372 y FA(When)i(a)f(program)e(is)j(compiled)e(and)h(e)o(x)o(ecuted,)e
(it)j(can)f(use)h(the)f Ft(getArgs)g FA(function)e(to)j(access)f(the)h
(command-line)c(ar)o(guments.)26 b(Ho)n(we)n(v)o(er)m(,)-128
472 y(we)f(cannot)e(simply)g(pass)h(the)g(ar)o(guments)e(to)i(the)g
Ft(main)g FA(function)e(while)i(we)g(are)g(testing)g(in)g(ghci,)g(as)h
(the)f Ft(main)f FA(function)g(doesn')o(t)f(tak)o(e)i(its)-128
571 y(directly)-5 b(.)-128 717 y(Instead,)22 b(we)h(can)f(use)g(the)g
Ft(:main)g FA(command.)29 b(This)22 b(runs)g(whate)n(v)o(er)f
Ft(main)h FA(is)h(in)f(scope,)g(with)g(an)o(y)g(ar)o(guments)e(being)h
(treated)h(the)g(same)g(as)-128 816 y(command-line)c(ar)o(guments,)g
(e.g.:)-128 880 y
SDict begin H.S end
-128 880 a -128 880 a
SDict begin 12 H.A end
-128 880 a -128
880 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-36) cvn H.B /DEST pdfmark end
-128 880 a 0.95 TeXcolorgray -153 895 4302 25 v
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 987 25 92 v Black 0.95 TeXcolorgray
-128 987 4252 92 v Black 0.95 TeXcolorgray 4124 987 25
92 v Black 0.95 TeXcolorgray Black -128 959 a
SDict begin H.S end
-128 959
a -128 959 a
SDict begin 11 H.A end
-128 959 a -128 959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-36.1) cvn H.B /DEST pdfmark end
-128 959 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(let)p
Black 0 0 0 TeXcolorrgb 44 w(main)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Environment)
p Black -2 w(.)p 0 0 0 TeXcolorrgb(getArgs)p Black 44
w(>>=)p 0 0 0 TeXcolorrgb 44 w(print)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1078 25 92 v Black 0.95
TeXcolorgray -128 1078 4252 92 v Black 0.95 TeXcolorgray
4124 1078 25 92 v Black 0.95 TeXcolorgray Black -128
1051 a
SDict begin H.S end
-128 1051 a -128 1051 a
SDict begin 11 H.A end
-128 1051 a -128 1051
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-36.2) cvn H.B /DEST pdfmark end
-128 1051 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)45 b(:)p 0 0 0 TeXcolorrgb(main)p Black 0 0 0 TeXcolorrgb
44 w(foo)p Black 0 0 0 TeXcolorrgb 44 w(bar)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1169 25 92
v Black 0.95 TeXcolorgray -128 1169 4252 92 v Black 0.95
TeXcolorgray 4124 1169 25 92 v Black 0.95 TeXcolorgray
Black -128 1142 a
SDict begin H.S end
-128 1142 a -128 1142 a
SDict begin 11 H.A end
-128 1142 a
-128 1142 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-36.3) cvn H.B /DEST pdfmark end
-128 1142 a Fo([")p 0 0 0 TeXcolorrgb(foo)p
Black(",")p 0 0 0 TeXcolorrgb -1 w(bar)p Black("])p 0.95
TeXcolorgray -153 1194 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1360 a FA(W)-7 b(e)23 b(can)f(also)g(quote)f(ar)
o(guments)e(which)j(contains)f(characters)f(lik)o(e)i(spaces,)g(and)g
(the)o(y)f(are)g(treated)g(lik)o(e)h(Hask)o(ell)h(strings,)e(or)h(we)g
(can)f(just)i(use)-128 1460 y(Hask)o(ell)e(list)g(syntax:)-128
1524 y
SDict begin H.S end
-128 1524 a -128 1524 a
SDict begin 12 H.A end
-128 1524 a -128 1524
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-37) cvn H.B /DEST pdfmark end
-128 1524 a 0.95 TeXcolorgray -153 1539 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1630 25 92 v Black 0.95 TeXcolorgray
-128 1630 4252 92 v Black 0.95 TeXcolorgray 4124 1630
25 92 v Black 0.95 TeXcolorgray Black -128 1603 a
SDict begin H.S end
-128
1603 a -128 1603 a
SDict begin 11 H.A end
-128 1603 a -128 1603 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-37.1) cvn H.B /DEST pdfmark end
-128 1603
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)45 b(:)p
0 0 0 TeXcolorrgb(main)p Black 0 0 0 TeXcolorrgb 44 w(foo)p
Black 44 w(")p 0 0 0 TeXcolorrgb(bar)p Black 0 0 0 TeXcolorrgb
44 w(baz)p Black(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1722 25 92 v Black 0.95 TeXcolorgray -128 1722 4252
92 v Black 0.95 TeXcolorgray 4124 1722 25 92 v Black
0.95 TeXcolorgray Black -128 1694 a
SDict begin H.S end
-128 1694 a -128
1694 a
SDict begin 11 H.A end
-128 1694 a -128 1694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-37.2) cvn H.B /DEST pdfmark end
-128 1694 a Fo([")p 0 0 0
TeXcolorrgb(foo)p Black(",")p 0 0 0 TeXcolorrgb -1 w(bar)p
Black 0 0 0 TeXcolorrgb 44 w(baz)p Black("])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1813 25 92 v Black 0.95
TeXcolorgray -128 1813 4252 92 v Black 0.95 TeXcolorgray
4124 1813 25 92 v Black 0.95 TeXcolorgray Black -128
1786 a
SDict begin H.S end
-128 1786 a -128 1786 a
SDict begin 11 H.A end
-128 1786 a -128 1786
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-37.3) cvn H.B /DEST pdfmark end
-128 1786 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)g(:)p 0 0 0 TeXcolorrgb(main)p Black 44 w([")p 0 0 0
TeXcolorrgb(foo)p Black -1 w(",)g(")p 0 0 0 TeXcolorrgb
-1 w(bar)p Black 0 0 0 TeXcolorrgb 45 w(baz)p Black -1
w("])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1904 25 92 v Black 0.95 TeXcolorgray -128 1904 4252 92
v Black 0.95 TeXcolorgray 4124 1904 25 92 v Black 0.95
TeXcolorgray Black -128 1877 a
SDict begin H.S end
-128 1877 a -128 1877
a
SDict begin 11 H.A end
-128 1877 a -128 1877 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-37.4) cvn H.B /DEST pdfmark end
-128 1877 a Fo([")p 0 0 0 TeXcolorrgb(foo)p
Black(",")p 0 0 0 TeXcolorrgb -1 w(bar)p Black 0 0 0
TeXcolorrgb 44 w(baz)p Black("])p 0.95 TeXcolorgray -153
1929 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2095 a FA(Finally)-5 b(,)20 b(other)f(functions)g(can)h(be)g
(called,)g(either)g(with)g(the)g Ft(-main-is)f FA(\003ag)i(or)f(the)g
Ft(:run)g FA(command:)-128 2159 y
SDict begin H.S end
-128 2159 a -128 2159
a
SDict begin 12 H.A end
-128 2159 a -128 2159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-38) cvn H.B /DEST pdfmark end
-128 2159 a 0.95 TeXcolorgray
-153 2174 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2266 25 92
v Black 0.95 TeXcolorgray -128 2266 4252 92 v Black 0.95
TeXcolorgray 4124 2266 25 92 v Black 0.95 TeXcolorgray
Black -128 2238 a
SDict begin H.S end
-128 2238 a -128 2238 a
SDict begin 11 H.A end
-128 2238 a
-128 2238 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.1) cvn H.B /DEST pdfmark end
-128 2238 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0
TeXcolorrgb 44 w(foo)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(putStrLn)p Black 44 w(")p 0 0 0 TeXcolorrgb(foo)p
Black -1 w(")45 b(>>)p 0 0 0 TeXcolorrgb 44 w(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(Environment)p Black
-2 w(.)p 0 0 0 TeXcolorrgb(getArgs)p Black 44 w(>>=)p
0 0 0 TeXcolorrgb 44 w(print)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2357 25 92 v Black 0.95
TeXcolorgray -128 2357 4252 92 v Black 0.95 TeXcolorgray
4124 2357 25 92 v Black 0.95 TeXcolorgray Black -128
2330 a
SDict begin H.S end
-128 2330 a -128 2330 a
SDict begin 11 H.A end
-128 2330 a -128 2330
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.2) cvn H.B /DEST pdfmark end
-128 2330 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0 TeXcolorrgb
44 w(bar)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(putStrLn)p
Black 44 w(")p 0 0 0 TeXcolorrgb(bar)p Black -1 w(")g(>>)p
0 0 0 TeXcolorrgb 44 w(System)p Black -1 w(.)p 0 0 0
TeXcolorrgb(Environment)p Black -2 w(.)p 0 0 0 TeXcolorrgb(getArgs)p
Black 44 w(>>=)p 0 0 0 TeXcolorrgb 44 w(print)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2448 25
92 v Black 0.95 TeXcolorgray -128 2448 4252 92 v Black
0.95 TeXcolorgray 4124 2448 25 92 v Black 0.95 TeXcolorgray
Black -128 2421 a
SDict begin H.S end
-128 2421 a -128 2421 a
SDict begin 11 H.A end
-128 2421 a
-128 2421 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.3) cvn H.B /DEST pdfmark end
-128 2421 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(set)p Black 44 w(-)p
0 0 0 TeXcolorrgb(main)p Black -1 w(-)p 0 0 0 TeXcolorrgb(is)p
Black 0 0 0 TeXcolorrgb 45 w(foo)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2540 25 92 v Black 0.95
TeXcolorgray -128 2540 4252 92 v Black 0.95 TeXcolorgray
4124 2540 25 92 v Black 0.95 TeXcolorgray Black -128
2512 a
SDict begin H.S end
-128 2512 a -128 2512 a
SDict begin 11 H.A end
-128 2512 a -128 2512
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.4) cvn H.B /DEST pdfmark end
-128 2512 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1
w(>)g(:)p 0 0 0 TeXcolorrgb(main)p Black 0 0 0 TeXcolorrgb
44 w(foo)p Black 44 w(")p 0 0 0 TeXcolorrgb(bar)p Black
0 0 0 TeXcolorrgb 44 w(baz)p Black(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2631 25 92 v Black 0.95
TeXcolorgray -128 2631 4252 92 v Black 0.95 TeXcolorgray
4124 2631 25 92 v Black 0.95 TeXcolorgray Black -128
2604 a
SDict begin H.S end
-128 2604 a -128 2604 a
SDict begin 11 H.A end
-128 2604 a -128 2604
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.5) cvn H.B /DEST pdfmark end
-128 2604 a 0 0 0 TeXcolorrgb Fo(foo)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2722 25 92 v Black 0.95
TeXcolorgray -128 2722 4252 92 v Black 0.95 TeXcolorgray
4124 2722 25 92 v Black 0.95 TeXcolorgray Black -128
2695 a
SDict begin H.S end
-128 2695 a -128 2695 a
SDict begin 11 H.A end
-128 2695 a -128 2695
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.6) cvn H.B /DEST pdfmark end
-128 2695 a Fo([")p 0 0 0 TeXcolorrgb(foo)p Black(",")p
0 0 0 TeXcolorrgb -1 w(bar)p Black 0 0 0 TeXcolorrgb
44 w(baz)p Black("])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2814 25 92 v Black 0.95 TeXcolorgray -128 2814 4252
92 v Black 0.95 TeXcolorgray 4124 2814 25 92 v Black
0.95 TeXcolorgray Black -128 2786 a
SDict begin H.S end
-128 2786 a -128
2786 a
SDict begin 11 H.A end
-128 2786 a -128 2786 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.7) cvn H.B /DEST pdfmark end
-128 2786 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(run)p
Black 0 0 0 TeXcolorrgb 44 w(bar)p Black 44 w([")p 0 0 0
TeXcolorrgb(foo)p Black(",)f(")p 0 0 0 TeXcolorrgb(bar)p
Black 0 0 0 TeXcolorrgb 44 w(baz)p Black("])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2905 25 92 v Black 0.95
TeXcolorgray -128 2905 4252 92 v Black 0.95 TeXcolorgray
4124 2905 25 92 v Black 0.95 TeXcolorgray Black -128
2878 a
SDict begin H.S end
-128 2878 a -128 2878 a
SDict begin 11 H.A end
-128 2878 a -128 2878
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.8) cvn H.B /DEST pdfmark end
-128 2878 a 0 0 0 TeXcolorrgb Fo(bar)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2996 25 92 v Black 0.95
TeXcolorgray -128 2996 4252 92 v Black 0.95 TeXcolorgray
4124 2996 25 92 v Black 0.95 TeXcolorgray Black -128
2969 a
SDict begin H.S end
-128 2969 a -128 2969 a
SDict begin 11 H.A end
-128 2969 a -128 2969
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-38.9) cvn H.B /DEST pdfmark end
-128 2969 a Fo([")p 0 0 0 TeXcolorrgb(foo)p Black(",")p
0 0 0 TeXcolorrgb -1 w(bar)p Black 0 0 0 TeXcolorrgb
44 w(baz)p Black("])p 0.95 TeXcolorgray -153 3021 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 3181
a
SDict begin H.S end
-128 3181 a -128 3181 a
SDict begin 12 H.A end
-128 3181 a -128 3181 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.4) cvn H.B /DEST pdfmark end
-128
3181 a Black 137 x Fp(2.4.4)p Black 90 w(The)24 b Fi(it)g
Fp(v)n(ariab)o(le)-128 3517 y FA(Whene)n(v)o(er)18 b(an)h(e)o
(xpression)e(\(or)i(a)g(non-binding)d(statement,)j(to)g(be)g(precise\))
f(is)i(typed)e(at)i(the)f(prompt,)e(GHCi)j(implicitly)f(binds)f(its)i
(v)n(alue)f(to)g(the)-128 3617 y(v)n(ariable)h Ft(it)p
FA(.)25 b(F)o(or)19 b(e)o(xample:)-128 3681 y
SDict begin H.S end
-128 3681
a -128 3681 a
SDict begin 12 H.A end
-128 3681 a -128 3681 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-39) cvn H.B /DEST pdfmark end
-128 3681 a 0.95
TeXcolorgray -153 3696 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3787 25 92 v Black 0.95 TeXcolorgray -128 3787 4252 92
v Black 0.95 TeXcolorgray 4124 3787 25 92 v Black 0.95
TeXcolorgray Black -128 3760 a
SDict begin H.S end
-128 3760 a -128 3760
a
SDict begin 11 H.A end
-128 3760 a -128 3760 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-39.1) cvn H.B /DEST pdfmark end
-128 3760 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)45 b(1+2)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3879 25 92 v Black 0.95
TeXcolorgray -128 3879 4252 92 v Black 0.95 TeXcolorgray
4124 3879 25 92 v Black 0.95 TeXcolorgray Black -128
3851 a
SDict begin H.S end
-128 3851 a -128 3851 a
SDict begin 11 H.A end
-128 3851 a -128 3851
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-39.2) cvn H.B /DEST pdfmark end
-128 3851 a Fo(3)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3970 25 92 v Black 0.95 TeXcolorgray -128 3970 4252
92 v Black 0.95 TeXcolorgray 4124 3970 25 92 v Black
0.95 TeXcolorgray Black -128 3942 a
SDict begin H.S end
-128 3942 a -128
3942 a
SDict begin 11 H.A end
-128 3942 a -128 3942 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-39.3) cvn H.B /DEST pdfmark end
-128 3942 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(it)p
Black 410 3955 a(*)500 3942 y(2)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4061 25 92 v Black 0.95 TeXcolorgray
-128 4061 4252 92 v Black 0.95 TeXcolorgray 4124 4061
25 92 v Black 0.95 TeXcolorgray Black -128 4034 a
SDict begin H.S end
-128
4034 a -128 4034 a
SDict begin 11 H.A end
-128 4034 a -128 4034 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-39.4) cvn H.B /DEST pdfmark end
-128 4034
a Fo(6)p 0.95 TeXcolorgray -153 4086 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4252 a FA(What)20
b(actually)e(happens)g(is)h(that)h(GHCi)f(typechecks)f(the)h(e)o
(xpression,)e(and)h(if)i(it)f(doesn')o(t)f(ha)n(v)o(e)g(an)h
Ft(IO)g FA(type,)f(then)h(it)g(transforms)f(it)i(as)f(follo)n(ws:)-128
4352 y(an)i(e)o(xpression)d Fr(e)j FA(turns)f(into)-128
4416 y
SDict begin H.S end
-128 4416 a -128 4416 a
SDict begin 12 H.A end
-128 4416 a -128 4416
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-40) cvn H.B /DEST pdfmark end
-128 4416 a 0.95 TeXcolorgray -153 4431 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4522 25 92 v Black 0.95 TeXcolorgray
-128 4522 4252 92 v Black 0.95 TeXcolorgray 4124 4522
25 92 v Black 0.95 TeXcolorgray Black -128 4495 a
SDict begin H.S end
-128
4495 a -128 4495 a
SDict begin 11 H.A end
-128 4495 a -128 4495 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-40.1) cvn H.B /DEST pdfmark end
-128 4495
a 0 0 0 TeXcolorrgb Fo(let)p Black 0 0 0 TeXcolorrgb
45 w(it)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(e)p Black(;)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4613 25
92 v Black 0.95 TeXcolorgray -128 4613 4252 92 v Black
0.95 TeXcolorgray 4124 4613 25 92 v Black 0.95 TeXcolorgray
Black -128 4586 a
SDict begin H.S end
-128 4586 a -128 4586 a
SDict begin 11 H.A end
-128 4586 a
-128 4586 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-40.2) cvn H.B /DEST pdfmark end
-128 4586 a 0 0 0 TeXcolorrgb Fo(print)p
Black 0 0 0 TeXcolorrgb 44 w(it)p Black 0.95 TeXcolorgray
-153 4638 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4805 a FA(which)g(is)h(then)f(run)f(as)i(an)f(IO-action.)
-128 4950 y(Hence,)g(the)g(original)f(e)o(xpression)g(must)h(ha)n(v)o
(e)g(a)g(type)g(which)g(is)h(an)f(instance)g(of)g(the)g
Ft(Show)g FA(class,)h(or)f(GHCi)h(will)g(complain:)-128
5014 y
SDict begin H.S end
-128 5014 a -128 5014 a
SDict begin 12 H.A end
-128 5014 a -128 5014
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-41) cvn H.B /DEST pdfmark end
-128 5014 a 0.95 TeXcolorgray -153 5029 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5120 25 92 v Black 0.95 TeXcolorgray
-128 5120 4252 92 v Black 0.95 TeXcolorgray 4124 5120
25 92 v Black 0.95 TeXcolorgray Black -128 5093 a
SDict begin H.S end
-128
5093 a -128 5093 a
SDict begin 11 H.A end
-128 5093 a -128 5093 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.1) cvn H.B /DEST pdfmark end
-128 5093
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)p 0 0 0
TeXcolorrgb 45 w(id)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5212 25 92 v Black 0.95 TeXcolorgray
-128 5212 4252 92 v Black 0.95 TeXcolorgray 4124 5212
25 92 v Black 0.95 TeXcolorgray Black -128 5184 a
SDict begin H.S end
-128
5184 a -128 5184 a
SDict begin 11 H.A end
-128 5184 a -128 5184 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.2) cvn H.B /DEST pdfmark end
-128 5184
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5303
25 92 v Black 0.95 TeXcolorgray -128 5303 4252 92 v Black
0.95 TeXcolorgray 4124 5303 25 92 v Black 0.95 TeXcolorgray
Black -128 5275 a
SDict begin H.S end
-128 5275 a -128 5275 a
SDict begin 11 H.A end
-128 5275 a
-128 5275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.3) cvn H.B /DEST pdfmark end
-128 5275 a Fo(<)p 0 0 0 TeXcolorrgb(interactive)p
Black -2 w(>:1:0:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5394 25 92 v Black 0.95 TeXcolorgray -128 5394 4252
92 v Black 0.95 TeXcolorgray 4124 5394 25 92 v Black
0.95 TeXcolorgray Black -128 5367 a
SDict begin H.S end
-128 5367 a -128
5367 a
SDict begin 11 H.A end
-128 5367 a -128 5367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.4) cvn H.B /DEST pdfmark end
-128 5367 a 0 0 0 TeXcolorrgb
180 w Fo(No)p Black 0 0 0 TeXcolorrgb 44 w(instance)p
Black 0 0 0 TeXcolorrgb 44 w(for)p Black 44 w(\()p 0 0 0
TeXcolorrgb(Show)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black(\)\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5485 25
92 v Black 0.95 TeXcolorgray -128 5485 4252 92 v Black
0.95 TeXcolorgray 4124 5485 25 92 v Black 0.95 TeXcolorgray
Black -128 5458 a
SDict begin H.S end
-128 5458 a -128 5458 a
SDict begin 11 H.A end
-128 5458 a
-128 5458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.5) cvn H.B /DEST pdfmark end
-128 5458 a 0 0 0 TeXcolorrgb 269 w Fo(arising)p
Black 0 0 0 TeXcolorrgb 44 w(from)p Black 0 0 0 TeXcolorrgb
44 w(use)p Black 0 0 0 TeXcolorrgb 45 w(of)p Black 44
w(`)p 0 0 0 TeXcolorrgb(print)p Black -1 w(')p 0 0 0
TeXcolorrgb 45 w(at)p Black 44 w(<)p 0 0 0 TeXcolorrgb(interactive)p
Black -2 w(>:1:0-1)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5577 25 92 v Black 0.95 TeXcolorgray -128 5577 4252
92 v Black 0.95 TeXcolorgray 4124 5577 25 92 v Black
0.95 TeXcolorgray Black -128 5549 a
SDict begin H.S end
-128 5549 a -128
5549 a
SDict begin 11 H.A end
-128 5549 a -128 5549 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.6) cvn H.B /DEST pdfmark end
-128 5549 a 0 0 0 TeXcolorrgb
180 w Fo(Possible)p Black 0 0 0 TeXcolorrgb 43 w(fix)p
Black(:)p 0 0 0 TeXcolorrgb 44 w(add)p Black 0 0 0 TeXcolorrgb
45 w(an)p Black 0 0 0 TeXcolorrgb 44 w(instance)p Black
0 0 0 TeXcolorrgb 44 w(declaration)p Black 0 0 0 TeXcolorrgb
43 w(for)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Show)p Black
44 w(\()p 0 0 0 TeXcolorrgb(a)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(a)p Black(\)\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5668 25 92 v Black 0.95 TeXcolorgray
-128 5668 4252 92 v Black 0.95 TeXcolorgray 4124 5668
25 92 v Black 0.95 TeXcolorgray Black -128 5641 a
SDict begin H.S end
-128
5641 a -128 5641 a
SDict begin 11 H.A end
-128 5641 a -128 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.7) cvn H.B /DEST pdfmark end
-128 5641
a 0 0 0 TeXcolorrgb 180 w Fo(In)p Black 0 0 0 TeXcolorrgb
44 w(the)p Black 0 0 0 TeXcolorrgb 45 w(expression)p
Black -2 w(:)p 0 0 0 TeXcolorrgb 45 w(print)p Black 0 0 0
TeXcolorrgb 44 w(it)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5759 25 92 v Black 0.95 TeXcolorgray
-128 5759 4252 92 v Black 0.95 TeXcolorgray 4124 5759
25 92 v Black 0.95 TeXcolorgray Black -128 5732 a
SDict begin H.S end
-128
5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-41.8) cvn H.B /DEST pdfmark end
-128 5732
a 0 0 0 TeXcolorrgb 180 w Fo(In)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(')p 0 0 0 TeXcolorrgb(do)p Black
-1 w(')p 0 0 0 TeXcolorrgb 45 w(expression)p Black -2
w(:)p 0 0 0 TeXcolorrgb 45 w(print)p Black 0 0 0 TeXcolorrgb
44 w(it)p Black 0.95 TeXcolorgray -153 5784 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 6084 4252
5 v Black eop end
%%Page: 20 35
TeXDict begin 20 34 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(20)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(The)g(error)f(message)h
(contains)g(some)g(clues)g(as)h(to)f(the)h(transformation)c(happening)h
(internally)-5 b(.)-128 309 y(If)23 b(the)g(e)o(xpression)e(w)o(as)i
(instead)g(of)f(type)g Ft(IO)50 b(a)23 b FA(for)f(some)g
Ft(a)p FA(,)i(then)e Ft(it)h FA(will)g(be)g(bound)e(to)h(the)h(result)g
(of)f(the)h Ft(IO)g FA(computation,)d(which)j(is)g(of)-128
409 y(type)d Ft(a)p FA(.)25 b(e)o(g.:)-128 463 y
SDict begin H.S end
-128
463 a -128 463 a
SDict begin 12 H.A end
-128 463 a -128 463 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-42) cvn H.B /DEST pdfmark end
-128 463 a 0.95
TeXcolorgray -153 478 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
569 25 92 v Black 0.95 TeXcolorgray -128 569 4252 92
v Black 0.95 TeXcolorgray 4124 569 25 92 v Black 0.95
TeXcolorgray Black -128 542 a
SDict begin H.S end
-128 542 a -128 542 a
SDict begin 11 H.A end
-128
542 a -128 542 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-42.1) cvn H.B /DEST pdfmark end
-128 542 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(Time)p Black -1
w(.)p 0 0 0 TeXcolorrgb(getClockTime)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 660 25 92 v Black 0.95 TeXcolorgray
-128 660 4252 92 v Black 0.95 TeXcolorgray 4124 660 25
92 v Black 0.95 TeXcolorgray Black -128 633 a
SDict begin H.S end
-128 633
a -128 633 a
SDict begin 11 H.A end
-128 633 a -128 633 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-42.2) cvn H.B /DEST pdfmark end
-128 633 a 0 0 0 TeXcolorrgb
Fo(Wed)p Black 0 0 0 TeXcolorrgb 45 w(Mar)p Black 44
w(14)45 b(12:23:13)p 0 0 0 TeXcolorrgb 43 w(GMT)p Black
44 w(2001)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 752 25 92 v Black 0.95 TeXcolorgray -128 752 4252
92 v Black 0.95 TeXcolorgray 4124 752 25 92 v Black 0.95
TeXcolorgray Black -128 724 a
SDict begin H.S end
-128 724 a -128 724 a
SDict begin 11 H.A end
-128
724 a -128 724 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-42.3) cvn H.B /DEST pdfmark end
-128 724 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(print)p Black 0 0 0
TeXcolorrgb 44 w(it)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 843 25 92 v Black 0.95 TeXcolorgray
-128 843 4252 92 v Black 0.95 TeXcolorgray 4124 843 25
92 v Black 0.95 TeXcolorgray Black -128 816 a
SDict begin H.S end
-128 816
a -128 816 a
SDict begin 11 H.A end
-128 816 a -128 816 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-42.4) cvn H.B /DEST pdfmark end
-128 816 a 0 0 0 TeXcolorrgb
Fo(Wed)p Black 0 0 0 TeXcolorrgb 45 w(Mar)p Black 44
w(14)g(12:23:13)p 0 0 0 TeXcolorrgb 43 w(GMT)p Black
44 w(2001)p 0.95 TeXcolorgray -153 868 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1015 a FA(The)20
b(corresponding)d(translation)i(for)h(an)g(IO-typed)e
Fr(e)j FA(is)-128 1069 y
SDict begin H.S end
-128 1069 a -128 1069 a
SDict begin 12 H.A end
-128
1069 a -128 1069 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-43) cvn H.B /DEST pdfmark end
-128 1069 a 0.95 TeXcolorgray -153
1084 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1176 25 92 v Black 0.95
TeXcolorgray -128 1176 4252 92 v Black 0.95 TeXcolorgray
4124 1176 25 92 v Black 0.95 TeXcolorgray Black -128
1148 a
SDict begin H.S end
-128 1148 a -128 1148 a
SDict begin 11 H.A end
-128 1148 a -128 1148
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-43.1) cvn H.B /DEST pdfmark end
-128 1148 a 0 0 0 TeXcolorrgb Fo(it)p Black 45 w(<-)p
0 0 0 TeXcolorrgb 44 w(e)p Black 0.95 TeXcolorgray -153
1200 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1347 a FA(Note)g(that)f Ft(it)g FA(is)h(shado)n(wed)e(by)h(the)g
(ne)n(w)g(v)n(alue)g(each)f(time)i(you)e(e)n(v)n(aluate)g(a)i(ne)n(w)f
(e)o(xpression,)e(and)i(the)g(old)g(v)n(alue)f(of)h Ft(it)h
FA(is)g(lost.)-128 1476 y
SDict begin H.S end
-128 1476 a -128 1476 a
SDict begin 12 H.A end
-128
1476 a -128 1476 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.5) cvn H.B /DEST pdfmark end
-128 1476 a Black 134 x Fp(2.4.5)p
Black 90 w(T)-5 b(ype)23 b(defaulting)h(in)g(GHCi)-128
1698 y
SDict begin H.S end
-128 1698 a -128 1698 a
SDict begin 12 H.A end
-128 1698 a -128 1698
a
SDict begin [ /View [/XYZ H.V] /Dest (extended-default-rules) cvn H.B /DEST pdfmark end
-128 1698 a 101 x FA(Consider)c(this)h(GHCi)g(session:)-128
1836 y
SDict begin H.S end
-128 1836 a -128 1836 a
SDict begin 12 H.A end
-128 1836 a -128 1836
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-44) cvn H.B /DEST pdfmark end
-128 1836 a 0.95 TeXcolorgray -153 1869 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1960 25 92 v Black 0.95 TeXcolorgray
-128 1960 4252 92 v Black 0.95 TeXcolorgray 4124 1960
25 92 v Black 0.95 TeXcolorgray Black -128 1932 a
SDict begin H.S end
-128
1932 a -128 1932 a
SDict begin 11 H.A end
-128 1932 a -128 1932 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-44.1) cvn H.B /DEST pdfmark end
-128 1932
a 0 0 0 TeXcolorrgb 90 w Fo(ghci)p Black -1 w(>)p 0 0 0
TeXcolorrgb 45 w(reverse)p Black 44 w([])p 0.95 TeXcolorgray
-153 1985 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2132 a FA(What)h(should)e(GHCi)i(do?)27 b(Strictly)21
b(speaking,)f(the)h(program)e(is)j(ambiguous.)k Ft(show)49
b(\(reverse)f([]\))21 b FA(\(which)f(is)i(what)f(GHCi)h(computes)-128
2231 y(here\))e(has)g(type)g Ft(Show)49 b(a)h(=>)f(a)21
b FA(and)e(ho)n(w)h(that)g(displays)g(depends)f(on)h(the)g(type)g
Ft(a)p FA(.)25 b(F)o(or)20 b(e)o(xample:)-128 2285 y
SDict begin H.S end
-128 2285 a -128 2285 a
SDict begin 12 H.A end
-128 2285 a -128 2285 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-45) cvn H.B /DEST pdfmark end
-128
2285 a 0.95 TeXcolorgray -153 2301 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2392 25 92 v Black 0.95 TeXcolorgray -128 2392 4252
92 v Black 0.95 TeXcolorgray 4124 2392 25 92 v Black
0.95 TeXcolorgray Black -128 2364 a
SDict begin H.S end
-128 2364 a -128
2364 a
SDict begin 11 H.A end
-128 2364 a -128 2364 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-45.1) cvn H.B /DEST pdfmark end
-128 2364 a 0 0 0 TeXcolorrgb
90 w Fo(ghci)p Black -1 w(>)45 b(\()p 0 0 0 TeXcolorrgb(reverse)p
Black 44 w([]\))f(::)p 0 0 0 TeXcolorrgb 44 w(String)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2483 25 92 v Black 0.95 TeXcolorgray -128 2483 4252 92
v Black 0.95 TeXcolorgray 4124 2483 25 92 v Black 0.95
TeXcolorgray Black -128 2456 a
SDict begin H.S end
-128 2456 a -128 2456
a
SDict begin 11 H.A end
-128 2456 a -128 2456 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-45.2) cvn H.B /DEST pdfmark end
-128 2456 a 90 w Fo("")p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2575 25 92
v Black 0.95 TeXcolorgray -128 2575 4252 92 v Black 0.95
TeXcolorgray 4124 2575 25 92 v Black 0.95 TeXcolorgray
Black -128 2547 a
SDict begin H.S end
-128 2547 a -128 2547 a
SDict begin 11 H.A end
-128 2547 a
-128 2547 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-45.3) cvn H.B /DEST pdfmark end
-128 2547 a 0 0 0 TeXcolorrgb 90 w Fo(ghci)p
Black -1 w(>)h(\()p 0 0 0 TeXcolorrgb(reverse)p Black
44 w([]\))f(::)g([)p 0 0 0 TeXcolorrgb(Int)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2666 25
92 v Black 0.95 TeXcolorgray -128 2666 4252 92 v Black
0.95 TeXcolorgray 4124 2666 25 92 v Black 0.95 TeXcolorgray
Black -128 2638 a
SDict begin H.S end
-128 2638 a -128 2638 a
SDict begin 11 H.A end
-128 2638 a
-128 2638 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-45.4) cvn H.B /DEST pdfmark end
-128 2638 a 90 w Fo([])p 0.95 TeXcolorgray
-153 2691 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2838 a FA(Ho)n(we)n(v)o(er)m(,)22 b(it)j(is)f(tiresome)f
(for)g(the)g(user)g(to)h(ha)n(v)o(e)e(to)i(specify)f(the)g(type,)h(so)f
(GHCi)i(e)o(xtends)d(Hask)o(ell')-5 b(s)24 b(type-def)o(aulting)c
(rules)k(\(Section)e(4.3.4)-128 2937 y(of)f(the)g(Hask)o(ell)h(98)f
(Report)f(\(Re)n(vised\)\))g(as)i(follo)n(ws.)28 b(The)20
b(standard)g(rules)h(tak)o(e)h(each)e(group)g(of)h(constraints)f
Ft(\(C1)49 b(a,)h(C2)f(a,)h(...,)f(Cn)-128 3037 y(a\))21
b FA(for)e(each)h(type)g(v)n(ariable)f Ft(a)p FA(,)h(and)g(def)o(aults)
g(the)g(type)g(v)n(ariable)f(if)-128 3104 y
SDict begin H.S end
-128 3104
a -128 3104 a
SDict begin 12 H.A end
-128 3104 a -128 3104 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.1) cvn H.B /DEST pdfmark end
-128 3104 a Black
-24 3212 a FA(1.)p Black 41 w(The)h(type)g(v)n(ariable)f
Ft(a)h FA(appears)g(in)g(no)g(other)f(constraints)-128
3256 y
SDict begin H.S end
-128 3256 a -128 3256 a
SDict begin 12 H.A end
-128 3256 a -128 3256
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.2) cvn H.B /DEST pdfmark end
-128 3256 a Black -24 3364 a FA(2.)p Black 41 w(All)i(the)f(classes)h
Ft(Ci)g FA(are)f(standard.)-128 3392 y
SDict begin H.S end
-128 3392 a -128
3392 a
SDict begin 12 H.A end
-128 3392 a -128 3392 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.3) cvn H.B /DEST pdfmark end
-128 3392 a Black -24
3516 a FA(3.)p Black 41 w(At)h(least)g(one)e(of)h(the)g(classes)i
Ft(Ci)e FA(is)h(numeric.)-128 3691 y(At)29 b(the)g(GHCi)g(prompt,)f(or)
g(with)h(GHC)g(if)f(the)h Ft(-XExtendedDefaultRules)24
b FA(\003ag)29 b(is)g(gi)n(v)o(en,)g(the)f(follo)n(wing)f(additional)g
(dif)n(ferences)-128 3791 y(apply:)p Black -128 3965
a(\225)p Black 42 w(Rule)21 b(2)f(abo)o(v)o(e)e(is)k(relax)o(ed)c
(thus:)26 b Fq(All)20 b FA(of)g(the)g(classes)i Ft(Ci)e
FA(are)g(single-parameter)e(type)i(classes.)p Black -128
4118 a(\225)p Black 42 w(Rule)h(3)f(abo)o(v)o(e)e(is)k(relax)o(ed)c
(this:)26 b(At)21 b(least)g(one)e(of)h(the)h(classes)g
Ft(Ci)f FA(is)h(numeric,)e Fq(or)i(is)g Fg(Show)p Fq(,)e
Fg(Eq)p Fq(,)i(or)f Fg(Ord)p FA(.)p Black -128 4270 a(\225)p
Black 42 w(The)g(unit)g(type)g Ft(\(\))g FA(is)h(added)e(to)h(the)h
(start)f(of)g(the)g(standard)f(list)j(of)e(types)g(which)f(are)h(tried)
g(when)g(doing)f(type)h(def)o(aulting.)-128 4445 y(The)g(last)h(point)f
(means)g(that,)g(for)f(e)o(xample,)g(this)i(program:)-128
4499 y
SDict begin H.S end
-128 4499 a -128 4499 a
SDict begin 12 H.A end
-128 4499 a -128 4499
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-46) cvn H.B /DEST pdfmark end
-128 4499 a 0.95 TeXcolorgray -153 4514 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4605 25 92 v Black 0.95 TeXcolorgray
-128 4605 4252 92 v Black 0.95 TeXcolorgray 4124 4605
25 92 v Black 0.95 TeXcolorgray Black -128 4578 a
SDict begin H.S end
-128
4578 a -128 4578 a
SDict begin 11 H.A end
-128 4578 a -128 4578 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.1) cvn H.B /DEST pdfmark end
-128 4578
a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(IO)p Black 45 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4696 25 92 v Black 0.95 TeXcolorgray
-128 4696 4252 92 v Black 0.95 TeXcolorgray 4124 4696
25 92 v Black 0.95 TeXcolorgray Black -128 4669 a
SDict begin H.S end
-128
4669 a -128 4669 a
SDict begin 11 H.A end
-128 4669 a -128 4669 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.2) cvn H.B /DEST pdfmark end
-128 4669
a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(print)p Black 0 0 0 TeXcolorrgb 44 w(def)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4788 25
92 v Black 0.95 TeXcolorgray -128 4788 4252 92 v Black
0.95 TeXcolorgray 4124 4788 25 92 v Black 0.95 TeXcolorgray
Black -128 4760 a
SDict begin H.S end
-128 4760 a -128 4760 a
SDict begin 11 H.A end
-128 4760 a
-128 4760 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.3) cvn H.B /DEST pdfmark end
-128 4760 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4879 25 92 v Black 0.95 TeXcolorgray
-128 4879 4252 92 v Black 0.95 TeXcolorgray 4124 4879
25 92 v Black 0.95 TeXcolorgray Black -128 4852 a
SDict begin H.S end
-128
4852 a -128 4852 a
SDict begin 11 H.A end
-128 4852 a -128 4852 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.4) cvn H.B /DEST pdfmark end
-128 4852
a 0 0 0 TeXcolorrgb Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(Num)p Black 44 w(\(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4970 25 92 v Black 0.95 TeXcolorgray
-128 4970 4252 92 v Black 0.95 TeXcolorgray 4124 4970
25 92 v Black 0.95 TeXcolorgray Black -128 4943 a
SDict begin H.S end
-128
4943 a -128 4943 a
SDict begin 11 H.A end
-128 4943 a -128 4943 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.5) cvn H.B /DEST pdfmark end
-128 4943
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5062
25 92 v Black 0.95 TeXcolorgray -128 5062 4252 92 v Black
0.95 TeXcolorgray 4124 5062 25 92 v Black 0.95 TeXcolorgray
Black -128 5034 a
SDict begin H.S end
-128 5034 a -128 5034 a
SDict begin 11 H.A end
-128 5034 a
-128 5034 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.6) cvn H.B /DEST pdfmark end
-128 5034 a 0 0 0 TeXcolorrgb Fo(def)p Black
45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(Num)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Enum)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))h(=>)p 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5153 25 92 v Black 0.95 TeXcolorgray
-128 5153 4252 92 v Black 0.95 TeXcolorgray 4124 5153
25 92 v Black 0.95 TeXcolorgray Black -128 5126 a
SDict begin H.S end
-128
5126 a -128 5126 a
SDict begin 11 H.A end
-128 5126 a -128 5126 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-46.7) cvn H.B /DEST pdfmark end
-128 5126
a 0 0 0 TeXcolorrgb Fo(def)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(toEnum)p Black 44 w(0)p 0.95 TeXcolorgray -153 5178
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5325 a FA(prints)20 b Ft(\(\))h FA(rather)e(than)h Ft(0)g
FA(as)h(the)f(type)g(is)h(def)o(aulted)e(to)i Ft(\(\))f
FA(rather)f(than)h Ft(Integer)p FA(.)-128 5461 y(The)i(moti)n(v)n
(ation)e(for)h(the)g(change)g(is)h(that)g(it)g(means)g
Ft(IO)49 b(a)22 b FA(actions)g(def)o(ault)e(to)i Ft(IO)50
b(\(\))p FA(,)22 b(which)f(in)h(turn)f(means)g(that)h(ghci)f(w)o(on')o
(t)f(try)i(to)g(print)-128 5560 y(a)i(result)g(when)e(running)g(them.)
34 b(This)23 b(is)i(particularly)c(important)h(for)h
Ft(printf)p FA(,)g(which)g(has)h(an)f(instance)g(that)g(returns)g
Ft(IO)49 b(a)p FA(.)35 b(Ho)n(we)n(v)o(er)m(,)22 b(it)-128
5660 y(is)g(only)e(able)g(to)h(return)e Ft(undefined)h
FA(\(the)g(reason)g(for)g(the)g(instance)g(ha)n(ving)g(this)h(type)f
(is)h(so)g(that)g(printf)f(doesn')o(t)f(require)g(e)o(xtensions)g(to)i
(the)-128 5759 y(class)h(system\),)d(so)i(if)f(the)h(type)e(def)o
(aults)h(to)g Ft(Integer)g FA(then)g(ghci)f(gi)n(v)o(es)h(an)g(error)f
(when)h(running)e(a)i(printf.)p Black -128 6084 4252
5 v Black eop end
%%Page: 21 36
TeXDict begin 21 35 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(21)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.5) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(2.5)p
Black 108 w(The)29 b(GHCi)g(Deb)n(ug)o(g)q(er)-128 322
y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-debugger) cvn H.B /DEST pdfmark end
-128 322
a 114 x FA(GHCi)23 b(contains)e(a)h(simple)g(imperati)n(v)o(e-style)d
(deb)n(ugger)h(in)i(which)f(you)g(can)g(stop)h(a)g(running)e
(computation)f(in)j(order)e(to)i(e)o(xamine)f(the)g(v)n(alues)-128
536 y(of)j(v)n(ariables.)36 b(The)23 b(deb)n(ugger)f(is)j(inte)o
(grated)d(into)i(GHCi,)i(and)d(is)i(turned)e(on)g(by)h(def)o(ault:)32
b(no)24 b(\003ags)g(are)g(required)e(to)i(enable)g(the)g(deb)n(ugging)
-128 635 y(f)o(acilities.)43 b(There)25 b(is)i(one)e(major)g
(restriction:)36 b(breakpoints)24 b(and)h(single-stepping)f(are)i(only)
f(a)n(v)n(ailable)h(in)g(interpreted)e(modules;)j(compiled)-128
735 y(code)20 b(is)h(in)m(visible)f(to)g(the)g(deb)n(ugger)947
705 y Fn(5)979 735 y FA(.)-128 885 y(The)g(deb)n(ugger)e(pro)o(vides)h
(the)h(follo)n(wing:)p Black -128 1100 a(\225)p Black
42 w(The)29 b(ability)h(to)g(set)g(a)g Fq(br)m(eakpoint)f
FA(on)h(a)g(function)e(de\002nition)g(or)i(e)o(xpression)e(in)h(the)h
(program.)51 b(When)30 b(the)f(function)f(is)j(called,)h(or)d(the)-57
1200 y(e)o(xpression)19 b(e)n(v)n(aluated,)g(GHCi)i(suspends)f(e)o(x)o
(ecution)f(and)h(returns)f(to)i(the)f(prompt,)f(where)h(you)g(can)g
(inspect)g(the)h(v)n(alues)f(of)g(local)h(v)n(ariables)-57
1300 y(before)e(continuing)f(with)i(the)g(e)o(x)o(ecution.)p
Black -128 1466 a(\225)p Black 42 w(Ex)o(ecution)27 b(can)h(be)h
Fq(single-stepped)r FA(:)41 b(the)29 b(e)n(v)n(aluator)e(will)j
(suspend)e(e)o(x)o(ecution)e(approximately)g(after)j(e)n(v)o(ery)e
(reduction,)i(allo)n(wing)f(local)-57 1565 y(v)n(ariables)19
b(to)i(be)f(inspected.)k(This)c(is)h(equi)n(v)n(alent)e(to)h(setting)g
(a)h(breakpoint)d(at)j(e)n(v)o(ery)d(point)i(in)g(the)g(program.)p
Black -128 1731 a(\225)p Black 42 w(Ex)o(ecution)j(can)i(tak)o(e)g
(place)g(in)g Fq(tr)o(acing)f(mode)p FA(,)h(in)h(which)e(the)h(e)n(v)n
(aluator)f(remembers)f(each)i(e)n(v)n(aluation)e(step)i(as)h(it)g
(happens,)e(b)n(ut)h(doesn')o(t)-57 1831 y(suspend)19
b(e)o(x)o(ecution)f(until)i(an)g(actual)g(breakpoint)e(is)j(reached.)j
(When)c(this)h(happens,)d(the)j(history)e(of)h(e)n(v)n(aluation)e
(steps)j(can)f(be)g(inspected.)p Black -128 1997 a(\225)p
Black 42 w(Exceptions)g(\(e.g.)27 b(pattern)21 b(matching)f(f)o(ailure)
g(and)h Ft(error)p FA(\))g(can)g(be)g(treated)g(as)h(breakpoints,)d(to)
j(help)f(locate)g(the)g(source)g(of)g(an)g(e)o(xception)-57
2097 y(in)f(the)h(program.)-128 2313 y(There)16 b(is)h(currently)e(no)h
(support)f(for)h(obtaining)e(a)j(\223stack)f(trace\224,)h(b)n(ut)f(the)
h(tracing)e(and)h(history)g(features)f(pro)o(vide)g(a)h(useful)g
(second-best,)g(which)-128 2412 y(will)22 b(often)f(be)g(enough)e(to)j
(establish)f(the)h(conte)o(xt)e(of)h(an)g(error)-5 b(.)27
b(F)o(or)21 b(instance,)g(it)h(is)g(possible)f(to)h(break)e
(automatically)g(when)g(an)i(e)o(xception)d(is)-128 2512
y(thro)n(wn,)g(e)n(v)o(en)g(if)i(it)g(is)g(thro)n(wn)e(from)g(within)h
(compiled)f(code)g(\(see)h(Section)p 1 0 0 TeXcolorrgb
2136 2513 a
SDict begin H.S end
2136 2513 a 1 0 0 TeXcolorrgb -1 x FA(2.5.6)p
1 0 0 TeXcolorrgb 2302 2455 a
SDict begin H.R end
2302 2455 a 2302 2512 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.6) cvn H.B /ANN pdfmark end
2302 2512 a Black FA(\).)-128 2646 y
SDict begin H.S end
-128 2646 a -128
2646 a
SDict begin 12 H.A end
-128 2646 a -128 2646 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.1) cvn H.B /DEST pdfmark end
-128 2646 a Black 148
x Fp(2.5.1)p Black 90 w(Breakpoints)j(and)h(inspecting)f(v)n(ariab)o
(les)-128 2882 y
SDict begin H.S end
-128 2882 a -128 2882 a
SDict begin 12 H.A end
-128 2882 a
-128 2882 a
SDict begin [ /View [/XYZ H.V] /Dest (breakpoints) cvn H.B /DEST pdfmark end
-128 2882 a 115 x FA(Let')-5 b(s)21 b(use)g(quicksort)d(as)
j(a)g(running)d(e)o(xample.)24 b(Here')-5 b(s)20 b(the)g(code:)-128
3065 y
SDict begin H.S end
-128 3065 a -128 3065 a
SDict begin 12 H.A end
-128 3065 a -128 3065
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-47) cvn H.B /DEST pdfmark end
-128 3065 a 0.95 TeXcolorgray -153 3080 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3171 25 92 v Black 0.95 TeXcolorgray
-128 3171 4252 92 v Black 0.95 TeXcolorgray 4124 3171
25 92 v Black 0.95 TeXcolorgray Black -128 3144 a
SDict begin H.S end
-128
3144 a -128 3144 a
SDict begin 11 H.A end
-128 3144 a -128 3144 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-47.1) cvn H.B /DEST pdfmark end
-128 3144
a 0 0 0 TeXcolorrgb Fo(qsort)p Black 44 w([])45 b(=)g([])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3263 25
92 v Black 0.95 TeXcolorgray -128 3263 4252 92 v Black
0.95 TeXcolorgray 4124 3263 25 92 v Black 0.95 TeXcolorgray
Black -128 3235 a
SDict begin H.S end
-128 3235 a -128 3235 a
SDict begin 11 H.A end
-128 3235 a
-128 3235 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-47.2) cvn H.B /DEST pdfmark end
-128 3235 a 0 0 0 TeXcolorrgb Fo(qsort)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(:)p 0 0 0
TeXcolorrgb(as)p Black(\))f(=)p 0 0 0 TeXcolorrgb 45
w(qsort)p Black 0 0 0 TeXcolorrgb 44 w(left)p Black 44
w(++)h([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])g(++)p
0 0 0 TeXcolorrgb 44 w(qsort)p Black 0 0 0 TeXcolorrgb
44 w(right)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3354 25 92 v Black 0.95 TeXcolorgray -128 3354 4252
92 v Black 0.95 TeXcolorgray 4124 3354 25 92 v Black
0.95 TeXcolorgray Black -128 3327 a
SDict begin H.S end
-128 3327 a -128
3327 a
SDict begin 11 H.A end
-128 3327 a -128 3327 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-47.3) cvn H.B /DEST pdfmark end
-128 3327 a 0 0 0 TeXcolorrgb
90 w Fo(where)p Black 44 w(\()p 0 0 0 TeXcolorrgb(left)p
Black -1 w(,)p 0 0 0 TeXcolorrgb(right)p Black -1 w(\))g(=)g(\()p
0 0 0 TeXcolorrgb -1 w(filter)p Black 44 w(\(<=)p 0 0 0
TeXcolorrgb(a)p Black(\))p 0 0 0 TeXcolorrgb 44 w(as)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(filter)p Black 43 w(\(>)p
0 0 0 TeXcolorrgb(a)p Black(\))p 0 0 0 TeXcolorrgb 45
w(as)p Black -1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3445 25 92 v Black 0.95 TeXcolorgray -128 3445 4252
92 v Black 0.95 TeXcolorgray 4124 3445 25 92 v Black
0.95 TeXcolorgray Black -128 3418 a
SDict begin H.S end
-128 3418 a -128
3418 a
SDict begin 11 H.A end
-128 3418 a -128 3418 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-47.4) cvn H.B /DEST pdfmark end
-128 3418 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3537 25 92 v Black 0.95
TeXcolorgray -128 3537 4252 92 v Black 0.95 TeXcolorgray
4124 3537 25 92 v Black 0.95 TeXcolorgray Black -128
3509 a
SDict begin H.S end
-128 3509 a -128 3509 a
SDict begin 11 H.A end
-128 3509 a -128 3509
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-47.5) cvn H.B /DEST pdfmark end
-128 3509 a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(print)p Black 44 w(\()p 0 0 0
TeXcolorrgb(qsort)p Black 44 w([8,)f(4,)h(0,)f(3,)h(1,)f(23,)h(11,)f
(18]\))p 0.95 TeXcolorgray -153 3562 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 3736 a FA(First,)21
b(load)f(the)g(module)f(into)h(GHCi:)-128 3798 y
SDict begin H.S end
-128
3798 a -128 3798 a
SDict begin 12 H.A end
-128 3798 a -128 3798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-48) cvn H.B /DEST pdfmark end
-128 3798
a 0.95 TeXcolorgray -153 3819 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3910 25 92 v Black 0.95 TeXcolorgray -128 3910 4252 92
v Black 0.95 TeXcolorgray 4124 3910 25 92 v Black 0.95
TeXcolorgray Black -128 3883 a
SDict begin H.S end
-128 3883 a -128 3883
a
SDict begin 11 H.A end
-128 3883 a -128 3883 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-48.1) cvn H.B /DEST pdfmark end
-128 3883 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(l)p
Black 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p 0 0 0
TeXcolorrgb -1 w(hs)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4002 25 92 v Black 0.95 TeXcolorgray
-128 4002 4252 92 v Black 0.95 TeXcolorgray 4124 4002
25 92 v Black 0.95 TeXcolorgray Black -128 3974 a
SDict begin H.S end
-128
3974 a -128 3974 a
SDict begin 11 H.A end
-128 3974 a -128 3974 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-48.2) cvn H.B /DEST pdfmark end
-128 3974
a Fo([1)p 0 0 0 TeXcolorrgb 45 w(of)p Black 44 w(1])p
0 0 0 TeXcolorrgb 45 w(Compiling)p Black 0 0 0 TeXcolorrgb
43 w(Main)p Black 582 w(\()p 0 0 0 TeXcolorrgb 45 w(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(,)p 0 0 0
TeXcolorrgb 44 w(interpreted)p Black 43 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4093 25 92 v Black 0.95
TeXcolorgray -128 4093 4252 92 v Black 0.95 TeXcolorgray
4124 4093 25 92 v Black 0.95 TeXcolorgray Black -128
4065 a
SDict begin H.S end
-128 4065 a -128 4065 a
SDict begin 11 H.A end
-128 4065 a -128 4065
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-48.3) cvn H.B /DEST pdfmark end
-128 4065 a 0 0 0 TeXcolorrgb Fo(Ok)p Black(,)p 0 0 0
TeXcolorrgb 45 w(modules)p Black 0 0 0 TeXcolorrgb 43
w(loaded)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(Main)p
Black -1 w(.)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4184 25 92 v Black 0.95 TeXcolorgray -128 4184 4252
92 v Black 0.95 TeXcolorgray 4124 4184 25 92 v Black
0.95 TeXcolorgray Black -128 4157 a
SDict begin H.S end
-128 4157 a -128
4157 a
SDict begin 11 H.A end
-128 4157 a -128 4157 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-48.4) cvn H.B /DEST pdfmark end
-128 4157 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p 0.95 TeXcolorgray
-153 4209 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4383 a FA(No)n(w)-5 b(,)20 b(let')-5 b(s)21
b(set)g(a)g(breakpoint)c(on)j(the)g(right-hand-side)d(of)j(the)h
(second)e(equation)g(of)g(qsort:)-128 4451 y
SDict begin H.S end
-128 4451
a -128 4451 a
SDict begin 12 H.A end
-128 4451 a -128 4451 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-49) cvn H.B /DEST pdfmark end
-128 4451 a 0.95
TeXcolorgray -153 4466 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4558 25 92 v Black 0.95 TeXcolorgray -128 4558 4252 92
v Black 0.95 TeXcolorgray 4124 4558 25 92 v Black 0.95
TeXcolorgray Black -128 4530 a
SDict begin H.S end
-128 4530 a -128 4530
a
SDict begin 11 H.A end
-128 4530 a -128 4530 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-49.1) cvn H.B /DEST pdfmark end
-128 4530 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)44 b(:)p 0 0 0 TeXcolorrgb(break)p
Black 44 w(2)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4649 25 92 v Black 0.95 TeXcolorgray -128 4649 4252
92 v Black 0.95 TeXcolorgray 4124 4649 25 92 v Black
0.95 TeXcolorgray Black -128 4622 a
SDict begin H.S end
-128 4622 a -128
4622 a
SDict begin 11 H.A end
-128 4622 a -128 4622 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-49.2) cvn H.B /DEST pdfmark end
-128 4622 a 0 0 0 TeXcolorrgb
Fo(Breakpoint)p Black 44 w(0)p 0 0 0 TeXcolorrgb 44 w(activated)p
Black 0 0 0 TeXcolorrgb 44 w(at)p Black 0 0 0 TeXcolorrgb
44 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4740 25
92 v Black 0.95 TeXcolorgray -128 4740 4252 92 v Black
0.95 TeXcolorgray 4124 4740 25 92 v Black 0.95 TeXcolorgray
Black -128 4713 a
SDict begin H.S end
-128 4713 a -128 4713 a
SDict begin 11 H.A end
-128 4713 a
-128 4713 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-49.3) cvn H.B /DEST pdfmark end
-128 4713 a 13 x Fo(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black(>)p 0.95 TeXcolorgray -153 4765 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 4940
a FA(The)19 b(command)e Ft(:break)49 b(2)19 b FA(sets)h(a)g(breakpoint)
d(on)h(line)h(2)h(of)e(the)h(most)g(recently-loaded)d(module,)i(in)h
(this)h(case)f Ft(qsort.hs)p FA(.)24 b(Speci\002cally)-5
b(,)-128 5039 y(it)29 b(picks)e(the)g(leftmost)h(complete)e(sube)o
(xpression)f(on)i(that)h(line)f(on)g(which)g(to)h(set)g(the)g
(breakpoint,)e(which)h(in)h(this)g(case)g(is)g(the)g(e)o(xpression)-128
5139 y Ft(\(qsort)49 b(left)g(++)h([a])f(++)g(qsort)g(right\))p
FA(.)-128 5288 y(No)n(w)-5 b(,)20 b(we)g(run)g(the)g(program:)p
Black -128 5360 1701 4 v -7 5415 a Fm(5)22 5439 y Fl(Note)e(that)g
(packages)h(only)f(contain)h(compiled)f(code,)g(so)f(deb)o(ugging)h(a)f
(package)j(requires)e(\002nding)g(its)f(source)h(and)g(loading)h(that)f
(directly)l(.)p Black Black -128 6084 4252 5 v Black
eop end
%%Page: 22 37
TeXDict begin 22 36 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(22)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-50) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.1) cvn H.B /DEST pdfmark end
-128 237 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p 0 0 0 TeXcolorrgb
44 w(main)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb Fo(Stopped)p
Black 0 0 0 TeXcolorrgb 44 w(at)p Black 0 0 0 TeXcolorrgb
45 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
-1 w(:2:15-46)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 447 25 92 v Black 0.95 TeXcolorgray -128 447 4252
92 v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128
420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.3) cvn H.B /DEST pdfmark end
-128 420 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)45 b([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 538 25
92 v Black 0.95 TeXcolorgray -128 538 4252 92 v Black
0.95 TeXcolorgray 4124 538 25 92 v Black 0.95 TeXcolorgray
Black -128 511 a
SDict begin H.S end
-128 511 a -128 511 a
SDict begin 11 H.A end
-128 511 a -128
511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.4) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb Fo(a)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 630 25 92 v Black 0.95 TeXcolorgray
-128 630 4252 92 v Black 0.95 TeXcolorgray 4124 630 25
92 v Black 0.95 TeXcolorgray Black -128 602 a
SDict begin H.S end
-128 602
a -128 602 a
SDict begin 11 H.A end
-128 602 a -128 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.5) cvn H.B /DEST pdfmark end
-128 602 a 0 0 0 TeXcolorrgb
Fo(left)p Black 45 w(::)f([)p 0 0 0 TeXcolorrgb(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 721 25
92 v Black 0.95 TeXcolorgray -128 721 4252 92 v Black
0.95 TeXcolorgray 4124 721 25 92 v Black 0.95 TeXcolorgray
Black -128 694 a
SDict begin H.S end
-128 694 a -128 694 a
SDict begin 11 H.A end
-128 694 a -128
694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.6) cvn H.B /DEST pdfmark end
-128 694 a 0 0 0 TeXcolorrgb Fo(right)p Black 44
w(::)h([)p 0 0 0 TeXcolorrgb(a)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 812 25 92 v Black 0.95 TeXcolorgray
-128 812 4252 92 v Black 0.95 TeXcolorgray 4124 812 25
92 v Black 0.95 TeXcolorgray Black -128 785 a
SDict begin H.S end
-128 785
a -128 785 a
SDict begin 11 H.A end
-128 785 a -128 785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-50.7) cvn H.B /DEST pdfmark end
-128 785 a Fo([)p
0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:2:15-46])724 798 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black -1 w(>)p 0.95 TeXcolorgray -153 837 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1003 a FA(Ex)o(ecution)20
b(has)i(stopped)f(at)h(the)f(breakpoint.)28 b(The)21
b(prompt)f(has)i(changed)e(to)i(indicate)f(that)h(we)g(are)f(currently)
f(stopped)h(at)h(a)g(breakpoint,)e(and)-128 1103 y(the)h(location:)j
Ft([qsort.hs:2:15-46])p FA(.)e(T)-7 b(o)20 b(further)f(clarify)h(the)g
(location,)f(we)h(can)g(use)h(the)f Ft(:list)g FA(command:)-128
1167 y
SDict begin H.S end
-128 1167 a -128 1167 a
SDict begin 12 H.A end
-128 1167 a -128 1167
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-51) cvn H.B /DEST pdfmark end
-128 1167 a 0.95 TeXcolorgray -153 1182 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1273 25 92 v Black 0.95 TeXcolorgray
-128 1273 4252 92 v Black 0.95 TeXcolorgray 4124 1273
25 92 v Black 0.95 TeXcolorgray Black -128 1246 a
SDict begin H.S end
-128
1246 a -128 1246 a
SDict begin 11 H.A end
-128 1246 a -128 1246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-51.1) cvn H.B /DEST pdfmark end
-128 1246
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46])724 1259 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(list)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1364 25 92 v Black 0.95 TeXcolorgray
-128 1364 4252 92 v Black 0.95 TeXcolorgray 4124 1364
25 92 v Black 0.95 TeXcolorgray Black -128 1337 a
SDict begin H.S end
-128
1337 a -128 1337 a
SDict begin 11 H.A end
-128 1337 a -128 1337 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-51.2) cvn H.B /DEST pdfmark end
-128 1337
a Fo(1)p 0 0 0 TeXcolorrgb 90 w(qsort)p Black 44 w([])f(=)h([])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1456 25
92 v Black 0.95 TeXcolorgray -128 1456 4252 92 v Black
0.95 TeXcolorgray 4124 1456 25 92 v Black 0.95 TeXcolorgray
Black -128 1428 a
SDict begin H.S end
-128 1428 a -128 1428 a
SDict begin 11 H.A end
-128 1428 a
-128 1428 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-51.3) cvn H.B /DEST pdfmark end
-128 1428 a Fo(2)p 0 0 0 TeXcolorrgb 90 w(qsort)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(:)p 0 0 0
TeXcolorrgb -1 w(as)p Black(\))g(=)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black 0 0 0 TeXcolorrgb 44 w(left)p Black
45 w(++)f([)p 0 0 0 TeXcolorrgb(a)p Black(])g(++)p 0 0 0
TeXcolorrgb 45 w(qsort)p Black 0 0 0 TeXcolorrgb 44 w(right)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1547 25 92 v Black 0.95 TeXcolorgray -128 1547 4252 92
v Black 0.95 TeXcolorgray 4124 1547 25 92 v Black 0.95
TeXcolorgray Black -128 1520 a
SDict begin H.S end
-128 1520 a -128 1520
a
SDict begin 11 H.A end
-128 1520 a -128 1520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-51.4) cvn H.B /DEST pdfmark end
-128 1520 a Fo(3)p 0 0 0 TeXcolorrgb
180 w(where)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(left)p
Black(,)p 0 0 0 TeXcolorrgb(right)p Black -1 w(\))g(=)h(\()p
0 0 0 TeXcolorrgb(filter)p Black 44 w(\(<=)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(\))p 0 0 0 TeXcolorrgb 45 w(as)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(filter)p Black 44 w(\(>)p
0 0 0 TeXcolorrgb(a)p Black -1 w(\))p 0 0 0 TeXcolorrgb
45 w(as)p Black(\))p 0.95 TeXcolorgray -153 1572 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 1738
a FA(The)27 b Ft(:list)g FA(command)d(lists)29 b(the)e(source)f(code)g
(around)f(the)i(current)e(breakpoint.)43 b(If)27 b(your)e(output)h(de)n
(vice)g(supports)g(it,)j(then)d(GHCi)i(will)-128 1838
y(highlight)19 b(the)h(acti)n(v)o(e)g(sube)o(xpression)e(in)i(bold.)
-128 1983 y(GHCi)26 b(has)e(pro)o(vided)e(bindings)h(for)h(the)g(free)g
(v)n(ariables)1562 1953 y Fn(6)1621 1983 y FA(of)g(the)g(e)o(xpression)
f(on)h(which)g(the)g(breakpoint)e(w)o(as)j(placed)f(\()p
Ft(a)p FA(,)h Ft(left)p FA(,)g Ft(right)p FA(\),)-128
2082 y(and)i(additionally)f(a)i(binding)e(for)h(the)h(result)f(of)h
(the)f(e)o(xpression)f(\()p Ft(_result)p FA(\).)46 b(These)27
b(v)n(ariables)g(are)h(just)g(lik)o(e)g(other)e(v)n(ariables)h(that)h
(you)-128 2182 y(might)19 b(de\002ne)g(in)g(GHCi;)i(you)d(can)h(use)h
(them)e(in)i(e)o(xpressions)e(that)h(you)f(type)h(at)h(the)f(prompt,)f
(you)g(can)h(ask)h(for)e(their)h(types)g(with)h Ft(:type)p
FA(,)f(and)-128 2282 y(so)k(on.)32 b(There)22 b(is)i(one)e(important)f
(dif)n(ference)f(though:)29 b(these)22 b(v)n(ariables)g(may)g(only)g
(ha)n(v)o(e)g(partial)h(types.)32 b(F)o(or)22 b(e)o(xample,)f(if)i(we)g
(try)g(to)g(display)-128 2381 y(the)e(v)n(alue)e(of)h
Ft(left)p FA(:)-128 2428 y
SDict begin H.S end
-128 2428 a -128 2428 a
SDict begin 12 H.A end
-128
2428 a -128 2428 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-52) cvn H.B /DEST pdfmark end
-128 2428 a 0.95 TeXcolorgray -153
2460 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2551 25 92 v Black 0.95
TeXcolorgray -128 2551 4252 92 v Black 0.95 TeXcolorgray
4124 2551 25 92 v Black 0.95 TeXcolorgray Black -128
2524 a
SDict begin H.S end
-128 2524 a -128 2524 a
SDict begin 11 H.A end
-128 2524 a -128 2524
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.1) cvn H.B /DEST pdfmark end
-128 2524 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46])724 2537
y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)p 0 0 0
TeXcolorrgb 45 w(left)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2643 25 92 v Black 0.95 TeXcolorgray
-128 2643 4252 92 v Black 0.95 TeXcolorgray 4124 2643
25 92 v Black 0.95 TeXcolorgray Black -128 2615 a
SDict begin H.S end
-128
2615 a -128 2615 a
SDict begin 11 H.A end
-128 2615 a -128 2615 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.2) cvn H.B /DEST pdfmark end
-128 2615
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2734
25 92 v Black 0.95 TeXcolorgray -128 2734 4252 92 v Black
0.95 TeXcolorgray 4124 2734 25 92 v Black 0.95 TeXcolorgray
Black -128 2707 a
SDict begin H.S end
-128 2707 a -128 2707 a
SDict begin 11 H.A end
-128 2707 a
-128 2707 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.3) cvn H.B /DEST pdfmark end
-128 2707 a Fo(<)p 0 0 0 TeXcolorrgb(interactive)p
Black -2 w(>:1:0:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2825 25 92 v Black 0.95 TeXcolorgray -128 2825 4252
92 v Black 0.95 TeXcolorgray 4124 2825 25 92 v Black
0.95 TeXcolorgray Black -128 2798 a
SDict begin H.S end
-128 2798 a -128
2798 a
SDict begin 11 H.A end
-128 2798 a -128 2798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.4) cvn H.B /DEST pdfmark end
-128 2798 a 0 0 0 TeXcolorrgb
180 w Fo(Ambiguous)p Black 0 0 0 TeXcolorrgb 43 w(type)p
Black 0 0 0 TeXcolorrgb 44 w(variable)p Black 44 w(`)p
0 0 0 TeXcolorrgb(a)p Black -1 w(')p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0
TeXcolorrgb 44 w(constraint)p Black -2 w(:)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2917 25 92 v Black 0.95
TeXcolorgray -128 2917 4252 92 v Black 0.95 TeXcolorgray
4124 2917 25 92 v Black 0.95 TeXcolorgray Black -128
2889 a
SDict begin H.S end
-128 2889 a -128 2889 a
SDict begin 11 H.A end
-128 2889 a -128 2889
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.5) cvn H.B /DEST pdfmark end
-128 2889 a 269 w Fo(`)p 0 0 0 TeXcolorrgb(Show)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(')p 0 0 0 TeXcolorrgb
45 w(arising)p Black 0 0 0 TeXcolorrgb 44 w(from)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 44
w(use)p Black 0 0 0 TeXcolorrgb 45 w(of)p Black 44 w(`)p
0 0 0 TeXcolorrgb(print)p Black -1 w(')p 0 0 0 TeXcolorrgb
45 w(at)p Black 44 w(<)p 0 0 0 TeXcolorrgb(interactive)p
Black -2 w(>:1:0-3)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3008 25 92 v Black 0.95 TeXcolorgray -128 3008 4252
92 v Black 0.95 TeXcolorgray 4124 3008 25 92 v Black
0.95 TeXcolorgray Black -128 2981 a
SDict begin H.S end
-128 2981 a -128
2981 a
SDict begin 11 H.A end
-128 2981 a -128 2981 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.6) cvn H.B /DEST pdfmark end
-128 2981 a 0 0 0 TeXcolorrgb
180 w Fo(Cannot)p Black 0 0 0 TeXcolorrgb 44 w(resolve)p
Black 0 0 0 TeXcolorrgb 43 w(unknown)p Black 0 0 0 TeXcolorrgb
44 w(runtime)p Black 0 0 0 TeXcolorrgb 44 w(types)p Black
-1 w(:)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3099 25 92 v Black 0.95
TeXcolorgray -128 3099 4252 92 v Black 0.95 TeXcolorgray
4124 3099 25 92 v Black 0.95 TeXcolorgray Black -128
3072 a
SDict begin H.S end
-128 3072 a -128 3072 a
SDict begin 11 H.A end
-128 3072 a -128 3072
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-52.7) cvn H.B /DEST pdfmark end
-128 3072 a 0 0 0 TeXcolorrgb 180 w Fo(Use)p Black
44 w(:)p 0 0 0 TeXcolorrgb(print)p Black 0 0 0 TeXcolorrgb
44 w(or)p Black 44 w(:)p 0 0 0 TeXcolorrgb(force)p Black
0 0 0 TeXcolorrgb 44 w(to)p Black 0 0 0 TeXcolorrgb 45
w(determine)p Black 0 0 0 TeXcolorrgb 43 w(these)p Black
0 0 0 TeXcolorrgb 44 w(types)p Black 0.95 TeXcolorgray
-153 3124 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3290 a FA(This)30 b(is)g(because)f Ft(qsort)g
FA(is)h(a)g(polymorphic)c(function,)j(and)g(because)g(GHCi)h(does)f
(not)g(carry)f(type)h(information)e(at)j(runtime,)g(it)g(cannot)-128
3390 y(determine)22 b(the)h(runtime)f(types)h(of)g(free)g(v)n(ariables)
g(that)g(in)m(v)n(olv)o(e)e(type)i(v)n(ariables.)33 b(Hence,)24
b(when)e(you)g(ask)i(to)f(display)g Ft(left)g FA(at)h(the)f(prompt,)
-128 3489 y(GHCi)f(can')o(t)d(\002gure)g(out)h(which)g(instance)g(of)f
Ft(Show)h FA(to)h(use,)f(so)h(it)f(emits)h(the)f(type)g(error)f(abo)o
(v)o(e.)-128 3635 y(F)o(ortunately)-5 b(,)15 b(the)g(deb)n(ugger)f
(includes)h(a)h(generic)f(printing)f(command,)h Ft(:print)p
FA(,)h(which)f(can)h(inspect)f(the)h(actual)g(runtime)e(v)n(alue)h(of)h
(a)g(v)n(ariable)-128 3734 y(and)k(attempt)g(to)g(reconstruct)f(its)i
(type.)k(If)20 b(we)g(try)g(it)h(on)f Ft(left)p FA(:)-128
3798 y
SDict begin H.S end
-128 3798 a -128 3798 a
SDict begin 12 H.A end
-128 3798 a -128 3798
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-53) cvn H.B /DEST pdfmark end
-128 3798 a 0.95 TeXcolorgray -153 3813 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3904 25 92 v Black 0.95 TeXcolorgray
-128 3904 4252 92 v Black 0.95 TeXcolorgray 4124 3904
25 92 v Black 0.95 TeXcolorgray Black -128 3877 a
SDict begin H.S end
-128
3877 a -128 3877 a
SDict begin 11 H.A end
-128 3877 a -128 3877 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-53.1) cvn H.B /DEST pdfmark end
-128 3877
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46])724 3890 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(set)p Black 44 w(-)p 0 0 0 TeXcolorrgb(fprint)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(evld)p Black -1 w(-)p
0 0 0 TeXcolorrgb(with)p Black -1 w(-)p 0 0 0 TeXcolorrgb(show)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3996 25 92 v Black 0.95 TeXcolorgray -128 3996 4252 92
v Black 0.95 TeXcolorgray 4124 3996 25 92 v Black 0.95
TeXcolorgray Black -128 3968 a
SDict begin H.S end
-128 3968 a -128 3968
a
SDict begin 11 H.A end
-128 3968 a -128 3968 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-53.2) cvn H.B /DEST pdfmark end
-128 3968 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46])724
3981 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)g(:)p
0 0 0 TeXcolorrgb(print)p Black 0 0 0 TeXcolorrgb 44
w(left)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4087 25 92 v Black 0.95 TeXcolorgray -128 4087 4252
92 v Black 0.95 TeXcolorgray 4124 4087 25 92 v Black
0.95 TeXcolorgray Black -128 4060 a
SDict begin H.S end
-128 4060 a -128
4060 a
SDict begin 11 H.A end
-128 4060 a -128 4060 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-53.3) cvn H.B /DEST pdfmark end
-128 4060 a 0 0 0 TeXcolorrgb
Fo(left)p Black 45 w(=)f(\()p 0 0 0 TeXcolorrgb(_t1)p
Black(::[)p 0 0 0 TeXcolorrgb -1 w(a)p Black(]\))p 0.95
TeXcolorgray -153 4112 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4278 a FA(This)30 b(isn')o(t)e(particularly)f
(enlightening.)49 b(What)29 b(happened)e(is)j(that)f
Ft(left)g FA(is)g(bound)e(to)j(an)e(une)n(v)n(aluated)f(computation)f
(\(a)j(suspension,)h(or)-128 4378 y Fq(thunk)q FA(\),)g(and)e
Ft(:print)g FA(does)g(not)g(force)g(an)o(y)g(e)n(v)n(aluation.)48
b(The)28 b(idea)h(is)g(that)g Ft(:print)f FA(can)g(be)h(used)f(to)h
(inspect)f(v)n(alues)g(at)h(a)g(breakpoint)-128 4477
y(without)c(an)o(y)g(unfortunate)e(side)j(ef)n(fects.)41
b(It)26 b(w)o(on')o(t)f(force)f(an)o(y)h(e)n(v)n(aluation,)g(which)g
(could)g(cause)h(the)f(program)f(to)h(gi)n(v)o(e)g(a)h(dif)n(ferent)e
(answer)-128 4577 y(than)19 b(it)h(w)o(ould)e(normally)-5
b(,)17 b(and)h(hence)g(it)i(w)o(on')o(t)e(cause)h(an)o(y)f(e)o
(xceptions)f(to)i(be)g(raised,)g(in\002nite)f(loops,)h(or)f(further)g
(breakpoints)f(to)i(be)g(triggered)-128 4676 y(\(see)k(Section)p
1 0 0 TeXcolorrgb 301 4677 a
SDict begin H.S end
301 4677 a 1 0 0 TeXcolorrgb
-1 x FA(2.5.3)p 1 0 0 TeXcolorrgb 467 4620 a
SDict begin H.R end
467 4620
a 467 4676 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.3) cvn H.B /ANN pdfmark end
467 4676 a Black FA(\).)33 b(Rather)22 b(than)g(forcing)f
(thunks,)h Ft(:print)g FA(binds)g(each)g(thunk)f(to)i(a)g(fresh)f(v)n
(ariable)f(be)o(ginning)f(with)j(an)f(underscore,)f(in)-128
4776 y(this)g(case)g Ft(_t1)p FA(.)-128 4921 y(The)28
b(\003ag)g Ft(-fprint-evld-with-show)c FA(instructs)k
Ft(:print)g FA(to)g(reuse)f(a)n(v)n(ailable)h Ft(Show)f
FA(instances)h(when)g(possible.)47 b(This)28 b(happens)-128
5021 y(only)20 b(when)f(the)i(contents)e(of)h(the)g(v)n(ariable)f
(being)g(inspected)h(are)g(completely)f(e)n(v)n(aluated.)-128
5166 y(If)i(we)g(aren')o(t)e(concerned)f(about)i(preserving)f(the)h(e)n
(v)n(aluatedness)f(of)i(a)g(v)n(ariable,)e(we)i(can)f(use)h
Ft(:force)f FA(instead)g(of)h Ft(:print)p FA(.)k(The)c
Ft(:force)-128 5266 y FA(command)e(beha)n(v)o(es)g(e)o(xactly)g(lik)o
(e)i Ft(:print)p FA(,)e(e)o(xcept)g(that)h(it)h(forces)f(the)g(e)n(v)n
(aluation)f(of)h(an)o(y)f(thunks)g(it)i(encounters:)-128
5329 y
SDict begin H.S end
-128 5329 a -128 5329 a
SDict begin 12 H.A end
-128 5329 a -128 5329
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-54) cvn H.B /DEST pdfmark end
-128 5329 a 0.95 TeXcolorgray -153 5345 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5436 25 92 v Black 0.95 TeXcolorgray
-128 5436 4252 92 v Black 0.95 TeXcolorgray 4124 5436
25 92 v Black 0.95 TeXcolorgray Black -128 5409 a
SDict begin H.S end
-128
5409 a -128 5409 a
SDict begin 11 H.A end
-128 5409 a -128 5409 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-54.1) cvn H.B /DEST pdfmark end
-128 5409
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46])724 5422 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(force)p Black 0 0 0 TeXcolorrgb 44 w(left)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5527 25 92 v Black 0.95 TeXcolorgray -128 5527 4252 92
v Black 0.95 TeXcolorgray 4124 5527 25 92 v Black 0.95
TeXcolorgray Black -128 5500 a
SDict begin H.S end
-128 5500 a -128 5500
a
SDict begin 11 H.A end
-128 5500 a -128 5500 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-54.2) cvn H.B /DEST pdfmark end
-128 5500 a 0 0 0 TeXcolorrgb
Fo(left)p Black 45 w(=)f([4,0,3,1])p 0.95 TeXcolorgray
-153 5552 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5601 1701 4 v -7 5656 a Fm(6)22 5681 y Fl(W)-5
b(e)21 b(originally)j(pro)o(vided)f(bindings)g(for)f(all)g(v)n
(ariables)i(in)e(scope,)h(rather)g(than)f(just)g(the)g(free)h(v)n
(ariables)h(of)d(the)h(e)o(xpression,)i(b)o(ut)e(found)g(that)h(this)f
(af)n(fected)i(performance)-128 5759 y(considerably)l(,)c(hence)e(the)g
(current)h(restriction)h(to)d(just)g(the)h(free)g(v)n(ariables.)p
Black Black -128 6084 4252 5 v Black eop end
%%Page: 23 38
TeXDict begin 23 37 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.23) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(23)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(No)n(w)-5
b(,)23 b(since)h Ft(:force)e FA(has)h(inspected)f(the)h(runtime)f(v)n
(alue)h(of)f Ft(left)p FA(,)i(it)f(has)h(reconstructed)c(its)k(type.)33
b(W)-7 b(e)24 b(can)f(see)h(the)f(results)g(of)g(this)g(type)-128
273 y(reconstruction:)-128 323 y
SDict begin H.S end
-128 323 a -128 323
a
SDict begin 12 H.A end
-128 323 a -128 323 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-55) cvn H.B /DEST pdfmark end
-128 323 a 0.95 TeXcolorgray
-153 356 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 447 25 92 v
Black 0.95 TeXcolorgray -128 447 4252 92 v Black 0.95
TeXcolorgray 4124 447 25 92 v Black 0.95 TeXcolorgray
Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128 420 a -128
420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-55.1) cvn H.B /DEST pdfmark end
-128 420 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46])724 433
y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)45
b(:)p 0 0 0 TeXcolorrgb(show)p Black 0 0 0 TeXcolorrgb
44 w(bindings)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 538 25 92 v Black 0.95 TeXcolorgray -128 538 4252
92 v Black 0.95 TeXcolorgray 4124 538 25 92 v Black 0.95
TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511 a -128 511 a
SDict begin 11 H.A end
-128
511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-55.2) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)g([)p 0 0 0 TeXcolorrgb -1 w(Integer)p
Black -1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 630 25 92 v Black 0.95 TeXcolorgray -128 630 4252
92 v Black 0.95 TeXcolorgray 4124 630 25 92 v Black 0.95
TeXcolorgray Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128
602 a -128 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-55.3) cvn H.B /DEST pdfmark end
-128 602 a 0 0 0 TeXcolorrgb Fo(a)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(Integer)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 721 25
92 v Black 0.95 TeXcolorgray -128 721 4252 92 v Black
0.95 TeXcolorgray 4124 721 25 92 v Black 0.95 TeXcolorgray
Black -128 694 a
SDict begin H.S end
-128 694 a -128 694 a
SDict begin 11 H.A end
-128 694 a -128
694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-55.4) cvn H.B /DEST pdfmark end
-128 694 a 0 0 0 TeXcolorrgb Fo(left)p Black 45
w(::)f([)p 0 0 0 TeXcolorrgb(Integer)p Black -1 w(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 812 25
92 v Black 0.95 TeXcolorgray -128 812 4252 92 v Black
0.95 TeXcolorgray 4124 812 25 92 v Black 0.95 TeXcolorgray
Black -128 785 a
SDict begin H.S end
-128 785 a -128 785 a
SDict begin 11 H.A end
-128 785 a -128
785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-55.5) cvn H.B /DEST pdfmark end
-128 785 a 0 0 0 TeXcolorrgb Fo(right)p Black 44
w(::)h([)p 0 0 0 TeXcolorrgb(Integer)p Black -1 w(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 904 25
92 v Black 0.95 TeXcolorgray -128 904 4252 92 v Black
0.95 TeXcolorgray 4124 904 25 92 v Black 0.95 TeXcolorgray
Black -128 876 a
SDict begin H.S end
-128 876 a -128 876 a
SDict begin 11 H.A end
-128 876 a -128
876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-55.6) cvn H.B /DEST pdfmark end
-128 876 a 0 0 0 TeXcolorrgb Fo(_t1)p Black 45
w(::)f([)p 0 0 0 TeXcolorrgb(Integer)p Black -1 w(])p
0.95 TeXcolorgray -153 929 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1103 a FA(Not)21 b(only)g(do)f(we)h(no)n(w)g
(kno)n(w)f(the)g(type)h(of)f Ft(left)p FA(,)h(b)n(ut)g(all)h(the)e
(other)h(partial)f(types)h(ha)n(v)o(e)f(also)h(been)g(resolv)o(ed.)k
(So)c(we)h(can)e(ask)h(for)g(the)g(v)n(alue)-128 1203
y(of)f Ft(a)p FA(,)h(for)e(e)o(xample:)-128 1270 y
SDict begin H.S end
-128
1270 a -128 1270 a
SDict begin 12 H.A end
-128 1270 a -128 1270 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-56) cvn H.B /DEST pdfmark end
-128 1270
a 0.95 TeXcolorgray -153 1286 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1377 25 92 v Black 0.95 TeXcolorgray -128 1377 4252 92
v Black 0.95 TeXcolorgray 4124 1377 25 92 v Black 0.95
TeXcolorgray Black -128 1350 a
SDict begin H.S end
-128 1350 a -128 1350
a
SDict begin 11 H.A end
-128 1350 a -128 1350 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-56.1) cvn H.B /DEST pdfmark end
-128 1350 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46])724
1363 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1468 25 92 v Black 0.95 TeXcolorgray
-128 1468 4252 92 v Black 0.95 TeXcolorgray 4124 1468
25 92 v Black 0.95 TeXcolorgray Black -128 1441 a
SDict begin H.S end
-128
1441 a -128 1441 a
SDict begin 11 H.A end
-128 1441 a -128 1441 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-56.2) cvn H.B /DEST pdfmark end
-128 1441
a Fo(8)p 0.95 TeXcolorgray -153 1493 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1668 a FA(Y)-9
b(ou)21 b(might)f(\002nd)g(it)i(useful)e(to)h(use)g(Hask)o(ell')-5
b(s)22 b Ft(seq)f FA(function)e(to)i(e)n(v)n(aluate)f(indi)n(vidual)f
(thunks)h(rather)g(than)g(e)n(v)n(aluating)f(the)i(whole)g(e)o
(xpression)-128 1767 y(with)g Ft(:force)p FA(.)j(F)o(or)c(e)o(xample:)
-128 1835 y
SDict begin H.S end
-128 1835 a -128 1835 a
SDict begin 12 H.A end
-128 1835 a -128
1835 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-57) cvn H.B /DEST pdfmark end
-128 1835 a 0.95 TeXcolorgray -153 1850 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1942 25 92 v Black 0.95 TeXcolorgray
-128 1942 4252 92 v Black 0.95 TeXcolorgray 4124 1942
25 92 v Black 0.95 TeXcolorgray Black -128 1914 a
SDict begin H.S end
-128
1914 a -128 1914 a
SDict begin 11 H.A end
-128 1914 a -128 1914 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-57.1) cvn H.B /DEST pdfmark end
-128 1914
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46])724 1927 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(print)p Black 0 0 0 TeXcolorrgb 44 w(right)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2033 25 92 v Black 0.95 TeXcolorgray -128 2033 4252 92
v Black 0.95 TeXcolorgray 4124 2033 25 92 v Black 0.95
TeXcolorgray Black -128 2005 a
SDict begin H.S end
-128 2005 a -128 2005
a
SDict begin 11 H.A end
-128 2005 a -128 2005 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-57.2) cvn H.B /DEST pdfmark end
-128 2005 a 0 0 0 TeXcolorrgb
Fo(right)p Black 44 w(=)g(\()p 0 0 0 TeXcolorrgb(_t1)p
Black -1 w(::[)p 0 0 0 TeXcolorrgb(Integer)p Black -1
w(]\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2124 25 92 v Black 0.95 TeXcolorgray -128 2124 4252 92
v Black 0.95 TeXcolorgray 4124 2124 25 92 v Black 0.95
TeXcolorgray Black -128 2097 a
SDict begin H.S end
-128 2097 a -128 2097
a
SDict begin 11 H.A end
-128 2097 a -128 2097 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-57.3) cvn H.B /DEST pdfmark end
-128 2097 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46])724
2110 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)p
0 0 0 TeXcolorrgb 45 w(seq)p Black 0 0 0 TeXcolorrgb
44 w(_t1)p Black 45 w(\(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2216 25 92 v Black 0.95 TeXcolorgray
-128 2216 4252 92 v Black 0.95 TeXcolorgray 4124 2216
25 92 v Black 0.95 TeXcolorgray Black -128 2188 a
SDict begin H.S end
-128
2188 a -128 2188 a
SDict begin 11 H.A end
-128 2188 a -128 2188 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-57.4) cvn H.B /DEST pdfmark end
-128 2188
a Fo(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2307 25 92 v Black 0.95 TeXcolorgray -128 2307 4252
92 v Black 0.95 TeXcolorgray 4124 2307 25 92 v Black
0.95 TeXcolorgray Black -128 2279 a
SDict begin H.S end
-128 2279 a -128
2279 a
SDict begin 11 H.A end
-128 2279 a -128 2279 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-57.5) cvn H.B /DEST pdfmark end
-128 2279 a Fo([)p 0 0 0
TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:2:15-46])724 2292 y(*)p 0 0 0 TeXcolorrgb -13
x(Main)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(print)p
Black 0 0 0 TeXcolorrgb 44 w(right)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2398 25 92 v Black 0.95
TeXcolorgray -128 2398 4252 92 v Black 0.95 TeXcolorgray
4124 2398 25 92 v Black 0.95 TeXcolorgray Black -128
2371 a
SDict begin H.S end
-128 2371 a -128 2371 a
SDict begin 11 H.A end
-128 2371 a -128 2371
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-57.6) cvn H.B /DEST pdfmark end
-128 2371 a 0 0 0 TeXcolorrgb Fo(right)p Black 44 w(=)g(23)g(:)f(\()p
0 0 0 TeXcolorrgb(_t2)p Black(::[)p 0 0 0 TeXcolorrgb
-1 w(Integer)p Black -1 w(]\))p 0.95 TeXcolorgray -153
2423 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2597 a FA(W)-7 b(e)30 b(e)n(v)n(aluated)c(only)h(the)h
Ft(_t1)g FA(thunk,)h(re)n(v)o(ealing)d(the)i(head)f(of)h(the)g(list,)j
(and)c(the)h(tail)h(is)g(another)d(thunk)h(no)n(w)h(bound)e(to)i
Ft(_t2)p FA(.)48 b(The)28 b Ft(seq)-128 2697 y FA(function)20
b(is)j(a)e(little)i(incon)m(v)o(enient)18 b(to)k(use)f(here,)g(so)h
(you)f(might)f(w)o(ant)i(to)g(use)f Ft(:def)h FA(to)f(mak)o(e)g(a)h
(nicer)f(interf)o(ace)g(\(left)g(as)h(an)g(e)o(x)o(ercise)e(for)h(the)
-128 2797 y(reader!\).)-128 2946 y(Finally)-5 b(,)20
b(we)g(can)g(continue)f(the)h(current)f(e)o(x)o(ecution:)-128
3014 y
SDict begin H.S end
-128 3014 a -128 3014 a
SDict begin 12 H.A end
-128 3014 a -128 3014
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-58) cvn H.B /DEST pdfmark end
-128 3014 a 0.95 TeXcolorgray -153 3029 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3120 25 92 v Black 0.95 TeXcolorgray
-128 3120 4252 92 v Black 0.95 TeXcolorgray 4124 3120
25 92 v Black 0.95 TeXcolorgray Black -128 3093 a
SDict begin H.S end
-128
3093 a -128 3093 a
SDict begin 11 H.A end
-128 3093 a -128 3093 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.1) cvn H.B /DEST pdfmark end
-128 3093
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46])724 3106 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(continue)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3212 25 92 v Black 0.95 TeXcolorgray
-128 3212 4252 92 v Black 0.95 TeXcolorgray 4124 3212
25 92 v Black 0.95 TeXcolorgray Black -128 3184 a
SDict begin H.S end
-128
3184 a -128 3184 a
SDict begin 11 H.A end
-128 3184 a -128 3184 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.2) cvn H.B /DEST pdfmark end
-128 3184
a 0 0 0 TeXcolorrgb Fo(Stopped)p Black 0 0 0 TeXcolorrgb
44 w(at)p Black 0 0 0 TeXcolorrgb 45 w(qsort)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black -1 w(:2:15-46)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3303 25
92 v Black 0.95 TeXcolorgray -128 3303 4252 92 v Black
0.95 TeXcolorgray 4124 3303 25 92 v Black 0.95 TeXcolorgray
Black -128 3276 a
SDict begin H.S end
-128 3276 a -128 3276 a
SDict begin 11 H.A end
-128 3276 a
-128 3276 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.3) cvn H.B /DEST pdfmark end
-128 3276 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)g([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3394 25
92 v Black 0.95 TeXcolorgray -128 3394 4252 92 v Black
0.95 TeXcolorgray 4124 3394 25 92 v Black 0.95 TeXcolorgray
Black -128 3367 a
SDict begin H.S end
-128 3367 a -128 3367 a
SDict begin 11 H.A end
-128 3367 a
-128 3367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.4) cvn H.B /DEST pdfmark end
-128 3367 a 0 0 0 TeXcolorrgb Fo(a)p Black
45 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3486 25 92 v Black 0.95
TeXcolorgray -128 3486 4252 92 v Black 0.95 TeXcolorgray
4124 3486 25 92 v Black 0.95 TeXcolorgray Black -128
3458 a
SDict begin H.S end
-128 3458 a -128 3458 a
SDict begin 11 H.A end
-128 3458 a -128 3458
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.5) cvn H.B /DEST pdfmark end
-128 3458 a 0 0 0 TeXcolorrgb Fo(left)p Black 45 w(::)f([)p
0 0 0 TeXcolorrgb(a)p Black(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3577 25 92 v Black 0.95 TeXcolorgray
-128 3577 4252 92 v Black 0.95 TeXcolorgray 4124 3577
25 92 v Black 0.95 TeXcolorgray Black -128 3550 a
SDict begin H.S end
-128
3550 a -128 3550 a
SDict begin 11 H.A end
-128 3550 a -128 3550 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.6) cvn H.B /DEST pdfmark end
-128 3550
a 0 0 0 TeXcolorrgb Fo(right)p Black 44 w(::)h([)p 0 0 0
TeXcolorrgb(a)p Black(])p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3668 25 92 v Black 0.95 TeXcolorgray
-128 3668 4252 92 v Black 0.95 TeXcolorgray 4124 3668
25 92 v Black 0.95 TeXcolorgray Black -128 3641 a
SDict begin H.S end
-128
3641 a -128 3641 a
SDict begin 11 H.A end
-128 3641 a -128 3641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-58.7) cvn H.B /DEST pdfmark end
-128 3641
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46])724 3654 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)p 0.95 TeXcolorgray
-153 3693 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3868 a FA(The)20 b(e)o(x)o(ecution)e(continued)h(at)h(the)g
(point)g(it)h(pre)n(viously)d(stopped,)h(and)g(has)i(no)n(w)e(stopped)h
(at)g(the)g(breakpoint)e(for)i(a)g(second)g(time.)-128
4002 y
SDict begin H.S end
-128 4002 a -128 4002 a
SDict begin 12 H.A end
-128 4002 a -128 4002
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.5.1.1) cvn H.B /DEST pdfmark end
-128 4002 a Black 131 x Fx(2.5.1.1)p Black 73 w(Setting)f
(breakpoints)-128 4217 y
SDict begin H.S end
-128 4217 a -128 4217 a
SDict begin 12 H.A end
-128
4217 a -128 4217 a
SDict begin [ /View [/XYZ H.V] /Dest (setting-breakpoints) cvn H.B /DEST pdfmark end
-128 4217 a 119 x FA(Breakpoints)g(can)h(be)h(set)g
(in)f(v)n(arious)f(w)o(ays.)25 b(Perhaps)20 b(the)g(easiest)h(w)o(ay)f
(to)h(set)g(a)f(breakpoint)e(is)j(to)g(name)e(a)i(top-le)n(v)o(el)d
(function:)-128 4404 y
SDict begin H.S end
-128 4404 a -128 4404 a
SDict begin 12 H.A end
-128 4404
a -128 4404 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-59) cvn H.B /DEST pdfmark end
-128 4404 a 0.95 TeXcolorgray -153 4419
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4511 25 92 v Black 0.95
TeXcolorgray -128 4511 4252 92 v Black 0.95 TeXcolorgray
4124 4511 25 92 v Black 0.95 TeXcolorgray Black -128
4483 a
SDict begin H.S end
-128 4483 a -128 4483 a
SDict begin 11 H.A end
-128 4483 a -128 4483
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-59.1) cvn H.B /DEST pdfmark end
-128 4483 a 135 w Fo(:)p 0 0 0 TeXcolorrgb(break)p
Black 0 0 0 TeXcolorrgb 44 w(identifier)p Black 0.95
TeXcolorgray -153 4536 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4710 a FA(Where)h Fr(identifier)h
FA(names)f(an)o(y)f(top-le)n(v)o(el)f(function)g(in)i(an)g(interpreted)
e(module)g(currently)g(loaded)h(into)g(GHCi)i(\(quali\002ed)d(names)i
(may)f(be)-128 4810 y(used\).)27 b(The)21 b(breakpoint)d(will)k(be)f
(set)h(on)e(the)h(body)f(of)g(the)h(function,)f(when)g(it)i(is)g(fully)
e(applied)g(b)n(ut)h(before)e(an)o(y)i(pattern)f(matching)f(has)i(tak)o
(en)-128 4909 y(place.)-128 5059 y(Breakpoints)e(can)h(also)h(be)f(set)
h(by)f(line)g(\(and)f(optionally)g(column\))f(number:)-128
5126 y
SDict begin H.S end
-128 5126 a -128 5126 a
SDict begin 12 H.A end
-128 5126 a -128 5126
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-60) cvn H.B /DEST pdfmark end
-128 5126 a 0.95 TeXcolorgray -153 5142 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5233 25 92 v Black 0.95 TeXcolorgray
-128 5233 4252 92 v Black 0.95 TeXcolorgray 4124 5233
25 92 v Black 0.95 TeXcolorgray Black -128 5206 a
SDict begin H.S end
-128
5206 a -128 5206 a
SDict begin 11 H.A end
-128 5206 a -128 5206 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-60.1) cvn H.B /DEST pdfmark end
-128 5206
a 135 w Fo(:)p 0 0 0 TeXcolorrgb(break)p Black 0 0 0
TeXcolorrgb 44 w(line)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5324 25 92 v Black 0.95 TeXcolorgray
-128 5324 4252 92 v Black 0.95 TeXcolorgray 4124 5324
25 92 v Black 0.95 TeXcolorgray Black -128 5297 a
SDict begin H.S end
-128
5297 a -128 5297 a
SDict begin 11 H.A end
-128 5297 a -128 5297 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-60.2) cvn H.B /DEST pdfmark end
-128 5297
a 135 w Fo(:)p 0 0 0 TeXcolorrgb(break)p Black 0 0 0
TeXcolorrgb 44 w(line)p Black 0 0 0 TeXcolorrgb 44 w(column)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5416 25 92 v Black 0.95 TeXcolorgray -128 5416 4252 92
v Black 0.95 TeXcolorgray 4124 5416 25 92 v Black 0.95
TeXcolorgray Black -128 5388 a
SDict begin H.S end
-128 5388 a -128 5388
a
SDict begin 11 H.A end
-128 5388 a -128 5388 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-60.3) cvn H.B /DEST pdfmark end
-128 5388 a 135 w Fo(:)p 0 0 0
TeXcolorrgb(break)p Black 0 0 0 TeXcolorrgb 44 w(module)p
Black 0 0 0 TeXcolorrgb 44 w(line)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5507 25 92 v Black 0.95
TeXcolorgray -128 5507 4252 92 v Black 0.95 TeXcolorgray
4124 5507 25 92 v Black 0.95 TeXcolorgray Black -128
5480 a
SDict begin H.S end
-128 5480 a -128 5480 a
SDict begin 11 H.A end
-128 5480 a -128 5480
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-60.4) cvn H.B /DEST pdfmark end
-128 5480 a 135 w Fo(:)p 0 0 0 TeXcolorrgb(break)p
Black 0 0 0 TeXcolorrgb 44 w(module)p Black 0 0 0 TeXcolorrgb
44 w(line)p Black 0 0 0 TeXcolorrgb 44 w(column)p Black
0.95 TeXcolorgray -153 5532 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 24 39
TeXDict begin 24 38 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.24) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(24)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(When)e(a)g(breakpoint)e
(is)j(set)f(on)g(a)g(particular)f(line,)h(GHCi)h(sets)g(the)f
(breakpoint)d(on)j(the)f(leftmost)h(sube)o(xpression)e(that)i(be)o
(gins)e(and)i(ends)f(on)h(that)-128 273 y(line.)33 b(If)23
b(tw)o(o)g(complete)e(sube)o(xpressions)g(start)i(at)g(the)g(same)g
(column,)f(the)g(longest)h(one)f(is)h(pick)o(ed.)32 b(If)22
b(there)h(is)g(no)g(complete)e(sube)o(xpression)-128
372 y(on)i(the)g(line,)g(then)f(the)h(leftmost)g(e)o(xpression)e
(starting)i(on)f(the)h(line)g(is)h(pick)o(ed,)e(and)g(f)o(ailing)g
(that)h(the)g(rightmost)f(e)o(xpression)f(that)i(partially)f(or)-128
472 y(completely)d(co)o(v)o(ers)g(the)h(line.)-128 622
y(When)j(a)g(breakpoint)d(is)k(set)f(on)g(a)g(particular)e(line)i(and)f
(column,)f(GHCi)j(picks)e(the)h(smallest)g(sube)o(xpression)e(that)h
(encloses)h(that)g(location)e(on)-128 721 y(which)j(to)h(set)g(the)f
(breakpoint.)35 b(Note:)f(GHC)25 b(considers)e(the)i(T)-8
b(AB)25 b(character)e(to)h(ha)n(v)o(e)g(a)h(width)f(of)g(1,)h(where)n
(v)o(er)e(it)i(occurs;)g(in)g(other)e(w)o(ords)-128 821
y(it)i(counts)e(characters,)h(rather)f(than)h(columns.)35
b(This)24 b(matches)g(what)g(some)g(editors)f(do,)i(and)e(doesn')o(t)f
(match)i(others.)36 b(The)23 b(best)i(advice)e(is)i(to)-128
920 y(a)n(v)n(oid)20 b(tab)h(characters)e(in)h(your)f(source)h(code)f
(altogether)g(\(see)h Ft(-fwarn-tabs)f FA(in)h(Section)p
1 0 0 TeXcolorrgb 2658 921 a
SDict begin H.S end
2658 921 a 1 0 0 TeXcolorrgb
-1 x FA(4.7)p 1 0 0 TeXcolorrgb 2762 864 a
SDict begin H.R end
2762 864 a
2762 920 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.7) cvn H.B /ANN pdfmark end
2762 920 a Black FA(\).)-128 1070 y(If)g(the)h(module)e(is)i
(omitted,)e(then)h(the)g(most)g(recently-loaded)d(module)i(is)i(used.)
-128 1219 y(Not)e(all)g(sube)o(xpressions)d(are)j(potential)e
(breakpoint)f(locations.)24 b(Single)18 b(v)n(ariables)g(are)g
(typically)g(not)g(considered)f(to)h(be)h(breakpoint)d(locations)-128
1319 y(\(unless)28 b(the)g(v)n(ariable)e(is)j(the)f(right-hand-side)c
(of)j(a)i(function)d(de\002nition,)i(lambda,)g(or)f(case)i(alternati)n
(v)o(e\).)45 b(The)28 b(rule)f(of)h(thumb)e(is)j(that)e(all)-128
1419 y(rede)o(x)o(es)19 b(are)g(breakpoint)f(locations,)g(together)h
(with)g(the)h(bodies)f(of)g(functions,)g(lambdas,)f(case)i(alternati)n
(v)o(es)f(and)g(binding)f(statements.)25 b(There)-128
1518 y(is)20 b(normally)c(no)i(breakpoint)e(on)i(a)h(let)g(e)o
(xpression,)e(b)n(ut)h(there)g(will)h(al)o(w)o(ays)g(be)f(a)h
(breakpoint)c(on)j(its)i(body)-5 b(,)16 b(because)i(we)h(are)f(usually)
g(interested)-128 1618 y(in)j(inspecting)e(the)h(v)n(alues)g(of)g(the)g
(v)n(ariables)f(bound)g(by)g(the)i(let.)-128 1752 y
SDict begin H.S end
-128
1752 a -128 1752 a
SDict begin 12 H.A end
-128 1752 a -128 1752 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.5.1.2) cvn H.B /DEST pdfmark end
-128 1752
a Black 131 x Fx(2.5.1.2)p Black 73 w(Listing)d(and)i(deleting)e
(breakpoints)-128 2086 y FA(The)i(list)i(of)d(breakpoints)g(currently)f
(enabled)h(can)h(be)g(displayed)f(using)h Ft(:show)49
b(breaks)p FA(:)-128 2154 y
SDict begin H.S end
-128 2154 a -128 2154 a
SDict begin 12 H.A end
-128
2154 a -128 2154 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-61) cvn H.B /DEST pdfmark end
-128 2154 a 0.95 TeXcolorgray -153
2169 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2261 25 92 v Black 0.95
TeXcolorgray -128 2261 4252 92 v Black 0.95 TeXcolorgray
4124 2261 25 92 v Black 0.95 TeXcolorgray Black -128
2233 a
SDict begin H.S end
-128 2233 a -128 2233 a
SDict begin 11 H.A end
-128 2233 a -128 2233
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-61.1) cvn H.B /DEST pdfmark end
-128 2233 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)44 b(:)p 0 0 0 TeXcolorrgb(show)p Black 0 0 0
TeXcolorrgb 44 w(breaks)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2352 25 92 v Black 0.95 TeXcolorgray
-128 2352 4252 92 v Black 0.95 TeXcolorgray 4124 2352
25 92 v Black 0.95 TeXcolorgray Black -128 2325 a
SDict begin H.S end
-128
2325 a -128 2325 a
SDict begin 11 H.A end
-128 2325 a -128 2325 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-61.2) cvn H.B /DEST pdfmark end
-128 2325
a Fo([0])p 0 0 0 TeXcolorrgb 45 w(Main)p Black 0 0 0
TeXcolorrgb 44 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:1:11-12)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2443 25 92 v Black 0.95 TeXcolorgray -128 2443 4252
92 v Black 0.95 TeXcolorgray 4124 2443 25 92 v Black
0.95 TeXcolorgray Black -128 2416 a
SDict begin H.S end
-128 2416 a -128
2416 a
SDict begin 11 H.A end
-128 2416 a -128 2416 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-61.3) cvn H.B /DEST pdfmark end
-128 2416 a Fo([1])p 0 0 0
TeXcolorrgb 45 w(Main)p Black 0 0 0 TeXcolorrgb 44 w(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46)p
0.95 TeXcolorgray -153 2468 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2643 a FA(T)-7 b(o)21 b(delete)f(a)g
(breakpoint,)e(use)i(the)h Ft(:delete)e FA(command)f(with)j(the)f
(number)e(gi)n(v)o(en)h(in)h(the)h(output)e(from)g Ft(:show)49
b(breaks)p FA(:)-128 2710 y
SDict begin H.S end
-128 2710 a -128 2710 a
SDict begin 12 H.A end
-128
2710 a -128 2710 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-62) cvn H.B /DEST pdfmark end
-128 2710 a 0.95 TeXcolorgray -153
2726 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2817 25 92 v Black 0.95
TeXcolorgray -128 2817 4252 92 v Black 0.95 TeXcolorgray
4124 2817 25 92 v Black 0.95 TeXcolorgray Black -128
2790 a
SDict begin H.S end
-128 2790 a -128 2790 a
SDict begin 11 H.A end
-128 2790 a -128 2790
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-62.1) cvn H.B /DEST pdfmark end
-128 2790 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)44 b(:)p 0 0 0 TeXcolorrgb(delete)p Black 44
w(0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2908 25 92 v Black 0.95 TeXcolorgray -128 2908 4252 92
v Black 0.95 TeXcolorgray 4124 2908 25 92 v Black 0.95
TeXcolorgray Black -128 2881 a
SDict begin H.S end
-128 2881 a -128 2881
a
SDict begin 11 H.A end
-128 2881 a -128 2881 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-62.2) cvn H.B /DEST pdfmark end
-128 2881 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)g(:)p 0 0 0 TeXcolorrgb(show)p
Black 0 0 0 TeXcolorrgb 44 w(breaks)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3000 25 92 v Black 0.95
TeXcolorgray -128 3000 4252 92 v Black 0.95 TeXcolorgray
4124 3000 25 92 v Black 0.95 TeXcolorgray Black -128
2972 a
SDict begin H.S end
-128 2972 a -128 2972 a
SDict begin 11 H.A end
-128 2972 a -128 2972
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-62.3) cvn H.B /DEST pdfmark end
-128 2972 a Fo([1])p 0 0 0 TeXcolorrgb 45 w(Main)p
Black 0 0 0 TeXcolorrgb 44 w(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:2:15-46)p 0.95 TeXcolorgray -153
3025 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3199 a FA(T)-7 b(o)21 b(delete)f(all)h(breakpoints)d(at)i(once,)g
(use)g Ft(:delete)1519 3214 y(*)1569 3199 y FA(.)-128
3333 y
SDict begin H.S end
-128 3333 a -128 3333 a
SDict begin 12 H.A end
-128 3333 a -128 3333
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.2) cvn H.B /DEST pdfmark end
-128 3333 a Black 148 x Fp(2.5.2)p Black 90 w(Single-stepping)-128
3570 y
SDict begin H.S end
-128 3570 a -128 3570 a
SDict begin 12 H.A end
-128 3570 a -128 3570
a
SDict begin [ /View [/XYZ H.V] /Dest (single-stepping) cvn H.B /DEST pdfmark end
-128 3570 a 114 x FA(Single-stepping)i(is)i(a)g(great)f(w)o(ay)h(to)g
(visualise)f(the)h(e)o(x)o(ecution)d(of)j(your)e(program,)g(and)h(it)h
(is)h(also)e(a)h(useful)f(tool)h(for)f(identifying)e(the)j(source)-128
3784 y(of)f(a)g(b)n(ug.)32 b(GHCi)24 b(of)n(fers)d(tw)o(o)i(v)n
(ariants)f(of)h(stepping.)31 b(Use)24 b Ft(:step)e FA(to)h(enable)f
(all)h(the)g(breakpoints)d(in)j(the)g(program,)e(and)h(e)o(x)o(ecute)f
(until)i(the)-128 3883 y(ne)o(xt)f(breakpoint)d(is)k(reached.)30
b(Use)22 b Ft(:steplocal)f FA(to)h(limit)h(the)f(set)h(of)f(enabled)e
(breakpoints)g(to)j(those)f(in)g(the)g(current)f(top)g(le)n(v)o(el)h
(function.)-128 3983 y(Similarly)-5 b(,)20 b(use)g Ft(:stepmodule)f
FA(to)h(single)g(step)h(only)e(on)h(breakpoints)e(contained)h(in)h(the)
g(current)f(module.)24 b(F)o(or)19 b(e)o(xample:)-128
4051 y
SDict begin H.S end
-128 4051 a -128 4051 a
SDict begin 12 H.A end
-128 4051 a -128 4051
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-63) cvn H.B /DEST pdfmark end
-128 4051 a 0.95 TeXcolorgray -153 4066 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4157 25 92 v Black 0.95 TeXcolorgray
-128 4157 4252 92 v Black 0.95 TeXcolorgray 4124 4157
25 92 v Black 0.95 TeXcolorgray Black -128 4130 a
SDict begin H.S end
-128
4130 a -128 4130 a
SDict begin 11 H.A end
-128 4130 a -128 4130 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-63.1) cvn H.B /DEST pdfmark end
-128 4130
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44
b(:)p 0 0 0 TeXcolorrgb(step)p Black 0 0 0 TeXcolorrgb
44 w(main)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4249 25 92 v Black 0.95 TeXcolorgray -128 4249 4252
92 v Black 0.95 TeXcolorgray 4124 4249 25 92 v Black
0.95 TeXcolorgray Black -128 4221 a
SDict begin H.S end
-128 4221 a -128
4221 a
SDict begin 11 H.A end
-128 4221 a -128 4221 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-63.2) cvn H.B /DEST pdfmark end
-128 4221 a 0 0 0 TeXcolorrgb
Fo(Stopped)p Black 0 0 0 TeXcolorrgb 44 w(at)p Black
0 0 0 TeXcolorrgb 45 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(:5:7-47)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4340 25 92 v Black 0.95 TeXcolorgray -128 4340 4252
92 v Black 0.95 TeXcolorgray 4124 4340 25 92 v Black
0.95 TeXcolorgray Black -128 4313 a
SDict begin H.S end
-128 4313 a -128
4313 a
SDict begin 11 H.A end
-128 4313 a -128 4313 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-63.3) cvn H.B /DEST pdfmark end
-128 4313 a 0 0 0 TeXcolorrgb
Fo(_result)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(IO)p
Black 44 w(\(\))p 0.95 TeXcolorgray -153 4365 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 4539
a FA(The)27 b(command)d Ft(:step)49 b Fr(expr)29 b FA(be)o(gins)d(the)g
(e)n(v)n(aluation)f(of)h Fr(expr)j FA(in)e(single-stepping)d(mode.)43
b(If)27 b Fr(expr)i FA(is)e(omitted,)g(then)f(it)h(single-steps)-128
4639 y(from)20 b(the)g(current)f(breakpoint.)j Ft(:stepover)d
FA(w)o(orks)h(similarly)-5 b(.)-128 4788 y(The)20 b Ft(:list)g
FA(command)e(is)j(particularly)e(useful)h(when)f(single-stepping,)f(to)
i(see)h(where)f(you)f(currently)f(are:)-128 4856 y
SDict begin H.S end
-128
4856 a -128 4856 a
SDict begin 12 H.A end
-128 4856 a -128 4856 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-64) cvn H.B /DEST pdfmark end
-128 4856
a 0.95 TeXcolorgray -153 4871 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4963 25 92 v Black 0.95 TeXcolorgray -128 4963 4252 92
v Black 0.95 TeXcolorgray 4124 4963 25 92 v Black 0.95
TeXcolorgray Black -128 4935 a
SDict begin H.S end
-128 4935 a -128 4935
a
SDict begin 11 H.A end
-128 4935 a -128 4935 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-64.1) cvn H.B /DEST pdfmark end
-128 4935 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:5:7-47])679
4948 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44
b(:)p 0 0 0 TeXcolorrgb(list)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5054 25 92 v Black 0.95
TeXcolorgray -128 5054 4252 92 v Black 0.95 TeXcolorgray
4124 5054 25 92 v Black 0.95 TeXcolorgray Black -128
5027 a
SDict begin H.S end
-128 5027 a -128 5027 a
SDict begin 11 H.A end
-128 5027 a -128 5027
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-64.2) cvn H.B /DEST pdfmark end
-128 5027 a Fo(4)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5145 25 92 v Black 0.95 TeXcolorgray -128 5145 4252
92 v Black 0.95 TeXcolorgray 4124 5145 25 92 v Black
0.95 TeXcolorgray Black -128 5118 a
SDict begin H.S end
-128 5118 a -128
5118 a
SDict begin 11 H.A end
-128 5118 a -128 5118 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-64.3) cvn H.B /DEST pdfmark end
-128 5118 a Fo(5)p 0 0 0
TeXcolorrgb 90 w(main)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(print)p Black 44 w(\()p 0 0 0 TeXcolorrgb(qsort)p
Black 44 w([8,)g(4,)g(0,)h(3,)f(1,)h(23,)f(11,)h(18]\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5237 25
92 v Black 0.95 TeXcolorgray -128 5237 4252 92 v Black
0.95 TeXcolorgray 4124 5237 25 92 v Black 0.95 TeXcolorgray
Black -128 5209 a
SDict begin H.S end
-128 5209 a -128 5209 a
SDict begin 11 H.A end
-128 5209 a
-128 5209 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-64.4) cvn H.B /DEST pdfmark end
-128 5209 a Fo(6)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5328 25 92 v Black 0.95 TeXcolorgray
-128 5328 4252 92 v Black 0.95 TeXcolorgray 4124 5328
25 92 v Black 0.95 TeXcolorgray Black -128 5301 a
SDict begin H.S end
-128
5301 a -128 5301 a
SDict begin 11 H.A end
-128 5301 a -128 5301 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-64.5) cvn H.B /DEST pdfmark end
-128 5301
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:5:7-47])679 5314 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)p 0.95 TeXcolorgray
-153 5353 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5527 a FA(In)20 b(f)o(act,)g(GHCi)i(pro)o(vides)c(a)j(w)o
(ay)f(to)g(run)g(a)g(command)e(when)i(a)h(breakpoint)c(is)22
b(hit,)e(so)g(we)h(can)f(mak)o(e)g(it)h(automatically)d(do)i
Ft(:list)p FA(:)p Black -128 6084 4252 5 v Black eop
end
%%Page: 25 40
TeXDict begin 25 39 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.25) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(25)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-65) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.1) cvn H.B /DEST pdfmark end
-128 237 a Fo([)p
0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:5:7-47])679 250 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)44 b(:)p 0 0 0 TeXcolorrgb(set)p Black 0 0 0
TeXcolorrgb 44 w(stop)p Black 45 w(:)p 0 0 0 TeXcolorrgb
-1 w(list)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.2) cvn H.B /DEST pdfmark end
-128 328 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:5:7-47])679
341 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)g(:)p
0 0 0 TeXcolorrgb(step)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.3) cvn H.B /DEST pdfmark end
-128 420 a 0 0 0 TeXcolorrgb
Fo(Stopped)p Black 0 0 0 TeXcolorrgb 44 w(at)p Black
0 0 0 TeXcolorrgb 45 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(:5:14-46)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 538 25 92 v Black 0.95 TeXcolorgray -128 538 4252
92 v Black 0.95 TeXcolorgray 4124 538 25 92 v Black 0.95
TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511 a -128 511 a
SDict begin 11 H.A end
-128
511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.4) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)h([)p 0 0 0 TeXcolorrgb -1 w(Integer)p
Black -1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 630 25 92 v Black 0.95 TeXcolorgray -128 630 4252
92 v Black 0.95 TeXcolorgray 4124 630 25 92 v Black 0.95
TeXcolorgray Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128
602 a -128 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.5) cvn H.B /DEST pdfmark end
-128 602 a Fo(4)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 721 25 92 v Black 0.95 TeXcolorgray
-128 721 4252 92 v Black 0.95 TeXcolorgray 4124 721 25
92 v Black 0.95 TeXcolorgray Black -128 694 a
SDict begin H.S end
-128 694
a -128 694 a
SDict begin 11 H.A end
-128 694 a -128 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.6) cvn H.B /DEST pdfmark end
-128 694 a Fo(5)p
0 0 0 TeXcolorrgb 90 w(main)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(print)p Black 44 w(\()p 0 0 0 TeXcolorrgb(qsort)p
Black 44 w([8,)f(4,)g(0,)h(3,)f(1,)h(23,)f(11,)h(18]\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 812 25
92 v Black 0.95 TeXcolorgray -128 812 4252 92 v Black
0.95 TeXcolorgray 4124 812 25 92 v Black 0.95 TeXcolorgray
Black -128 785 a
SDict begin H.S end
-128 785 a -128 785 a
SDict begin 11 H.A end
-128 785 a -128
785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.7) cvn H.B /DEST pdfmark end
-128 785 a Fo(6)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 904 25 92 v Black 0.95 TeXcolorgray
-128 904 4252 92 v Black 0.95 TeXcolorgray 4124 904 25
92 v Black 0.95 TeXcolorgray Black -128 876 a
SDict begin H.S end
-128 876
a -128 876 a
SDict begin 11 H.A end
-128 876 a -128 876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-65.8) cvn H.B /DEST pdfmark end
-128 876 a Fo([)p
0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:5:14-46])724 889 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black -1 w(>)p 0.95 TeXcolorgray -153 929 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1092 a
SDict begin H.S end
-128
1092 a -128 1092 a
SDict begin 12 H.A end
-128 1092 a -128 1092 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.3) cvn H.B /DEST pdfmark end
-128 1092
a Black 139 x Fp(2.5.3)p Black 90 w(Nested)23 b(breakpoints)-128
1320 y
SDict begin H.S end
-128 1320 a -128 1320 a
SDict begin 12 H.A end
-128 1320 a -128 1320
a
SDict begin [ /View [/XYZ H.V] /Dest (nested-breakpoints) cvn H.B /DEST pdfmark end
-128 1320 a 113 x FA(When)c(GHCi)g(is)h(stopped)d(at)i(a)g
(breakpoint,)d(and)i(an)g(e)o(xpression)f(entered)h(at)h(the)f(prompt)f
(triggers)h(a)h(second)e(breakpoint,)g(the)h(ne)n(w)g(breakpoint)-128
1532 y(becomes)23 b(the)h(\223current\224)f(one,)h(and)f(the)h(old)g
(one)f(is)i(sa)n(v)o(ed)f(on)g(a)g(stack.)37 b(An)24
b(arbitrary)e(number)g(of)i(breakpoint)d(conte)o(xts)i(can)h(be)g(b)n
(uilt)g(up)g(in)-128 1632 y(this)d(w)o(ay)-5 b(.)25 b(F)o(or)20
b(e)o(xample:)-128 1698 y
SDict begin H.S end
-128 1698 a -128 1698 a
SDict begin 12 H.A end
-128
1698 a -128 1698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-66) cvn H.B /DEST pdfmark end
-128 1698 a 0.95 TeXcolorgray -153
1713 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1805 25 92 v Black 0.95
TeXcolorgray -128 1805 4252 92 v Black 0.95 TeXcolorgray
4124 1805 25 92 v Black 0.95 TeXcolorgray Black -128
1777 a
SDict begin H.S end
-128 1777 a -128 1777 a
SDict begin 11 H.A end
-128 1777 a -128 1777
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-66.1) cvn H.B /DEST pdfmark end
-128 1777 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:2:15-46])724 1790
y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)45
b(:)p 0 0 0 TeXcolorrgb(st)p Black 0 0 0 TeXcolorrgb
44 w(qsort)p Black 44 w([1,3])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1896 25 92 v Black 0.95 TeXcolorgray
-128 1896 4252 92 v Black 0.95 TeXcolorgray 4124 1896
25 92 v Black 0.95 TeXcolorgray Black -128 1869 a
SDict begin H.S end
-128
1869 a -128 1869 a
SDict begin 11 H.A end
-128 1869 a -128 1869 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-66.2) cvn H.B /DEST pdfmark end
-128 1869
a 0 0 0 TeXcolorrgb Fo(Stopped)p Black 0 0 0 TeXcolorrgb
44 w(at)p Black 0 0 0 TeXcolorrgb 45 w(qsort)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black -1 w(:\(1,0\))o(-\(3,55\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1987 25
92 v Black 0.95 TeXcolorgray -128 1987 4252 92 v Black
0.95 TeXcolorgray 4124 1987 25 92 v Black 0.95 TeXcolorgray
Black -128 1960 a
SDict begin H.S end
-128 1960 a -128 1960 a
SDict begin 11 H.A end
-128 1960 a
-128 1960 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-66.3) cvn H.B /DEST pdfmark end
-128 1960 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)g([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2079 25
92 v Black 0.95 TeXcolorgray -128 2079 4252 92 v Black
0.95 TeXcolorgray 4124 2079 25 92 v Black 0.95 TeXcolorgray
Black -128 2051 a
SDict begin H.S end
-128 2051 a -128 2051 a
SDict begin 11 H.A end
-128 2051 a
-128 2051 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-66.4) cvn H.B /DEST pdfmark end
-128 2051 a Fo(...)g([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black -1 w(:\(1,0\))o(-\(3,55\))o
(])1128 2064 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black
-1 w(>)p 0.95 TeXcolorgray -153 2103 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 2274 a FA(While)25
b(stopped)e(at)i(the)f(breakpoint)e(on)i(line)h(2)f(that)g(we)h(set)g
(earlier)m(,)f(we)h(started)f(a)h(ne)n(w)f(e)n(v)n(aluation)f(with)h
Ft(:step)49 b(qsort)g([1,3])p FA(.)37 b(This)-128 2374
y(ne)n(w)19 b(e)n(v)n(aluation)f(stopped)g(after)h(one)g(step)g(\(at)h
(the)f(de\002nition)f(of)h Ft(qsort)p FA(\).)24 b(The)19
b(prompt)e(has)j(changed,)d(no)n(w)i(pre\002x)o(ed)f(with)h
Ft(...)p FA(,)g(to)h(indicate)-128 2474 y(that)h(there)e(are)i(sa)n(v)o
(ed)e(breakpoints)g(be)o(yond)f(the)i(current)f(one.)24
b(T)-7 b(o)20 b(see)h(the)f(stack)h(of)f(conte)o(xts,)f(use)h
Ft(:show)49 b(context)p FA(:)-128 2540 y
SDict begin H.S end
-128 2540 a
-128 2540 a
SDict begin 12 H.A end
-128 2540 a -128 2540 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-67) cvn H.B /DEST pdfmark end
-128 2540 a 0.95
TeXcolorgray -153 2555 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2646 25 92 v Black 0.95 TeXcolorgray -128 2646 4252 92
v Black 0.95 TeXcolorgray 4124 2646 25 92 v Black 0.95
TeXcolorgray Black -128 2619 a
SDict begin H.S end
-128 2619 a -128 2619
a
SDict begin 11 H.A end
-128 2619 a -128 2619 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-67.1) cvn H.B /DEST pdfmark end
-128 2619 a Fo(...)c([)p 0 0 0
TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(:\(1,0\))o(-\(3,55\))o(])1128 2632 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb
-1 w(show)p Black 0 0 0 TeXcolorrgb 45 w(context)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2737 25
92 v Black 0.95 TeXcolorgray -128 2737 4252 92 v Black
0.95 TeXcolorgray 4124 2737 25 92 v Black 0.95 TeXcolorgray
Black -128 2710 a
SDict begin H.S end
-128 2710 a -128 2710 a
SDict begin 11 H.A end
-128 2710 a
-128 2710 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-67.2) cvn H.B /DEST pdfmark end
-128 2710 a Fo(-->)p 0 0 0 TeXcolorrgb 45
w(main)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2829 25 92 v Black 0.95 TeXcolorgray -128 2829 4252
92 v Black 0.95 TeXcolorgray 4124 2829 25 92 v Black
0.95 TeXcolorgray Black -128 2801 a
SDict begin H.S end
-128 2801 a -128
2801 a
SDict begin 11 H.A end
-128 2801 a -128 2801 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-67.3) cvn H.B /DEST pdfmark end
-128 2801 a 0 0 0 TeXcolorrgb
90 w Fo(Stopped)p Black 0 0 0 TeXcolorrgb 44 w(at)p Black
0 0 0 TeXcolorrgb 44 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:2:15-46)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2920 25 92 v Black 0.95 TeXcolorgray -128 2920 4252
92 v Black 0.95 TeXcolorgray 4124 2920 25 92 v Black
0.95 TeXcolorgray Black -128 2893 a
SDict begin H.S end
-128 2893 a -128
2893 a
SDict begin 11 H.A end
-128 2893 a -128 2893 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-67.4) cvn H.B /DEST pdfmark end
-128 2893 a Fo(-->)p 0 0 0
TeXcolorrgb 45 w(qsort)p Black 44 w([1,3])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3011 25 92 v Black 0.95
TeXcolorgray -128 3011 4252 92 v Black 0.95 TeXcolorgray
4124 3011 25 92 v Black 0.95 TeXcolorgray Black -128
2984 a
SDict begin H.S end
-128 2984 a -128 2984 a
SDict begin 11 H.A end
-128 2984 a -128 2984
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-67.5) cvn H.B /DEST pdfmark end
-128 2984 a 0 0 0 TeXcolorrgb 90 w Fo(Stopped)p Black
0 0 0 TeXcolorrgb 44 w(at)p Black 0 0 0 TeXcolorrgb 44
w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:\(1,0\))o
(-\(3,55\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3103 25 92 v Black 0.95 TeXcolorgray -128 3103 4252
92 v Black 0.95 TeXcolorgray 4124 3103 25 92 v Black
0.95 TeXcolorgray Black -128 3075 a
SDict begin H.S end
-128 3075 a -128
3075 a
SDict begin 11 H.A end
-128 3075 a -128 3075 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-67.6) cvn H.B /DEST pdfmark end
-128 3075 a Fo(...)g([)p
0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(:\(1,0\))o(-\(3,55\))o(])1128 3088 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)p 0.95 TeXcolorgray
-153 3128 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3298 a FA(T)-7 b(o)21 b(abandon)d(the)i(current)f(e)n(v)n
(aluation,)f(use)j Ft(:abandon)p FA(:)-128 3358 y
SDict begin H.S end
-128
3358 a -128 3358 a
SDict begin 12 H.A end
-128 3358 a -128 3358 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-68) cvn H.B /DEST pdfmark end
-128 3358
a 0.95 TeXcolorgray -153 3380 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3471 25 92 v Black 0.95 TeXcolorgray -128 3471 4252 92
v Black 0.95 TeXcolorgray 4124 3471 25 92 v Black 0.95
TeXcolorgray Black -128 3444 a
SDict begin H.S end
-128 3444 a -128 3444
a
SDict begin 11 H.A end
-128 3444 a -128 3444 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-68.1) cvn H.B /DEST pdfmark end
-128 3444 a Fo(...)45 b([)p
0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(:\(1,0\))o(-\(3,55\))o(])1128 3457 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb
-1 w(abandon)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3562 25 92 v Black 0.95 TeXcolorgray -128 3562 4252
92 v Black 0.95 TeXcolorgray 4124 3562 25 92 v Black
0.95 TeXcolorgray Black -128 3535 a
SDict begin H.S end
-128 3535 a -128
3535 a
SDict begin 11 H.A end
-128 3535 a -128 3535 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-68.2) cvn H.B /DEST pdfmark end
-128 3535 a Fo([)p 0 0 0
TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:2:15-46])724 3548 y(*)p 0 0 0 TeXcolorrgb -13
x(Main)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(abandon)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3654 25 92 v Black 0.95 TeXcolorgray -128 3654 4252 92
v Black 0.95 TeXcolorgray 4124 3654 25 92 v Black 0.95
TeXcolorgray Black -128 3626 a
SDict begin H.S end
-128 3626 a -128 3626
a
SDict begin 11 H.A end
-128 3626 a -128 3626 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-68.3) cvn H.B /DEST pdfmark end
-128 3626 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)p 0.95 TeXcolorgray
-153 3679 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3842 a
SDict begin H.S end
-128 3842 a -128 3842 a
SDict begin 12 H.A end
-128 3842 a
-128 3842 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.4) cvn H.B /DEST pdfmark end
-128 3842 a Black 139 x Fp(2.5.4)p Black
90 w(The)24 b Fi(_result)f Fp(v)n(ariab)o(le)-128 4070
y
SDict begin H.S end
-128 4070 a -128 4070 a
SDict begin 12 H.A end
-128 4070 a -128 4070 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-debugger-result) cvn H.B /DEST pdfmark end
-128
4070 a 113 x FA(When)f(stopped)e(at)i(a)f(breakpoint)e(or)i
(single-step,)g(GHCi)h(binds)f(the)h(v)n(ariable)e Ft(_result)g
FA(to)i(the)f(v)n(alue)g(of)g(the)g(currently)f(acti)n(v)o(e)h(e)o
(xpression.)-128 4282 y(The)29 b(v)n(alue)e(of)i Ft(_result)e
FA(is)j(presumably)c(not)i(a)n(v)n(ailable)g(yet,)j(because)c(we)i
(stopped)e(its)j(e)n(v)n(aluation,)e(b)n(ut)h(it)g(can)f(be)h(forced:)
40 b(if)29 b(the)f(type)-128 4382 y(is)i(kno)n(wn)d(and)g(sho)n(w)o
(able,)j(then)e(just)h(entering)d Ft(_result)i FA(at)h(the)f(prompt)f
(will)i(sho)n(w)f(it.)50 b(Ho)n(we)n(v)o(er)m(,)29 b(there')-5
b(s)28 b(one)g(ca)n(v)o(eat)g(to)g(doing)f(this:)-128
4482 y(e)n(v)n(aluating)19 b Ft(_result)h FA(will)h(be)g(lik)o(ely)f
(to)h(trigger)e(further)g(breakpoints,)g(starting)h(with)h(the)f
(breakpoint)e(we)j(are)g(currently)e(stopped)g(at)i(\(if)g(we)-128
4581 y(stopped)i(at)g(a)h(real)f(breakpoint,)f(rather)g(than)h(due)f
(to)i Ft(:step)p FA(\).)33 b(So)24 b(it)g(will)g(probably)d(be)i
(necessary)f(to)i(issue)g(a)f Ft(:continue)f FA(immediately)-128
4681 y(when)e(e)n(v)n(aluating)e Ft(_result)p FA(.)25
b(Alternati)n(v)o(ely)-5 b(,)18 b(you)h(can)h(use)g Ft(:force)g
FA(which)g(ignores)f(breakpoints.)-128 4814 y
SDict begin H.S end
-128 4814
a -128 4814 a
SDict begin 12 H.A end
-128 4814 a -128 4814 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.5) cvn H.B /DEST pdfmark end
-128 4814 a Black
146 x Fp(2.5.5)p Black 90 w(T)-7 b(racing)23 b(and)h(histor)q(y)-128
5049 y
SDict begin H.S end
-128 5049 a -128 5049 a
SDict begin 12 H.A end
-128 5049 a -128 5049
a
SDict begin [ /View [/XYZ H.V] /Dest (tracing) cvn H.B /DEST pdfmark end
-128 5049 a 113 x FA(A)k(question)e(that)h(we)h(often)e(w)o(ant)h(to)
h(ask)f(when)g(deb)n(ugging)d(a)k(program)d(is)j(\223ho)n(w)e(did)h(I)h
(get)f(here?\224.)45 b(T)m(raditional)25 b(imperati)n(v)o(e)h(deb)n
(uggers)-128 5261 y(usually)k(pro)o(vide)f(some)h(kind)g(of)g
(stack-tracing)f(feature)h(that)g(lets)i(you)d(see)i(the)g(stack)f(of)h
(acti)n(v)o(e)f(function)e(calls)k(\(sometimes)e(called)g(the)-128
5361 y(\223le)o(xical)21 b(call)h(stack\224\),)f(describing)f(a)h(path)
g(through)e(the)i(code)g(to)g(the)h(current)e(location.)27
b(Unfortunately)18 b(this)k(is)g(hard)f(to)g(pro)o(vide)e(in)j(Hask)o
(ell,)-128 5461 y(because)c(e)o(x)o(ecution)e(proceeds)h(on)h(a)h
(demand-dri)n(v)o(en)14 b(basis,)19 b(rather)f(than)g(a)g
(depth-\002rst)g(basis)h(as)g(in)f(strict)h(languages.)k(The)18
b(\223stack\223)g(in)h(GHC')-5 b(s)-128 5560 y(e)o(x)o(ecution)26
b(engine)g(bears)h(little)i(resemblance)d(to)h(the)h(le)o(xical)f(call)
h(stack.)47 b(Ideally)27 b(GHCi)h(w)o(ould)f(maintain)g(a)h(separate)f
(le)o(xical)g(call)h(stack)-128 5660 y(in)h(addition)f(to)h(the)g
(dynamic)e(call)j(stack,)h(and)d(in)h(f)o(act)g(this)h(is)f(e)o(xactly)
f(what)h(our)f(pro\002ling)g(system)h(does)f(\(Chapter)p
1 0 0 TeXcolorrgb 3487 5661 a
SDict begin H.S end
3487 5661 a 1 0 0 TeXcolorrgb
-1 x FA(5)p 1 0 0 TeXcolorrgb 3529 5604 a
SDict begin H.R end
3529 5604 a
3529 5660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end
3529 5660 a Black FA(\),)j(and)d(what)h(some)-128
5759 y(other)23 b(Hask)o(ell)h(deb)n(uggers)e(do.)34
b(F)o(or)23 b(the)g(time)h(being,)f(ho)n(we)n(v)o(er)m(,)f(GHCi)i
(doesn')o(t)e(maintain)h(a)h(le)o(xical)f(call)h(stack)f(\(there)g(are)
g(some)h(technical)p Black -128 6084 4252 5 v Black eop
end
%%Page: 26 41
TeXDict begin 26 40 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.26) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(26)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(challenges)i(to)g(be)h(o)o(v)o
(ercome\).)28 b(Instead,)23 b(we)f(pro)o(vide)f(a)h(w)o(ay)h(to)g
(backtrack)d(from)i(a)g(breakpoint)e(to)j(pre)n(vious)e(e)n(v)n
(aluation)g(steps:)30 b(essentially)-128 273 y(this)20
b(is)f(lik)o(e)g(single-stepping)e(backw)o(ards,)h(and)g(should)g(in)h
(man)o(y)e(cases)j(pro)o(vide)c(enough)h(information)f(to)j(answer)g
(the)g(\223ho)n(w)f(did)g(I)h(get)g(here?\224)-128 372
y(question.)-128 517 y(T)-7 b(o)28 b(use)g(tracing,)g(e)n(v)n(aluate)f
(an)g(e)o(xpression)f(with)i(the)f Ft(:trace)g FA(command.)45
b(F)o(or)27 b(e)o(xample,)h(if)g(we)g(set)g(a)g(breakpoint)d(on)i(the)h
(base)f(case)h(of)-128 616 y Ft(qsort)p FA(:)-128 674
y
SDict begin H.S end
-128 674 a -128 674 a
SDict begin 12 H.A end
-128 674 a -128 674 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-69) cvn H.B /DEST pdfmark end
-128 674
a 0.95 TeXcolorgray -153 694 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
786 25 92 v Black 0.95 TeXcolorgray -128 786 4252 92
v Black 0.95 TeXcolorgray 4124 786 25 92 v Black 0.95
TeXcolorgray Black -128 758 a
SDict begin H.S end
-128 758 a -128 758 a
SDict begin 11 H.A end
-128
758 a -128 758 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.1) cvn H.B /DEST pdfmark end
-128 758 a 13 x Fo(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black(>)44 b(:)p 0 0 0 TeXcolorrgb(list)p
Black 0 0 0 TeXcolorrgb 44 w(qsort)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 877 25 92 v Black 0.95 TeXcolorgray
-128 877 4252 92 v Black 0.95 TeXcolorgray 4124 877 25
92 v Black 0.95 TeXcolorgray Black -128 850 a
SDict begin H.S end
-128 850
a -128 850 a
SDict begin 11 H.A end
-128 850 a -128 850 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.2) cvn H.B /DEST pdfmark end
-128 850 a Fo(1)p
0 0 0 TeXcolorrgb 90 w(qsort)p Black 44 w([])g(=)h([])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 968 25
92 v Black 0.95 TeXcolorgray -128 968 4252 92 v Black
0.95 TeXcolorgray 4124 968 25 92 v Black 0.95 TeXcolorgray
Black -128 941 a
SDict begin H.S end
-128 941 a -128 941 a
SDict begin 11 H.A end
-128 941 a -128
941 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.3) cvn H.B /DEST pdfmark end
-128 941 a Fo(2)p 0 0 0 TeXcolorrgb 90 w(qsort)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(:)p 0 0 0
TeXcolorrgb -1 w(as)p Black(\))g(=)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black 0 0 0 TeXcolorrgb 44 w(left)p Black
45 w(++)f([)p 0 0 0 TeXcolorrgb(a)p Black(])g(++)p 0 0 0
TeXcolorrgb 45 w(qsort)p Black 0 0 0 TeXcolorrgb 44 w(right)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1060 25 92 v Black 0.95 TeXcolorgray -128 1060 4252 92
v Black 0.95 TeXcolorgray 4124 1060 25 92 v Black 0.95
TeXcolorgray Black -128 1032 a
SDict begin H.S end
-128 1032 a -128 1032
a
SDict begin 11 H.A end
-128 1032 a -128 1032 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.4) cvn H.B /DEST pdfmark end
-128 1032 a Fo(3)p 0 0 0 TeXcolorrgb
180 w(where)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(left)p
Black(,)p 0 0 0 TeXcolorrgb(right)p Black -1 w(\))g(=)h(\()p
0 0 0 TeXcolorrgb(filter)p Black 44 w(\(<=)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(\))p 0 0 0 TeXcolorrgb 45 w(as)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(filter)p Black 44 w(\(>)p
0 0 0 TeXcolorrgb(a)p Black -1 w(\))p 0 0 0 TeXcolorrgb
45 w(as)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1151 25 92 v Black 0.95 TeXcolorgray -128 1151 4252
92 v Black 0.95 TeXcolorgray 4124 1151 25 92 v Black
0.95 TeXcolorgray Black -128 1124 a
SDict begin H.S end
-128 1124 a -128
1124 a
SDict begin 11 H.A end
-128 1124 a -128 1124 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.5) cvn H.B /DEST pdfmark end
-128 1124 a Fo(4)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1242 25 92
v Black 0.95 TeXcolorgray -128 1242 4252 92 v Black 0.95
TeXcolorgray 4124 1242 25 92 v Black 0.95 TeXcolorgray
Black -128 1215 a
SDict begin H.S end
-128 1215 a -128 1215 a
SDict begin 11 H.A end
-128 1215 a
-128 1215 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.6) cvn H.B /DEST pdfmark end
-128 1215 a 13 x Fo(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black(>)f(:)p 0 0 0 TeXcolorrgb(b)p Black
45 w(1)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1334 25 92 v Black 0.95 TeXcolorgray -128 1334 4252 92
v Black 0.95 TeXcolorgray 4124 1334 25 92 v Black 0.95
TeXcolorgray Black -128 1306 a
SDict begin H.S end
-128 1306 a -128 1306
a
SDict begin 11 H.A end
-128 1306 a -128 1306 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.7) cvn H.B /DEST pdfmark end
-128 1306 a 0 0 0 TeXcolorrgb
Fo(Breakpoint)p Black 44 w(1)p 0 0 0 TeXcolorrgb 44 w(activated)p
Black 0 0 0 TeXcolorrgb 44 w(at)p Black 0 0 0 TeXcolorrgb
44 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:1:11-12)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1425 25
92 v Black 0.95 TeXcolorgray -128 1425 4252 92 v Black
0.95 TeXcolorgray 4124 1425 25 92 v Black 0.95 TeXcolorgray
Black -128 1398 a
SDict begin H.S end
-128 1398 a -128 1398 a
SDict begin 11 H.A end
-128 1398 a
-128 1398 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-69.8) cvn H.B /DEST pdfmark end
-128 1398 a 13 x Fo(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black(>)p 0.95 TeXcolorgray -153 1450 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 1614
a FA(and)20 b(then)g(run)f(a)i(small)f Ft(qsort)g FA(with)h(tracing:)
-128 1677 y
SDict begin H.S end
-128 1677 a -128 1677 a
SDict begin 12 H.A end
-128 1677 a -128
1677 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-70) cvn H.B /DEST pdfmark end
-128 1677 a 0.95 TeXcolorgray -153 1692 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1783 25 92 v Black 0.95 TeXcolorgray
-128 1783 4252 92 v Black 0.95 TeXcolorgray 4124 1783
25 92 v Black 0.95 TeXcolorgray Black -128 1756 a
SDict begin H.S end
-128
1756 a -128 1756 a
SDict begin 11 H.A end
-128 1756 a -128 1756 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-70.1) cvn H.B /DEST pdfmark end
-128 1756
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44
b(:)p 0 0 0 TeXcolorrgb(trace)p Black 0 0 0 TeXcolorrgb
44 w(qsort)p Black 44 w([3,2,1])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1875 25 92 v Black 0.95 TeXcolorgray
-128 1875 4252 92 v Black 0.95 TeXcolorgray 4124 1875
25 92 v Black 0.95 TeXcolorgray Black -128 1847 a
SDict begin H.S end
-128
1847 a -128 1847 a
SDict begin 11 H.A end
-128 1847 a -128 1847 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-70.2) cvn H.B /DEST pdfmark end
-128 1847
a 0 0 0 TeXcolorrgb Fo(Stopped)p Black 0 0 0 TeXcolorrgb
44 w(at)p Black 0 0 0 TeXcolorrgb 45 w(qsort)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black -1 w(:1:11-12)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1966 25
92 v Black 0.95 TeXcolorgray -128 1966 4252 92 v Black
0.95 TeXcolorgray 4124 1966 25 92 v Black 0.95 TeXcolorgray
Black -128 1939 a
SDict begin H.S end
-128 1939 a -128 1939 a
SDict begin 11 H.A end
-128 1939 a
-128 1939 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-70.3) cvn H.B /DEST pdfmark end
-128 1939 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)h([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2057 25
92 v Black 0.95 TeXcolorgray -128 2057 4252 92 v Black
0.95 TeXcolorgray 4124 2057 25 92 v Black 0.95 TeXcolorgray
Black -128 2030 a
SDict begin H.S end
-128 2030 a -128 2030 a
SDict begin 11 H.A end
-128 2030 a
-128 2030 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-70.4) cvn H.B /DEST pdfmark end
-128 2030 a Fo([)p 0 0 0 TeXcolorrgb(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:1:11-12])724
2043 y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)p
0.95 TeXcolorgray -153 2082 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2247 a FA(W)-7 b(e)22 b(can)e(no)n(w)f(inspect)h
(the)h(history)e(of)h(e)n(v)n(aluation)e(steps:)-128
2309 y
SDict begin H.S end
-128 2309 a -128 2309 a
SDict begin 12 H.A end
-128 2309 a -128 2309
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-71) cvn H.B /DEST pdfmark end
-128 2309 a 0.95 TeXcolorgray -153 2325 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2416 25 92 v Black 0.95 TeXcolorgray
-128 2416 4252 92 v Black 0.95 TeXcolorgray 4124 2416
25 92 v Black 0.95 TeXcolorgray Black -128 2388 a
SDict begin H.S end
-128
2388 a -128 2388 a
SDict begin 11 H.A end
-128 2388 a -128 2388 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.1) cvn H.B /DEST pdfmark end
-128 2388
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:1:11-12])724 2401 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(hist)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2507 25 92 v Black 0.95 TeXcolorgray
-128 2507 4252 92 v Black 0.95 TeXcolorgray 4124 2507
25 92 v Black 0.95 TeXcolorgray Black -128 2480 a
SDict begin H.S end
-128
2480 a -128 2480 a
SDict begin 11 H.A end
-128 2480 a -128 2480 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.2) cvn H.B /DEST pdfmark end
-128 2480
a Fo(-1)90 b(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:24-38)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2599 25 92 v Black 0.95
TeXcolorgray -128 2599 4252 92 v Black 0.95 TeXcolorgray
4124 2599 25 92 v Black 0.95 TeXcolorgray Black -128
2571 a
SDict begin H.S end
-128 2571 a -128 2571 a
SDict begin 11 H.A end
-128 2571 a -128 2571
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.3) cvn H.B /DEST pdfmark end
-128 2571 a Fo(-2)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:23-55)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2690 25
92 v Black 0.95 TeXcolorgray -128 2690 4252 92 v Black
0.95 TeXcolorgray 4124 2690 25 92 v Black 0.95 TeXcolorgray
Black -128 2662 a
SDict begin H.S end
-128 2662 a -128 2662 a
SDict begin 11 H.A end
-128 2662 a
-128 2662 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.4) cvn H.B /DEST pdfmark end
-128 2662 a Fo(-3)g(:)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:\(1,0\))o
(-\(3,55\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2781 25 92 v Black 0.95 TeXcolorgray -128 2781 4252
92 v Black 0.95 TeXcolorgray 4124 2781 25 92 v Black
0.95 TeXcolorgray Black -128 2754 a
SDict begin H.S end
-128 2754 a -128
2754 a
SDict begin 11 H.A end
-128 2754 a -128 2754 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.5) cvn H.B /DEST pdfmark end
-128 2754 a Fo(-4)g(:)p
0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb
-1 w(hs)p Black(:2:15-24)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2872 25 92 v Black 0.95 TeXcolorgray
-128 2872 4252 92 v Black 0.95 TeXcolorgray 4124 2872
25 92 v Black 0.95 TeXcolorgray Black -128 2845 a
SDict begin H.S end
-128
2845 a -128 2845 a
SDict begin 11 H.A end
-128 2845 a -128 2845 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.6) cvn H.B /DEST pdfmark end
-128 2845
a Fo(-5)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hs)p Black(:2:15-46)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2964 25 92 v Black 0.95
TeXcolorgray -128 2964 4252 92 v Black 0.95 TeXcolorgray
4124 2964 25 92 v Black 0.95 TeXcolorgray Black -128
2936 a
SDict begin H.S end
-128 2936 a -128 2936 a
SDict begin 11 H.A end
-128 2936 a -128 2936
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.7) cvn H.B /DEST pdfmark end
-128 2936 a Fo(-6)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:24-38)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3055 25
92 v Black 0.95 TeXcolorgray -128 3055 4252 92 v Black
0.95 TeXcolorgray 4124 3055 25 92 v Black 0.95 TeXcolorgray
Black -128 3028 a
SDict begin H.S end
-128 3028 a -128 3028 a
SDict begin 11 H.A end
-128 3028 a
-128 3028 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.8) cvn H.B /DEST pdfmark end
-128 3028 a Fo(-7)g(:)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:23-55)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3146 25
92 v Black 0.95 TeXcolorgray -128 3146 4252 92 v Black
0.95 TeXcolorgray 4124 3146 25 92 v Black 0.95 TeXcolorgray
Black -128 3119 a
SDict begin H.S end
-128 3119 a -128 3119 a
SDict begin 11 H.A end
-128 3119 a
-128 3119 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.9) cvn H.B /DEST pdfmark end
-128 3119 a Fo(-8)g(:)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:\(1,0\))o
(-\(3,55\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3238 25 92 v Black 0.95 TeXcolorgray -128 3238 4252
92 v Black 0.95 TeXcolorgray 4124 3238 25 92 v Black
0.95 TeXcolorgray Black -128 3210 a
SDict begin H.S end
-128 3210 a -128
3210 a
SDict begin 11 H.A end
-128 3210 a -128 3210 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.10) cvn H.B /DEST pdfmark end
-128 3210 a Fo(-9)g(:)p
0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb
-1 w(hs)p Black(:2:15-24)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3329 25 92 v Black 0.95 TeXcolorgray
-128 3329 4252 92 v Black 0.95 TeXcolorgray 4124 3329
25 92 v Black 0.95 TeXcolorgray Black -128 3302 a
SDict begin H.S end
-128
3302 a -128 3302 a
SDict begin 11 H.A end
-128 3302 a -128 3302 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.11) cvn H.B /DEST pdfmark end
-128 3302
a Fo(-10)45 b(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hs)p Black(:2:15-46)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3420 25 92 v Black 0.95
TeXcolorgray -128 3420 4252 92 v Black 0.95 TeXcolorgray
4124 3420 25 92 v Black 0.95 TeXcolorgray Black -128
3393 a
SDict begin H.S end
-128 3393 a -128 3393 a
SDict begin 11 H.A end
-128 3393 a -128 3393
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.12) cvn H.B /DEST pdfmark end
-128 3393 a Fo(-11)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:24-38)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3512 25
92 v Black 0.95 TeXcolorgray -128 3512 4252 92 v Black
0.95 TeXcolorgray 4124 3512 25 92 v Black 0.95 TeXcolorgray
Black -128 3484 a
SDict begin H.S end
-128 3484 a -128 3484 a
SDict begin 11 H.A end
-128 3484 a
-128 3484 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.13) cvn H.B /DEST pdfmark end
-128 3484 a Fo(-12)g(:)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:23-55)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3603 25
92 v Black 0.95 TeXcolorgray -128 3603 4252 92 v Black
0.95 TeXcolorgray 4124 3603 25 92 v Black 0.95 TeXcolorgray
Black -128 3576 a
SDict begin H.S end
-128 3576 a -128 3576 a
SDict begin 11 H.A end
-128 3576 a
-128 3576 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.14) cvn H.B /DEST pdfmark end
-128 3576 a Fo(-13)g(:)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:\(1,0\))o
(-\(3,55\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3694 25 92 v Black 0.95 TeXcolorgray -128 3694 4252
92 v Black 0.95 TeXcolorgray 4124 3694 25 92 v Black
0.95 TeXcolorgray Black -128 3667 a
SDict begin H.S end
-128 3667 a -128
3667 a
SDict begin 11 H.A end
-128 3667 a -128 3667 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.15) cvn H.B /DEST pdfmark end
-128 3667 a Fo(-14)g(:)p
0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb
-1 w(hs)p Black(:2:15-24)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3786 25 92 v Black 0.95 TeXcolorgray
-128 3786 4252 92 v Black 0.95 TeXcolorgray 4124 3786
25 92 v Black 0.95 TeXcolorgray Black -128 3758 a
SDict begin H.S end
-128
3758 a -128 3758 a
SDict begin 11 H.A end
-128 3758 a -128 3758 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.16) cvn H.B /DEST pdfmark end
-128 3758
a Fo(-15)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hs)p Black(:2:15-46)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3877 25 92 v Black 0.95
TeXcolorgray -128 3877 4252 92 v Black 0.95 TeXcolorgray
4124 3877 25 92 v Black 0.95 TeXcolorgray Black -128
3850 a
SDict begin H.S end
-128 3850 a -128 3850 a
SDict begin 11 H.A end
-128 3850 a -128 3850
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.17) cvn H.B /DEST pdfmark end
-128 3850 a Fo(-16)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:\(1,0\))o(-\(3,55\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3968 25
92 v Black 0.95 TeXcolorgray -128 3968 4252 92 v Black
0.95 TeXcolorgray 4124 3968 25 92 v Black 0.95 TeXcolorgray
Black -128 3941 a
SDict begin H.S end
-128 3941 a -128 3941 a
SDict begin 11 H.A end
-128 3941 a
-128 3941 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-71.18) cvn H.B /DEST pdfmark end
-128 3941 a Fo(<)p 0 0 0 TeXcolorrgb(end)p
Black 0 0 0 TeXcolorrgb 45 w(of)p Black 0 0 0 TeXcolorrgb
44 w(history)p Black -1 w(>)p 0.95 TeXcolorgray -153
3993 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4158 a FA(T)-7 b(o)21 b(e)o(xamine)e(one)g(of)h(the)g(steps)h(in)f
(the)h(history)-5 b(,)18 b(use)j Ft(:back)p FA(:)-128
4220 y
SDict begin H.S end
-128 4220 a -128 4220 a
SDict begin 12 H.A end
-128 4220 a -128 4220
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-72) cvn H.B /DEST pdfmark end
-128 4220 a 0.95 TeXcolorgray -153 4235 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4327 25 92 v Black 0.95 TeXcolorgray
-128 4327 4252 92 v Black 0.95 TeXcolorgray 4124 4327
25 92 v Black 0.95 TeXcolorgray Black -128 4299 a
SDict begin H.S end
-128
4299 a -128 4299 a
SDict begin 11 H.A end
-128 4299 a -128 4299 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-72.1) cvn H.B /DEST pdfmark end
-128 4299
a Fo([)p 0 0 0 TeXcolorrgb(qsort)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black(:1:11-12])724 4312 y(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0
TeXcolorrgb(back)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4418 25 92 v Black 0.95 TeXcolorgray
-128 4418 4252 92 v Black 0.95 TeXcolorgray 4124 4418
25 92 v Black 0.95 TeXcolorgray Black -128 4391 a
SDict begin H.S end
-128
4391 a -128 4391 a
SDict begin 11 H.A end
-128 4391 a -128 4391 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-72.2) cvn H.B /DEST pdfmark end
-128 4391
a 0 0 0 TeXcolorrgb Fo(Logged)p Black 0 0 0 TeXcolorrgb
44 w(breakpoint)p Black 0 0 0 TeXcolorrgb 43 w(at)p Black
0 0 0 TeXcolorrgb 45 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:3:24-38)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4509 25 92 v Black 0.95 TeXcolorgray -128 4509 4252
92 v Black 0.95 TeXcolorgray 4124 4509 25 92 v Black
0.95 TeXcolorgray Black -128 4482 a
SDict begin H.S end
-128 4482 a -128
4482 a
SDict begin 11 H.A end
-128 4482 a -128 4482 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-72.3) cvn H.B /DEST pdfmark end
-128 4482 a 0 0 0 TeXcolorrgb
Fo(_result)p Black 44 w(::)g([)p 0 0 0 TeXcolorrgb -1
w(a)p Black(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4601 25 92 v Black 0.95 TeXcolorgray -128 4601 4252
92 v Black 0.95 TeXcolorgray 4124 4601 25 92 v Black
0.95 TeXcolorgray Black -128 4573 a
SDict begin H.S end
-128 4573 a -128
4573 a
SDict begin 11 H.A end
-128 4573 a -128 4573 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-72.4) cvn H.B /DEST pdfmark end
-128 4573 a 0 0 0 TeXcolorrgb
Fo(as)p Black 45 w(::)f([)p 0 0 0 TeXcolorrgb(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4692 25
92 v Black 0.95 TeXcolorgray -128 4692 4252 92 v Black
0.95 TeXcolorgray 4124 4692 25 92 v Black 0.95 TeXcolorgray
Black -128 4665 a
SDict begin H.S end
-128 4665 a -128 4665 a
SDict begin 11 H.A end
-128 4665 a
-128 4665 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-72.5) cvn H.B /DEST pdfmark end
-128 4665 a 0 0 0 TeXcolorrgb Fo(a)p Black
45 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4783 25 92 v Black 0.95
TeXcolorgray -128 4783 4252 92 v Black 0.95 TeXcolorgray
4124 4783 25 92 v Black 0.95 TeXcolorgray Black -128
4756 a
SDict begin H.S end
-128 4756 a -128 4756 a
SDict begin 11 H.A end
-128 4756 a -128 4756
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-72.6) cvn H.B /DEST pdfmark end
-128 4756 a Fo([-1:)p 0 0 0 TeXcolorrgb 45 w(qsort)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black -1 w(:3:24-38])904
4769 y(*)p 0 0 0 TeXcolorrgb 948 4756 a(Main)p Black(>)p
0.95 TeXcolorgray -153 4808 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4973 a FA(Note)25 b(that)f(the)g(local)g(v)n
(ariables)g(at)h(each)e(step)i(in)f(the)h(history)e(ha)n(v)o(e)h(been)f
(preserv)o(ed,)g(and)h(can)g(be)g(e)o(xamined)e(as)j(usual.)37
b(Also)25 b(note)f(that)g(the)-128 5072 y(prompt)e(has)h(changed)e(to)i
(indicate)f(that)h(we')l(re)g(currently)e(e)o(xamining)g(the)i(\002rst)
g(step)g(in)h(the)e(history:)30 b Ft(-1)p FA(.)k(The)22
b(command)f Ft(:forward)h FA(can)-128 5172 y(be)f(used)f(to)g(tra)n(v)o
(erse)f(forw)o(ard)g(in)h(the)h(history)-5 b(.)-128 5316
y(The)23 b Ft(:trace)g FA(command)e(can)i(be)g(used)g(with)g(or)g
(without)f(an)h(e)o(xpression.)32 b(When)23 b(used)g(without)f(an)h(e)o
(xpression,)f(tracing)h(be)o(gins)f(from)g(the)-128 5416
y(current)d(breakpoint,)f(just)j(lik)o(e)f Ft(:step)p
FA(.)-128 5560 y(The)26 b(history)e(is)j(only)d(a)n(v)n(ailable)h(when)
g(using)g Ft(:trace)p FA(;)i(the)f(reason)f(for)f(this)i(is)h(we)f
(found)d(that)j(logging)e(each)h(breakpoint)e(in)i(the)h(history)-128
5660 y(cuts)19 b(performance)d(by)i(a)h(f)o(actor)f(of)h(2)f(or)h
(more.)k(GHCi)d(remembers)d(the)h(last)i(50)e(steps)h(in)g(the)g
(history)e(\(perhaps)g(in)i(the)g(future)e(we')o(ll)i(mak)o(e)f(this)
-128 5759 y(con\002gurable\).)p Black -128 6084 4252
5 v Black eop end
%%Page: 27 42
TeXDict begin 27 41 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.27) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(27)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.6) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(2.5.6)p
Black 90 w(Deb)n(ug)o(ging)j(e)o(xceptions)-128 262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-debugger-exceptions) cvn H.B /DEST pdfmark end
-128 262
a 114 x FA(Another)32 b(common)e(question)i(that)g(comes)g(up)g(when)g
(deb)n(ugging)e(is)j(\223where)f(did)g(this)h(e)o(xception)e(come)h
(from?\224.)60 b(Exceptions)31 b(such)h(as)-128 476 y(those)25
b(raised)g(by)g Ft(error)f FA(or)h Ft(head)49 b([])25
b FA(ha)n(v)o(e)g(no)f(conte)o(xt)g(information)f(attached)h(to)h
(them.)39 b(Finding)24 b(which)h(particular)e(call)j(to)f
Ft(head)g FA(in)-128 575 y(your)d(program)e(resulted)i(in)h(the)f
(error)g(can)g(be)h(a)g(painstaking)e(process,)h(usually)g(in)m(v)n
(olving)e Ft(Debug.Trace.trace)p FA(,)h(or)h(compiling)f(with)-128
675 y(pro\002ling)e(and)h(using)g Ft(+RTS)49 b(-xc)20
b FA(\(see)g(Section)p 1 0 0 TeXcolorrgb 1364 676 a
SDict begin H.S end
1364
676 a 1 0 0 TeXcolorrgb -1 x FA(5.3)p 1 0 0 TeXcolorrgb
1468 619 a
SDict begin H.R end
1468 619 a 1468 675 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.3) cvn H.B /ANN pdfmark end
1468 675 a Black FA(\).)-128
825 y(The)g(GHCi)g(deb)n(ugger)d(of)n(fers)i(a)h(w)o(ay)f(to)h
(hopefully)d(shed)j(some)f(light)g(on)g(these)h(errors)f(quickly)f(and)
h(without)f(modifying)f(or)j(recompiling)d(the)-128 924
y(source)24 b(code.)37 b(One)25 b(w)o(ay)f(w)o(ould)g(be)g(to)h(set)g
(a)g(breakpoint)d(on)j(the)f(location)g(in)g(the)h(source)e(code)h
(that)h(thro)n(ws)f(the)g(e)o(xception,)g(and)g(then)g(use)-128
1024 y Ft(:trace)h FA(and)g Ft(:history)f FA(to)h(establish)h(the)f
(conte)o(xt.)38 b(Ho)n(we)n(v)o(er)m(,)25 b Ft(head)g
FA(is)h(in)f(a)h(library)e(and)h(we)g(can')o(t)f(set)i(a)g(breakpoint)d
(on)i(it)g(directly)-5 b(.)-128 1123 y(F)o(or)27 b(this)g(reason,)g
(GHCi)g(pro)o(vides)e(the)h(\003ags)h Ft(-fbreak-on-exception)c
FA(which)j(causes)h(the)g(e)n(v)n(aluator)d(to)j(stop)g(when)e(an)i(e)o
(xception)-128 1223 y(is)h(thro)n(wn,)e(and)75 b Ft(-fbreak-on-error)p
FA(,)25 b(which)h(w)o(orks)g(similarly)g(b)n(ut)g(stops)g(only)f(on)h
(uncaught)e(e)o(xceptions.)42 b(When)26 b(stopping)e(at)j(an)-128
1323 y(e)o(xception,)d(GHCi)i(will)f(act)h(just)f(as)g(it)h(does)e
(when)h(a)g(breakpoint)d(is)k(hit,)g(with)f(the)g(de)n(viation)e(that)i
(it)g(will)h(not)e(sho)n(w)h(you)f(an)o(y)g(source)g(code)-128
1422 y(location.)g(Due)c(to)g(this,)g(these)g(commands)f(are)g(only)g
(really)h(useful)f(in)h(conjunction)e(with)i Ft(:trace)p
FA(,)f(in)h(order)f(to)h(log)f(the)h(steps)h(leading)d(up)i(to)-128
1522 y(the)h(e)o(xception.)i(F)o(or)d(e)o(xample:)-128
1590 y
SDict begin H.S end
-128 1590 a -128 1590 a
SDict begin 12 H.A end
-128 1590 a -128 1590
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-73) cvn H.B /DEST pdfmark end
-128 1590 a 0.95 TeXcolorgray -153 1605 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1696 25 92 v Black 0.95 TeXcolorgray
-128 1696 4252 92 v Black 0.95 TeXcolorgray 4124 1696
25 92 v Black 0.95 TeXcolorgray Black -128 1669 a
SDict begin H.S end
-128
1669 a -128 1669 a
SDict begin 11 H.A end
-128 1669 a -128 1669 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.1) cvn H.B /DEST pdfmark end
-128 1669
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44
b(:)p 0 0 0 TeXcolorrgb(set)p Black 44 w(-)p 0 0 0 TeXcolorrgb(fbreak)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(on)p Black(-)p 0 0 0
TeXcolorrgb(exception)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1788 25 92 v Black 0.95 TeXcolorgray
-128 1788 4252 92 v Black 0.95 TeXcolorgray 4124 1788
25 92 v Black 0.95 TeXcolorgray Black -128 1760 a
SDict begin H.S end
-128
1760 a -128 1760 a
SDict begin 11 H.A end
-128 1760 a -128 1760 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.2) cvn H.B /DEST pdfmark end
-128 1760
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)g(:)p
0 0 0 TeXcolorrgb(trace)p Black 0 0 0 TeXcolorrgb 44
w(qsort)p Black 44 w(\(")p 0 0 0 TeXcolorrgb(abc)p Black
-1 w(")h(++)p 0 0 0 TeXcolorrgb 44 w(undefined)p Black
-1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1879 25 92 v Black 0.95 TeXcolorgray -128 1879 4252 92
v Black 0.95 TeXcolorgray 4124 1879 25 92 v Black 0.95
TeXcolorgray Black -128 1852 a
SDict begin H.S end
-128 1852 a -128 1852
a
SDict begin 11 H.A end
-128 1852 a -128 1852 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.3) cvn H.B /DEST pdfmark end
-128 1852 a Fo(\223)p 0 0 0
TeXcolorrgb(Stopped)p Black 0 0 0 TeXcolorrgb 44 w(at)p
Black 44 w(<)p 0 0 0 TeXcolorrgb(exception)p Black 0 0 0
TeXcolorrgb 44 w(thrown)p Black -1 w(>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1970 25 92 v Black 0.95
TeXcolorgray -128 1970 4252 92 v Black 0.95 TeXcolorgray
4124 1970 25 92 v Black 0.95 TeXcolorgray Black -128
1943 a
SDict begin H.S end
-128 1943 a -128 1943 a
SDict begin 11 H.A end
-128 1943 a -128 1943
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.4) cvn H.B /DEST pdfmark end
-128 1943 a 0 0 0 TeXcolorrgb Fo(_exception)p Black
44 w(::)p 0 0 0 TeXcolorrgb 44 w(e)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2062 25 92 v Black 0.95
TeXcolorgray -128 2062 4252 92 v Black 0.95 TeXcolorgray
4124 2062 25 92 v Black 0.95 TeXcolorgray Black -128
2034 a
SDict begin H.S end
-128 2034 a -128 2034 a
SDict begin 11 H.A end
-128 2034 a -128 2034
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.5) cvn H.B /DEST pdfmark end
-128 2034 a Fo([<)p 0 0 0 TeXcolorrgb(exception)p Black
0 0 0 TeXcolorrgb 43 w(thrown)p Black -1 w(>])814 2047
y(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)g(:)p
0 0 0 TeXcolorrgb(hist)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2153 25 92 v Black 0.95 TeXcolorgray
-128 2153 4252 92 v Black 0.95 TeXcolorgray 4124 2153
25 92 v Black 0.95 TeXcolorgray Black -128 2126 a
SDict begin H.S end
-128
2126 a -128 2126 a
SDict begin 11 H.A end
-128 2126 a -128 2126 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.6) cvn H.B /DEST pdfmark end
-128 2126
a Fo(-1)90 b(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:24-38)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2244 25 92 v Black 0.95
TeXcolorgray -128 2244 4252 92 v Black 0.95 TeXcolorgray
4124 2244 25 92 v Black 0.95 TeXcolorgray Black -128
2217 a
SDict begin H.S end
-128 2217 a -128 2217 a
SDict begin 11 H.A end
-128 2217 a -128 2217
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.7) cvn H.B /DEST pdfmark end
-128 2217 a Fo(-2)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:3:23-55)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2336 25
92 v Black 0.95 TeXcolorgray -128 2336 4252 92 v Black
0.95 TeXcolorgray 4124 2336 25 92 v Black 0.95 TeXcolorgray
Black -128 2308 a
SDict begin H.S end
-128 2308 a -128 2308 a
SDict begin 11 H.A end
-128 2308 a
-128 2308 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.8) cvn H.B /DEST pdfmark end
-128 2308 a Fo(-3)g(:)p 0 0 0 TeXcolorrgb
44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:\(1,0\))o
(-\(3,55\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2427 25 92 v Black 0.95 TeXcolorgray -128 2427 4252
92 v Black 0.95 TeXcolorgray 4124 2427 25 92 v Black
0.95 TeXcolorgray Black -128 2399 a
SDict begin H.S end
-128 2399 a -128
2399 a
SDict begin 11 H.A end
-128 2399 a -128 2399 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.9) cvn H.B /DEST pdfmark end
-128 2399 a Fo(-4)g(:)p
0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p 0 0 0 TeXcolorrgb
-1 w(hs)p Black(:2:15-24)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2518 25 92 v Black 0.95 TeXcolorgray
-128 2518 4252 92 v Black 0.95 TeXcolorgray 4124 2518
25 92 v Black 0.95 TeXcolorgray Black -128 2491 a
SDict begin H.S end
-128
2491 a -128 2491 a
SDict begin 11 H.A end
-128 2491 a -128 2491 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.10) cvn H.B /DEST pdfmark end
-128 2491
a Fo(-5)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hs)p Black(:2:15-46)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2610 25 92 v Black 0.95
TeXcolorgray -128 2610 4252 92 v Black 0.95 TeXcolorgray
4124 2610 25 92 v Black 0.95 TeXcolorgray Black -128
2582 a
SDict begin H.S end
-128 2582 a -128 2582 a
SDict begin 11 H.A end
-128 2582 a -128 2582
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.11) cvn H.B /DEST pdfmark end
-128 2582 a Fo(-6)g(:)p 0 0 0 TeXcolorrgb 44 w(qsort)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black(:\(1,0\))o(-\(3,55\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2701 25
92 v Black 0.95 TeXcolorgray -128 2701 4252 92 v Black
0.95 TeXcolorgray 4124 2701 25 92 v Black 0.95 TeXcolorgray
Black -128 2673 a
SDict begin H.S end
-128 2673 a -128 2673 a
SDict begin 11 H.A end
-128 2673 a
-128 2673 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.12) cvn H.B /DEST pdfmark end
-128 2673 a Fo(<)p 0 0 0 TeXcolorrgb(end)p
Black 0 0 0 TeXcolorrgb 45 w(of)p Black 0 0 0 TeXcolorrgb
44 w(history)p Black -1 w(>)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2792 25 92 v Black 0.95 TeXcolorgray
-128 2792 4252 92 v Black 0.95 TeXcolorgray 4124 2792
25 92 v Black 0.95 TeXcolorgray Black -128 2765 a
SDict begin H.S end
-128
2765 a -128 2765 a
SDict begin 11 H.A end
-128 2765 a -128 2765 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.13) cvn H.B /DEST pdfmark end
-128 2765
a Fo([<)p 0 0 0 TeXcolorrgb(exception)p Black 0 0 0 TeXcolorrgb
43 w(thrown)p Black -1 w(>])814 2778 y(*)p 0 0 0 TeXcolorrgb
-13 x(Main)p Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(back)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2884 25 92 v Black 0.95 TeXcolorgray -128 2884 4252 92
v Black 0.95 TeXcolorgray 4124 2884 25 92 v Black 0.95
TeXcolorgray Black -128 2856 a
SDict begin H.S end
-128 2856 a -128 2856
a
SDict begin 11 H.A end
-128 2856 a -128 2856 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.14) cvn H.B /DEST pdfmark end
-128 2856 a 0 0 0 TeXcolorrgb
Fo(Logged)p Black 0 0 0 TeXcolorrgb 44 w(breakpoint)p
Black 0 0 0 TeXcolorrgb 43 w(at)p Black 0 0 0 TeXcolorrgb
45 w(qsort)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:3:24-38)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2975 25
92 v Black 0.95 TeXcolorgray -128 2975 4252 92 v Black
0.95 TeXcolorgray 4124 2975 25 92 v Black 0.95 TeXcolorgray
Black -128 2947 a
SDict begin H.S end
-128 2947 a -128 2947 a
SDict begin 11 H.A end
-128 2947 a
-128 2947 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.15) cvn H.B /DEST pdfmark end
-128 2947 a 0 0 0 TeXcolorrgb Fo(_result)p
Black 44 w(::)g([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3066 25
92 v Black 0.95 TeXcolorgray -128 3066 4252 92 v Black
0.95 TeXcolorgray 4124 3066 25 92 v Black 0.95 TeXcolorgray
Black -128 3039 a
SDict begin H.S end
-128 3039 a -128 3039 a
SDict begin 11 H.A end
-128 3039 a
-128 3039 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.16) cvn H.B /DEST pdfmark end
-128 3039 a 0 0 0 TeXcolorrgb Fo(as)p Black
45 w(::)f([)p 0 0 0 TeXcolorrgb(a)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3157 25 92 v Black 0.95
TeXcolorgray -128 3157 4252 92 v Black 0.95 TeXcolorgray
4124 3157 25 92 v Black 0.95 TeXcolorgray Black -128
3130 a
SDict begin H.S end
-128 3130 a -128 3130 a
SDict begin 11 H.A end
-128 3130 a -128 3130
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.17) cvn H.B /DEST pdfmark end
-128 3130 a 0 0 0 TeXcolorrgb Fo(a)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3249 25 92 v Black 0.95 TeXcolorgray
-128 3249 4252 92 v Black 0.95 TeXcolorgray 4124 3249
25 92 v Black 0.95 TeXcolorgray Black -128 3221 a
SDict begin H.S end
-128
3221 a -128 3221 a
SDict begin 11 H.A end
-128 3221 a -128 3221 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.18) cvn H.B /DEST pdfmark end
-128 3221
a Fo([-1:)p 0 0 0 TeXcolorrgb 45 w(qsort)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black -1 w(:3:24-38])904 3234
y(*)p 0 0 0 TeXcolorrgb 948 3221 a(Main)p Black(>)g(:)p
0 0 0 TeXcolorrgb(force)p Black 0 0 0 TeXcolorrgb 44
w(as)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3340 25 92 v Black 0.95 TeXcolorgray -128 3340 4252
92 v Black 0.95 TeXcolorgray 4124 3340 25 92 v Black
0.95 TeXcolorgray Black -128 3313 a
SDict begin H.S end
-128 3313 a -128
3313 a
SDict begin 11 H.A end
-128 3313 a -128 3313 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.19) cvn H.B /DEST pdfmark end
-128 3313 a 13 x Fo(***)p
0 0 0 TeXcolorrgb 52 3313 a(Exception)p Black -2 w(:)p
0 0 0 TeXcolorrgb 45 w(Prelude)p Black -1 w(.)p 0 0 0
TeXcolorrgb(undefined)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3431 25 92 v Black 0.95 TeXcolorgray
-128 3431 4252 92 v Black 0.95 TeXcolorgray 4124 3431
25 92 v Black 0.95 TeXcolorgray Black -128 3404 a
SDict begin H.S end
-128
3404 a -128 3404 a
SDict begin 11 H.A end
-128 3404 a -128 3404 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.20) cvn H.B /DEST pdfmark end
-128 3404
a Fo([-1:)p 0 0 0 TeXcolorrgb 45 w(qsort)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black -1 w(:3:24-38])904 3417
y(*)p 0 0 0 TeXcolorrgb 948 3404 a(Main)p Black(>)g(:)p
0 0 0 TeXcolorrgb(print)p Black 0 0 0 TeXcolorrgb 44
w(as)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3523 25 92 v Black 0.95 TeXcolorgray -128 3523 4252
92 v Black 0.95 TeXcolorgray 4124 3523 25 92 v Black
0.95 TeXcolorgray Black -128 3495 a
SDict begin H.S end
-128 3495 a -128
3495 a
SDict begin 11 H.A end
-128 3495 a -128 3495 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-73.21) cvn H.B /DEST pdfmark end
-128 3495 a 0 0 0 TeXcolorrgb
Fo(as)p Black 45 w(=)h(')p 0 0 0 TeXcolorrgb -1 w(b)p
Black(')g(:)g(')p 0 0 0 TeXcolorrgb -1 w(c)p Black(')g(:)g(\()p
0 0 0 TeXcolorrgb -1 w(_t1)p Black(::[)p 0 0 0 TeXcolorrgb
-1 w(Char)p Black(]\))p 0.95 TeXcolorgray -153 3548 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 3722
a FA(The)20 b(e)o(xception)f(itself)h(is)i(bound)c(to)i(a)h(ne)n(w)f(v)
n(ariable,)f Ft(_exception)p FA(.)-128 3871 y(Breaking)j(on)g(e)o
(xceptions)e(is)j(particularly)e(useful)h(for)f(\002nding)h(out)g(what)
g(your)f(program)f(w)o(as)j(doing)e(when)h(it)h(w)o(as)g(in)f(an)h
(in\002nite)f(loop.)30 b(Just)-128 3971 y(hit)21 b(Control-C,)e(and)h
(e)o(xamine)f(the)h(history)f(to)h(\002nd)g(out)g(what)g(w)o(as)h
(going)e(on.)-128 4105 y
SDict begin H.S end
-128 4105 a -128 4105 a
SDict begin 12 H.A end
-128
4105 a -128 4105 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.7) cvn H.B /DEST pdfmark end
-128 4105 a Black 148 x Fp(2.5.7)p
Black 90 w(Example:)29 b(inspecting)23 b(functions)-128
4456 y FA(It)17 b(is)h(possible)e(to)g(use)h(the)g(deb)n(ugger)d(to)j
(e)o(xamine)e(function)f(v)n(alues.)24 b(When)16 b(we)h(are)f(at)h(a)g
(breakpoint)d(and)i(a)h(function)e(is)i(in)g(scope,)g(the)f(deb)n
(ugger)-128 4556 y(cannot)24 b(sho)n(w)h(you)f(the)h(source)f(code)g
(for)g(it;)k(ho)n(we)n(v)o(er)m(,)c(it)h(is)h(possible)f(to)g(get)g
(some)f(information)f(by)h(applying)f(it)j(to)f(some)g(ar)o(guments)e
(and)-128 4656 y(observing)c(the)h(result.)-128 4805
y(The)k(process)f(is)i(slightly)e(complicated)g(when)g(the)g(binding)g
(is)h(polymorphic.)33 b(W)-7 b(e)25 b(sho)n(w)e(the)h(process)f(by)h
(means)f(of)h(an)f(e)o(xample.)35 b(T)-7 b(o)23 b(k)o(eep)-128
4905 y(things)d(simple,)g(we)h(will)g(use)f(the)g(well)h(kno)n(wn)e
Ft(map)h FA(function:)-128 4972 y
SDict begin H.S end
-128 4972 a -128 4972
a
SDict begin 12 H.A end
-128 4972 a -128 4972 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-74) cvn H.B /DEST pdfmark end
-128 4972 a 0.95 TeXcolorgray
-153 4988 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5079 25 92
v Black 0.95 TeXcolorgray -128 5079 4252 92 v Black 0.95
TeXcolorgray 4124 5079 25 92 v Black 0.95 TeXcolorgray
Black -128 5052 a
SDict begin H.S end
-128 5052 a -128 5052 a
SDict begin 11 H.A end
-128 5052 a
-128 5052 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-74.1) cvn H.B /DEST pdfmark end
-128 5052 a 0 0 0 TeXcolorrgb Fo(import)p
Black 0 0 0 TeXcolorrgb 44 w(Prelude)p Black 0 0 0 TeXcolorrgb
44 w(hiding)p Black 44 w(\()p 0 0 0 TeXcolorrgb(map)p
Black -1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5170 25 92 v Black 0.95 TeXcolorgray -128 5170 4252
92 v Black 0.95 TeXcolorgray 4124 5170 25 92 v Black
0.95 TeXcolorgray Black -128 5143 a
SDict begin H.S end
-128 5143 a -128
5143 a
SDict begin 11 H.A end
-128 5143 a -128 5143 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-74.2) cvn H.B /DEST pdfmark end
-128 5143 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5262 25 92 v Black 0.95
TeXcolorgray -128 5262 4252 92 v Black 0.95 TeXcolorgray
4124 5262 25 92 v Black 0.95 TeXcolorgray Black -128
5234 a
SDict begin H.S end
-128 5234 a -128 5234 a
SDict begin 11 H.A end
-128 5234 a -128 5234
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-74.3) cvn H.B /DEST pdfmark end
-128 5234 a 0 0 0 TeXcolorrgb Fo(map)p Black 45 w(::)44
b(\()p 0 0 0 TeXcolorrgb(a)p Black(->)p 0 0 0 TeXcolorrgb(b)p
Black -1 w(\))h(->)g([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])g(->)f([)p
0 0 0 TeXcolorrgb(b)p Black(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5353 25 92 v Black 0.95 TeXcolorgray
-128 5353 4252 92 v Black 0.95 TeXcolorgray 4124 5353
25 92 v Black 0.95 TeXcolorgray Black -128 5326 a
SDict begin H.S end
-128
5326 a -128 5326 a
SDict begin 11 H.A end
-128 5326 a -128 5326 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-74.4) cvn H.B /DEST pdfmark end
-128 5326
a 0 0 0 TeXcolorrgb Fo(map)p Black 0 0 0 TeXcolorrgb
45 w(f)p Black 44 w([])h(=)g([])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5444 25 92 v Black 0.95 TeXcolorgray
-128 5444 4252 92 v Black 0.95 TeXcolorgray 4124 5444
25 92 v Black 0.95 TeXcolorgray Black -128 5417 a
SDict begin H.S end
-128
5417 a -128 5417 a
SDict begin 11 H.A end
-128 5417 a -128 5417 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-74.5) cvn H.B /DEST pdfmark end
-128 5417
a 0 0 0 TeXcolorrgb Fo(map)p Black 0 0 0 TeXcolorrgb
45 w(f)p Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p Black(:)p
0 0 0 TeXcolorrgb(xs)p Black(\))f(=)p 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(:)p
0 0 0 TeXcolorrgb 45 w(map)p Black 0 0 0 TeXcolorrgb
44 w(f)p Black 0 0 0 TeXcolorrgb 45 w(xs)p Black 0.95
TeXcolorgray -153 5469 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5644 a FA(W)-7 b(e)22 b(set)f(a)f(breakpoint)e
(on)i Ft(map)p FA(,)g(and)g(call)g(it.)p Black -128 6084
4252 5 v Black eop end
%%Page: 28 43
TeXDict begin 28 42 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.28) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(28)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-75) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.1) cvn H.B /DEST pdfmark end
-128 237 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44 b(:)p 0 0 0
TeXcolorrgb(break)p Black 44 w(5)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 356 25 92 v Black 0.95 TeXcolorgray
-128 356 4252 92 v Black 0.95 TeXcolorgray 4124 356 25
92 v Black 0.95 TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328
a -128 328 a
SDict begin 11 H.A end
-128 328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb
Fo(Breakpoint)p Black 44 w(0)p 0 0 0 TeXcolorrgb 44 w(activated)p
Black 0 0 0 TeXcolorrgb 44 w(at)p Black 0 0 0 TeXcolorrgb
89 w(map)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(:5:15-28)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 447 25
92 v Black 0.95 TeXcolorgray -128 447 4252 92 v Black
0.95 TeXcolorgray 4124 447 25 92 v Black 0.95 TeXcolorgray
Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128 420 a -128
420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.3) cvn H.B /DEST pdfmark end
-128 420 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0 0 0 TeXcolorrgb 44 w(map)p Black 0 0 0 TeXcolorrgb
45 w(Just)p Black 44 w([1..5])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 538 25 92 v Black 0.95 TeXcolorgray
-128 538 4252 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511
a -128 511 a
SDict begin 11 H.A end
-128 511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.4) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb
Fo(Stopped)p Black 0 0 0 TeXcolorrgb 44 w(at)p Black
0 0 0 TeXcolorrgb 45 w(map)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black(:\(4,0\))o(-\(5,12\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 630 25 92 v Black 0.95 TeXcolorgray
-128 630 4252 92 v Black 0.95 TeXcolorgray 4124 630 25
92 v Black 0.95 TeXcolorgray Black -128 602 a
SDict begin H.S end
-128 602
a -128 602 a
SDict begin 11 H.A end
-128 602 a -128 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.5) cvn H.B /DEST pdfmark end
-128 602 a 0 0 0 TeXcolorrgb
Fo(_result)p Black 44 w(::)h([)p 0 0 0 TeXcolorrgb -1
w(b)p Black(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 721 25 92 v Black 0.95 TeXcolorgray -128 721 4252
92 v Black 0.95 TeXcolorgray 4124 721 25 92 v Black 0.95
TeXcolorgray Black -128 694 a
SDict begin H.S end
-128 694 a -128 694 a
SDict begin 11 H.A end
-128
694 a -128 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.6) cvn H.B /DEST pdfmark end
-128 694 a 0 0 0 TeXcolorrgb Fo(x)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 812 25 92 v
Black 0.95 TeXcolorgray -128 812 4252 92 v Black 0.95
TeXcolorgray 4124 812 25 92 v Black 0.95 TeXcolorgray
Black -128 785 a
SDict begin H.S end
-128 785 a -128 785 a
SDict begin 11 H.A end
-128 785 a -128
785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.7) cvn H.B /DEST pdfmark end
-128 785 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 904 25 92 v Black 0.95 TeXcolorgray -128 904 4252
92 v Black 0.95 TeXcolorgray 4124 904 25 92 v Black 0.95
TeXcolorgray Black -128 876 a
SDict begin H.S end
-128 876 a -128 876 a
SDict begin 11 H.A end
-128
876 a -128 876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-75.8) cvn H.B /DEST pdfmark end
-128 876 a 0 0 0 TeXcolorrgb Fo(xs)p
Black 45 w(::)f([)p 0 0 0 TeXcolorrgb(a)p Black(])p 0.95
TeXcolorgray -153 929 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1081 a FA(GHCi)25 b(tells)f(us)f(that,)h(among)e
(other)g(bindings,)h Ft(f)g FA(is)h(in)g(scope.)33 b(Ho)n(we)n(v)o(er)m
(,)22 b(its)i(type)f(is)h(not)f(fully)g(kno)n(wn)e(yet,)j(and)f(thus)g
(it)h(is)g(not)f(possible)g(to)-128 1180 y(apply)c(it)h(to)g(an)o(y)e
(ar)o(guments.)23 b(Ne)n(v)o(ertheless,)18 b(observ)o(e)g(that)i(the)f
(type)g(of)g(its)i(\002rst)f(ar)o(gument)d(is)j(the)g(same)f(as)h(the)g
(type)f(of)g Ft(x)p FA(,)h(and)f(its)h(result)f(type)-128
1280 y(is)j(shared)d(with)h Ft(_result)p FA(.)-128 1418
y(As)28 b(we)f(demonstrated)d(earlier)i(\(Section)p 1 0 0
TeXcolorrgb 1133 1419 a
SDict begin H.S end
1133 1419 a 1 0 0 TeXcolorrgb
-1 x FA(2.5.1)p 1 0 0 TeXcolorrgb 1299 1362 a
SDict begin H.R end
1299 1362
a 1299 1418 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.1) cvn H.B /ANN pdfmark end
1299 1418 a Black FA(\),)i(the)f(deb)n(ugger)d(has)j
(some)g(intelligence)e(b)n(uilt-in)h(to)h(update)e(the)i(type)f(of)g
Ft(f)h FA(whene)n(v)o(er)e(the)-128 1518 y(types)d(of)f
Ft(x)h FA(or)g Ft(_result)f FA(are)g(disco)o(v)o(ered.)27
b(So)22 b(what)g(we)g(do)f(in)h(this)g(scenario)f(is)i(force)d
Ft(x)i FA(a)g(bit,)g(in)g(order)f(to)h(reco)o(v)o(er)d(both)i(its)i
(type)e(and)g(the)-128 1617 y(ar)o(gument)d(part)i(of)g
Ft(f)p FA(.)-128 1674 y
SDict begin H.S end
-128 1674 a -128 1674 a
SDict begin 12 H.A end
-128
1674 a -128 1674 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-76) cvn H.B /DEST pdfmark end
-128 1674 a 0.95 TeXcolorgray -153
1689 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1780 25 92 v Black 0.95
TeXcolorgray -128 1780 4252 92 v Black 0.95 TeXcolorgray
4124 1780 25 92 v Black 0.95 TeXcolorgray Black -128
1753 a
SDict begin H.S end
-128 1753 a -128 1753 a
SDict begin 11 H.A end
-128 1753 a -128 1753
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-76.1) cvn H.B /DEST pdfmark end
-128 1753 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0 0 0 TeXcolorrgb 44 w(seq)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1872 25 92 v Black 0.95 TeXcolorgray
-128 1872 4252 92 v Black 0.95 TeXcolorgray 4124 1872
25 92 v Black 0.95 TeXcolorgray Black -128 1844 a
SDict begin H.S end
-128
1844 a -128 1844 a
SDict begin 11 H.A end
-128 1844 a -128 1844 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-76.2) cvn H.B /DEST pdfmark end
-128 1844
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44
b(:)p 0 0 0 TeXcolorrgb(print)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1963 25 92 v Black 0.95 TeXcolorgray -128 1963 4252
92 v Black 0.95 TeXcolorgray 4124 1963 25 92 v Black
0.95 TeXcolorgray Black -128 1936 a
SDict begin H.S end
-128 1936 a -128
1936 a
SDict begin 11 H.A end
-128 1936 a -128 1936 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-76.3) cvn H.B /DEST pdfmark end
-128 1936 a 0 0 0 TeXcolorrgb
Fo(x)p Black 45 w(=)h(1)p 0.95 TeXcolorgray -153 1988
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2140 a FA(W)-7 b(e)22 b(can)e(check)f(no)n(w)h(that)g(as)h(e)o
(xpected,)d(the)j(type)e(of)h Ft(x)h FA(has)f(been)g(reconstructed,)d
(and)j(with)g(it)h(the)g(type)e(of)h Ft(f)h FA(has)f(been)g(too:)-128
2196 y
SDict begin H.S end
-128 2196 a -128 2196 a
SDict begin 12 H.A end
-128 2196 a -128 2196
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-77) cvn H.B /DEST pdfmark end
-128 2196 a 0.95 TeXcolorgray -153 2211 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2303 25 92 v Black 0.95 TeXcolorgray
-128 2303 4252 92 v Black 0.95 TeXcolorgray 4124 2303
25 92 v Black 0.95 TeXcolorgray Black -128 2275 a
SDict begin H.S end
-128
2275 a -128 2275 a
SDict begin 11 H.A end
-128 2275 a -128 2275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-77.1) cvn H.B /DEST pdfmark end
-128 2275
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)44
b(:)p 0 0 0 TeXcolorrgb(t)p Black 0 0 0 TeXcolorrgb 45
w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2394 25 92 v Black 0.95 TeXcolorgray -128 2394 4252
92 v Black 0.95 TeXcolorgray 4124 2394 25 92 v Black
0.95 TeXcolorgray Black -128 2367 a
SDict begin H.S end
-128 2367 a -128
2367 a
SDict begin 11 H.A end
-128 2367 a -128 2367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-77.2) cvn H.B /DEST pdfmark end
-128 2367 a 0 0 0 TeXcolorrgb
Fo(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(Integer)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2485 25 92 v Black 0.95 TeXcolorgray -128 2485 4252 92
v Black 0.95 TeXcolorgray 4124 2485 25 92 v Black 0.95
TeXcolorgray Black -128 2458 a
SDict begin H.S end
-128 2458 a -128 2458
a
SDict begin 11 H.A end
-128 2458 a -128 2458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-77.3) cvn H.B /DEST pdfmark end
-128 2458 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)g(:)p 0 0 0 TeXcolorrgb(t)p
Black 0 0 0 TeXcolorrgb 45 w(f)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2577 25 92 v Black 0.95
TeXcolorgray -128 2577 4252 92 v Black 0.95 TeXcolorgray
4124 2577 25 92 v Black 0.95 TeXcolorgray Black -128
2549 a
SDict begin H.S end
-128 2549 a -128 2549 a
SDict begin 11 H.A end
-128 2549 a -128 2549
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-77.4) cvn H.B /DEST pdfmark end
-128 2549 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(Integer)p Black 43 w(->)p 0 0 0
TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray -153 2602
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2753 a FA(From)20 b(here,)f(we)i(can)f(apply)f(f)i(to)f(an)o(y)f(ar)o
(gument)f(of)i(type)g(Inte)o(ger)f(and)g(observ)o(e)g(the)h(results.)
-128 2810 y
SDict begin H.S end
-128 2810 a -128 2810 a
SDict begin 12 H.A end
-128 2810 a -128
2810 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-78) cvn H.B /DEST pdfmark end
-128 2810 a 0.95 TeXcolorgray -153 2825 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2917 25 92 v Black 0.95 TeXcolorgray
-128 2917 4252 92 v Black 0.95 TeXcolorgray 4124 2917
25 92 v Black 0.95 TeXcolorgray Black -128 2889 a
SDict begin H.S end
-128
2889 a -128 2889 a
SDict begin 11 H.A end
-128 2889 a -128 2889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.1) cvn H.B /DEST pdfmark end
-128 2889
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p
0 0 0 TeXcolorrgb 44 w(let)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(f)p Black
45 w(10)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3008 25 92 v Black 0.95 TeXcolorgray -128 3008 4252 92
v Black 0.95 TeXcolorgray 4124 3008 25 92 v Black 0.95
TeXcolorgray Black -128 2980 a
SDict begin H.S end
-128 2980 a -128 2980
a
SDict begin 11 H.A end
-128 2980 a -128 2980 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.2) cvn H.B /DEST pdfmark end
-128 2980 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)44 b(:)p 0 0 0 TeXcolorrgb(t)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3099 25 92 v Black 0.95
TeXcolorgray -128 3099 4252 92 v Black 0.95 TeXcolorgray
4124 3099 25 92 v Black 0.95 TeXcolorgray Black -128
3072 a
SDict begin H.S end
-128 3072 a -128 3072 a
SDict begin 11 H.A end
-128 3072 a -128 3072
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.3) cvn H.B /DEST pdfmark end
-128 3072 a 0 0 0 TeXcolorrgb Fo(b)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3190 25 92 v Black 0.95 TeXcolorgray
-128 3190 4252 92 v Black 0.95 TeXcolorgray 4124 3190
25 92 v Black 0.95 TeXcolorgray Black -128 3163 a
SDict begin H.S end
-128
3163 a -128 3163 a
SDict begin 11 H.A end
-128 3163 a -128 3163 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.4) cvn H.B /DEST pdfmark end
-128 3163
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)p
0 0 0 TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3282 25 92 v Black 0.95 TeXcolorgray
-128 3282 4252 92 v Black 0.95 TeXcolorgray 4124 3282
25 92 v Black 0.95 TeXcolorgray Black -128 3254 a
SDict begin H.S end
-128
3254 a -128 3254 a
SDict begin 11 H.A end
-128 3254 a -128 3254 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.5) cvn H.B /DEST pdfmark end
-128 3254
a Fo(<)p 0 0 0 TeXcolorrgb(interactive)p Black -2 w(>:1:0:)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3373 25
92 v Black 0.95 TeXcolorgray -128 3373 4252 92 v Black
0.95 TeXcolorgray 4124 3373 25 92 v Black 0.95 TeXcolorgray
Black -128 3346 a
SDict begin H.S end
-128 3346 a -128 3346 a
SDict begin 11 H.A end
-128 3346 a
-128 3346 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.6) cvn H.B /DEST pdfmark end
-128 3346 a 0 0 0 TeXcolorrgb 180 w Fo(Ambiguous)p
Black 0 0 0 TeXcolorrgb 43 w(type)p Black 0 0 0 TeXcolorrgb
44 w(variable)p Black 44 w(`)p 0 0 0 TeXcolorrgb(b)p
Black -1 w(')p 0 0 0 TeXcolorrgb 45 w(in)p Black 0 0 0
TeXcolorrgb 45 w(the)p Black 0 0 0 TeXcolorrgb 44 w(constraint)p
Black -2 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3464 25 92 v Black 0.95 TeXcolorgray -128 3464 4252
92 v Black 0.95 TeXcolorgray 4124 3464 25 92 v Black
0.95 TeXcolorgray Black -128 3437 a
SDict begin H.S end
-128 3437 a -128
3437 a
SDict begin 11 H.A end
-128 3437 a -128 3437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.7) cvn H.B /DEST pdfmark end
-128 3437 a 269 w Fo(`)p
0 0 0 TeXcolorrgb(Show)p Black 0 0 0 TeXcolorrgb 44 w(b)p
Black(')p 0 0 0 TeXcolorrgb 45 w(arising)p Black 0 0 0
TeXcolorrgb 44 w(from)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 44 w(use)p Black 0 0 0 TeXcolorrgb
45 w(of)p Black 44 w(`)p 0 0 0 TeXcolorrgb(print)p Black
-1 w(')p 0 0 0 TeXcolorrgb 45 w(at)p Black 44 w(<)p 0 0 0
TeXcolorrgb(interactive)p Black -2 w(>:1:0)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3556 25 92 v Black 0.95
TeXcolorgray -128 3556 4252 92 v Black 0.95 TeXcolorgray
4124 3556 25 92 v Black 0.95 TeXcolorgray Black -128
3528 a
SDict begin H.S end
-128 3528 a -128 3528 a
SDict begin 11 H.A end
-128 3528 a -128 3528
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.8) cvn H.B /DEST pdfmark end
-128 3528 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)g(:)p 0 0 0 TeXcolorrgb(p)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3647 25 92 v Black 0.95 TeXcolorgray -128 3647 4252
92 v Black 0.95 TeXcolorgray 4124 3647 25 92 v Black
0.95 TeXcolorgray Black -128 3620 a
SDict begin H.S end
-128 3620 a -128
3620 a
SDict begin 11 H.A end
-128 3620 a -128 3620 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.9) cvn H.B /DEST pdfmark end
-128 3620 a 0 0 0 TeXcolorrgb
Fo(b)p Black 45 w(=)h(\()p 0 0 0 TeXcolorrgb(_t2)p Black
-1 w(::)p 0 0 0 TeXcolorrgb(a)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3738 25 92 v Black 0.95
TeXcolorgray -128 3738 4252 92 v Black 0.95 TeXcolorgray
4124 3738 25 92 v Black 0.95 TeXcolorgray Black -128
3711 a
SDict begin H.S end
-128 3711 a -128 3711 a
SDict begin 11 H.A end
-128 3711 a -128 3711
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.10) cvn H.B /DEST pdfmark end
-128 3711 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0 0 0 TeXcolorrgb 44 w(seq)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black 44 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3830 25 92 v Black 0.95 TeXcolorgray
-128 3830 4252 92 v Black 0.95 TeXcolorgray 4124 3830
25 92 v Black 0.95 TeXcolorgray Black -128 3802 a
SDict begin H.S end
-128
3802 a -128 3802 a
SDict begin 11 H.A end
-128 3802 a -128 3802 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.11) cvn H.B /DEST pdfmark end
-128 3802
a Fo(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3921 25 92 v Black 0.95 TeXcolorgray -128 3921 4252
92 v Black 0.95 TeXcolorgray 4124 3921 25 92 v Black
0.95 TeXcolorgray Black -128 3894 a
SDict begin H.S end
-128 3894 a -128
3894 a
SDict begin 11 H.A end
-128 3894 a -128 3894 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.12) cvn H.B /DEST pdfmark end
-128 3894 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)f(:)p 0 0 0 TeXcolorrgb(t)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4012 25 92 v Black 0.95
TeXcolorgray -128 4012 4252 92 v Black 0.95 TeXcolorgray
4124 4012 25 92 v Black 0.95 TeXcolorgray Black -128
3985 a
SDict begin H.S end
-128 3985 a -128 3985 a
SDict begin 11 H.A end
-128 3985 a -128 3985
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.13) cvn H.B /DEST pdfmark end
-128 3985 a 0 0 0 TeXcolorrgb Fo(b)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4104 25 92 v Black 0.95 TeXcolorgray
-128 4104 4252 92 v Black 0.95 TeXcolorgray 4124 4104
25 92 v Black 0.95 TeXcolorgray Black -128 4076 a
SDict begin H.S end
-128
4076 a -128 4076 a
SDict begin 11 H.A end
-128 4076 a -128 4076 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.14) cvn H.B /DEST pdfmark end
-128 4076
a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p Black(>)g(:)p
0 0 0 TeXcolorrgb(p)p Black 0 0 0 TeXcolorrgb 45 w(b)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4195 25 92 v Black 0.95 TeXcolorgray -128 4195 4252 92
v Black 0.95 TeXcolorgray 4124 4195 25 92 v Black 0.95
TeXcolorgray Black -128 4168 a
SDict begin H.S end
-128 4168 a -128 4168
a
SDict begin 11 H.A end
-128 4168 a -128 4168 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.15) cvn H.B /DEST pdfmark end
-128 4168 a 0 0 0 TeXcolorrgb
Fo(b)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(Just)p Black
44 w(10)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4286 25 92 v Black 0.95 TeXcolorgray -128 4286 4252 92
v Black 0.95 TeXcolorgray 4124 4286 25 92 v Black 0.95
TeXcolorgray Black -128 4259 a
SDict begin H.S end
-128 4259 a -128 4259
a
SDict begin 11 H.A end
-128 4259 a -128 4259 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.16) cvn H.B /DEST pdfmark end
-128 4259 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)g(:)p 0 0 0 TeXcolorrgb(t)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4378 25 92 v Black 0.95
TeXcolorgray -128 4378 4252 92 v Black 0.95 TeXcolorgray
4124 4378 25 92 v Black 0.95 TeXcolorgray Black -128
4350 a
SDict begin H.S end
-128 4350 a -128 4350 a
SDict begin 11 H.A end
-128 4350 a -128 4350
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.17) cvn H.B /DEST pdfmark end
-128 4350 a 0 0 0 TeXcolorrgb Fo(b)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(Integer)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4469 25 92 v Black 0.95 TeXcolorgray -128 4469 4252
92 v Black 0.95 TeXcolorgray 4124 4469 25 92 v Black
0.95 TeXcolorgray Black -128 4442 a
SDict begin H.S end
-128 4442 a -128
4442 a
SDict begin 11 H.A end
-128 4442 a -128 4442 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.18) cvn H.B /DEST pdfmark end
-128 4442 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black(>)g(:)p 0 0 0 TeXcolorrgb(t)p
Black 0 0 0 TeXcolorrgb 45 w(f)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4560 25 92 v Black 0.95
TeXcolorgray -128 4560 4252 92 v Black 0.95 TeXcolorgray
4124 4560 25 92 v Black 0.95 TeXcolorgray Black -128
4533 a
SDict begin H.S end
-128 4533 a -128 4533 a
SDict begin 11 H.A end
-128 4533 a -128 4533
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.19) cvn H.B /DEST pdfmark end
-128 4533 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(Integer)p Black 43 w(->)p 0 0 0
TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb 44 w(Integer)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4652 25 92 v Black 0.95 TeXcolorgray -128 4652 4252 92
v Black 0.95 TeXcolorgray 4124 4652 25 92 v Black 0.95
TeXcolorgray Black -128 4624 a
SDict begin H.S end
-128 4624 a -128 4624
a
SDict begin 11 H.A end
-128 4624 a -128 4624 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.20) cvn H.B /DEST pdfmark end
-128 4624 a 13 x Fo(*)p 0 0 0
TeXcolorrgb -13 x(Main)p Black(>)p 0 0 0 TeXcolorrgb
44 w(f)p Black 45 w(20)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4743 25 92 v Black 0.95 TeXcolorgray
-128 4743 4252 92 v Black 0.95 TeXcolorgray 4124 4743
25 92 v Black 0.95 TeXcolorgray Black -128 4716 a
SDict begin H.S end
-128
4716 a -128 4716 a
SDict begin 11 H.A end
-128 4716 a -128 4716 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.21) cvn H.B /DEST pdfmark end
-128 4716
a 0 0 0 TeXcolorrgb Fo(Just)p Black 45 w(20)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4834 25 92 v Black 0.95
TeXcolorgray -128 4834 4252 92 v Black 0.95 TeXcolorgray
4124 4834 25 92 v Black 0.95 TeXcolorgray Black -128
4807 a
SDict begin H.S end
-128 4807 a -128 4807 a
SDict begin 11 H.A end
-128 4807 a -128 4807
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.22) cvn H.B /DEST pdfmark end
-128 4807 a 13 x Fo(*)p 0 0 0 TeXcolorrgb -13 x(Main)p
Black(>)p 0 0 0 TeXcolorrgb 44 w(map)p Black 0 0 0 TeXcolorrgb
45 w(f)p Black 44 w([1..5])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4926 25 92 v Black 0.95 TeXcolorgray
-128 4926 4252 92 v Black 0.95 TeXcolorgray 4124 4926
25 92 v Black 0.95 TeXcolorgray Black -128 4898 a
SDict begin H.S end
-128
4898 a -128 4898 a
SDict begin 11 H.A end
-128 4898 a -128 4898 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-78.23) cvn H.B /DEST pdfmark end
-128 4898
a Fo([)p 0 0 0 TeXcolorrgb(Just)p Black 44 w(1,)p 0 0 0
TeXcolorrgb 45 w(Just)p Black 44 w(2,)p 0 0 0 TeXcolorrgb
45 w(Just)p Black 44 w(3,)p 0 0 0 TeXcolorrgb 44 w(Just)p
Black 44 w(4,)p 0 0 0 TeXcolorrgb 45 w(Just)p Black 44
w(5])p 0.95 TeXcolorgray -153 4951 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5102 a FA(In)22 b(the)h(\002rst)g
(application)d(of)i Ft(f)p FA(,)h(we)g(had)e(to)i(do)e(some)h(more)g
(type)g(reconstruction)d(in)k(order)e(to)h(reco)o(v)o(er)e(the)i
(result)h(type)e(of)h Ft(f)p FA(.)32 b(But)22 b(after)g(that,)-128
5202 y(we)f(are)f(free)g(to)g(use)h Ft(f)f FA(normally)-5
b(.)-128 5331 y
SDict begin H.S end
-128 5331 a -128 5331 a
SDict begin 12 H.A end
-128 5331 a -128
5331 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5.8) cvn H.B /DEST pdfmark end
-128 5331 a Black 137 x Fp(2.5.8)p Black 90 w(Limitations)p
Black -128 5660 a FA(\225)p Black 42 w(When)18 b(stopped)e(at)i(a)g
(breakpoint,)e(if)i(you)f(try)g(to)h(e)n(v)n(aluate)f(a)h(v)n(ariable)f
(that)g(is)i(already)e(under)f(e)n(v)n(aluation,)g(the)i(second)f(e)n
(v)n(aluation)f(will)i(hang.)-57 5759 y(The)f(reason)f(is)i(that)g(GHC)
g(kno)n(ws)e(the)i(v)n(ariable)e(is)i(under)e(e)n(v)n(aluation,)f(so)j
(the)f(ne)n(w)g(e)n(v)n(aluation)f(just)h(w)o(aits)i(for)d(the)h
(result)h(before)d(continuing,)p Black -128 6084 4252
5 v Black eop end
%%Page: 29 44
TeXDict begin 29 43 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.29) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(29)20 b(/)g(224)p
-128 -179 4252 5 v Black -57 173 a FA(b)n(ut)e(of)h(course)e(this)i
(isn')o(t)f(going)f(to)i(happen)e(because)g(the)i(\002rst)g(e)n(v)n
(aluation)e(is)i(stopped)e(at)i(a)g(breakpoint.)j(Control-C)c(can)g
(interrupt)f(the)h(hung)-57 273 y(e)n(v)n(aluation)g(and)i(return)f(to)
h(the)h(prompt.)-57 400 y(The)k(most)h(common)e(w)o(ay)i(this)g(can)g
(happen)e(is)j(when)e(you')l(re)f(e)n(v)n(aluating)g(a)i(CAF)h(\(e.g.)
41 b(main\),)26 b(stop)g(at)g(a)g(breakpoint,)f(and)g(ask)h(for)f(the)
-57 500 y(v)n(alue)20 b(of)f(the)i(CAF)g(at)g(the)f(prompt)e(again.)p
Black -128 654 a(\225)p Black 42 w(Implicit)i(parameters)f(\(see)h
(Section)p 1 0 0 TeXcolorrgb 1036 655 a
SDict begin H.S end
1036 655 a 1 0 0
TeXcolorrgb -1 x FA(7.8.2)p 1 0 0 TeXcolorrgb 1202 598
a
SDict begin H.R end
1202 598 a 1202 654 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.2) cvn H.B /ANN pdfmark end
1202 654 a Black FA(\))g(are)g(only)g(a)n(v)n
(ailable)g(at)g(the)g(scope)g(of)g(a)h(breakpoint)d(if)i(there)g(is)h
(an)f(e)o(xplicit)g(type)f(signature.)-128 792 y
SDict begin H.S end
-128
792 a -128 792 a
SDict begin 12 H.A end
-128 792 a -128 792 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.6) cvn H.B /DEST pdfmark end
-128 792 a Black
170 x Fs(2.6)p Black 108 w(In)l(v)m(oking)27 b(GHCi)-128
1089 y
SDict begin H.S end
-128 1089 a -128 1089 a
SDict begin 12 H.A end
-128 1089 a -128 1089
a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-invocation) cvn H.B /DEST pdfmark end
-128 1089 a 103 x FA(GHCi)20 b(is)g(in)m(v)n(ok)o(ed)d(with)i(the)g
(command)e Ft(ghci)h FA(or)h Ft(ghc)49 b(--interactive)p
FA(.)23 b(One)18 b(or)h(more)f(modules)g(or)g(\002lenames)h(can)f(also)
i(be)e(speci\002ed)-128 1292 y(on)k(the)g(command)e(line;)j(this)f
(instructs)g(GHCi)h(to)f(load)f(the)h(speci\002ed)g(modules)f(or)h
(\002lenames)f(\(and)g(all)i(the)f(modules)f(the)o(y)g(depend)f(on\),)h
(just)-128 1392 y(as)26 b(if)e(you)g(had)g(said)h Ft(:load)49
b Fr(modules)23 b FA(at)i(the)g(GHCi)g(prompt)e(\(see)i(Section)p
1 0 0 TeXcolorrgb 2266 1393 a
SDict begin H.S end
2266 1393 a 1 0 0 TeXcolorrgb
-1 x FA(2.7)p 1 0 0 TeXcolorrgb 2370 1335 a
SDict begin H.R end
2370 1335
a 2370 1392 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.7) cvn H.B /ANN pdfmark end
2370 1392 a Black FA(\).)38 b(F)o(or)24
b(e)o(xample,)g(to)g(start)h(GHCi)h(and)e(load)g(the)g(program)-128
1491 y(whose)c(topmost)g(module)e(is)k(in)e(the)g(\002le)h
Ft(Main.hs)p FA(,)e(we)i(could)e(say:)-128 1548 y
SDict begin H.S end
-128
1548 a -128 1548 a
SDict begin 12 H.A end
-128 1548 a -128 1548 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-79) cvn H.B /DEST pdfmark end
-128 1548
a 0.95 TeXcolorgray -153 1563 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1654 25 92 v Black 0.95 TeXcolorgray -128 1654 4252 92
v Black 0.95 TeXcolorgray 4124 1654 25 92 v Black 0.95
TeXcolorgray Black -128 1627 a
SDict begin H.S end
-128 1627 a -128 1627
a
SDict begin 11 H.A end
-128 1627 a -128 1627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-79.1) cvn H.B /DEST pdfmark end
-128 1627 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghci)p Black 0 0 0
TeXcolorrgb 44 w(Main)p Black(.)p 0 0 0 TeXcolorrgb -1
w(hs)p Black 0.95 TeXcolorgray -153 1679 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1831 a FA(Most)24
b(of)f(the)g(command-line)d(options)i(accepted)g(by)h(GHC)h(\(see)f
(Chapter)p 1 0 0 TeXcolorrgb 2119 1831 a
SDict begin H.S end
2119 1831 a
1 0 0 TeXcolorrgb FA(4)p 1 0 0 TeXcolorrgb 2161 1774
a
SDict begin H.R end
2161 1774 a 2161 1831 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.4) cvn H.B /ANN pdfmark end
2161 1831 a Black FA(\))g(also)g(mak)o(e)g
(sense)g(in)h(interacti)n(v)o(e)d(mode.)33 b(The)23 b(ones)f(that)i
(don')o(t)-128 1930 y(mak)o(e)c(sense)h(are)f(mostly)g(ob)o(vious.)-128
2060 y
SDict begin H.S end
-128 2060 a -128 2060 a
SDict begin 12 H.A end
-128 2060 a -128 2060
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.6.1) cvn H.B /DEST pdfmark end
-128 2060 a Black 136 x Fp(2.6.1)p Black 90 w(P)m(ac)n(ka)o(g)q(es)
-128 2388 y FA(Most)d(packages)f(\(see)h(Section)p 1 0 0
TeXcolorrgb 800 2389 a
SDict begin H.S end
800 2389 a 1 0 0 TeXcolorrgb -1
x FA(4.8.1)p 1 0 0 TeXcolorrgb 966 2332 a
SDict begin H.R end
966 2332 a
966 2388 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.1) cvn H.B /ANN pdfmark end
966 2388 a Black FA(\))g(are)f(a)n(v)n(ailable)h(without)f
(needing)f(to)i(specify)f(an)o(y)g(e)o(xtra)g(\003ags)h(at)g(all:)24
b(the)o(y)17 b(will)g(be)g(automatically)e(loaded)-128
2488 y(the)21 b(\002rst)g(time)f(the)o(y)f(are)i(needed.)-128
2626 y(F)o(or)f(hidden)f(packages,)g(ho)n(we)n(v)o(er)m(,)e(you)j(need)
f(to)i(request)e(the)h(package)f(be)h(loaded)f(by)h(using)g(the)g
Ft(-package)f FA(\003ag:)-128 2682 y
SDict begin H.S end
-128 2682 a -128
2682 a
SDict begin 12 H.A end
-128 2682 a -128 2682 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-80) cvn H.B /DEST pdfmark end
-128 2682 a 0.95 TeXcolorgray
-153 2697 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2789 25 92
v Black 0.95 TeXcolorgray -128 2789 4252 92 v Black 0.95
TeXcolorgray 4124 2789 25 92 v Black 0.95 TeXcolorgray
Black -128 2761 a
SDict begin H.S end
-128 2761 a -128 2761 a
SDict begin 11 H.A end
-128 2761 a
-128 2761 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-80.1) cvn H.B /DEST pdfmark end
-128 2761 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(ghci)p Black 44 w(-)p 0 0 0 TeXcolorrgb(package)
p Black 0 0 0 TeXcolorrgb 44 w(readline)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2880 25 92
v Black 0.95 TeXcolorgray -128 2880 4252 92 v Black 0.95
TeXcolorgray 4124 2880 25 92 v Black 0.95 TeXcolorgray
Black -128 2853 a
SDict begin H.S end
-128 2853 a -128 2853 a
SDict begin 11 H.A end
-128 2853 a
-128 2853 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-80.2) cvn H.B /DEST pdfmark end
-128 2853 a 0 0 0 TeXcolorrgb Fo(GHCi)p Black(,)p
0 0 0 TeXcolorrgb 44 w(version)p Black 44 w(6.8.1:)p
0 0 0 TeXcolorrgb 44 w(http)p Black -1 w(://)p 0 0 0
TeXcolorrgb(www)p Black -1 w(.)p 0 0 0 TeXcolorrgb(haskell)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(org)p Black -1 w(/)p
0 0 0 TeXcolorrgb(ghc)p Black(/)89 b(:?)p 0 0 0 TeXcolorrgb
45 w(for)p Black 0 0 0 TeXcolorrgb 44 w(help)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2971 25
92 v Black 0.95 TeXcolorgray -128 2971 4252 92 v Black
0.95 TeXcolorgray 4124 2971 25 92 v Black 0.95 TeXcolorgray
Black -128 2944 a
SDict begin H.S end
-128 2944 a -128 2944 a
SDict begin 11 H.A end
-128 2944 a
-128 2944 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-80.3) cvn H.B /DEST pdfmark end
-128 2944 a 0 0 0 TeXcolorrgb Fo(Loading)p
Black 0 0 0 TeXcolorrgb 44 w(package)p Black 0 0 0 TeXcolorrgb
44 w(base)p Black 44 w(...)p 0 0 0 TeXcolorrgb 44 w(linking)p
Black 44 w(...)p 0 0 0 TeXcolorrgb 44 w(done)p Black(.)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3063 25
92 v Black 0.95 TeXcolorgray -128 3063 4252 92 v Black
0.95 TeXcolorgray 4124 3063 25 92 v Black 0.95 TeXcolorgray
Black -128 3035 a
SDict begin H.S end
-128 3035 a -128 3035 a
SDict begin 11 H.A end
-128 3035 a
-128 3035 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-80.4) cvn H.B /DEST pdfmark end
-128 3035 a 0 0 0 TeXcolorrgb Fo(Loading)p
Black 0 0 0 TeXcolorrgb 44 w(package)p Black 0 0 0 TeXcolorrgb
44 w(readline)p Black -2 w(-1.0)45 b(...)p 0 0 0 TeXcolorrgb
44 w(linking)p Black 44 w(...)p 0 0 0 TeXcolorrgb 44
w(done)p Black -1 w(.)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3154 25 92 v Black 0.95 TeXcolorgray
-128 3154 4252 92 v Black 0.95 TeXcolorgray 4124 3154
25 92 v Black 0.95 TeXcolorgray Black -128 3127 a
SDict begin H.S end
-128
3127 a -128 3127 a
SDict begin 11 H.A end
-128 3127 a -128 3127 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-80.5) cvn H.B /DEST pdfmark end
-128 3127
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)p 0.95
TeXcolorgray -153 3179 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3330 a FA(The)20 b(follo)n(wing)f(command)f(w)o
(orks)i(to)g(load)g(ne)n(w)g(packages)f(into)h(a)h(running)d(GHCi:)-128
3387 y
SDict begin H.S end
-128 3387 a -128 3387 a
SDict begin 12 H.A end
-128 3387 a -128 3387
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-81) cvn H.B /DEST pdfmark end
-128 3387 a 0.95 TeXcolorgray -153 3402 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3493 25 92 v Black 0.95 TeXcolorgray
-128 3493 4252 92 v Black 0.95 TeXcolorgray 4124 3493
25 92 v Black 0.95 TeXcolorgray Black -128 3466 a
SDict begin H.S end
-128
3466 a -128 3466 a
SDict begin 11 H.A end
-128 3466 a -128 3466 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-81.1) cvn H.B /DEST pdfmark end
-128 3466
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)45 b(:)p
0 0 0 TeXcolorrgb(set)p Black 44 w(-)p 0 0 0 TeXcolorrgb(package)p
Black 0 0 0 TeXcolorrgb 44 w(name)p Black 0.95 TeXcolorgray
-153 3518 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3670 a FA(But)21 b(note)f(that)g(doing)f(this)i(will)g
(cause)f(all)h(currently)d(loaded)h(modules)g(to)i(be)f(unloaded,)e
(and)h(you')o(ll)h(be)g(dumped)e(back)h(into)h(the)h
Ft(Prelude)p FA(.)-128 3799 y
SDict begin H.S end
-128 3799 a -128 3799 a
SDict begin 12 H.A end
-128 3799 a -128 3799 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.6.2) cvn H.B /DEST pdfmark end
-128 3799 a Black 137 x Fp(2.6.2)p
Black 90 w(Extra)j(libraries)-128 4128 y FA(Extra)e(libraries)f(may)g
(be)h(speci\002ed)f(on)h(the)g(command)d(line)j(using)g(the)f(normal)g
Ft(-l)p Fr(lib)i FA(option.)29 b(\(The)21 b(term)g Fq(libr)o(ary)h
FA(here)f(refers)g(to)h(libraries)-128 4227 y(of)e(foreign)f(object)h
(code;)f(for)h(using)f(libraries)h(of)g(Hask)o(ell)h(source)e(code,)g
(see)i(Section)p 1 0 0 TeXcolorrgb 2454 4228 a
SDict begin H.S end
2454 4228
a 1 0 0 TeXcolorrgb -1 x FA(2.2.1)p 1 0 0 TeXcolorrgb
2620 4171 a
SDict begin H.R end
2620 4171 a 2620 4227 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.2.1) cvn H.B /ANN pdfmark end
2620 4227 a Black
FA(.\))k(F)o(or)20 b(e)o(xample,)e(to)j(load)f(the)g(\223m\224)g
(library:)-128 4284 y
SDict begin H.S end
-128 4284 a -128 4284 a
SDict begin 12 H.A end
-128 4284
a -128 4284 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-82) cvn H.B /DEST pdfmark end
-128 4284 a 0.95 TeXcolorgray -153 4299
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4390 25 92 v Black 0.95
TeXcolorgray -128 4390 4252 92 v Black 0.95 TeXcolorgray
4124 4390 25 92 v Black 0.95 TeXcolorgray Black -128
4363 a
SDict begin H.S end
-128 4363 a -128 4363 a
SDict begin 11 H.A end
-128 4363 a -128 4363
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-82.1) cvn H.B /DEST pdfmark end
-128 4363 a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb
45 w(ghci)p Black 44 w(-)p 0 0 0 TeXcolorrgb(lm)p Black
0.95 TeXcolorgray -153 4415 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4567 a FA(On)g(systems)g(with)f
Ft(.so)p FA(-style)g(shared)g(libraries,)g(the)g(actual)h(library)e
(loaded)g(will)i(the)g Ft(liblib.so)p FA(.)j(GHCi)e(searches)e(the)g
(follo)n(wing)f(places)-128 4666 y(for)i(libraries,)g(in)g(this)h
(order:)p Black -128 4848 a(\225)p Black 42 w(P)o(aths)f(speci\002ed)g
(using)g(the)g Ft(-L)p Fr(path)g FA(command-line)d(option,)p
Black -128 5003 a(\225)p Black 42 w(the)j(standard)e(library)h(search)g
(path)h(for)f(your)f(system,)i(which)f(on)h(some)f(systems)i(may)e(be)g
(o)o(v)o(erridden)e(by)i(setting)h(the)g Ft(LD_LIBRARY_P-)-57
5102 y(ATH)g FA(en)m(vironment)d(v)n(ariable.)-128 5284
y(On)22 b(systems)f(with)h Ft(.dll)p FA(-style)e(shared)g(libraries,)h
(the)g(actual)g(library)f(loaded)g(will)i(be)f Ft(lib.dll)p
FA(.)27 b(Again,)21 b(GHCi)h(will)g(signal)f(an)g(error)f(if)h(it)-128
5384 y(can')o(t)f(\002nd)g(the)g(library)-5 b(.)-128
5522 y(GHCi)23 b(can)e(also)h(load)f(plain)g(object)g(\002les)h(\()p
Ft(.o)f FA(or)g Ft(.obj)h FA(depending)c(on)j(your)g(platform\))e(from)
h(the)i(command-line.)k(Just)c(add)f(the)g(name)g(the)-128
5621 y(object)f(\002le)h(to)f(the)h(command)d(line.)-128
5759 y(Ordering)h(of)h Ft(-l)g FA(options)f(matters:)26
b(a)20 b(library)f(should)h(be)g(mentioned)e Fq(befor)m(e)i
FA(the)g(libraries)g(it)h(depends)e(on)g(\(see)i(Section)p
1 0 0 TeXcolorrgb 3507 5760 a
SDict begin H.S end
3507 5760 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.7)p 1 0 0 TeXcolorrgb 3714 5703 a
SDict begin H.R end
3714 5703
a 3714 5759 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
3714 5759 a Black FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 30 45
TeXDict begin 30 44 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.30) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(30)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.7) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(2.7)p
Black 108 w(GHCi)28 b(commands)-128 322 y
SDict begin H.S end
-128 322 a
-128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-commands) cvn H.B /DEST pdfmark end
-128 322 a 111 x FA(GHCi)21
b(commands)d(all)i(be)o(gin)e(with)i(`)p Ft(:)p FA(')k(and)19
b(consist)h(of)f(a)h(single)g(command)d(name)i(follo)n(wed)f(by)h(zero)
g(or)h(more)e(parameters.)24 b(The)19 b(command)-128
533 y(name)h(may)g(be)g(abbre)n(viated,)e(with)i(ambiguities)f(being)g
(resolv)o(ed)g(in)i(f)o(a)n(v)n(our)e(of)h(the)g(more)f(commonly)f
(used)i(commands.)p Black -107 740 a Fh(:abandon)p Black
61 w FA(Abandons)e(the)j(current)d(e)n(v)n(aluation)h(\(only)g(a)n(v)n
(ailable)h(when)f(stopped)g(at)i(a)g(breakpoint\).)p
Black -107 903 a Fh(:add)f Fu([)141 916 y Fh(*)191 903
y Fu(])p Ff(module)f Fu(...)p Black 67 w FA(Add)31 b
Fr(module)p FA(\(s\))f(to)i(the)f(current)g Fq(tar)m(g)o(et)g(set)p
FA(,)k(and)c(perform)e(a)j(reload.)58 b(Normally)30 b(pre-compiled)e
(code)j(for)g(the)80 1002 y(module)21 b(will)j(be)f(loaded)f(if)h(a)n
(v)n(ailable,)g(or)f(otherwise)g(the)h(module)f(will)i(be)e(compiled)g
(to)h(byte-code.)31 b(Using)22 b(the)3506 1017 y Ft(*)3580
1002 y FA(pre\002x)g(forces)g(the)80 1102 y(module)d(to)h(be)g(loaded)f
(as)i(byte-code.)p Black -107 1265 a Fh(:back)p Black
62 w FA(T)m(ra)n(v)o(el)e(back)h(one)f(step)i(in)f(the)g(history)-5
b(.)24 b(See)d(Section)p 1 0 0 TeXcolorrgb 1799 1266
a
SDict begin H.S end
1799 1266 a 1 0 0 TeXcolorrgb -1 x FA(2.5.5)p 1 0 0
TeXcolorrgb 1965 1209 a
SDict begin H.R end
1965 1209 a 1965 1265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.5) cvn H.B /ANN pdfmark end
1965
1265 a Black FA(.)k(See)c(also:)k Ft(:trace)p FA(,)20
b Ft(:history)p FA(,)f Ft(:forward)p FA(.)p Black -107
1428 a Fh(:break)49 b([)p Ff(identifier)j Fh(|)d([)p
Ff(module)p Fh(])g Ff(line)h Fh([)p Ff(column)q Fh(]])p
Black 60 w FA(Set)27 b(a)f(breakpoint)d(on)j(the)g(speci\002ed)f
(function)f(or)i(line)f(and)h(column.)80 1528 y(See)21
b(Section)p 1 0 0 TeXcolorrgb 490 1529 a
SDict begin H.S end
490 1529 a 1 0 0
TeXcolorrgb -1 x FA(2.5.1.1)p 1 0 0 TeXcolorrgb 719 1471
a
SDict begin H.R end
719 1471 a 719 1528 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.2.5.1.1) cvn H.B /ANN pdfmark end
719 1528 a Black FA(.)p Black
-107 1691 a Fh(:browse)p Fu([)p Fh(!)p Fu(])j([[)429
1704 y Fh(*)479 1691 y Fu(])p Ff(module)p Fu(])18 b(...)p
Black 67 w FA(Displays)j(the)f(identi\002ers)h(de\002ned)f(by)g(the)h
(module)e Fr(module)p FA(,)i(which)f(must)h(be)f(either)h(loaded)f
(into)g(GHCi)80 1790 y(or)g(be)g(a)h(member)d(of)i(a)h(package.)i(If)e
Fr(module)e FA(is)i(omitted,)f(the)g(most)g(recently-loaded)d(module)i
(is)i(used.)80 1922 y(If)e(the)277 1937 y Ft(*)347 1922
y FA(symbol)f(is)j(placed)d(before)h(the)g(module)f(name,)h(then)g
Fq(all)h FA(the)f(identi\002ers)h(in)f(scope)g(in)h Fr(module)f
FA(are)g(sho)n(wn;)h(otherwise)e(the)i(list)80 2021 y(is)f(limited)g
(to)f(the)g(e)o(xports)f(of)i Fr(module)p FA(.)k(The)1425
2036 y Ft(*)1475 2021 y FA(-form)17 b(is)j(only)d(a)n(v)n(ailable)h
(for)g(modules)f(which)h(are)g(interpreted;)f(for)h(compiled)f(modules)
80 2121 y(\(including)24 b(modules)h(from)f(packages\))h(only)g(the)h
(non-)1758 2136 y Ft(*)1832 2121 y FA(form)f(of)h Ft(:browse)f
FA(is)i(a)n(v)n(ailable.)41 b(If)26 b(the)g Ft(!)43 b
FA(symbol)24 b(is)j(appended)d(to)i(the)80 2220 y(command,)17
b(data)i(constructors)f(and)h(class)h(methods)e(will)i(be)f(listed)h
(indi)n(vidually)-5 b(,)17 b(otherwise,)h(the)o(y)h(will)h(only)f(be)g
(listed)g(in)h(the)f(conte)o(xt)80 2320 y(of)25 b(their)g(data)f(type)h
(or)g(class)h(declaration.)38 b(The)24 b Ft(!)p FA(-form)g(also)h
(annotates)f(the)h(listing)h(with)f(comments)f(gi)n(ving)g(possible)g
(imports)h(for)80 2420 y(each)20 b(group)e(of)i(entries.)-128
2484 y
SDict begin H.S end
-128 2484 a -128 2484 a
SDict begin 12 H.A end
-128 2484 a -128 2484
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-83) cvn H.B /DEST pdfmark end
-128 2484 a 0.95 TeXcolorgray 55 2500 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2591 25 92 v Black 0.95 TeXcolorgray
80 2591 4045 92 v Black 0.95 TeXcolorgray 4124 2591 25
92 v Black 0.95 TeXcolorgray Black 80 2564 a
SDict begin H.S end
80 2564
a 80 2564 a
SDict begin 11 H.A end
80 2564 a 80 2564 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.1) cvn H.B /DEST pdfmark end
80 2564 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)44 b(:)p 0 0 0 TeXcolorrgb(browse)p
Black -1 w(!)p 0 0 0 TeXcolorrgb 45 w(Data)p Black -1
w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2682 25 92 v Black 0.95 TeXcolorgray
80 2682 4045 92 v Black 0.95 TeXcolorgray 4124 2682 25
92 v Black 0.95 TeXcolorgray Black 80 2655 a
SDict begin H.S end
80 2655
a 80 2655 a
SDict begin 11 H.A end
80 2655 a 80 2655 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.2) cvn H.B /DEST pdfmark end
80 2655 a Fo(--)p 0 0 0
TeXcolorrgb 44 w(not)p Black 0 0 0 TeXcolorrgb 45 w(currently)p
Black 0 0 0 TeXcolorrgb 43 w(imported)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2774 25 92 v Black 0.95 TeXcolorgray
80 2774 4045 92 v Black 0.95 TeXcolorgray 4124 2774 25
92 v Black 0.95 TeXcolorgray Black 80 2746 a
SDict begin H.S end
80 2746
a 80 2746 a
SDict begin 11 H.A end
80 2746 a 80 2746 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.3) cvn H.B /DEST pdfmark end
80 2746 a 0 0 0 TeXcolorrgb
Fo(Data)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(catMaybes)p Black 43 w(::)h([)p
0 0 0 TeXcolorrgb(Maybe)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black(])f(->)h([)p 0 0 0 TeXcolorrgb(a)p Black
-1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55
2865 25 92 v Black 0.95 TeXcolorgray 80 2865 4045 92
v Black 0.95 TeXcolorgray 4124 2865 25 92 v Black 0.95
TeXcolorgray Black 80 2838 a
SDict begin H.S end
80 2838 a 80 2838 a
SDict begin 11 H.A end
80 2838
a 80 2838 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.4) cvn H.B /DEST pdfmark end
80 2838 a 0 0 0 TeXcolorrgb Fo(Data)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black -1 w(.)p 0 0 0
TeXcolorrgb(fromJust)p Black 44 w(::)p 0 0 0 TeXcolorrgb
44 w(Maybe)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2956 25 92 v Black 0.95 TeXcolorgray
80 2956 4045 92 v Black 0.95 TeXcolorgray 4124 2956 25
92 v Black 0.95 TeXcolorgray Black 80 2929 a
SDict begin H.S end
80 2929
a 80 2929 a
SDict begin 11 H.A end
80 2929 a 80 2929 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.5) cvn H.B /DEST pdfmark end
80 2929 a 0 0 0 TeXcolorrgb
Fo(Data)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(fromMaybe)p Black 43 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Maybe)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3048 25 92 v Black 0.95 TeXcolorgray
80 3048 4045 92 v Black 0.95 TeXcolorgray 4124 3048 25
92 v Black 0.95 TeXcolorgray Black 80 3020 a
SDict begin H.S end
80 3020
a 80 3020 a
SDict begin 11 H.A end
80 3020 a 80 3020 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.6) cvn H.B /DEST pdfmark end
80 3020 a 0 0 0 TeXcolorrgb
Fo(Data)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(isJust)p Black 44 w(::)p 0 0 0
TeXcolorrgb 44 w(Maybe)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 3139 25 92 v
Black 0.95 TeXcolorgray 80 3139 4045 92 v Black 0.95
TeXcolorgray 4124 3139 25 92 v Black 0.95 TeXcolorgray
Black 80 3112 a
SDict begin H.S end
80 3112 a 80 3112 a
SDict begin 11 H.A end
80 3112 a 80 3112
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.7) cvn H.B /DEST pdfmark end
80 3112 a 0 0 0 TeXcolorrgb Fo(Data)p Black -1 w(.)p
0 0 0 TeXcolorrgb(Maybe)p Black -1 w(.)p 0 0 0 TeXcolorrgb(isNothing)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 45 w(Maybe)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3230 25 92 v Black 0.95 TeXcolorgray 80 3230 4045
92 v Black 0.95 TeXcolorgray 4124 3230 25 92 v Black
0.95 TeXcolorgray Black 80 3203 a
SDict begin H.S end
80 3203 a 80 3203 a
SDict begin 11 H.A end
80 3203 a 80 3203 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.8) cvn H.B /DEST pdfmark end
80 3203 a 0 0 0 TeXcolorrgb Fo(Data)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black -1 w(.)p
0 0 0 TeXcolorrgb(listToMaybe)p Black 43 w(::)g([)p 0 0 0
TeXcolorrgb -1 w(a)p Black(])g(->)p 0 0 0 TeXcolorrgb
44 w(Maybe)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 3322 25 92 v
Black 0.95 TeXcolorgray 80 3322 4045 92 v Black 0.95
TeXcolorgray 4124 3322 25 92 v Black 0.95 TeXcolorgray
Black 80 3294 a
SDict begin H.S end
80 3294 a 80 3294 a
SDict begin 11 H.A end
80 3294 a 80 3294
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.9) cvn H.B /DEST pdfmark end
80 3294 a 0 0 0 TeXcolorrgb Fo(Data)p Black -1 w(.)p
0 0 0 TeXcolorrgb(Maybe)p Black -1 w(.)p 0 0 0 TeXcolorrgb(mapMaybe)p
Black 44 w(::)f(\()p 0 0 0 TeXcolorrgb(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black(\))h(->)f([)p 0 0 0 TeXcolorrgb(a)p Black(])g(->)h([)p
0 0 0 TeXcolorrgb(b)p Black(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 3413 25 92 v Black 0.95 TeXcolorgray
80 3413 4045 92 v Black 0.95 TeXcolorgray 4124 3413 25
92 v Black 0.95 TeXcolorgray Black 80 3386 a
SDict begin H.S end
80 3386
a 80 3386 a
SDict begin 11 H.A end
80 3386 a 80 3386 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.10) cvn H.B /DEST pdfmark end
80 3386 a 0 0 0 TeXcolorrgb
Fo(Data)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Maybe)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(maybeToList)p Black 43 w(::)p
0 0 0 TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 44 w(->)g([)p 0 0 0 TeXcolorrgb(a)p Black
-1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55
3504 25 92 v Black 0.95 TeXcolorgray 80 3504 4045 92
v Black 0.95 TeXcolorgray 4124 3504 25 92 v Black 0.95
TeXcolorgray Black 80 3477 a
SDict begin H.S end
80 3477 a 80 3477 a
SDict begin 11 H.A end
80 3477
a 80 3477 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.11) cvn H.B /DEST pdfmark end
80 3477 a Fo(--)p 0 0 0 TeXcolorrgb 44 w(imported)p
Black 0 0 0 TeXcolorrgb 44 w(via)p Black 0 0 0 TeXcolorrgb
44 w(Prelude)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3596 25 92 v Black 0.95 TeXcolorgray 80 3596 4045
92 v Black 0.95 TeXcolorgray 4124 3596 25 92 v Black
0.95 TeXcolorgray Black 80 3568 a
SDict begin H.S end
80 3568 a 80 3568 a
SDict begin 11 H.A end
80 3568 a 80 3568 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.12) cvn H.B /DEST pdfmark end
80 3568 a 0 0 0 TeXcolorrgb Fo(Just)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3687 25 92 v Black 0.95 TeXcolorgray 80 3687 4045
92 v Black 0.95 TeXcolorgray 4124 3687 25 92 v Black
0.95 TeXcolorgray Black 80 3660 a
SDict begin H.S end
80 3660 a 80 3660 a
SDict begin 11 H.A end
80 3660 a 80 3660 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.13) cvn H.B /DEST pdfmark end
80 3660 a 0 0 0 TeXcolorrgb Fo(data)p
Black 0 0 0 TeXcolorrgb 44 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(Nothing)p
Black 44 w(|)p 0 0 0 TeXcolorrgb 45 w(Just)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 3778 25 92 v Black 0.95 TeXcolorgray
80 3778 4045 92 v Black 0.95 TeXcolorgray 4124 3778 25
92 v Black 0.95 TeXcolorgray Black 80 3751 a
SDict begin H.S end
80 3751
a 80 3751 a
SDict begin 11 H.A end
80 3751 a 80 3751 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.14) cvn H.B /DEST pdfmark end
80 3751 a 0 0 0 TeXcolorrgb
Fo(Nothing)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(Maybe)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3870 25 92 v Black 0.95 TeXcolorgray
80 3870 4045 92 v Black 0.95 TeXcolorgray 4124 3870 25
92 v Black 0.95 TeXcolorgray Black 80 3842 a
SDict begin H.S end
80 3842
a 80 3842 a
SDict begin 11 H.A end
80 3842 a 80 3842 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-83.15) cvn H.B /DEST pdfmark end
80 3842 a 0 0 0 TeXcolorrgb
Fo(maybe)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(b)p
Black 45 w(->)g(\()p 0 0 0 TeXcolorrgb -1 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black -1 w(\))g(->)p
0 0 0 TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black
0.95 TeXcolorgray 55 3894 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 4048 a FA(This)29 b(output)f(sho)n(ws)h(that,)i
(in)f(the)f(conte)o(xt)f(of)h(the)g(current)e(session,)32
b(in)d(the)g(scope)g(of)g Ft(Prelude)p FA(,)h(the)f(\002rst)h(group)e
(of)g(items)i(from)80 4147 y Ft(Data.Maybe)21 b FA(ha)n(v)o(e)g(not)g
(been)g(imported)g(\(b)n(ut)g(are)h(a)n(v)n(ailable)f(in)h(fully)f
(quali\002ed)g(form)g(in)h(the)g(GHCi)h(session)f(-)g(see)h(Section)p
1 0 0 TeXcolorrgb 3910 4148 a
SDict begin H.S end
3910 4148 a 1 0 0 TeXcolorrgb
-1 x FA(2.4.3)p 1 0 0 TeXcolorrgb 4076 4091 a
SDict begin H.R end
4076 4091
a 4076 4147 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.4.3) cvn H.B /ANN pdfmark end
4076 4147 a Black FA(\),)80 4247 y(whereas)j(the)h
(second)f(group)f(of)i(items)g(ha)n(v)o(e)f(been)h(imported)e(via)i
Ft(Prelude)f FA(and)g(are)h(therefore)e(a)n(v)n(ailable)h(either)h
(unquali\002ed,)f(or)80 4347 y(with)20 b(a)h Ft(Prelude.)j
FA(quali\002er)-5 b(.)p Black -107 4510 a Fh(:cd)20 b
Ff(dir)p Black 66 w FA(Changes)e(the)g(current)f(w)o(orking)g
(directory)f(to)i Fr(dir)s FA(.)24 b(A)19 b(`)p Ft(~)p
FA(')f(symbol)f(at)i(the)f(be)o(ginning)e(of)i Fr(dir)j
FA(will)e(be)f(replaced)f(by)g(the)i(contents)80 4609
y(of)h(the)g(en)m(vironment)d(v)n(ariable)i Ft(HOME)p
FA(.)80 4741 y(NO)m(TE:)g(changing)e(directories)h(causes)i(all)f
(currently)f(loaded)g(modules)g(to)h(be)g(unloaded.)k(This)c(is)h
(because)f(the)g(search)g(path)f(is)j(usually)80 4840
y(e)o(xpressed)e(using)h(relati)n(v)o(e)f(directories,)g(and)h
(changing)e(the)i(search)g(path)f(in)i(the)f(middle)f(of)h(a)h(session)
f(is)i(not)d(supported.)p Black -107 5003 a Fh(:cmd)h
Ff(expr)p Black 66 w FA(Ex)o(ecutes)25 b Fr(expr)k FA(as)d(a)h
(computation)c(of)j(type)g Ft(IO)49 b(String)p FA(,)27
b(and)e(then)h(e)o(x)o(ecutes)f(the)h(resulting)f(string)h(as)h(a)f
(list)h(of)f(GHCi)80 5103 y(commands.)d(Multiple)d(commands)e(are)j
(separated)e(by)h(ne)n(wlines.)k(The)c Ft(:cmd)g FA(command)e(is)j
(useful)f(with)g Ft(:def)g FA(and)g Ft(:set)49 b(stop)p
FA(.)p Black -107 5266 a Fh(:continue)p Black 61 w FA(Continue)19
b(the)h(current)f(e)n(v)n(aluation,)f(when)i(stopped)f(at)i(a)f
(breakpoint.)p Black -107 5429 a Fh(:ctags)g Fu([)p Ff(filename)p
Fu(])f Fh(:etags)g Fu([)p Ff(filename)p Fu(])p Black
82 w FA(Generates)f(a)h(\223tags\224)f(\002le)h(for)f(V)-5
b(i-style)19 b(editors)f(\()p Ft(:ctags)p FA(\))f(or)h(Emacs-style)g
(editors)g(\()p Ft(:-)80 5529 y(etags)p FA(\).)23 b(If)16
b(no)g(\002lename)g(is)h(speci\002ed,)g(the)f(def)o(ault)g
Ft(tags)g FA(or)g Ft(TAGS)h FA(is)g(used,)g(respecti)n(v)o(ely)-5
b(.)21 b(T)-7 b(ags)17 b(for)f(all)h(the)f(functions,)g(constructors)80
5628 y(and)k(types)g(in)g(the)g(currently)f(loaded)g(modules)g(are)h
(created.)k(All)d(modules)e(must)h(be)g(interpreted)f(for)g(these)i
(commands)d(to)j(w)o(ork.)80 5759 y(See)g(also)f(Section)p
1 0 0 TeXcolorrgb 645 5760 a
SDict begin H.S end
645 5760 a 1 0 0 TeXcolorrgb
-1 x FA(10.1)p 1 0 0 TeXcolorrgb 790 5703 a
SDict begin H.R end
790 5703
a 790 5759 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.10.1) cvn H.B /ANN pdfmark end
790 5759 a Black FA(.)p Black -128 6084
4252 5 v Black eop end
%%Page: 31 46
TeXDict begin 31 45 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.31) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(31)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(:def[!])99
b([)p Ff(name)49 b(expr)t Fh(])p Black 61 w Ft(:def)24
b FA(is)i(used)e(to)g(de\002ne)g(ne)n(w)g(commands,)g(or)g(macros,)g
(in)h(GHCi.)38 b(The)24 b(command)f Ft(:def)h Fr(name)g(expr)80
273 y FA(de\002nes)19 b(a)h(ne)n(w)g(GHCi)g(command)e
Ft(:)p Fr(name)p FA(,)h(implemented)f(by)h(the)h(Hask)o(ell)g(e)o
(xpression)e Fr(expr)s FA(,)h(which)g(must)h(ha)n(v)o(e)f(type)g
Ft(String)49 b(->)80 372 y(IO)g(String)p FA(.)24 b(When)18
b Ft(:)p Fr(name)49 b(args)18 b FA(is)h(typed)e(at)i(the)f(prompt,)e
(GHCi)j(will)g(run)e(the)h(e)o(xpression)f Ft(\()p Fr(name)49
b(args)p Ft(\))p FA(,)18 b(tak)o(e)g(the)g(resulting)80
472 y Ft(String)p FA(,)g(and)g(feed)g(it)h(back)f(into)g(GHCi)h(as)g(a)
g(ne)n(w)f(sequence)f(of)i(commands.)j(Separate)c(commands)f(in)h(the)h
(result)f(must)h(be)f(separated)80 572 y(by)i(`)p Ft(\\n)p
FA('.)80 703 y(That')-5 b(s)21 b(all)g(a)h(little)f(confusing,)e(so)i
(here')-5 b(s)21 b(a)g(fe)n(w)g(e)o(xamples.)26 b(T)-7
b(o)21 b(start)g(with,)g(here')-5 b(s)21 b(a)g(ne)n(w)g(GHCi)g(command)
e(which)i(doesn')o(t)e(tak)o(e)i(an)o(y)80 802 y(ar)o(guments)d(or)i
(produce)e(an)o(y)i(results,)g(it)h(just)g(outputs)e(the)h(current)f
(date)h(&)g(time:)-128 866 y
SDict begin H.S end
-128 866 a -128 866 a
SDict begin 12 H.A end
-128
866 a -128 866 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-84) cvn H.B /DEST pdfmark end
-128 866 a 0.95 TeXcolorgray 55 882
4095 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 973 25 92 v Black 0.95 TeXcolorgray
80 973 4045 92 v Black 0.95 TeXcolorgray 4124 973 25
92 v Black 0.95 TeXcolorgray Black 80 946 a
SDict begin H.S end
80 946 a
80 946 a
SDict begin 11 H.A end
80 946 a 80 946 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-84.1) cvn H.B /DEST pdfmark end
80 946 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 44 w(let)p
Black 0 0 0 TeXcolorrgb 45 w(date)p Black 0 0 0 TeXcolorrgb
44 w(_)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(Time)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(getClockTime)p Black
43 w(>>=)p 0 0 0 TeXcolorrgb 45 w(print)p Black 44 w(>>)p
0 0 0 TeXcolorrgb 44 w(return)p Black 44 w("")p 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 1064 25 92 v
Black 0.95 TeXcolorgray 80 1064 4045 92 v Black 0.95
TeXcolorgray 4124 1064 25 92 v Black 0.95 TeXcolorgray
Black 80 1037 a
SDict begin H.S end
80 1037 a 80 1037 a
SDict begin 11 H.A end
80 1037 a 80 1037
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-84.2) cvn H.B /DEST pdfmark end
80 1037 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)44
b(:)p 0 0 0 TeXcolorrgb(def)p Black 0 0 0 TeXcolorrgb
45 w(date)p Black 0 0 0 TeXcolorrgb 44 w(date)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 1156 25
92 v Black 0.95 TeXcolorgray 80 1156 4045 92 v Black
0.95 TeXcolorgray 4124 1156 25 92 v Black 0.95 TeXcolorgray
Black 80 1128 a
SDict begin H.S end
80 1128 a 80 1128 a
SDict begin 11 H.A end
80 1128 a 80 1128
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-84.3) cvn H.B /DEST pdfmark end
80 1128 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)g(:)p
0 0 0 TeXcolorrgb(date)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 1247 25 92 v Black 0.95 TeXcolorgray
80 1247 4045 92 v Black 0.95 TeXcolorgray 4124 1247 25
92 v Black 0.95 TeXcolorgray Black 80 1220 a
SDict begin H.S end
80 1220
a 80 1220 a
SDict begin 11 H.A end
80 1220 a 80 1220 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-84.4) cvn H.B /DEST pdfmark end
80 1220 a 0 0 0 TeXcolorrgb
Fo(Fri)p Black 0 0 0 TeXcolorrgb 44 w(Mar)p Black 45
w(23)g(15:16:40)p 0 0 0 TeXcolorrgb 44 w(GMT)p Black
44 w(2001)p 0.95 TeXcolorgray 55 1272 4095 25 v Black
0.95 TeXcolorgray Black Black Black 80 1424 a FA(Here')-5
b(s)20 b(an)h(e)o(xample)d(of)i(a)h(command)d(that)i(tak)o(es)h(an)f
(ar)o(gument.)j(It')-5 b(s)20 b(a)h(re-implementation)c(of)j
Ft(:cd)p FA(:)-128 1488 y
SDict begin H.S end
-128 1488 a -128 1488 a
SDict begin 12 H.A end
-128
1488 a -128 1488 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-85) cvn H.B /DEST pdfmark end
-128 1488 a 0.95 TeXcolorgray 55 1503
4095 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 1595 25 92 v Black 0.95 TeXcolorgray
80 1595 4045 92 v Black 0.95 TeXcolorgray 4124 1595 25
92 v Black 0.95 TeXcolorgray Black 80 1567 a
SDict begin H.S end
80 1567
a 80 1567 a
SDict begin 11 H.A end
80 1567 a 80 1567 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-85.1) cvn H.B /DEST pdfmark end
80 1567 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 44 w(let)p
Black 0 0 0 TeXcolorrgb 45 w(mycd)p Black 0 0 0 TeXcolorrgb
44 w(d)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(Directory)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(setCurrentDirectory)p
Black 0 0 0 TeXcolorrgb 41 w(d)p Black 45 w(>>)p 0 0 0
TeXcolorrgb 44 w(return)p Black 44 w("")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 1686 25 92 v Black 0.95 TeXcolorgray
80 1686 4045 92 v Black 0.95 TeXcolorgray 4124 1686 25
92 v Black 0.95 TeXcolorgray Black 80 1659 a
SDict begin H.S end
80 1659
a 80 1659 a
SDict begin 11 H.A end
80 1659 a 80 1659 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-85.2) cvn H.B /DEST pdfmark end
80 1659 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)44 b(:)p 0 0 0 TeXcolorrgb(def)p
Black 0 0 0 TeXcolorrgb 45 w(mycd)p Black 0 0 0 TeXcolorrgb
44 w(mycd)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 1777 25 92 v Black 0.95 TeXcolorgray 80 1777 4045
92 v Black 0.95 TeXcolorgray 4124 1777 25 92 v Black
0.95 TeXcolorgray Black 80 1750 a
SDict begin H.S end
80 1750 a 80 1750 a
SDict begin 11 H.A end
80 1750 a 80 1750 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-85.3) cvn H.B /DEST pdfmark end
80 1750 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(mycd)p Black 44
w(..)p 0.95 TeXcolorgray 55 1802 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 1954 a FA(Or)20 b(I)h(could)e
(de\002ne)h(a)g(simple)g(w)o(ay)h(to)f(in)m(v)n(ok)o(e)f(\223)p
Ft(ghc)49 b(--make)g(Main)p FA(\224)20 b(in)g(the)g(current)f
(directory:)-128 2019 y
SDict begin H.S end
-128 2019 a -128 2019 a
SDict begin 12 H.A end
-128
2019 a -128 2019 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-86) cvn H.B /DEST pdfmark end
-128 2019 a 0.95 TeXcolorgray 55 2034
4095 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2125 25 92 v Black 0.95 TeXcolorgray
80 2125 4045 92 v Black 0.95 TeXcolorgray 4124 2125 25
92 v Black 0.95 TeXcolorgray Black 80 2098 a
SDict begin H.S end
80 2098
a 80 2098 a
SDict begin 11 H.A end
80 2098 a 80 2098 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-86.1) cvn H.B /DEST pdfmark end
80 2098 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)44 b(:)p 0 0 0 TeXcolorrgb(def)p
Black 0 0 0 TeXcolorrgb 45 w(make)p Black 44 w(\(\\)p
0 0 0 TeXcolorrgb -1 w(_)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(return)p Black 43 w(":!)p 0 0 0 TeXcolorrgb 45 w(ghc)p
Black 44 w(--)p 0 0 0 TeXcolorrgb(make)p Black 0 0 0
TeXcolorrgb 44 w(Main)p Black -1 w("\))p 0.95 TeXcolorgray
55 2150 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 2302 a FA(W)-7 b(e)25 b(can)e(de\002ne)g(a)h(command)e(that)h
(reads)h(GHCi)g(input)f(from)g(a)h(\002le.)35 b(This)24
b(might)f(be)h(useful)f(for)g(creating)f(a)i(set)g(of)g(bindings)e
(that)i(we)80 2402 y(w)o(ant)c(to)h(repeatedly)d(load)i(into)g(the)g
(GHCi)h(session:)-128 2466 y
SDict begin H.S end
-128 2466 a -128 2466 a
SDict begin 12 H.A end
-128 2466 a -128 2466 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-87) cvn H.B /DEST pdfmark end
-128 2466 a 0.95 TeXcolorgray
55 2481 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 2572 25 92 v
Black 0.95 TeXcolorgray 80 2572 4045 92 v Black 0.95
TeXcolorgray 4124 2572 25 92 v Black 0.95 TeXcolorgray
Black 80 2545 a
SDict begin H.S end
80 2545 a 80 2545 a
SDict begin 11 H.A end
80 2545 a 80 2545
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-87.1) cvn H.B /DEST pdfmark end
80 2545 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)44
b(:)p 0 0 0 TeXcolorrgb(def)p Black 45 w(.)p 0 0 0 TeXcolorrgb
44 w(readFile)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 2664 25 92 v Black 0.95 TeXcolorgray 80 2664 4045
92 v Black 0.95 TeXcolorgray 4124 2664 25 92 v Black
0.95 TeXcolorgray Black 80 2636 a
SDict begin H.S end
80 2636 a 80 2636 a
SDict begin 11 H.A end
80 2636 a 80 2636 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-87.2) cvn H.B /DEST pdfmark end
80 2636 a 0 0 0 TeXcolorrgb Fo(Prelude)p
Black -1 w(>)g(:.)p 0 0 0 TeXcolorrgb 45 w(cmds)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(ghci)p Black 0.95 TeXcolorgray
55 2689 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 2841 a FA(Notice)20 b(that)g(we)h(named)e(the)h(command)e
Ft(:.)p FA(,)j(by)e(analogy)g(with)h(the)h(`)p Ft(.)p
FA(')j(Unix)c(shell)h(command)d(that)i(does)g(the)g(same)h(thing.)80
2972 y(T)-7 b(yping)21 b Ft(:def)i FA(on)f(its)h(o)n(wn)g(lists)g(the)g
(currently-de\002ned)c(macros.)31 b(Attempting)22 b(to)g(rede\002ne)g
(an)h(e)o(xisting)e(command)g(name)h(results)h(in)80
3071 y(an)d(error)f(unless)h(the)h Ft(:def!)k FA(form)19
b(is)i(used,)e(in)i(which)e(case)i(the)f(old)g(command)e(with)j(that)f
(name)g(is)h(silently)f(o)o(v)o(erwritten.)p Black -107
3234 a Fh(:delete)292 3247 y(*)391 3234 y(|)50 b Ff(num)j
Fh(...)p Black 67 w FA(Delete)31 b(one)g(or)g(more)f(breakpoints)f(by)i
(number)f(\(use)h Ft(:show)49 b(breaks)30 b FA(to)i(see)g(the)f(number)
e(of)i(each)80 3333 y(breakpoint\).)22 b(The)659 3348
y Ft(*)730 3333 y FA(form)d(deletes)h(all)h(the)f(breakpoints.)p
Black -107 3496 a Fh(:edit)49 b([)p Ff(file)p Fh(])p
Black 62 w FA(Opens)23 b(an)g(editor)g(to)g(edit)h(the)f(\002le)i
Fr(file)p FA(,)f(or)f(the)g(most)h(recently)e(loaded)g(module)h(if)g
Fr(file)h FA(is)g(omitted.)34 b(The)23 b(editor)g(to)80
3595 y(in)m(v)n(ok)o(e)d(is)h(tak)o(en)g(from)f(the)h
Ft(EDITOR)f FA(en)m(vironment)e(v)n(ariable,)i(or)g(a)i(def)o(ault)e
(editor)g(on)g(your)g(system)h(if)g Ft(EDITOR)g FA(is)g(not)g(set.)28
b(Y)-9 b(ou)20 b(can)80 3695 y(change)f(the)h(editor)g(using)f
Ft(:set)49 b(editor)p FA(.)p Black -107 3857 a Fh(:etags)p
Black 61 w FA(See)21 b Ft(:ctags)p FA(.)p Black -107
4020 a Fh(:force)49 b Ff(identifier)j Fh(...)p Black
67 w FA(Prints)33 b(the)f(v)n(alue)g(of)h Fr(identifier)h
FA(in)e(the)h(same)g(w)o(ay)f(as)i Ft(:print)p FA(.)61
b(Unlik)o(e)33 b Ft(:print)p FA(,)i Ft(:force)80 4119
y FA(e)n(v)n(aluates)22 b(each)g(thunk)f(that)i(it)g(encounters)e
(while)h(tra)n(v)o(ersing)g(the)g(v)n(alue.)31 b(This)23
b(may)f(cause)g(e)o(xceptions)f(or)i(in\002nite)f(loops,)g(or)h
(further)80 4219 y(breakpoints)18 b(\(which)h(are)i(ignored,)d(b)n(ut)i
(displayed\).)p Black -107 4381 a Fh(:forward)p Black
61 w FA(Mo)o(v)o(e)f(forw)o(ard)g(in)h(the)g(history)-5
b(.)24 b(See)d(Section)p 1 0 0 TeXcolorrgb 1738 4382
a
SDict begin H.S end
1738 4382 a 1 0 0 TeXcolorrgb -1 x FA(2.5.5)p 1 0 0
TeXcolorrgb 1904 4325 a
SDict begin H.R end
1904 4325 a 1904 4381 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.5) cvn H.B /ANN pdfmark end
1904
4381 a Black FA(.)26 b(See)21 b(also:)k Ft(:trace)p FA(,)19
b Ft(:history)p FA(,)g Ft(:back)p FA(.)p Black -107 4544
a Fh(:help)h Fu(,)h Fh(:?)p Black 66 w FA(Displays)g(a)f(list)i(of)e
(the)g(a)n(v)n(ailable)f(commands.)p Black -107 4706
a Fh(:)p Black 67 w FA(Repeat)i(the)f(pre)n(vious)e(command.)p
Black -107 4868 a Fh(:history)49 b([)p Ff(num)t Fh(])p
Black 60 w FA(Display)25 b(the)g(history)e(of)i(e)n(v)n(aluation)e
(steps.)39 b(W)m(ith)25 b(a)g(number)m(,)e(displays)h(that)h(man)o(y)f
(steps)h(\(def)o(ault:)33 b(20\).)k(F)o(or)25 b(use)80
4968 y(with)20 b Ft(:trace)p FA(;)g(see)h(Section)p 1 0 0
TeXcolorrgb 988 4969 a
SDict begin H.S end
988 4969 a 1 0 0 TeXcolorrgb -1
x FA(2.5.5)p 1 0 0 TeXcolorrgb 1154 4912 a
SDict begin H.R end
1154 4912
a 1154 4968 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.5) cvn H.B /ANN pdfmark end
1154 4968 a Black FA(.)p Black -107 5130
a Fh(:info)f Ff(name)g Fu(...)p Black 67 w FA(Displays)26
b(information)d(about)i(the)h(gi)n(v)o(en)e(name\(s\).)41
b(F)o(or)26 b(e)o(xample,)f(if)h Fr(name)g FA(is)h(a)f(class,)i(then)d
(the)h(class)h(methods)e(and)80 5230 y(their)e(types)g(will)h(be)f
(printed;)g(if)g Fr(name)g FA(is)h(a)g(type)e(constructor)m(,)g(then)g
(its)i(de\002nition)e(will)i(be)f(printed;)h(if)f Fr(name)g
FA(is)h(a)g(function,)d(then)i(its)80 5330 y(type)e(will)h(be)g
(printed.)27 b(If)22 b Fr(name)f FA(has)h(been)f(loaded)f(from)h(a)h
(source)e(\002le,)j(then)e(GHCi)h(will)g(also)g(display)f(the)h
(location)e(of)i(its)g(de\002nition)80 5429 y(in)e(the)h(source.)80
5560 y(F)o(or)j(types)h(and)f(classes,)j(GHCi)e(also)g(summarises)g
(instances)f(that)h(mention)f(them.)38 b(T)-7 b(o)25
b(a)n(v)n(oid)f(sho)n(wing)g(irrele)n(v)n(ant)f(information,)g(an)80
5660 y(instance)h(is)i(sho)n(wn)d(only)h(if)h(\(a\))f(its)i(head)e
(mentions)f Fr(name)p FA(,)j(and)e(\(b\))g(all)h(the)f(other)g(things)g
(mentioned)f(in)h(the)h(instance)f(are)h(in)f(scope)80
5759 y(\(either)19 b(quali\002ed)h(or)g(otherwise\))f(as)i(a)f(result)h
(of)f(a)g Ft(:load)g FA(or)g Ft(:module)f FA(commands.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 32 47
TeXDict begin 32 46 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.32) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(32)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(:kind)g
Ff(type)p Black 62 w FA(Infers)g(and)g(prints)h(the)g(kind)f(of)g
Fr(type)p FA(.)27 b(The)21 b(latter)g(can)f(be)h(an)g(arbitrary)e(type)
h(e)o(xpression,)g(including)f(a)i(partial)f(application)80
273 y(of)g(a)h(type)e(constructor)m(,)f(such)i(as)h Ft(Either)48
b(Int)p FA(.)p Black -107 434 a Fh(:load)20 b Fu([)191
447 y Fh(*)241 434 y Fu(])p Ff(module)f Fu(...)p Black
67 w FA(Recursi)n(v)o(ely)g(loads)g(the)h(speci\002ed)g
Fr(module)p FA(s,)g(and)f(all)i(the)f(modules)f(the)o(y)g(depend)g(on.)
24 b(Here,)c(each)f Fr(module)h FA(must)80 533 y(be)g(a)h(module)e
(name)g(or)h(\002lename,)f(b)n(ut)i(may)e(not)h(be)g(the)h(name)e(of)h
(a)h(module)e(in)h(a)g(package.)80 664 y(All)g(pre)n(viously)e(loaded)g
(modules,)g(e)o(xcept)h(package)f(modules,)g(are)h(for)o(gotten.)k(The)
c(ne)n(w)g(set)h(of)f(modules)g(is)h(kno)n(wn)e(as)i(the)g
Fq(tar)m(g)o(et)f(set)p FA(.)80 763 y(Note)h(that)g Ft(:load)g
FA(can)g(be)g(used)g(without)g(an)o(y)f(ar)o(guments)f(to)j(unload)d
(all)j(the)f(currently)f(loaded)g(modules)g(and)h(bindings.)80
894 y(Normally)i(pre-compiled)f(code)h(for)h(a)g(module)f(will)i(be)g
(loaded)e(if)h(a)n(v)n(ailable,)h(or)f(otherwise)f(the)h(module)f(will)
i(be)g(compiled)d(to)j(byte-)80 993 y(code.)g(Using)c(the)625
1008 y Ft(*)695 993 y FA(pre\002x)g(forces)f(a)i(module)e(to)h(be)g
(loaded)f(as)i(byte-code.)80 1123 y(After)f(a)h Ft(:load)e
FA(command,)f(the)j(current)d(conte)o(xt)h(is)i(set)g(to:)p
Black 80 1284 a(\225)p Black 42 w Fr(module)p FA(,)e(if)i(it)f(w)o(as)h
(loaded)f(successfully)-5 b(,)18 b(or)p Black 80 1412
a(\225)p Black 42 w(the)i(most)g(recently)f(successfully)h(loaded)f
(module,)f(if)j(an)o(y)e(other)h(modules)f(were)h(loaded)f(as)i(a)f
(result)h(of)f(the)g(current)f Ft(:load)p FA(,)g(or)p
Black 80 1540 a(\225)p Black 42 w Ft(Prelude)g FA(otherwise.)p
Black -107 1701 a Fh(:main)49 b Ff(arg)327 1712 y Fe(1)415
1701 y Fh(...)99 b Ff(arg)799 1712 y Fe(n)p Black 900
1701 a FA(When)35 b(a)g(program)e(is)i(compiled)f(and)g(e)o(x)o
(ecuted,)i(it)f(can)g(use)g(the)g Ft(getArgs)f FA(function)f(to)i
(access)g(the)80 1800 y(command-line)27 b(ar)o(guments.)50
b(Ho)n(we)n(v)o(er)m(,)29 b(we)h(cannot)e(simply)h(pass)h(the)g(ar)o
(guments)d(to)i(the)h Ft(main)f FA(function)f(while)h(we)h(are)f
(testing)80 1900 y(in)20 b(ghci,)g(as)h(the)f Ft(main)g
FA(function)e(doesn')o(t)h(tak)o(e)h(its)i(ar)o(guments)c(directly)-5
b(.)80 2030 y(Instead,)26 b(we)g(can)g(use)g(the)g Ft(:main)f
FA(command.)40 b(This)26 b(runs)f(whate)n(v)o(er)f Ft(main)i
FA(is)h(in)f(scope,)g(with)g(an)o(y)f(ar)o(guments)f(being)h(treated)g
(the)80 2130 y(same)20 b(as)h(command-line)d(ar)o(guments,)g(e.g.:)-128
2192 y
SDict begin H.S end
-128 2192 a -128 2192 a
SDict begin 12 H.A end
-128 2192 a -128 2192
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-88) cvn H.B /DEST pdfmark end
-128 2192 a 0.95 TeXcolorgray 55 2208 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2299 25 92 v Black 0.95 TeXcolorgray
80 2299 4045 92 v Black 0.95 TeXcolorgray 4124 2299 25
92 v Black 0.95 TeXcolorgray Black 80 2272 a
SDict begin H.S end
80 2272
a 80 2272 a
SDict begin 11 H.A end
80 2272 a 80 2272 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-88.1) cvn H.B /DEST pdfmark end
80 2272 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)p 0 0 0 TeXcolorrgb 44 w(let)p
Black 0 0 0 TeXcolorrgb 45 w(main)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb
-1 w(Environment)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(getArgs)p Black 44 w(>>=)p 0 0 0 TeXcolorrgb 44 w(print)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 2390
25 92 v Black 0.95 TeXcolorgray 80 2390 4045 92 v Black
0.95 TeXcolorgray 4124 2390 25 92 v Black 0.95 TeXcolorgray
Black 80 2363 a
SDict begin H.S end
80 2363 a 80 2363 a
SDict begin 11 H.A end
80 2363 a 80 2363
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-88.2) cvn H.B /DEST pdfmark end
80 2363 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)44
b(:)p 0 0 0 TeXcolorrgb(main)p Black 0 0 0 TeXcolorrgb
44 w(foo)p Black 0 0 0 TeXcolorrgb 45 w(bar)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 2482 25 92 v
Black 0.95 TeXcolorgray 80 2482 4045 92 v Black 0.95
TeXcolorgray 4124 2482 25 92 v Black 0.95 TeXcolorgray
Black 80 2454 a
SDict begin H.S end
80 2454 a 80 2454 a
SDict begin 11 H.A end
80 2454 a 80 2454
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-88.3) cvn H.B /DEST pdfmark end
80 2454 a Fo([")p 0 0 0 TeXcolorrgb(foo)p Black -1
w(",")p 0 0 0 TeXcolorrgb(bar)p Black -1 w("])p 0.95
TeXcolorgray 55 2507 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 2657 a FA(W)-7 b(e)26 b(can)f(also)h(quote)e(ar)o
(guments)f(which)i(contains)f(characters)h(lik)o(e)g(spaces,)i(and)d
(the)o(y)h(are)g(treated)f(lik)o(e)i(Hask)o(ell)f(strings,)i(or)e(we)g
(can)80 2756 y(just)c(use)f(Hask)o(ell)h(list)g(syntax:)-128
2819 y
SDict begin H.S end
-128 2819 a -128 2819 a
SDict begin 12 H.A end
-128 2819 a -128 2819
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-89) cvn H.B /DEST pdfmark end
-128 2819 a 0.95 TeXcolorgray 55 2834 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2925 25 92 v Black 0.95 TeXcolorgray
80 2925 4045 92 v Black 0.95 TeXcolorgray 4124 2925 25
92 v Black 0.95 TeXcolorgray Black 80 2898 a
SDict begin H.S end
80 2898
a 80 2898 a
SDict begin 11 H.A end
80 2898 a 80 2898 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-89.1) cvn H.B /DEST pdfmark end
80 2898 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)44 b(:)p 0 0 0 TeXcolorrgb(main)p
Black 0 0 0 TeXcolorrgb 44 w(foo)p Black 45 w(")p 0 0 0
TeXcolorrgb(bar)p Black 0 0 0 TeXcolorrgb 44 w(baz)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3017 25 92 v Black 0.95 TeXcolorgray 80 3017 4045
92 v Black 0.95 TeXcolorgray 4124 3017 25 92 v Black
0.95 TeXcolorgray Black 80 2989 a
SDict begin H.S end
80 2989 a 80 2989 a
SDict begin 11 H.A end
80 2989 a 80 2989 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-89.2) cvn H.B /DEST pdfmark end
80 2989 a Fo([")p 0 0 0 TeXcolorrgb(foo)p
Black -1 w(",")p 0 0 0 TeXcolorrgb(bar)p Black 0 0 0
TeXcolorrgb 44 w(baz)p Black -1 w("])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3108 25 92 v Black 0.95 TeXcolorgray
80 3108 4045 92 v Black 0.95 TeXcolorgray 4124 3108 25
92 v Black 0.95 TeXcolorgray Black 80 3081 a
SDict begin H.S end
80 3081
a 80 3081 a
SDict begin 11 H.A end
80 3081 a 80 3081 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-89.3) cvn H.B /DEST pdfmark end
80 3081 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(main)p
Black 44 w([")p 0 0 0 TeXcolorrgb(foo)p Black(",)g(")p
0 0 0 TeXcolorrgb(bar)p Black 0 0 0 TeXcolorrgb 44 w(baz)p
Black("])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3199 25 92 v Black 0.95 TeXcolorgray 80 3199 4045
92 v Black 0.95 TeXcolorgray 4124 3199 25 92 v Black
0.95 TeXcolorgray Black 80 3172 a
SDict begin H.S end
80 3172 a 80 3172 a
SDict begin 11 H.A end
80 3172 a 80 3172 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-89.4) cvn H.B /DEST pdfmark end
80 3172 a Fo([")p 0 0 0 TeXcolorrgb(foo)p
Black -1 w(",")p 0 0 0 TeXcolorrgb(bar)p Black 0 0 0
TeXcolorrgb 44 w(baz)p Black -1 w("])p 0.95 TeXcolorgray
55 3224 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 3374 a FA(Finally)-5 b(,)19 b(other)h(functions)f(can)h(be)g
(called,)f(either)h(with)h(the)f Ft(-main-is)f FA(\003ag)h(or)g(the)g
Ft(:run)g FA(command:)-128 3437 y
SDict begin H.S end
-128 3437 a -128 3437
a
SDict begin 12 H.A end
-128 3437 a -128 3437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-90) cvn H.B /DEST pdfmark end
-128 3437 a 0.95 TeXcolorgray
55 3452 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 3544 25 92 v
Black 0.95 TeXcolorgray 80 3544 4045 92 v Black 0.95
TeXcolorgray 4124 3544 25 92 v Black 0.95 TeXcolorgray
Black 80 3516 a
SDict begin H.S end
80 3516 a 80 3516 a
SDict begin 11 H.A end
80 3516 a 80 3516
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.1) cvn H.B /DEST pdfmark end
80 3516 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)p
0 0 0 TeXcolorrgb 44 w(let)p Black 0 0 0 TeXcolorrgb
45 w(foo)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(putStrLn)p
Black 43 w(")p 0 0 0 TeXcolorrgb(foo)p Black(")44 b(>>)p
0 0 0 TeXcolorrgb 45 w(System)p Black -1 w(.)p 0 0 0
TeXcolorrgb(Environment)p Black -2 w(.)p 0 0 0 TeXcolorrgb(getArgs)p
Black 43 w(>>=)p 0 0 0 TeXcolorrgb 45 w(print)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3635 25
92 v Black 0.95 TeXcolorgray 80 3635 4045 92 v Black
0.95 TeXcolorgray 4124 3635 25 92 v Black 0.95 TeXcolorgray
Black 80 3607 a
SDict begin H.S end
80 3607 a 80 3607 a
SDict begin 11 H.A end
80 3607 a 80 3607
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.2) cvn H.B /DEST pdfmark end
80 3607 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)p
0 0 0 TeXcolorrgb 44 w(let)p Black 0 0 0 TeXcolorrgb
45 w(bar)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(putStrLn)p
Black 43 w(")p 0 0 0 TeXcolorrgb(bar)p Black(")g(>>)p
0 0 0 TeXcolorrgb 45 w(System)p Black -1 w(.)p 0 0 0
TeXcolorrgb(Environment)p Black -2 w(.)p 0 0 0 TeXcolorrgb(getArgs)p
Black 43 w(>>=)p 0 0 0 TeXcolorrgb 45 w(print)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3726 25
92 v Black 0.95 TeXcolorgray 80 3726 4045 92 v Black
0.95 TeXcolorgray 4124 3726 25 92 v Black 0.95 TeXcolorgray
Black 80 3699 a
SDict begin H.S end
80 3699 a 80 3699 a
SDict begin 11 H.A end
80 3699 a 80 3699
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.3) cvn H.B /DEST pdfmark end
80 3699 a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)g(:)p
0 0 0 TeXcolorrgb(set)p Black 45 w(-)p 0 0 0 TeXcolorrgb
-1 w(main)p Black(-)p 0 0 0 TeXcolorrgb(is)p Black 0 0 0
TeXcolorrgb 44 w(foo)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 3818 25 92 v Black 0.95 TeXcolorgray
80 3818 4045 92 v Black 0.95 TeXcolorgray 4124 3818 25
92 v Black 0.95 TeXcolorgray Black 80 3790 a
SDict begin H.S end
80 3790
a 80 3790 a
SDict begin 11 H.A end
80 3790 a 80 3790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.4) cvn H.B /DEST pdfmark end
80 3790 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(main)p
Black 0 0 0 TeXcolorrgb 44 w(foo)p Black 45 w(")p 0 0 0
TeXcolorrgb(bar)p Black 0 0 0 TeXcolorrgb 44 w(baz)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3909 25 92 v Black 0.95 TeXcolorgray 80 3909 4045
92 v Black 0.95 TeXcolorgray 4124 3909 25 92 v Black
0.95 TeXcolorgray Black 80 3881 a
SDict begin H.S end
80 3881 a 80 3881 a
SDict begin 11 H.A end
80 3881 a 80 3881 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.5) cvn H.B /DEST pdfmark end
80 3881 a 0 0 0 TeXcolorrgb Fo(foo)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 4000
25 92 v Black 0.95 TeXcolorgray 80 4000 4045 92 v Black
0.95 TeXcolorgray 4124 4000 25 92 v Black 0.95 TeXcolorgray
Black 80 3973 a
SDict begin H.S end
80 3973 a 80 3973 a
SDict begin 11 H.A end
80 3973 a 80 3973
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.6) cvn H.B /DEST pdfmark end
80 3973 a Fo([")p 0 0 0 TeXcolorrgb(foo)p Black -1
w(",")p 0 0 0 TeXcolorrgb(bar)p Black 0 0 0 TeXcolorrgb
44 w(baz)p Black -1 w("])p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 4091 25 92 v Black 0.95 TeXcolorgray
80 4091 4045 92 v Black 0.95 TeXcolorgray 4124 4091 25
92 v Black 0.95 TeXcolorgray Black 80 4064 a
SDict begin H.S end
80 4064
a 80 4064 a
SDict begin 11 H.A end
80 4064 a 80 4064 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.7) cvn H.B /DEST pdfmark end
80 4064 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)g(:)p 0 0 0 TeXcolorrgb(run)p
Black 0 0 0 TeXcolorrgb 45 w(bar)p Black 44 w([")p 0 0 0
TeXcolorrgb(foo)p Black -1 w(",)h(")p 0 0 0 TeXcolorrgb
-1 w(bar)p Black 0 0 0 TeXcolorrgb 45 w(baz)p Black -1
w("])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 4183
25 92 v Black 0.95 TeXcolorgray 80 4183 4045 92 v Black
0.95 TeXcolorgray 4124 4183 25 92 v Black 0.95 TeXcolorgray
Black 80 4155 a
SDict begin H.S end
80 4155 a 80 4155 a
SDict begin 11 H.A end
80 4155 a 80 4155
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.8) cvn H.B /DEST pdfmark end
80 4155 a 0 0 0 TeXcolorrgb Fo(bar)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 4274 25 92 v Black 0.95 TeXcolorgray
80 4274 4045 92 v Black 0.95 TeXcolorgray 4124 4274 25
92 v Black 0.95 TeXcolorgray Black 80 4247 a
SDict begin H.S end
80 4247
a 80 4247 a
SDict begin 11 H.A end
80 4247 a 80 4247 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-90.9) cvn H.B /DEST pdfmark end
80 4247 a Fo([")p 0 0 0
TeXcolorrgb(foo)p Black -1 w(",")p 0 0 0 TeXcolorrgb(bar)p
Black 0 0 0 TeXcolorrgb 44 w(baz)p Black -1 w("])p 0.95
TeXcolorgray 55 4299 4095 25 v Black 0.95 TeXcolorgray
Black Black Black Black -107 4480 a Fh(:module)k([+|-])g([)641
4493 y(*)691 4480 y(])p Ff(mod)876 4491 y Fe(1)963 4480
y Fh(...)99 b([)1262 4493 y(*)1312 4480 y(])p Ff(mod)1497
4491 y Fe(n)1556 4480 y Fu(,)21 b Fh(import)48 b Ff(mod)p
Black 65 w FA(Sets)24 b(or)f(modi\002es)g(the)g(current)f(conte)o(xt)g
(for)g(statements)h(typed)f(at)80 4579 y(the)e(prompt.)k(The)19
b(form)h Ft(import)48 b Fr(mod)23 b FA(is)f(equi)n(v)n(alent)c(to)i
Ft(:module)49 b(+)p Fr(mod)s FA(.)25 b(See)20 b(Section)p
1 0 0 TeXcolorrgb 2894 4580 a
SDict begin H.S end
2894 4580 a 1 0 0 TeXcolorrgb
-1 x FA(2.4.3)p 1 0 0 TeXcolorrgb 3060 4523 a
SDict begin H.R end
3060 4523
a 3060 4579 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.4.3) cvn H.B /ANN pdfmark end
3060 4579 a Black 21 w FA(for)g(more)f(details.)p
Black -107 4740 a Fh(:print)70 b Ff(names)20 b Fu(...)p
Black 67 w FA(Prints)d(a)h(v)n(alue)f(without)g(forcing)f(its)i(e)n(v)n
(aluation.)23 b Ft(:print)16 b FA(may)i(be)f(used)g(on)g(v)n(alues)g
(whose)h(types)f(are)g(unkno)n(wn)e(or)80 4840 y(partially)20
b(kno)n(wn,)e(which)i(might)g(be)g(the)h(case)f(for)g(local)g(v)n
(ariables)g(with)h(polymorphic)c(types)j(at)h(a)g(breakpoint.)i(While)e
(inspecting)e(the)80 4940 y(runtime)j(v)n(alue,)h Ft(:print)f
FA(attempts)i(to)f(reconstruct)e(the)j(type)e(of)h(the)g(v)n(alue,)g
(and)g(will)h(elaborate)e(the)h(type)f(in)i(GHCi')-5
b(s)24 b(en)m(vironment)80 5039 y(if)i(possible.)42 b(If)26
b(an)o(y)f(une)n(v)n(aluated)f(components)g(\(thunks\))g(are)i
(encountered,)f(then)g Ft(:print)h FA(binds)f(a)i(fresh)e(v)n(ariable)g
(with)h(a)h(name)80 5139 y(be)o(ginning)17 b(with)i Ft(_t)g
FA(to)h(each)f(thunk.)k(See)d(Section)p 1 0 0 TeXcolorrgb
1618 5140 a
SDict begin H.S end
1618 5140 a 1 0 0 TeXcolorrgb -1 x FA(2.5.1)p
1 0 0 TeXcolorrgb 1784 5082 a
SDict begin H.R end
1784 5082 a 1784 5139 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.1) cvn H.B /ANN pdfmark end
1784 5139 a Black 19 w FA(for)f(more)f(information.)23
b(See)c(also)h(the)f Ft(:sprint)f FA(command,)g(which)g(w)o(orks)80
5238 y(lik)o(e)i Ft(:print)g FA(b)n(ut)g(does)g(not)g(bind)f(ne)n(w)h
(v)n(ariables.)p Black -107 5399 a Fh(:quit)p Black 62
w FA(Quits)g(GHCi.)26 b(Y)-9 b(ou)20 b(can)g(also)g(quit)g(by)g(typing)
f(control-D)f(at)j(the)f(prompt.)p Black -107 5560 a
Fh(:reload)p Black 61 w FA(Attempts)f(to)g(reload)f(the)h(current)e
(tar)o(get)h(set)i(\(see)f Ft(:load)p FA(\))f(if)h(an)o(y)f(of)g(the)h
(modules)f(in)h(the)g(set,)g(or)g(an)o(y)f(dependent)e(module,)i(has)80
5660 y(changed.)26 b(Note)21 b(that)h(this)f(may)g(entail)g(loading)f
(ne)n(w)h(modules,)f(or)h(dropping)e(modules)h(which)g(are)h(no)g
(longer)f(indirectly)g(required)f(by)80 5759 y(the)h(tar)o(get.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 33 48
TeXDict begin 33 47 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.33) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(33)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(:set)g Fu([)p
Ff(option)q Fu(...])p Black 65 w FA(Sets)j(v)n(arious)f(options.)30
b(See)23 b(Section)p 1 0 0 TeXcolorrgb 1707 174 a
SDict begin H.S end
1707
174 a 1 0 0 TeXcolorrgb -1 x FA(2.8)p 1 0 0 TeXcolorrgb
1811 117 a
SDict begin H.R end
1811 117 a 1811 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.8) cvn H.B /ANN pdfmark end
1811 173 a Black 22
w FA(for)f(a)h(list)g(of)f(a)n(v)n(ailable)g(options)g(and)g(Section)p
1 0 0 TeXcolorrgb 3230 174 a
SDict begin H.S end
3230 174 a 1 0 0 TeXcolorrgb
-1 x FA(4.17.10)p 1 0 0 TeXcolorrgb 3480 117 a
SDict begin H.R end
3480 117
a 3480 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.17.10) cvn H.B /ANN pdfmark end
3480 173 a Black 22 w FA(for)g(a)h(list)g(of)f(GHCi-)80
273 y(speci\002c)i(\003ags.)34 b(The)23 b Ft(:set)g FA(command)f(by)g
(itself)i(sho)n(ws)g(which)f(options)f(are)h(currently)f(set.)35
b(It)23 b(also)h(lists)h(the)e(current)f(dynamic)g(\003ag)80
372 y(settings,)e(with)h(GHCi-speci\002c)f(\003ags)h(listed)f
(separately)-5 b(.)p Black -107 529 a Fh(:set)20 b(args)g
Ff(arg)26 b Fu(...)p Black 66 w FA(Sets)c(the)e(list)h(of)f(ar)o
(guments)e(which)i(are)g(returned)e(when)i(the)g(program)e(calls)j
Ft(System.getArgs)p FA(.)p Black -107 685 a Fh(:set)f(editor)g
Ff(cmd)p Black 65 w FA(Sets)h(the)f(command)e(used)i(by)g
Ft(:edit)g FA(to)g Fr(cmd)s FA(.)p Black -107 841 a Fh(:set)g(prog)g
Ff(prog)p Black 67 w FA(Sets)h(the)g(string)e(to)i(be)f(returned)e
(when)i(the)g(program)e(calls)j Ft(System.getProgName)p
FA(.)p Black -107 997 a Fh(:set)f(prompt)g Ff(prompt)p
Black 61 w FA(Sets)i(the)g(string)f(to)g(be)g(used)g(as)h(the)g(prompt)
d(in)j(GHCi.)29 b(Inside)21 b Fr(prompt)p FA(,)g(the)g(sequence)f
Ft(\045s)i FA(is)g(replaced)e(by)h(the)80 1097 y(names)f(of)g(the)g
(modules)f(currently)g(in)h(scope,)f(and)h Ft(\045\045)g
FA(is)i(replaced)d(by)g Ft(\045)p FA(.)p Black -107 1253
a Fh(:set)h(stop)g Fu([)p Ff(num)t Fu(])f Ff(cmd)p Black
65 w FA(Set)24 b(a)f(command)e(to)i(be)f(e)o(x)o(ecuted)f(when)h(a)h
(breakpoint)e(is)i(hit,)h(or)e(a)h(ne)n(w)g(item)g(in)g(the)f(history)g
(is)i(selected.)32 b(The)80 1352 y(most)20 b(common)f(use)h(of)g
Ft(:set)49 b(stop)20 b FA(is)h(to)f(display)g(the)g(source)g(code)f(at)
i(the)f(current)f(location,)g(e.g.)25 b Ft(:set)49 b(stop)g(:list)p
FA(.)80 1480 y(If)19 b(a)h(number)d(is)k(gi)n(v)o(en)d(before)g(the)h
(command,)e(then)i(the)g(commands)f(are)h(run)g(when)f(the)i
(speci\002ed)f(breakpoint)e(\(only\))h(is)i(hit.)25 b(This)19
b(can)80 1580 y(be)24 b(quite)g(useful:)32 b(for)24 b(e)o(xample,)f
Ft(:set)49 b(stop)g(1)h(:continue)23 b FA(ef)n(fecti)n(v)o(ely)f
(disables)i(breakpoint)e(1,)j(by)e(running)f Ft(:continue)80
1680 y FA(whene)n(v)o(er)d(it)i(is)h(hit)e(\(although)f(GHCi)i(will)h
(still)g(emit)e(a)h(message)g(to)g(say)g(the)f(breakpoint)f(w)o(as)i
(hit\).)26 b(What')-5 b(s)22 b(more,)d(with)i(cunning)e(use)80
1779 y(of)h Ft(:def)g FA(and)g Ft(:cmd)g FA(you)f(can)h(use)g
Ft(:set)49 b(stop)20 b FA(to)h(implement)e(conditional)f(breakpoints:)
-128 1837 y
SDict begin H.S end
-128 1837 a -128 1837 a
SDict begin 12 H.A end
-128 1837 a -128
1837 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-91) cvn H.B /DEST pdfmark end
-128 1837 a 0.95 TeXcolorgray 55 1852 4095 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 1944 25 92 v Black 0.95 TeXcolorgray
80 1944 4045 92 v Black 0.95 TeXcolorgray 4124 1944 25
92 v Black 0.95 TeXcolorgray Black 80 1916 a
SDict begin H.S end
80 1916
a 80 1916 a
SDict begin 11 H.A end
80 1916 a 80 1916 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-91.1) cvn H.B /DEST pdfmark end
80 1916 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p
0 0 0 TeXcolorrgb(def)p Black 0 0 0 TeXcolorrgb 44 w(cond)p
Black 44 w(\\)p 0 0 0 TeXcolorrgb(expr)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(return)p Black 43 w(\(":)p 0 0 0
TeXcolorrgb(cmd)p Black 0 0 0 TeXcolorrgb 44 w(if)p Black
45 w(\(")f(++)p 0 0 0 TeXcolorrgb 45 w(expr)p Black 44
w(++)g("\))p 0 0 0 TeXcolorrgb 45 w(then)p Black 0 0 0
TeXcolorrgb 44 w(return)p Black 44 w(\\"\\")p 0 0 0 TeXcolorrgb
44 w(else)p Black 89 w Fd( )-12 b Fb(-)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2035 25 92 v Black 0.95 TeXcolorgray
80 2035 4045 92 v Black 0.95 TeXcolorgray 4124 2035 25
92 v Black 0.95 TeXcolorgray Black 0 0 0 TeXcolorrgb
246 2008 a Fo(return)p Black 44 w(\\":)p 0 0 0 TeXcolorrgb
-1 w(continue)p Black -1 w(\\""\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2126 V Black 0.95 TeXcolorgray
80 2126 4045 92 v Black 0.95 TeXcolorgray 4124 2126 25
92 v Black 0.95 TeXcolorgray Black 80 2099 a
SDict begin H.S end
80 2099
a 80 2099 a
SDict begin 11 H.A end
80 2099 a 80 2099 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-91.2) cvn H.B /DEST pdfmark end
80 2099 a 13 x Fo(*)p
0 0 0 TeXcolorrgb -13 x(Main)p Black -1 w(>)45 b(:)p
0 0 0 TeXcolorrgb(set)p Black 0 0 0 TeXcolorrgb 44 w(stop)p
Black 44 w(0)g(:)p 0 0 0 TeXcolorrgb(cond)p Black 44
w(\()p 0 0 0 TeXcolorrgb(x)p Black 44 w(<)g(3\))p 0.95
TeXcolorgray 55 2151 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 2294 a FA(Ignoring)18 b(breakpoints)g(for)h(a)i
(speci\002ed)f(number)e(of)i(iterations)g(is)h(also)g(possible)e(using)
h(similar)h(techniques.)p Black -107 2450 a Fh(:show)49
b(bindings)p Black 61 w FA(Sho)n(w)20 b(the)g(bindings)f(made)g(at)i
(the)f(prompt)f(and)g(their)h(types.)p Black -107 2607
a Fh(:show)49 b(breaks)p Black 61 w FA(List)21 b(the)f(acti)n(v)o(e)g
(breakpoints.)p Black -107 2763 a Fh(:show)49 b(context)p
Black 61 w FA(List)21 b(the)f(acti)n(v)o(e)g(e)n(v)n(aluations)f(that)h
(are)g(stopped)f(at)i(breakpoints.)p Black -107 2919
a Fh(:show)49 b(modules)p Black 61 w FA(Sho)n(w)20 b(the)g(list)h(of)f
(modules)f(currently)g(loaded.)p Black -107 3075 a Fh(:show)49
b(packages)p Black 61 w FA(Sho)n(w)20 b(the)g(currently)e(acti)n(v)o(e)
i(package)f(\003ags,)h(as)h(well)g(as)g(the)f(list)h(of)f(packages)f
(currently)g(loaded.)p Black -107 3231 a Fh(:show)49
b(languages)p Black 61 w FA(Sho)n(w)19 b(the)i(currently)d(acti)n(v)o
(e)i(language)e(\003ags.)p Black -107 3387 a Fh(:show)49
b([args|prog|prompt|editor|stop])p Black 57 w FA(Displays)20
b(the)g(speci\002ed)g(setting)g(\(see)h Ft(:set)p FA(\).)p
Black -107 3543 a Fh(:sprint)p Black 61 w FA(Prints)h(a)f(v)n(alue)g
(without)f(forcing)f(its)j(e)n(v)n(aluation.)k Ft(:sprint)21
b FA(is)h(similar)f(to)g Ft(:print)p FA(,)g(with)g(the)g(dif)n(ference)
e(that)i(une)n(v)n(aluated)80 3643 y(subterms)f(are)g(not)g(bound)e(to)
i(ne)n(w)g(v)n(ariables,)f(the)o(y)h(are)g(simply)g(denoted)e(by)i
(`_'.)p Black -107 3799 a Fh(:step)49 b([)p Ff(expr)t
Fh(])p Black 61 w FA(Single-step)20 b(from)g(the)g(last)i(breakpoint.)i
(W)m(ith)d(an)f(e)o(xpression)f(ar)o(gument,)f(be)o(gins)i(e)n(v)n
(aluation)f(of)h(the)h(e)o(xpression)e(with)80 3899 y(a)i(single-step.)
p Black -107 4055 a Fh(:trace)49 b([)p Ff(expr)t Fh(])p
Black 61 w FA(Ev)n(aluates)19 b(the)h(gi)n(v)o(en)e(e)o(xpression)g
(\(or)h(from)f(the)i(last)g(breakpoint)e(if)i(no)f(e)o(xpression)f(is)i
(gi)n(v)o(en\),)e(and)h(additionally)f(logs)80 4155 y(the)i(e)n(v)n
(aluation)f(steps)h(for)g(later)g(inspection)f(using)h
Ft(:history)p FA(.)k(See)d(Section)p 1 0 0 TeXcolorrgb
2455 4156 a
SDict begin H.S end
2455 4156 a 1 0 0 TeXcolorrgb -1 x FA(2.5.5)p
1 0 0 TeXcolorrgb 2622 4098 a
SDict begin H.R end
2622 4098 a 2622 4155 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.2.5.5) cvn H.B /ANN pdfmark end
2622 4155 a Black FA(.)p Black -107 4311 a Fh(:type)f
Ff(expression)p Black 62 w FA(Infers)25 b(and)i(prints)f(the)h(type)f
(of)g Fr(expression)p FA(,)h(including)e(e)o(xplicit)h(forall)g
(quanti\002ers)g(for)g(polymorphic)d(types.)80 4410 y(The)d
(monomorphism)c(restriction)k(is)h Fq(not)g FA(applied)f(to)g(the)g(e)o
(xpression)f(during)f(type)i(inference.)p Black -107
4567 a Fh(:undef)g Ff(name)p Black 62 w FA(Unde\002nes)f(the)h(user)n
(-de\002ned)f(command)f Fr(name)i FA(\(see)g Ft(:def)h
FA(abo)o(v)o(e\).)p Black -107 4723 a Fh(:unset)f Ff(option)q
Fu(...)p Black 65 w FA(Unsets)h(certain)f(options.)k(See)c(Section)p
1 0 0 TeXcolorrgb 1807 4724 a
SDict begin H.S end
1807 4724 a 1 0 0 TeXcolorrgb
-1 x FA(2.8)p 1 0 0 TeXcolorrgb 1911 4666 a
SDict begin H.R end
1911 4666
a 1911 4723 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.8) cvn H.B /ANN pdfmark end
1911 4723 a Black 21 w FA(for)f(a)i(list)g(of)f(a)n(v)n
(ailable)g(options.)p Black -107 4879 a Fh(:!)26 b Ff(command)s
Fu(...)p Black 91 w FA(Ex)o(ecutes)19 b(the)h(shell)h(command)d
Fr(command)s FA(.)-128 5001 y
SDict begin H.S end
-128 5001 a -128 5001 a
SDict begin 12 H.A end
-128 5001 a -128 5001 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.8) cvn H.B /DEST pdfmark end
-128 5001 a Black 188 x Fs(2.8)p
Black 108 w(The)29 b Fa(:set)g Fs(command)-128 5316 y
SDict begin H.S end
-128 5316 a -128 5316 a
SDict begin 12 H.A end
-128 5316 a -128 5316 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-set) cvn H.B /DEST pdfmark end
-128
5316 a 105 x FA(The)21 b Ft(:set)f FA(command)f(sets)j(tw)o(o)f(types)f
(of)h(options:)k(GHCi)c(options,)f(which)g(be)o(gin)g(with)g(`)p
Ft(+)p FA(',)h(and)f(\223command-line\224)d(options,)j(which)g(be)o
(gin)-128 5520 y(with)h(`-'.)-128 5660 y(NO)m(TE:)k(at)g(the)g(moment,)
g(the)f Ft(:set)h FA(command)e(doesn')o(t)g(support)h(an)o(y)g(kind)g
(of)g(quoting)f(in)i(its)h(ar)o(guments:)32 b(quotes)25
b(will)g(not)g(be)f(remo)o(v)o(ed)-128 5759 y(and)c(cannot)f(be)h(used)
g(to)h(group)d(w)o(ords)i(together)-5 b(.)24 b(F)o(or)c(e)o(xample,)e
Ft(:set)49 b(-DFOO='BAR)f(BAZ')20 b FA(will)h(not)f(do)g(what)g(you)f
(e)o(xpect.)p Black -128 6084 4252 5 v Black eop end
%%Page: 34 49
TeXDict begin 34 48 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.34) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(34)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.8.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(2.8.1)p
Black 90 w(GHCi)k(options)-128 376 y FA(GHCi)e(options)d(may)h(be)g
(set)h(using)e Ft(:set)h FA(and)g(unset)g(using)g Ft(:unset)p
FA(.)-128 526 y(The)g(a)n(v)n(ailable)g(GHCi)h(options)e(are:)p
Black -107 742 a Fh(+r)p Black 83 w FA(Normally)-5 b(,)25
b(an)o(y)g(e)n(v)n(aluation)f(of)i(top-le)n(v)o(el)e(e)o(xpressions)h
(\(otherwise)f(kno)n(wn)h(as)h(CAFs)h(or)f(Constant)g(Applicati)n(v)o
(e)e(F)o(orms\))h(in)h(loaded)80 841 y(modules)17 b(is)i(retained)e
(between)g(e)n(v)n(aluations.)22 b(T)l(urning)17 b(on)g
Ft(+r)h FA(causes)g(all)h(e)n(v)n(aluation)d(of)i(top-le)n(v)o(el)e(e)o
(xpressions)h(to)h(be)g(discarded)e(after)80 941 y(each)k(e)n(v)n
(aluation)e(\(the)o(y)h(are)i(still)g(retained)e Fq(during)g
FA(a)i(single)f(e)n(v)n(aluation\).)80 1074 y(This)d(option)e(may)h
(help)g(if)h(the)g(e)n(v)n(aluated)e(top-le)n(v)o(el)g(e)o(xpressions)g
(are)i(consuming)d(lar)o(ge)i(amounts)f(of)i(space,)g(or)f(if)h(you)e
(need)h(repeatable)80 1173 y(performance)h(measurements.)p
Black -107 1339 a Fh(+s)p Black 62 w FA(Display)k(some)g(stats)h(after)
f(e)n(v)n(aluating)e(each)i(e)o(xpression,)f(including)f(the)i(elapsed)
g(time)g(and)f(number)g(of)g(bytes)h(allocated.)27 b(NO)m(TE:)21
b(the)80 1439 y(allocation)f(\002gure)g(is)i(only)f(accurate)f(to)h
(the)g(size)h(of)f(the)g(storage)f(manager')-5 b(s)20
b(allocation)g(area,)h(because)f(it)i(is)g(calculated)e(at)i(e)n(v)o
(ery)d(GC.)80 1539 y(Hence,)h(you)f(might)g(see)i(v)n(alues)f(of)g
(zero)f(if)i(no)f(GC)h(has)f(occurred.)p Black -107 1705
a Fh(+t)p Black 62 w FA(Display)j(the)g(type)f(of)h(each)f(v)n(ariable)
g(bound)f(after)i(a)g(statement)g(is)h(entered)e(at)h(the)g(prompt.)31
b(If)23 b(the)g(statement)g(is)h(a)f(single)g(e)o(xpression,)80
1804 y(then)d(the)g(only)f(v)n(ariable)g(binding)g(will)i(be)f(for)f
(the)i(v)n(ariable)e(`)p Ft(it)p FA('.)-128 1938 y
SDict begin H.S end
-128
1938 a -128 1938 a
SDict begin 12 H.A end
-128 1938 a -128 1938 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.8.2) cvn H.B /DEST pdfmark end
-128 1938
a Black 148 x Fp(2.8.2)p Black 90 w(Setting)k(GHC)h(command-line)f
(options)h(in)h(GHCi)-128 2175 y
SDict begin H.S end
-128 2175 a -128 2175
a
SDict begin 12 H.A end
-128 2175 a -128 2175 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-cmd-line-options) cvn H.B /DEST pdfmark end
-128 2175 a 114 x FA(Normal)19
b(GHC)i(command-line)c(options)i(may)g(also)h(be)g(set)h(using)e
Ft(:set)p FA(.)25 b(F)o(or)19 b(e)o(xample,)f(to)i(turn)g(on)f
Ft(-fglasgow-exts)p FA(,)f(you)h(w)o(ould)g(say:)-128
2357 y
SDict begin H.S end
-128 2357 a -128 2357 a
SDict begin 12 H.A end
-128 2357 a -128 2357
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-92) cvn H.B /DEST pdfmark end
-128 2357 a 0.95 TeXcolorgray -153 2372 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2464 25 92 v Black 0.95 TeXcolorgray
-128 2464 4252 92 v Black 0.95 TeXcolorgray 4124 2464
25 92 v Black 0.95 TeXcolorgray Black -128 2436 a
SDict begin H.S end
-128
2436 a -128 2436 a
SDict begin 11 H.A end
-128 2436 a -128 2436 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-92.1) cvn H.B /DEST pdfmark end
-128 2436
a 0 0 0 TeXcolorrgb Fo(Prelude)p Black -1 w(>)45 b(:)p
0 0 0 TeXcolorrgb(set)p Black 44 w(-)p 0 0 0 TeXcolorrgb(fglasgow)p
Black -1 w(-)p 0 0 0 TeXcolorrgb -1 w(exts)p Black 0.95
TeXcolorgray -153 2489 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2663 a FA(An)o(y)22 b(GHC)g(command-line)d
(option)i(that)h(is)h(designated)d(as)j Fq(dynamic)d
FA(\(see)j(the)e(table)h(in)g(Section)p 1 0 0 TeXcolorrgb
2791 2664 a
SDict begin H.S end
2791 2664 a 1 0 0 TeXcolorrgb -1 x FA(4.17)p
1 0 0 TeXcolorrgb 2936 2607 a
SDict begin H.R end
2936 2607 a 2936 2663 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.17) cvn H.B /ANN pdfmark end
2936 2663 a Black FA(\),)g(may)g(be)f(set)i(using)e Ft(:set)p
FA(.)30 b(T)-7 b(o)22 b(unset)-128 2763 y(an)f(option,)d(you)i(can)g
(set)h(the)f(re)n(v)o(erse)f(option:)-128 2830 y
SDict begin H.S end
-128
2830 a -128 2830 a
SDict begin 12 H.A end
-128 2830 a -128 2830 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-93) cvn H.B /DEST pdfmark end
-128 2830
a 0.95 TeXcolorgray -153 2846 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2937 25 92 v Black 0.95 TeXcolorgray -128 2937 4252 92
v Black 0.95 TeXcolorgray 4124 2937 25 92 v Black 0.95
TeXcolorgray Black -128 2910 a
SDict begin H.S end
-128 2910 a -128 2910
a
SDict begin 11 H.A end
-128 2910 a -128 2910 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-93.1) cvn H.B /DEST pdfmark end
-128 2910 a 0 0 0 TeXcolorrgb
Fo(Prelude)p Black -1 w(>)45 b(:)p 0 0 0 TeXcolorrgb(set)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(fno)p Black -1 w(-)p
0 0 0 TeXcolorrgb(glasgow)p Black -1 w(-)p 0 0 0 TeXcolorrgb(exts)p
Black 0.95 TeXcolorgray -153 2962 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3136 a FA(Section)p
1 0 0 TeXcolorrgb 142 3137 a
SDict begin H.S end
142 3137 a 1 0 0 TeXcolorrgb
-1 x FA(4.17)p 1 0 0 TeXcolorrgb 288 3080 a
SDict begin H.R end
288 3080
a 288 3136 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.17) cvn H.B /ANN pdfmark end
288 3136 a Black 20 w FA(lists)22 b(the)e(re)n(v)o(erse)f
(for)h(each)g(option)f(where)g(applicable.)-128 3286
y(Certain)27 b(static)g(options)e(\()p Ft(-package)p
FA(,)h Ft(-I)p FA(,)h Ft(-i)p FA(,)g(and)f Ft(-l)h FA(in)f
(particular\))f(will)i(also)f(w)o(ork,)h(b)n(ut)f(some)h(may)e(not)h
(tak)o(e)h(ef)n(fect)e(until)h(the)h(ne)o(xt)-128 3385
y(reload.)-128 3511 y
SDict begin H.S end
-128 3511 a -128 3511 a
SDict begin 12 H.A end
-128 3511
a -128 3511 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.9) cvn H.B /DEST pdfmark end
-128 3511 a Black 199 x Fs(2.9)p Black
108 w(The)i Fa(.ghci)f Fs(\002le)-128 3837 y
SDict begin H.S end
-128 3837
a -128 3837 a
SDict begin 12 H.A end
-128 3837 a -128 3837 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-dot-files) cvn H.B /DEST pdfmark end
-128 3837 a 114
x FA(When)21 b(it)g(starts,)g(unless)g(the)f Ft(-ignore-dot-ghci)e
FA(\003ag)j(is)h(gi)n(v)o(en,)d(GHCi)i(reads)f(and)g(e)o(x)o(ecutes)g
(commands)f(from)g(the)i(follo)n(wing)d(\002les,)k(in)-128
4051 y(this)f(order)m(,)e(if)h(the)o(y)f(e)o(xist:)-128
4152 y
SDict begin H.S end
-128 4152 a -128 4152 a
SDict begin 12 H.A end
-128 4152 a -128 4152
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.4) cvn H.B /DEST pdfmark end
-128 4152 a Black -24 4267 a FA(1.)p Black 41 w Ft(./.ghci)-128
4313 y
SDict begin H.S end
-128 4313 a -128 4313 a
SDict begin 12 H.A end
-128 4313 a -128 4313
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.5) cvn H.B /DEST pdfmark end
-128 4313 a Black -24 4433 a FA(2.)p Black 41 w Fr(appdata)p
Ft(/ghc/ghci.conf)p FA(,)g(where)i Fr(appdata)g FA(depends)g(on)g(your)
g(system,)h(b)n(ut)g(is)h(usually)e(something)g(lik)o(e)h
Ft(C:/Documents)80 4532 y(and)49 b(Settings/)p Fr(user)s
Ft(/Application)c(Data)-128 4578 y
SDict begin H.S end
-128 4578 a -128 4578
a
SDict begin 12 H.A end
-128 4578 a -128 4578 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.6) cvn H.B /DEST pdfmark end
-128 4578 a Black -24 4698
a FA(3.)p Black 41 w(On)20 b(Unix:)25 b Ft($HOME/.ghc/ghci.conf)-128
4744 y
SDict begin H.S end
-128 4744 a -128 4744 a
SDict begin 12 H.A end
-128 4744 a -128 4744
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.7) cvn H.B /DEST pdfmark end
-128 4744 a Black -24 4864 a FA(4.)p Black 41 w Ft($HOME/.ghci)-128
5080 y FA(The)i Ft(ghci.conf)e FA(\002le)i(is)h(most)e(useful)g(for)g
(turning)f(on)h(f)o(a)n(v)n(ourite)g(options)g(\(e)o(g.)43
b Ft(:set)49 b(+s)p FA(\),)28 b(and)e(de\002ning)f(useful)h(macros.)43
b(Placing)27 b(a)-128 5180 y Ft(.ghci)18 b FA(\002le)h(in)f(a)h
(directory)d(with)j(a)f(Hask)o(ell)h(project)e(is)i(a)g(useful)e(w)o
(ay)h(to)h(set)g(certain)e(project-wide)f(options)i(so)g(you)f(don')o
(t)g(ha)n(v)o(e)g(to)i(type)e(them)-128 5279 y(e)n(v)o(erytime)23
b(you)g(start)h(GHCi:)34 b(e)o(g.)j(if)24 b(your)f(project)g(uses)h
(GHC)h(e)o(xtensions)e(and)h(CPP)-9 b(,)24 b(and)g(has)g(source)g
(\002les)h(in)f(three)f(subdirectories)g(A,)h(B)-128
5379 y(and)c(C,)h(you)e(might)h(put)g(the)g(follo)n(wing)e(lines)j(in)f
Ft(.ghci)p FA(:)-128 5447 y
SDict begin H.S end
-128 5447 a -128 5447 a
SDict begin 12 H.A end
-128
5447 a -128 5447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-94) cvn H.B /DEST pdfmark end
-128 5447 a 0.95 TeXcolorgray -153
5462 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5553 25 92 v Black 0.95
TeXcolorgray -128 5553 4252 92 v Black 0.95 TeXcolorgray
4124 5553 25 92 v Black 0.95 TeXcolorgray Black -128
5526 a
SDict begin H.S end
-128 5526 a -128 5526 a
SDict begin 11 H.A end
-128 5526 a -128 5526
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-94.1) cvn H.B /DEST pdfmark end
-128 5526 a Fo(:)p 0 0 0 TeXcolorrgb(set)p Black 45
w(-)p 0 0 0 TeXcolorrgb -1 w(fglasgow)p Black -1 w(-)p
0 0 0 TeXcolorrgb(exts)p Black 44 w(-)p 0 0 0 TeXcolorrgb(cpp)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5645 25 92 v Black 0.95 TeXcolorgray -128 5645 4252 92
v Black 0.95 TeXcolorgray 4124 5645 25 92 v Black 0.95
TeXcolorgray Black -128 5617 a
SDict begin H.S end
-128 5617 a -128 5617
a
SDict begin 11 H.A end
-128 5617 a -128 5617 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-94.2) cvn H.B /DEST pdfmark end
-128 5617 a Fo(:)p 0 0 0 TeXcolorrgb(set)p
Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(iA)p Black(:)p
0 0 0 TeXcolorrgb(B)p Black(:)p 0 0 0 TeXcolorrgb(C)p
Black 0.95 TeXcolorgray -153 5670 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 6084 4252 5 v Black
eop end
%%Page: 35 50
TeXDict begin 35 49 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.35) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(35)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\(Note)h(that)g(strictly)g
(speaking)f(the)h Ft(-i)g FA(\003ag)g(is)h(a)f(static)h(one,)e(b)n(ut)h
(in)g(f)o(act)h(it)f(w)o(orks)g(to)g(set)h(it)f(using)g
Ft(:set)g FA(lik)o(e)g(this.)28 b(The)20 b(changes)g(w)o(on')o(t)g(tak)
o(e)-128 273 y(ef)n(fect)g(until)g(the)g(ne)o(xt)g Ft(:load)p
FA(,)f(though.\))-128 421 y(Once)26 b(you)f(ha)n(v)o(e)h(a)g(library)f
(of)h(GHCi)h(macros,)f(you)f(may)h(w)o(ant)g(to)g(source)f(them)h(from)
f(separate)g(\002les,)j(or)e(you)f(may)h(w)o(ant)g(to)g(source)f(your)
-128 521 y Ft(.ghci)20 b FA(\002le)h(into)f(your)f(running)f(GHCi)j
(session)g(while)f(deb)n(ugging)e(it)-128 588 y
SDict begin H.S end
-128
588 a -128 588 a
SDict begin 12 H.A end
-128 588 a -128 588 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.2.-95) cvn H.B /DEST pdfmark end
-128 588 a 0.95
TeXcolorgray -153 603 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
694 25 92 v Black 0.95 TeXcolorgray -128 694 4252 92
v Black 0.95 TeXcolorgray 4124 694 25 92 v Black 0.95
TeXcolorgray Black -128 667 a
SDict begin H.S end
-128 667 a -128 667 a
SDict begin 11 H.A end
-128
667 a -128 667 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-95.1) cvn H.B /DEST pdfmark end
-128 667 a Fo(:)p 0 0 0 TeXcolorrgb(def)p
Black 0 0 0 TeXcolorrgb 45 w(source)p Black 0 0 0 TeXcolorrgb
43 w(readFile)p Black 0.95 TeXcolorgray -153 719 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 892
a FA(W)m(ith)k(this)g(macro)f(de\002ned)g(in)g(your)g
Ft(.ghci)g FA(\002le,)h(you)f(can)g(use)h Ft(:source)49
b(file)21 b FA(to)h(read)f(GHCi)h(commands)e(from)h Ft(file)p
FA(.)29 b(Y)-9 b(ou)21 b(can)g(\002nd)-128 992 y(\(and)f(contrib)n
(ute!-\))d(other)j(suggestions)f(for)h Ft(.ghci)f FA(\002les)j(on)d
(this)i(Hask)o(ell)g(wiki)f(page:)p 0 1 0 0 TeXcolorcmyk
2517 993 a
SDict begin H.S end
2517 993 a 0 1 0 0 TeXcolorcmyk -1 x FA(GHC/GHCi)p
0 1 0 0 TeXcolorcmyk 2914 935 a
SDict begin H.R end
2914 935 a 2914 992 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://haskell.org/haskellwiki/GHC/GHCi) >> /Subtype /Link H.B /ANN pdfmark end
2914 992 a Black -128 1140 a FA(T)-7 b(w)o(o)21 b(command-line)c
(options)j(control)e(whether)i(the)g(startup)g(\002les)h(\002les)g(are)
f(read:)p Black -107 1353 a Fh(-ignore-dot-ghci)p Black
59 w FA(Don')o(t)f(read)h(either)g Ft(./.ghci)f FA(or)h(the)g(other)g
(startup)g(\002les)h(when)e(starting)h(up.)p Black -107
1518 a Fh(-read-dot-ghci)p Black 60 w FA(Read)h Ft(./.ghci)g
FA(and)g(the)g(other)g(startup)g(\002les)h(\(see)g(abo)o(v)o(e\).)k
(This)c(is)g(normally)e(the)h(def)o(ault,)g(b)n(ut)g(the)h
Ft(-read-d-)80 1618 y(ot-ghci)d FA(option)g(may)h(be)g(used)g(to)h(o)o
(v)o(erride)c(a)k(pre)n(vious)e Ft(-ignore-dot-ghci)e
FA(option.)-128 1761 y
SDict begin H.S end
-128 1761 a -128 1761 a
SDict begin 12 H.A end
-128 1761
a -128 1761 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.10) cvn H.B /DEST pdfmark end
-128 1761 a Black 180 x Fs(2.10)p Black
107 w(Compiling)28 b(to)i(object)f(code)g(inside)g(GHCi)-128
2068 y
SDict begin H.S end
-128 2068 a -128 2068 a
SDict begin 12 H.A end
-128 2068 a -128 2068
a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-obj) cvn H.B /DEST pdfmark end
-128 2068 a 114 x FA(By)20 b(def)o(ault,)e(GHCi)i(compiles)e(Hask)o
(ell)h(source)f(code)g(into)h(byte-code)e(that)i(is)h(interpreted)d(by)
h(the)h(runtime)f(system.)24 b(GHCi)c(can)f(also)g(compile)-128
2281 y(Hask)o(ell)24 b(code)f(to)h(object)f(code:)32
b(to)23 b(turn)g(on)g(this)i(feature,)e(use)h(the)f Ft(-fobject-code)f
FA(\003ag)i(either)f(on)g(the)h(command)d(line)j(or)f(with)h
Ft(:set)-128 2381 y FA(\(the)19 b(option)f Ft(-fbyte-code)g
FA(restores)h(byte-code)e(compilation)g(again\).)23 b(Compiling)18
b(to)h(object)g(code)f(tak)o(es)i(longer)m(,)d(b)n(ut)i(typically)g
(the)g(code)-128 2480 y(will)i(e)o(x)o(ecute)e(10-20)g(times)h(f)o
(aster)h(than)e(byte-code.)-128 2629 y(Compiling)f(to)g(object)g(code)g
(inside)h(GHCi)g(is)h(particularly)c(useful)i(if)h(you)f(are)g(de)n(v)o
(eloping)e(a)j(compiled)e(application,)g(because)h(the)h
Ft(:reload)-128 2729 y FA(command)j(typically)g(runs)h(much)f(f)o
(aster)i(than)f(restarting)f(GHC)i(with)g Ft(--make)e
FA(from)g(the)i(command-line,)d(because)h(all)i(the)g(interf)o(ace)e
(\002les)-128 2828 y(are)f(already)e(cached)g(in)h(memory)-5
b(.)-128 2977 y(There)23 b(are)g(disadv)n(antages)f(to)i(compiling)e
(to)h(object-code:)30 b(you)23 b(can')o(t)f(set)i(breakpoints)e(in)h
(object-code)f(modules,)h(for)f(e)o(xample.)34 b(Only)23
b(the)-128 3076 y(e)o(xports)c(of)h(an)g(object-code)e(module)h(will)i
(be)f(visible)h(in)f(GHCi,)h(rather)e(than)h(all)h(top-le)n(v)o(el)d
(bindings)h(as)i(in)f(interpreted)f(modules.)-128 3219
y
SDict begin H.S end
-128 3219 a -128 3219 a
SDict begin 12 H.A end
-128 3219 a -128 3219 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2.11) cvn H.B /DEST pdfmark end
-128
3219 a Black 180 x Fs(2.11)p Black 107 w(F)-9 b(A)l(Q)30
b(and)f(Things)f(T)-9 b(o)30 b(W)l(atc)o(h)e(Out)i(For)-128
3526 y
SDict begin H.S end
-128 3526 a -128 3526 a
SDict begin 12 H.A end
-128 3526 a -128 3526
a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-faq) cvn H.B /DEST pdfmark end
-128 3526 a Black 179 x Fu(The)22 b(inter)o(pr)o(eter)d(can't)g(load)
h(modules)h(with)g(f)n(or)o(eign)e(export)g(declarations!)p
Black 40 w FA(Unfortunately)32 b(not.)67 b(W)-7 b(e)35
b(ha)n(v)o(en')o(t)e(implemented)f(it)j(yet.)80 3805
y(Please)21 b(compile)e(an)o(y)h(of)n(fending)d(modules)i(by)h(hand)f
(before)g(loading)g(them)g(into)h(GHCi.)p Black -107
3970 a Fh(-O)h Fu(doesn't)f(w)o(ork)g(with)h(GHCi!)p
Black 66 w FA(F)o(or)f(technical)g(reasons,)g(the)g(bytecode)f
(compiler)g(doesn')o(t)g(interact)i(well)g(with)f(one)g(of)h(the)f
(optimisation)80 4070 y(passes,)j(so)f(we)h(ha)n(v)o(e)e(disabled)g
(optimisation)g(when)g(using)h(the)g(interpreter)-5 b(.)29
b(This)22 b(isn')o(t)f(a)i(great)e(loss:)30 b(you')o(ll)21
b(get)h(a)g(much)f(bigger)g(win)80 4170 y(by)f(compiling)e(the)i(bits)h
(of)f(your)f(code)h(that)g(need)f(to)i(go)e(f)o(ast,)i(rather)e(than)h
(interpreting)e(them)i(with)g(optimisation)f(turned)g(on.)p
Black -128 4335 a Fu(Unboxed)i(tuples)f(don't)g(w)o(ork)h(with)f(GHCi)p
Black 41 w FA(That')-5 b(s)24 b(right.)36 b(Y)-9 b(ou)24
b(can)g(al)o(w)o(ays)g(compile)g(a)g(module)f(that)h(uses)h(unbox)o(ed)
c(tuples)j(and)g(load)f(it)80 4434 y(into)d(GHCi,)g(ho)n(we)n(v)o(er)-5
b(.)24 b(\(Incidentally)18 b(the)i(pre)n(vious)e(point,)h(namely)g
(that)h Ft(-O)g FA(is)h(incompatible)d(with)j(GHCi,)f(is)h(because)f
(the)g(bytecode)80 4534 y(compiler)f(can')o(t)g(deal)h(with)h(unbox)o
(ed)c(tuples\).)p Black -128 4699 a Fu(Concurr)o(ent)j(thr)o(eads)f
(don't)h(carry)g(on)g(running)h(when)g(GHCi)f(is)h(waiting)f(f)n(or)f
(input.)p Black 42 w FA(This)k(should)f(w)o(ork,)g(as)i(long)e(as)i
(your)d(GHCi)j(w)o(as)80 4799 y(b)n(uilt)c(with)h(the)f
Ft(-threaded)f FA(switch,)h(which)g(is)h(the)f(def)o(ault.)k(Consult)d
(whoe)n(v)o(er)d(supplied)h(your)g(GHCi)i(installation.)p
Black -128 4964 a Fu(After)f(using)h Fh(getContents)p
Fu(,)e(I)i(can't)e(use)i Fh(stdin)f Fu(again)g(until)g(I)i(do)e
Fh(:load)g Fu(or)g Fh(:reload)p Fu(.)p Black 40 w FA(This)j(is)h(the)g
(de\002ned)e(beha)n(viour)f(of)i Ft(ge-)80 5063 y(tContents)p
FA(:)47 b(it)32 b(puts)f(the)h(stdin)f(Handle)g(in)h(a)f(state)i(kno)n
(wn)d(as)i Fq(semi-closed)p FA(,)h(wherein)e(an)o(y)f(further)g(I/O)i
(operations)e(on)h(it)h(are)80 5163 y(forbidden.)46 b(Because)28
b(I/O)g(state)h(is)g(retained)e(between)h(computations,)f(the)h
(semi-closed)g(state)h(persists)f(until)g(the)g(ne)o(xt)g
Ft(:load)f FA(or)80 5263 y Ft(:reload)19 b FA(command.)80
5395 y(Y)-9 b(ou)25 b(can)h(mak)o(e)g Ft(stdin)f FA(reset)h(itself)h
(after)f(e)n(v)o(ery)e(e)n(v)n(aluation)g(by)i(gi)n(ving)f(GHCi)i(the)e
(command)f Ft(:set)50 b(+r)p FA(.)42 b(This)26 b(w)o(orks)g(because)80
5495 y Ft(stdin)e FA(is)i(just)g(a)f(top-le)n(v)o(el)e(e)o(xpression)h
(that)g(can)h(be)g(re)n(v)o(erted)e(to)i(its)h(une)n(v)n(aluated)c
(state)k(in)f(the)g(same)g(w)o(ay)g(as)g(an)o(y)g(other)f(top-le)n(v)o
(el)80 5594 y(e)o(xpression)19 b(\(CAF\).)p Black -128
5759 a Fu(I)i(can't)f(use)h(Contr)o(ol-C)e(to)h(interrupt)g
(computations)f(in)i(GHCi)f(on)h(W)o(indo)o(ws.)p Black
41 w FA(See)f(Section)p 1 0 0 TeXcolorrgb 2818 5760 a
SDict begin H.S end
2818 5760 a 1 0 0 TeXcolorrgb -1 x FA(11.2)p 1 0 0 TeXcolorrgb
2963 5703 a
SDict begin H.R end
2963 5703 a 2963 5759 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.11.2) cvn H.B /ANN pdfmark end
2963 5759 a Black
FA(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 36 51
TeXDict begin 36 50 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.36) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(36)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fu(The)i(default)d(b)n
(uffering)i(mode)f(is)h(differ)o(ent)e(in)i(GHCi)f(to)g(GHC.)p
Black 41 w FA(In)e(GHC,)h(the)g(stdout)f(handle)g(is)h(line-b)n(uf)n
(fered)d(by)i(def)o(ault.)24 b(Ho)n(we)n(v)o(er)m(,)17
b(in)80 273 y(GHCi)22 b(we)f(turn)f(of)n(f)g(the)h(b)n(uf)n(fering)d
(on)j(stdout,)f(because)g(this)h(is)h(normally)d(what)i(you)e(w)o(ant)i
(in)g(an)g(interpreter:)k(output)19 b(appears)h(as)i(it)f(is)80
372 y(generated.)p Black -128 6084 V Black eop end
%%Page: 37 52
TeXDict begin 37 51 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.37) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(37)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.3) cvn H.B /DEST pdfmark end
-128 90 a 756 x Fy(Chapter)43 b(3)-128
1311 y Fv(Using)52 b(runghc)-128 1717 y
SDict begin H.S end
-128 1717 a -128
1717 a
SDict begin 12 H.A end
-128 1717 a -128 1717 a
SDict begin [ /View [/XYZ H.V] /Dest (runghc) cvn H.B /DEST pdfmark end
-128 1717 a 115 x FA(runghc)19
b(allo)n(ws)h(you)f(to)i(run)e(Hask)o(ell)i(programs)d(without)i
(\002rst)h(ha)n(ving)e(to)h(compile)f(them.)-128 1975
y
SDict begin H.S end
-128 1975 a -128 1975 a
SDict begin 12 H.A end
-128 1975 a -128 1975 a
SDict begin [ /View [/XYZ H.V] /Dest (section.3.1) cvn H.B /DEST pdfmark end
-128
1975 a Black 181 x Fs(3.1)p Black 108 w(Fla)o(gs)-128
2283 y
SDict begin H.S end
-128 2283 a -128 2283 a
SDict begin 12 H.A end
-128 2283 a -128 2283
a
SDict begin [ /View [/XYZ H.V] /Dest (runghc-introduction) cvn H.B /DEST pdfmark end
-128 2283 a 115 x FA(The)h(runghc)f(commandline)e(looks)j(lik)o(e:)
-128 2465 y
SDict begin H.S end
-128 2465 a -128 2465 a
SDict begin 12 H.A end
-128 2465 a -128
2465 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.3.-96) cvn H.B /DEST pdfmark end
-128 2465 a 0.95 TeXcolorgray -153 2481 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2572 25 92 v Black 0.95 TeXcolorgray
-128 2572 4252 92 v Black 0.95 TeXcolorgray 4124 2572
25 92 v Black 0.95 TeXcolorgray Black -128 2545 a
SDict begin H.S end
-128
2545 a -128 2545 a
SDict begin 11 H.A end
-128 2545 a -128 2545 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-96.1) cvn H.B /DEST pdfmark end
-128 2545
a 0 0 0 TeXcolorrgb Fo(runghc)p Black 44 w([)p 0 0 0
TeXcolorrgb(runghc)p Black 0 0 0 TeXcolorrgb 44 w(flags)p
Black -1 w(])45 b([)p 0 0 0 TeXcolorrgb(GHC)p Black 0 0 0
TeXcolorrgb 44 w(flags)p Black -1 w(])p 0 0 0 TeXcolorrgb
45 w(module)p Black 44 w([)p 0 0 0 TeXcolorrgb -1 w(program)p
Black 0 0 0 TeXcolorrgb 44 w(args)p Black -1 w(])p 0.95
TeXcolorgray -153 2597 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2771 a FA(The)28 b(runghc)e(\003ags)j(are)e
Ft(-f)50 b(/path/to/ghc)p FA(,)28 b(which)f(tells)i(runghc)d(which)i
(GHC)h(to)f(use)g(to)g(run)f(the)h(program,)g(and)f Ft(--help)p
FA(,)j(which)-128 2871 y(prints)20 b(usage)g(information.)j(If)d(it)h
(is)g(not)f(gi)n(v)o(en)e(then)i(runghc)f(will)h(search)g(for)g(GHC)h
(in)f(the)g(directories)g(in)g(the)g(system)g(search)g(path.)-128
3020 y(runghc)g(will)j(try)e(to)h(w)o(ork)f(out)g(where)g(the)h
(boundaries)d(between)i Ft([runghc)49 b(flags])21 b FA(and)g
Ft([GHC)49 b(flags])p FA(,)21 b(and)g Ft([program)48
b(args])-128 3120 y FA(and)27 b Ft(module)g FA(are,)h(b)n(ut)f(you)f
(can)h(use)h(a)f Ft(--)h FA(\003ag)f(if)g(it)h(doesn')o(t)e(get)h(it)h
(right.)45 b(F)o(or)26 b(e)o(xample,)i Ft(runghc)48 b(--)i
(-fglasgow-exts)d(Foo)-128 3219 y FA(means)18 b(runghc)e(w)o(on')o(t)h
(try)h(to)g(use)g Ft(glasgow-exts)f FA(as)h(the)g(path)g(to)g(GHC,)h(b)
n(ut)f(instead)f(will)i(pass)g(the)f(\003ag)g(to)g(GHC.)g(If)g(a)h(GHC)
f(\003ag)g(doesn')o(t)-128 3319 y(start)24 b(with)f(a)g(dash)g(then)f
(you)g(need)h(to)g(pre\002x)f(it)i(with)f Ft(--ghc-arg=)e
FA(or)i(runghc)e(will)j(think)e(that)h(it)g(is)h(the)f(program)e(to)i
(run,)g(e.g.)33 b Ft(runghc)-128 3419 y(-package-conf)48
b(--ghc-arg=foo.conf)e(Main.hs)p FA(.)p Black -128 6084
4252 5 v Black eop end
%%Page: 38 53
TeXDict begin 38 52 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.38) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(38)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.4) cvn H.B /DEST pdfmark end
-128 90 a 753 x Fy(Chapter)43 b(4)-128
1305 y Fv(Using)52 b(GHC)-128 1712 y
SDict begin H.S end
-128 1712 a -128
1712 a
SDict begin 12 H.A end
-128 1712 a -128 1712 a
SDict begin [ /View [/XYZ H.V] /Dest (using-ghc) cvn H.B /DEST pdfmark end
-128 1712 a -128 1712
a
SDict begin H.S end
-128 1712 a -128 1712 a
SDict begin 12 H.A end
-128 1712 a -128 1712 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.1) cvn H.B /DEST pdfmark end
-128
1712 a Black 159 x Fs(4.1)p Black 108 w(Options)28 b(o)n(ver)q(vie)n(w)
-128 2110 y FA(GHC')-5 b(s)23 b(beha)n(viour)d(is)j(controlled)c(by)j
Fq(options)p FA(,)f(which)g(for)g(historical)g(reasons)g(are)h(also)g
(sometimes)f(referred)f(to)i(as)g(command-line)d(\003ags)j(or)-128
2209 y(ar)o(guments.)h(Options)d(can)g(be)g(speci\002ed)g(in)g(three)g
(w)o(ays:)-128 2342 y
SDict begin H.S end
-128 2342 a -128 2342 a
SDict begin 12 H.A end
-128 2342
a -128 2342 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.1) cvn H.B /DEST pdfmark end
-128 2342 a Black 145 x Fp(4.1.1)p Black
90 w(Command-line)i(ar)o(guments)-128 2687 y FA(An)f(in)m(v)n(ocation)d
(of)i(GHC)h(tak)o(es)f(the)h(follo)n(wing)d(form:)-128
2752 y
SDict begin H.S end
-128 2752 a -128 2752 a
SDict begin 12 H.A end
-128 2752 a -128 2752
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-97) cvn H.B /DEST pdfmark end
-128 2752 a 0.95 TeXcolorgray -153 2768 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2859 25 92 v Black 0.95 TeXcolorgray
-128 2859 4252 92 v Black 0.95 TeXcolorgray 4124 2859
25 92 v Black 0.95 TeXcolorgray Black -128 2831 a
SDict begin H.S end
-128
2831 a -128 2831 a
SDict begin 11 H.A end
-128 2831 a -128 2831 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-97.1) cvn H.B /DEST pdfmark end
-128 2831
a 0 0 0 TeXcolorrgb Fo(ghc)p Black 45 w([)p 0 0 0 TeXcolorrgb(argument)
p Black -2 w(...])p 0.95 TeXcolorgray -153 2884 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 3052
a FA(Command-line)g(ar)o(guments)g(are)j(either)e(options)h(or)g
(\002le)g(names.)-128 3199 y(Command-line)29 b(options)h(be)o(gin)g
(with)h Ft(-)p FA(.)58 b(The)o(y)30 b(may)g Fq(not)j
FA(be)e(grouped:)44 b Ft(-vO)31 b FA(is)h(dif)n(ferent)d(from)h
Ft(-v)50 b(-O)p FA(.)31 b(Options)f(need)h(not)f(precede)-128
3298 y(\002lenames:)36 b(e.g.,)26 b Ft(ghc)617 3313 y(*)667
3298 y(.o)49 b(-o)g(foo)p FA(.)41 b(All)26 b(options)e(are)h(processed)
g(and)f(then)h(applied)g(to)g(all)h(\002les;)j(you)24
b(cannot,)i(for)e(e)o(xample,)h(in)m(v)n(ok)o(e)-128
3398 y Ft(ghc)50 b(-c)f(-O1)g(Foo.hs)g(-O2)g(Bar.hs)20
b FA(to)g(apply)g(dif)n(ferent)e(optimisation)h(le)n(v)o(els)h(to)g
(the)h(\002les)g Ft(Foo.hs)e FA(and)h Ft(Bar.hs)p FA(.)-128
3531 y
SDict begin H.S end
-128 3531 a -128 3531 a
SDict begin 12 H.A end
-128 3531 a -128 3531
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.2) cvn H.B /DEST pdfmark end
-128 3531 a Black 145 x Fp(4.1.2)p Black 90 w(Command)j(line)h
(options)g(in)h(sour)n(ce)f(\002les)-128 3764 y
SDict begin H.S end
-128
3764 a -128 3764 a
SDict begin 12 H.A end
-128 3764 a -128 3764 a
SDict begin [ /View [/XYZ H.V] /Dest (source-file-options) cvn H.B /DEST pdfmark end
-128 3764
a 112 x FA(Sometimes)h(it)g(is)h(useful)e(to)h(mak)o(e)f(the)h
(connection)e(between)h(a)h(source)f(\002le)h(and)g(the)f(command-line)
e(options)i(it)i(requires)d(quite)i(tight.)38 b(F)o(or)-128
3976 y(instance,)21 b(if)h(a)g(Hask)o(ell)f(source)g(\002le)h(uses)f
(GHC)i(e)o(xtensions,)d(it)i(will)g(al)o(w)o(ays)f(need)g(to)g(be)h
(compiled)e(with)h(the)g Ft(-fglasgow-exts)e FA(option.)-128
4075 y(Rather)24 b(than)f(maintaining)e(the)i(list)i(of)e(per)n
(-\002le)g(options)f(in)i(a)g Ft(Makefile)p FA(,)f(it)h(is)g(possible)f
(to)g(do)g(this)h(directly)f(in)g(the)h(source)e(\002le)i(using)f(the)
-128 4175 y Ft(OPTIONS_GHC)c FA(pragma)g(:)-128 4240
y
SDict begin H.S end
-128 4240 a -128 4240 a
SDict begin 12 H.A end
-128 4240 a -128 4240 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-98) cvn H.B /DEST pdfmark end
-128
4240 a 0.95 TeXcolorgray -153 4255 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4346 25 92 v Black 0.95 TeXcolorgray -128 4346 4252
92 v Black 0.95 TeXcolorgray 4124 4346 25 92 v Black
0.95 TeXcolorgray Black -128 4319 a
SDict begin H.S end
-128 4319 a -128
4319 a
SDict begin 11 H.A end
-128 4319 a -128 4319 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-98.1) cvn H.B /DEST pdfmark end
-128 4319 a Fo({-#)p 0 0 0
TeXcolorrgb 45 w(OPTIONS_GHC)p Black 43 w(-)p 0 0 0 TeXcolorrgb
(fglasgow)p Black -2 w(-)p 0 0 0 TeXcolorrgb(exts)p Black
44 w(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4438 25 92 v Black 0.95 TeXcolorgray -128 4438 4252
92 v Black 0.95 TeXcolorgray 4124 4438 25 92 v Black
0.95 TeXcolorgray Black -128 4410 a
SDict begin H.S end
-128 4410 a -128
4410 a
SDict begin 11 H.A end
-128 4410 a -128 4410 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-98.2) cvn H.B /DEST pdfmark end
-128 4410 a 0 0 0 TeXcolorrgb
Fo(module)p Black 0 0 0 TeXcolorrgb 44 w(X)p Black 0 0 0
TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4529 25 92 v Black 0.95 TeXcolorgray
-128 4529 4252 92 v Black 0.95 TeXcolorgray 4124 4529
25 92 v Black 0.95 TeXcolorgray Black -128 4502 a
SDict begin H.S end
-128
4502 a -128 4502 a
SDict begin 11 H.A end
-128 4502 a -128 4502 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-98.3) cvn H.B /DEST pdfmark end
-128 4502
a Fo(...)p 0.95 TeXcolorgray -153 4554 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4722 a Ft(OPTIONS_GHC)29
b FA(pragmas)h(are)g(only)f(look)o(ed)h(for)f(at)i(the)g(top)f(of)g
(your)f(source)h(\002les,)j(upto)d(the)g(\002rst)h
(\(non-literate,non-empty\))25 b(line)30 b(not)-128 4822
y(containing)25 b Ft(OPTIONS_GHC)p FA(.)g(Multiple)h
Ft(OPTIONS_GHC)f FA(pragmas)g(are)h(recognised.)42 b(Do)26
b(not)h(put)f(comments)f(before,)h(or)g(on)g(the)h(same)-128
4922 y(line)21 b(as,)f(the)h Ft(OPTIONS_GHC)d FA(pragma.)-128
5068 y(Note)h(that)g(your)e(command)g(shell)i(does)f(not)h(get)f(to)h
(the)g(source)f(\002le)h(options,)f(the)o(y)g(are)g(just)i(included)d
(literally)h(in)h(the)g(array)e(of)i(command-line)-128
5168 y(ar)o(guments)e(the)i(compiler)f(maintains)g(internally)-5
b(,)18 b(so)h(you')o(ll)f(be)h(desperately)f(disappointed)f(if)i(you)f
(try)h(to)g(glob)f(etc.)25 b(inside)19 b Ft(OPTIONS_GHC)p
FA(.)-128 5314 y(NO)m(TE:)j(the)g(contents)f(of)g(OPTIONS_GHC)h(are)g
(appended)d(to)j(the)g(command-line)d(options,)i(so)h(options)f(gi)n(v)
o(en)g(in)h(the)g(source)f(\002le)h(o)o(v)o(erride)-128
5414 y(those)e(gi)n(v)o(en)f(on)h(the)g(command-line.)-128
5560 y(It)e(is)g(not)e(recommended)e(to)k(mo)o(v)o(e)d(all)j(the)f
(contents)f(of)h(your)f(Mak)o(e\002les)h(into)g(your)f(source)g
(\002les,)i(b)n(ut)f(in)g(some)g(circumstances,)g(the)g
Ft(OPTION-)-128 5660 y(S_GHC)h FA(pragma)e(is)j(the)f(Right)g(Thing.)23
b(\(If)17 b(you)g(use)h Ft(-keep-hc-file)e FA(and)h(ha)n(v)o(e)g
(OPTION)h(\003ags)g(in)g(your)f(module,)f(the)i(OPTIONS_GHC)-128
5759 y(will)j(get)g(put)e(into)h(the)h(generated)d(.hc)i(\002le\).)p
Black -128 6084 4252 5 v Black eop end
%%Page: 39 54
TeXDict begin 39 53 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.39) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(39)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.1.3)p
Black 90 w(Setting)j(options)h(in)h(GHCi)-128 373 y FA(Options)20
b(may)g(also)g(be)g(modi\002ed)f(from)h(within)g(GHCi,)g(using)g(the)g
Ft(:set)g FA(command.)j(See)e(Section)p 1 0 0 TeXcolorrgb
2872 374 a
SDict begin H.S end
2872 374 a 1 0 0 TeXcolorrgb -1 x FA(2.8)p
1 0 0 TeXcolorrgb 2975 317 a
SDict begin H.R end
2975 317 a 2975 373 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.8) cvn H.B /ANN pdfmark end
2975
373 a Black 21 w FA(for)f(more)f(details.)-128 515 y
SDict begin H.S end
-128 515 a -128 515 a
SDict begin 12 H.A end
-128 515 a -128 515 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.2) cvn H.B /DEST pdfmark end
-128 515
a Black 178 x Fs(4.2)p Black 108 w(Static,)28 b(Dynamic,)h(and)g(Mode)g
(options)-128 821 y
SDict begin H.S end
-128 821 a -128 821 a
SDict begin 12 H.A end
-128 821 a
-128 821 a
SDict begin [ /View [/XYZ H.V] /Dest (static-dynamic-flags) cvn H.B /DEST pdfmark end
-128 821 a 111 x FA(Each)20 b(of)g(GHC')-5
b(s)21 b(command)e(line)h(options)f(is)i(classi\002ed)g(as)g
Fq(static)p FA(,)f Fq(dynamic)f FA(or)h Fq(mode)p FA(:)p
Black -128 1139 a Fu(Mode)h(\003ags)p Black 41 w FA(F)o(or)f(e)o
(xample,)e Ft(--make)h FA(or)h Ft(-E)p FA(.)g(There)f(may)g(only)g(be)h
(a)h(single)e(mode)g(\003ag)h(on)g(the)g(command)e(line.)25
b(The)19 b(a)n(v)n(ailable)h(modes)f(are)80 1239 y(listed)i(in)f
(Section)p 1 0 0 TeXcolorrgb 636 1240 a
SDict begin H.S end
636 1240 a 1 0 0
TeXcolorrgb -1 x FA(4.4)p 1 0 0 TeXcolorrgb 740 1182
a
SDict begin H.R end
740 1182 a 740 1239 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
740 1239 a Black FA(.)p Black
-128 1402 a Fu(Dynamic)g(Flags)p Black 41 w FA(Most)h(non-mode)d
(\003ags)j(f)o(all)g(into)f(this)h(cate)o(gory)-5 b(.)24
b(A)d(dynamic)e(\003ag)i(may)f(be)h(used)f(on)g(the)h(command)d(line,)j
(in)g(a)g Ft(GHC_OP-)80 1502 y(TIONS)f FA(pragma)f(in)h(a)h(source)e
(\002le,)i(or)e(set)i(using)f Ft(:set)g FA(in)g(GHCi.)p
Black -128 1665 a Fu(Static)g(Flags)p Black 41 w FA(A)26
b(fe)n(w)f(\003ags)h(are)g("static",)h(which)e(means)h(the)o(y)f(can)g
(only)g(be)g(used)h(on)f(the)h(command-line,)d(and)j(remain)e(in)i
(force)f(o)o(v)o(er)f(the)80 1764 y(entire)c(GHC/GHCi)h(run.)-128
1971 y(The)f(\003ag)h(reference)d(tables)j(\(Section)p
1 0 0 TeXcolorrgb 1009 1972 a
SDict begin H.S end
1009 1972 a 1 0 0 TeXcolorrgb
-1 x FA(4.17)p 1 0 0 TeXcolorrgb 1154 1915 a
SDict begin H.R end
1154 1915
a 1154 1971 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.17) cvn H.B /ANN pdfmark end
1154 1971 a Black FA(\))g(lists)g(the)f(status)h(of)f
(each)g(\003ag.)-128 2118 y(There)g(are)f(a)i(fe)n(w)f(\003ags)g(that)g
(are)g(static)h(e)o(xcept)e(that)h(the)o(y)f(can)h(also)g(be)g(used)f
(with)h(GHCi')-5 b(s)22 b Ft(:set)d FA(command;)g(these)h(are)g(listed)
g(as)h(\223static/)p Ft(:-)-128 2218 y(set)p FA(\224)f(in)h(the)f
(table.)-128 2343 y
SDict begin H.S end
-128 2343 a -128 2343 a
SDict begin 12 H.A end
-128 2343
a -128 2343 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.3) cvn H.B /DEST pdfmark end
-128 2343 a Black 195 x Fs(4.3)p Black
108 w(Meaningful)27 b(\002le)j(suf\002x)o(es)-128 2665
y
SDict begin H.S end
-128 2665 a -128 2665 a
SDict begin 12 H.A end
-128 2665 a -128 2665 a
SDict begin [ /View [/XYZ H.V] /Dest (file-suffixes) cvn H.B /DEST pdfmark end
-128
2665 a 111 x FA(File)21 b(names)f(with)h(\223meaningful\224)c(suf)n
(\002x)o(es)j(\(e.g.,)f Ft(.lhs)h FA(or)g Ft(.o)p FA(\))g(cause)g(the)g
(\223right)g(thing\224)f(to)h(happen)f(to)h(those)g(\002les.)p
Black -128 2983 a Fh(.hs)p Black 41 w FA(A)h(Hask)o(ell)g(module.)p
Black -107 3146 a Fh(.lhs)p Black 62 w FA(A)f(\223literate)h(Hask)o
(ell\224)f(module.)p Black -128 3310 a Fh(.hi)p Black
41 w FA(A)h(Hask)o(ell)g(interf)o(ace)e(\002le,)i(probably)c(compiler)n
(-generated.)p Black -128 3473 a Fh(.hc)p Black 41 w
FA(Intermediate)i(C)i(\002le)g(produced)c(by)j(the)g(Hask)o(ell)h
(compiler)-5 b(.)p Black -128 3636 a Fh(.c)p Black 42
w FA(A)20 b(C)h(\002le)g(not)f(produced)e(by)i(the)g(Hask)o(ell)g
(compiler)-5 b(.)p Black -128 3799 a Fh(.s)p Black 42
w FA(An)20 b(assembly-language)d(source)i(\002le,)i(usually)f(produced)
d(by)j(the)g(compiler)-5 b(.)p Black -128 3962 a Fh(.o)p
Black 42 w FA(An)20 b(object)f(\002le,)i(produced)d(by)i(an)g
(assembler)-5 b(.)-128 4169 y(Files)22 b(with)e(other)f(suf)n(\002x)o
(es)h(\(or)g(without)f(suf)n(\002x)o(es\))h(are)g(passed)g(straight)g
(to)g(the)g(link)o(er)-5 b(.)-128 4311 y
SDict begin H.S end
-128 4311 a
-128 4311 a
SDict begin 12 H.A end
-128 4311 a -128 4311 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.4) cvn H.B /DEST pdfmark end
-128 4311 a Black
178 x Fs(4.4)p Black 108 w(Modes)28 b(of)i(operation)-128
4616 y
SDict begin H.S end
-128 4616 a -128 4616 a
SDict begin 12 H.A end
-128 4616 a -128 4616
a
SDict begin [ /View [/XYZ H.V] /Dest (modes) cvn H.B /DEST pdfmark end
-128 4616 a 112 x FA(GHC')-5 b(s)25 b(beha)n(viour)20
b(is)k(\002rstly)f(controlled)f(by)g(a)h(mode)f(\003ag.)33
b(Only)23 b(one)f(of)h(these)g(\003ags)g(may)g(be)g(gi)n(v)o(en,)f(b)n
(ut)g(it)i(does)f(not)f(necessarily)h(need)f(to)-128
4828 y(be)f(the)f(\002rst)h(option)e(on)g(the)i(command-line.)h(The)e
(a)n(v)n(ailable)f(modes)h(are:)p Black -107 5035 a Fh(ghc)49
b(--interactive)p Black 81 w FA(Interacti)n(v)o(e)25
b(mode,)i(which)f(is)h(also)g(a)n(v)n(ailable)f(as)h
Fu(ghci)p FA(.)44 b(Interacti)n(v)o(e)25 b(mode)g(is)j(described)d(in)i
(more)e(detail)i(in)80 5134 y(Chapter)p 1 0 0 TeXcolorrgb
364 5134 a
SDict begin H.S end
364 5134 a 1 0 0 TeXcolorrgb FA(2)p 1 0 0
TeXcolorrgb 405 5078 a
SDict begin H.R end
405 5078 a 405 5134 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.2) cvn H.B /ANN pdfmark end
405 5134
a Black FA(.)p Black -107 5297 a Fh(ghc)49 b(--make)p
Black 82 w FA(In)26 b(this)h(mode,)g(GHC)g(will)g(b)n(uild)f(a)g
(multi-module)e(Hask)o(ell)j(program)d(automatically)-5
b(,)26 b(\002guring)f(out)h(dependencies)e(for)80 5397
y(itself.)31 b(If)22 b(you)g(ha)n(v)o(e)f(a)i(straightforw)o(ard)d
(Hask)o(ell)i(program,)e(this)j(is)g(lik)o(ely)f(to)g(be)g(much)g
(easier)m(,)g(and)f(f)o(aster)m(,)i(than)e(using)h Fu(mak)o(e)p
FA(.)31 b(Mak)o(e)80 5497 y(mode)19 b(is)i(described)e(in)i(Section)p
1 0 0 TeXcolorrgb 1055 5498 a
SDict begin H.S end
1055 5498 a 1 0 0 TeXcolorrgb
-1 x FA(4.4.1)p 1 0 0 TeXcolorrgb 1221 5440 a
SDict begin H.R end
1221 5440
a 1221 5497 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.4.1) cvn H.B /ANN pdfmark end
1221 5497 a Black FA(.)p Black -107 5660
a Fh(ghc)49 b(-e)21 b Ff(expr)p Black 65 w FA(Expression-e)n(v)n
(aluation)f(mode.)34 b(This)24 b(is)g(v)o(ery)f(similar)h(to)g
(interacti)n(v)o(e)e(mode,)h(e)o(xcept)g(that)g(there)g(is)i(a)f
(single)g(e)o(xpression)80 5759 y(to)c(e)n(v)n(aluate)g(\()p
Fr(expr)s FA(\))f(which)g(is)i(gi)n(v)o(en)e(on)h(the)g(command)f
(line.)25 b(See)20 b(Section)p 1 0 0 TeXcolorrgb 2374
5760 a
SDict begin H.S end
2374 5760 a 1 0 0 TeXcolorrgb -1 x FA(4.4.2)p
1 0 0 TeXcolorrgb 2540 5703 a
SDict begin H.R end
2540 5703 a 2540 5759 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.4.2) cvn H.B /ANN pdfmark end
2540 5759 a Black 21 w FA(for)f(more)h(details.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 40 55
TeXDict begin 40 54 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.40) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(40)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(ghc)49 b(-E)21
b(ghc)49 b(-c)20 b(ghc)50 b(-S)20 b(ghc)49 b(-c)p Black
104 w FA(This)27 b(is)h(the)g(traditional)e(batch-compiler)e(mode,)k
(in)f(which)g(GHC)h(can)f(compile)g(source)f(\002les)80
273 y(one)19 b(at)g(a)h(time,)f(or)g(link)g(objects)g(together)e(into)i
(an)g(e)o(x)o(ecutable.)k(This)c(mode)g(also)g(applies)g(if)g(there)g
(is)h(no)f(other)f(mode)g(\003ag)i(speci\002ed)e(on)80
372 y(the)23 b(command)e(line,)j(in)f(which)g(case)h(it)f(means)g(that)
h(the)f(speci\002ed)g(\002les)h(should)e(be)h(compiled)f(and)g(then)h
(link)o(ed)f(to)i(form)e(a)h(program.)80 472 y(See)e(Section)p
1 0 0 TeXcolorrgb 490 473 a
SDict begin H.S end
490 473 a 1 0 0 TeXcolorrgb
-1 x FA(4.4.3)p 1 0 0 TeXcolorrgb 656 416 a
SDict begin H.R end
656 416 a
656 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.4.3) cvn H.B /ANN pdfmark end
656 472 a Black FA(.)p Black -107 637 a Fh(ghc)49
b(-M)p Black 62 w FA(Dependenc)o(y-generation)17 b(mode.)32
b(In)22 b(this)h(mode,)f(GHC)i(can)e(be)h(used)f(to)h(generate)e
(dependenc)o(y)f(information)g(suitable)j(for)f(use)80
737 y(in)e(a)h Ft(Makefile)p FA(.)j(See)d(Section)p 1 0 0
TeXcolorrgb 1078 738 a
SDict begin H.S end
1078 738 a 1 0 0 TeXcolorrgb -1
x FA(4.6.11)p 1 0 0 TeXcolorrgb 1286 681 a
SDict begin H.R end
1286 681 a
1286 737 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.11) cvn H.B /ANN pdfmark end
1286 737 a Black FA(.)p Black -107 902 a Fh(ghc)49
b(--mk-dll)p Black 61 w FA(DLL-creation)18 b(mode)i(\(W)m(indo)n(ws)f
(only\).)24 b(See)c(Section)p 1 0 0 TeXcolorrgb 2229
903 a
SDict begin H.S end
2229 903 a 1 0 0 TeXcolorrgb -1 x FA(11.6.1)p 1 0 0
TeXcolorrgb 2437 846 a
SDict begin H.R end
2437 846 a 2437 902 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.11.6.1) cvn H.B /ANN pdfmark end
2437 902
a Black FA(.)p Black -107 1067 a Fh(ghc)49 b(--help)20
b(ghc)49 b(-?)p Black 67 w FA(Cause)21 b(GHC)g(to)f(spe)n(w)h(a)f(long)
g(usage)f(message)h(to)h(standard)e(output)g(and)g(then)h(e)o(xit.)p
Black -107 1233 a Fh(ghc)49 b(--show-iface)f Ff(file)p
Black 62 w FA(Read)21 b(the)h(interf)o(ace)e(in)i Fr(file)f
FA(and)g(dump)f(it)i(as)g(te)o(xt)f(to)g Ft(stdout)p
FA(.)28 b(F)o(or)21 b(e)o(xample)f Ft(ghc)49 b(--show-if-)80
1332 y(ace)g(M.hi)p FA(.)p Black -107 1497 a Fh(ghc)g
(--supported-languages)p Black 59 w FA(Print)20 b(the)g(supported)e
(language)h(e)o(xtensions.)p Black -107 1663 a Fh(ghc)49
b(--info)p Black 62 w FA(Print)20 b(information)e(about)h(the)h
(compiler)-5 b(.)p Black -107 1828 a Fh(ghc)49 b(--version)20
b(ghc)49 b(-V)p Black 82 w FA(Print)21 b(a)f(one-line)f(string)h
(including)e(GHC')-5 b(s)22 b(v)o(ersion)d(number)-5
b(.)p Black -107 1993 a Fh(ghc)49 b(--numeric-version)p
Black 60 w FA(Print)20 b(GHC')-5 b(s)21 b(numeric)e(v)o(ersion)g
(number)f(only)-5 b(.)p Black -107 2158 a Fh(ghc)49 b(--print-libdir)p
Black 60 w FA(Print)27 b(the)f(path)g(to)g(GHC')-5 b(s)28
b(library)d(directory)-5 b(.)42 b(This)26 b(is)h(the)g(top)f(of)g(the)g
(directory)f(tree)h(containing)f(GHC')-5 b(s)80 2258
y(libraries,)31 b(interf)o(aces,)h(and)d(include)f(\002les)j(\(usually)
e(something)f(lik)o(e)i Ft(/usr/local/lib/ghc-5.04)c
FA(on)j(Unix\).)53 b(This)29 b(is)i(the)80 2358 y(v)n(alue)19
b(of)h Ft($libdir)g FA(in)g(the)g(package)f(con\002guration)f(\002le)j
(\(see)f(Section)p 1 0 0 TeXcolorrgb 2253 2359 a
SDict begin H.S end
2253
2359 a 1 0 0 TeXcolorrgb -1 x FA(4.8)p 1 0 0 TeXcolorrgb
2357 2301 a
SDict begin H.R end
2357 2301 a 2357 2358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.8) cvn H.B /ANN pdfmark end
2357 2358 a Black
FA(\).)-128 2491 y
SDict begin H.S end
-128 2491 a -128 2491 a
SDict begin 12 H.A end
-128 2491
a -128 2491 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.4.1) cvn H.B /DEST pdfmark end
-128 2491 a Black 148 x Fp(4.4.1)p Black
90 w(Using)k(ghc)g Fi(--make)-128 2727 y
SDict begin H.S end
-128 2727 a
-128 2727 a
SDict begin 12 H.A end
-128 2727 a -128 2727 a
SDict begin [ /View [/XYZ H.V] /Dest (make-mode) cvn H.B /DEST pdfmark end
-128 2727 a 114 x
FA(When)c(gi)n(v)o(en)f(the)h Ft(--make)g FA(option,)e(GHC)j(will)g(b)n
(uild)e(a)i(multi-module)c(Hask)o(ell)k(program)d(by)h(follo)n(wing)g
(dependencies)f(from)h(one)g(or)h(more)-128 2941 y(root)i(modules)e
(\(usually)h(just)i Ft(Main)p FA(\).)29 b(F)o(or)21 b(e)o(xample,)g(if)
h(your)f Ft(Main)g FA(module)g(is)i(in)f(a)g(\002le)g(called)g
Ft(Main.hs)p FA(,)f(you)g(could)g(compile)g(and)g(link)-128
3040 y(the)g(program)d(lik)o(e)i(this:)-128 3107 y
SDict begin H.S end
-128
3107 a -128 3107 a
SDict begin 12 H.A end
-128 3107 a -128 3107 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-99) cvn H.B /DEST pdfmark end
-128 3107
a 0.95 TeXcolorgray -153 3122 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3214 25 92 v Black 0.95 TeXcolorgray -128 3214 4252 92
v Black 0.95 TeXcolorgray 4124 3214 25 92 v Black 0.95
TeXcolorgray Black -128 3186 a
SDict begin H.S end
-128 3186 a -128 3186
a
SDict begin 11 H.A end
-128 3186 a -128 3186 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-99.1) cvn H.B /DEST pdfmark end
-128 3186 a 0 0 0 TeXcolorrgb
Fo(ghc)p Black 45 w(--)p 0 0 0 TeXcolorrgb(make)p Black
0 0 0 TeXcolorrgb 44 w(Main)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black 0.95 TeXcolorgray -153 3239 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3411 a FA(The)j(command)e(line)i
(may)f(contain)g(an)o(y)g(number)f(of)i(source)f(\002le)i(names)e(or)h
(module)f(names;)i(GHC)f(will)h(\002gure)e(out)h(all)g(the)g(modules)f
(in)h(the)-128 3511 y(program)d(by)i(follo)n(wing)f(the)h(imports)f
(from)g(these)i(initial)f(modules.)30 b(It)22 b(will)h(then)f(attempt)g
(to)g(compile)f(each)h(module)f(which)h(is)h(out)e(of)h(date,)-128
3611 y(and)e(\002nally)-5 b(,)19 b(if)i(there)f(is)h(a)f
Ft(Main)g FA(module,)f(the)h(program)e(will)j(also)g(be)f(link)o(ed)f
(into)h(an)g(e)o(x)o(ecutable.)-128 3759 y(The)g(main)g(adv)n(antages)f
(to)h(using)g Ft(ghc)49 b(--make)20 b FA(o)o(v)o(er)e(traditional)h
Ft(Makefile)p FA(s)h(are:)p Black -128 3973 a(\225)p
Black 42 w(GHC)25 b(doesn')o(t)e(ha)n(v)o(e)h(to)h(be)f(restarted)g
(for)g(each)g(compilation,)g(which)g(means)g(it)i(can)e(cache)g
(information)e(between)i(compilations.)36 b(Com-)-57
4072 y(piling)27 b(a)h(multi-module)d(program)g(with)j
Ft(ghc)49 b(--make)28 b FA(can)f(be)g(up)h(to)f(twice)h(as)h(f)o(ast)f
(as)g(running)d Ft(ghc)j FA(indi)n(vidually)d(on)i(each)h(source)-57
4172 y(\002le.)p Black -128 4337 a(\225)p Black 42 w(Y)-9
b(ou)20 b(don')o(t)e(ha)n(v)o(e)i(to)g(write)g(a)h Ft(Makefile)p
FA(.)p Black -128 4502 a(\225)p Black 42 w(GHC)g(re-calculates)e(the)h
(dependencies)e(each)i(time)h(it)g(is)g(in)m(v)n(ok)o(ed,)d(so)i(the)h
(dependencies)d(ne)n(v)o(er)h(get)h(out)g(of)f(sync)h(with)h(the)f
(source.)-128 4716 y(An)o(y)i(of)g(the)h(command-line)c(options)j
(described)f(in)h(the)h(rest)f(of)h(this)f(chapter)g(can)g(be)g(used)g
(with)h Ft(--make)p FA(,)f(b)n(ut)g(note)g(that)h(an)o(y)e(options)h
(you)-128 4815 y(gi)n(v)o(e)g(on)h(the)g(command)d(line)j(will)h(apply)
d(to)i(all)h(the)f(source)f(\002les)h(compiled,)f(so)h(if)g(you)f(w)o
(ant)h(an)o(y)f(options)g(to)h(apply)f(to)g(a)i(single)e(source)g
(\002le)-128 4915 y(only)-5 b(,)19 b(you')o(ll)g(need)h(to)g(use)h(an)f
Ft(OPTIONS_GHC)f FA(pragma)f(\(see)j(Section)p 1 0 0
TeXcolorrgb 2031 4916 a
SDict begin H.S end
2031 4916 a 1 0 0 TeXcolorrgb
-1 x FA(4.1.2)p 1 0 0 TeXcolorrgb 2197 4859 a
SDict begin H.R end
2197 4859
a 2197 4915 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.1.2) cvn H.B /ANN pdfmark end
2197 4915 a Black FA(\).)-128 5064 y(If)i(the)f(program)f
(needs)h(to)g(be)h(link)o(ed)e(with)i(additional)e(objects)h(\(say)-5
b(,)23 b(some)f(auxiliary)f(C)i(code\),)f(then)g(the)h(object)f
(\002les)h(can)f(be)h(gi)n(v)o(en)e(on)h(the)-128 5163
y(command)d(line)h(and)g(GHC)h(will)g(include)e(them)g(when)h(linking)f
(the)h(e)o(x)o(ecutable.)-128 5312 y(Note)i(that)h(GHC)f(can)g(only)f
(follo)n(w)h(dependencies)d(if)k(it)f(has)h(the)f(source)f(\002le)i(a)n
(v)n(ailable,)e(so)i(if)f(your)f(program)f(includes)h(a)h(module)f(for)
h(which)-128 5412 y(there)d(is)i(no)e(source)f(\002le,)j(e)n(v)o(en)d
(if)i(you)e(ha)n(v)o(e)h(an)g(object)g(and)g(an)h(interf)o(ace)e
(\002le)i(for)f(the)h(module,)e(then)g(GHC)j(will)f(complain.)j(The)c
(e)o(xception)f(to)-128 5511 y(this)j(rule)f(is)h(for)f(package)e
(modules,)h(which)h(may)g(or)g(may)f(not)h(ha)n(v)o(e)g(source)f
(\002les.)-128 5660 y(The)24 b(source)f(\002les)i(for)e(the)h(program)e
(don')o(t)g(all)i(need)f(to)h(be)g(in)g(the)g(same)g(directory;)g(the)g
Ft(-i)g FA(option)f(can)g(be)h(used)g(to)g(add)f(directories)g(to)h
(the)-128 5759 y(search)c(path)g(\(see)g(Section)p 1 0 0
TeXcolorrgb 693 5760 a
SDict begin H.S end
693 5760 a 1 0 0 TeXcolorrgb -1
x FA(4.6.3)p 1 0 0 TeXcolorrgb 859 5703 a
SDict begin H.R end
859 5703 a
859 5759 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.3) cvn H.B /ANN pdfmark end
859 5759 a Black FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 41 56
TeXDict begin 41 55 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.41) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(41)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.4.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.4.2)p
Black 90 w(Expression)j(e)o(v)n(aluation)g(mode)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (eval-mode) cvn H.B /DEST pdfmark end
-128
262 a 114 x FA(This)31 b(mode)e(is)i(v)o(ery)e(similar)h(to)g
(interacti)n(v)o(e)f(mode,)i(e)o(xcept)e(that)h(there)g(is)h(a)f
(single)g(e)o(xpression)f(to)h(e)n(v)n(aluate)f(which)h(is)h
(speci\002ed)e(on)h(the)-128 476 y(command)19 b(line)h(as)h(an)f(ar)o
(gument)e(to)i(the)g Ft(-e)h FA(option:)-128 544 y
SDict begin H.S end
-128
544 a -128 544 a
SDict begin 12 H.A end
-128 544 a -128 544 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-100) cvn H.B /DEST pdfmark end
-128 544 a 0.95
TeXcolorgray -153 559 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
650 25 92 v Black 0.95 TeXcolorgray -128 650 4252 92
v Black 0.95 TeXcolorgray 4124 650 25 92 v Black 0.95
TeXcolorgray Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128
623 a -128 623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-100.1) cvn H.B /DEST pdfmark end
-128 623 a 0 0 0 TeXcolorrgb Fo(ghc)p
Black 45 w(-)p 0 0 0 TeXcolorrgb(e)p Black 0 0 0 TeXcolorrgb
44 w(expr)p Black 0.95 TeXcolorgray -153 675 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 849
a FA(Hask)o(ell)g(source)f(\002les)h(may)f(be)h(named)e(on)h(the)g
(command)f(line,)h(and)g(the)o(y)g(will)h(be)f(loaded)g(e)o(xactly)f
(as)i(in)g(interacti)n(v)o(e)e(mode.)24 b(The)d(e)o(xpression)-128
949 y(is)h(e)n(v)n(aluated)c(in)j(the)f(conte)o(xt)f(of)h(the)g(loaded)
f(modules.)-128 1099 y(F)o(or)h(e)o(xample,)f(to)h(load)g(and)g(run)f
(a)i(Hask)o(ell)f(program)e(containing)g(a)j(module)e
Ft(Main)p FA(,)h(we)g(might)g(say)-128 1166 y
SDict begin H.S end
-128 1166
a -128 1166 a
SDict begin 12 H.A end
-128 1166 a -128 1166 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-101) cvn H.B /DEST pdfmark end
-128 1166 a 0.95
TeXcolorgray -153 1182 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1273 25 92 v Black 0.95 TeXcolorgray -128 1273 4252 92
v Black 0.95 TeXcolorgray 4124 1273 25 92 v Black 0.95
TeXcolorgray Black -128 1245 a
SDict begin H.S end
-128 1245 a -128 1245
a
SDict begin 11 H.A end
-128 1245 a -128 1245 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-101.1) cvn H.B /DEST pdfmark end
-128 1245 a 0 0 0 TeXcolorrgb
Fo(ghc)p Black 45 w(-)p 0 0 0 TeXcolorrgb(e)p Black 0 0 0
TeXcolorrgb 44 w(Main)p Black(.)p 0 0 0 TeXcolorrgb -1
w(main)p Black 0 0 0 TeXcolorrgb 45 w(Main)p Black -1
w(.)p 0 0 0 TeXcolorrgb(hs)p Black 0.95 TeXcolorgray
-153 1298 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1472 a FA(or)g(we)h(can)f(just)h(use)f(this)h(mode)e(to)h(e)
n(v)n(aluate)g(e)o(xpressions)e(in)j(the)f(conte)o(xt)f(of)h(the)g
Ft(Prelude)p FA(:)-128 1540 y
SDict begin H.S end
-128 1540 a -128 1540 a
SDict begin 12 H.A end
-128 1540 a -128 1540 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-102) cvn H.B /DEST pdfmark end
-128 1540 a 0.95 TeXcolorgray
-153 1555 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1646 25 92
v Black 0.95 TeXcolorgray -128 1646 4252 92 v Black 0.95
TeXcolorgray 4124 1646 25 92 v Black 0.95 TeXcolorgray
Black -128 1619 a
SDict begin H.S end
-128 1619 a -128 1619 a
SDict begin 11 H.A end
-128 1619 a
-128 1619 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-102.1) cvn H.B /DEST pdfmark end
-128 1619 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(e)p
Black 45 w(")p 0 0 0 TeXcolorrgb(interact)p Black 43
w(\()p 0 0 0 TeXcolorrgb(unlines)p Black -1 w(.)p 0 0 0
TeXcolorrgb(map)p Black 0 0 0 TeXcolorrgb 44 w(reverse)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(lines)p Black -1 w(\)")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1738 25
92 v Black 0.95 TeXcolorgray -128 1738 4252 92 v Black
0.95 TeXcolorgray 4124 1738 25 92 v Black 0.95 TeXcolorgray
Black -128 1710 a
SDict begin H.S end
-128 1710 a -128 1710 a
SDict begin 11 H.A end
-128 1710 a
-128 1710 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-102.2) cvn H.B /DEST pdfmark end
-128 1710 a 0 0 0 TeXcolorrgb Fo(hello)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1829 25 92 v Black 0.95 TeXcolorgray -128 1829 4252 92
v Black 0.95 TeXcolorgray 4124 1829 25 92 v Black 0.95
TeXcolorgray Black -128 1802 a
SDict begin H.S end
-128 1802 a -128 1802
a
SDict begin 11 H.A end
-128 1802 a -128 1802 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-102.3) cvn H.B /DEST pdfmark end
-128 1802 a 0 0 0 TeXcolorrgb
Fo(olleh)p Black 0.95 TeXcolorgray -153 1854 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 2020
a
SDict begin H.S end
-128 2020 a -128 2020 a
SDict begin 12 H.A end
-128 2020 a -128 2020 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.4.3) cvn H.B /DEST pdfmark end
-128
2020 a Black 141 x Fp(4.4.3)p Black 90 w(Batc)o(h)k(compiler)f(mode)
-128 2250 y
SDict begin H.S end
-128 2250 a -128 2250 a
SDict begin 12 H.A end
-128 2250 a -128
2250 a
SDict begin [ /View [/XYZ H.V] /Dest (options-order) cvn H.B /DEST pdfmark end
-128 2250 a 114 x FA(In)d Fq(batc)o(h)f(mode)p
FA(,)h(GHC)h(will)g(compile)e(one)h(or)f(more)h(source)f(\002les)i(gi)n
(v)o(en)e(on)h(the)g(command)e(line.)-128 2514 y(The)26
b(\002rst)h(phase)e(to)h(run)f(is)i(determined)d(by)h(each)h
(input-\002le)f(suf)n(\002x,)h(and)g(the)g(last)g(phase)g(is)h
(determined)c(by)j(a)g(\003ag.)42 b(If)26 b(no)f(rele)n(v)n(ant)g
(\003ag)h(is)-128 2613 y(present,)20 b(then)f(go)h(all)h(the)f(w)o(ay)g
(through)e(to)j(linking.)j(This)c(table)g(summarises:)p
-86 2734 4169 4 v -86 2734 V -86 2933 4 200 v -33 2804
a Fu(Phase)g(of)g(the)h(compilation)-33 2904 y(system)p
955 2933 V 1008 2854 a(Suf\002x)g(saying)f(\223start)f(her)o(e\224)p
1997 2933 V 140 w(Flag)g(saying)h(\223stop)g(after\224)p
3038 2933 V 193 w(\(suf\002x)g(of\))g(output)g(\002le)p
4080 2933 V -86 2937 1045 4 v 959 2937 1042 4 v 2000
2937 V 3041 2937 V -86 3034 4 101 v -33 3003 a FA(literate)g
(pre-processor)p 955 3034 V 335 w Ft(.lhs)p 1997 3034
V 842 w FA(-)p 3038 3034 V 1013 w Ft(.hs)p 4080 3034
V -86 3037 1045 4 v 959 3037 1042 4 v 2000 3037 V 3041
3037 V -86 3134 4 101 v -33 3104 a FA(C)h(pre-processor)d(\(opt.\))p
955 3134 V 1008 3103 a Ft(.hs)j FA(\(with)f Ft(-cpp)p
FA(\))p 1997 3134 V 447 w Ft(-E)p 3038 3134 V 941 w(.hspp)p
4080 3134 V -86 3138 1045 4 v 959 3138 1042 4 v 2000
3138 V 3041 3138 V -86 3235 4 101 v -33 3204 a FA(Hask)o(ell)h
(compiler)p 955 3235 V 470 w Ft(.hs)p 1997 3235 V 892
w(-C)p FA(,)f Ft(-S)p 3038 3235 V 800 w(.hc)p FA(,)g
Ft(.s)p 4080 3235 V -86 3238 1045 4 v 959 3238 1042 4
v 2000 3238 V 3041 3238 V -86 3335 4 101 v -33 3305 a
FA(C)h(compiler)e(\(opt.\))p 955 3335 V 1008 3304 a Ft(.hc)i
FA(or)f Ft(.c)p 1997 3335 V 681 w(-S)p 3038 3335 V 941
w(.s)p 4080 3335 V -86 3339 1045 4 v 959 3339 1042 4
v 2000 3339 V 3041 3339 V -86 3436 4 101 v -33 3405 a
FA(assembler)p 955 3436 V 708 w Ft(.s)p 1997 3436 V 942
w(-c)p 3038 3436 V 941 w(.o)p 4080 3436 V -86 3439 1045
4 v 959 3439 1042 4 v 2000 3439 V 3041 3439 V -86 3536
4 101 v -33 3505 a FA(link)o(er)p 955 3536 V 847 w Fr(other)p
1997 3536 V 817 w FA(-)p 3038 3536 V 1013 w Ft(a.out)p
4080 3536 V -86 3539 4169 4 v -86 3539 V -128 3789 a
FA(Thus,)g(a)h(common)d(in)m(v)n(ocation)g(w)o(ould)i(be:)-128
3850 y
SDict begin H.S end
-128 3850 a -128 3850 a
SDict begin 12 H.A end
-128 3850 a -128 3850
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-103) cvn H.B /DEST pdfmark end
-128 3850 a 0.95 TeXcolorgray -153 3872 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3963 25 92 v Black 0.95 TeXcolorgray
-128 3963 4252 92 v Black 0.95 TeXcolorgray 4124 3963
25 92 v Black 0.95 TeXcolorgray Black -128 3935 a
SDict begin H.S end
-128
3935 a -128 3935 a
SDict begin 11 H.A end
-128 3935 a -128 3935 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-103.1) cvn H.B /DEST pdfmark end
-128 3935
a 0 0 0 TeXcolorrgb Fo(ghc)p Black 45 w(-)p 0 0 0 TeXcolorrgb(c)p
Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(hs)p
Black 0.95 TeXcolorgray -153 3988 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 4162 a FA(to)h(compile)e(the)h
(Hask)o(ell)h(source)e(\002le)i Ft(Foo.hs)f FA(to)g(an)g(object)g
(\002le)h Ft(Foo.o)p FA(.)-128 4312 y(Note:)43 b(What)29
b(the)g(Hask)o(ell)g(compiler)f(proper)f(produces)g(depends)h(on)g
(whether)g(a)h(nati)n(v)o(e-code)d(generator)h(is)j(used)f(\(producing)
c(assembly)-128 4411 y(language\))19 b(or)g(not)h(\(producing)d(C\).)k
(See)g(Section)p 1 0 0 TeXcolorrgb 1357 4412 a
SDict begin H.S end
1357 4412
a 1 0 0 TeXcolorrgb -1 x FA(4.10.6)p 1 0 0 TeXcolorrgb
1565 4355 a
SDict begin H.R end
1565 4355 a 1565 4411 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.6) cvn H.B /ANN pdfmark end
1565 4411 a Black
21 w FA(for)e(more)h(details.)-128 4561 y(Note:)26 b(C)21
b(pre-processing)c(is)k(optional,)e(the)h Ft(-cpp)g FA(\003ag)h(turns)e
(it)i(on.)k(See)20 b(Section)p 1 0 0 TeXcolorrgb 2339
4562 a
SDict begin H.S end
2339 4562 a 1 0 0 TeXcolorrgb -1 x FA(4.10.3)p
1 0 0 TeXcolorrgb 2547 4504 a
SDict begin H.R end
2547 4504 a 2547 4561 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.3) cvn H.B /ANN pdfmark end
2547 4561 a Black 21 w FA(for)f(more)g(details.)-128
4710 y(Note:)26 b(The)20 b(option)e Ft(-E)j FA(runs)f(just)g(the)g
(pre-processing)e(passes)j(of)f(the)g(compiler)m(,)e(dumping)g(the)i
(result)h(in)f(a)h(\002le.)-128 4844 y
SDict begin H.S end
-128 4844 a -128
4844 a
SDict begin 12 H.A end
-128 4844 a -128 4844 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.4.3.1) cvn H.B /DEST pdfmark end
-128 4844 a Black 132
x Fx(4.4.3.1)p Black 73 w(Overriding)d(the)i(default)f(beha)o(viour)f
(f)o(or)h(a)i(\002le)-128 5059 y
SDict begin H.S end
-128 5059 a -128 5059
a
SDict begin 12 H.A end
-128 5059 a -128 5059 a
SDict begin [ /View [/XYZ H.V] /Dest (overriding-suffixes) cvn H.B /DEST pdfmark end
-128 5059 a 120 x FA(As)h(described)e(abo)o
(v)o(e,)g(the)h(w)o(ay)g(in)g(which)g(a)h(\002le)f(is)h(processed)e(by)
h(GHC)h(depends)e(on)h(its)h(suf)n(\002x.)27 b(This)22
b(beha)n(viour)d(can)i(be)g(o)o(v)o(erridden)d(using)-128
5278 y(the)j Ft(-x)f FA(option:)p Black -128 5494 a Fh(-x)h
Ff(suffix)p Black 66 w FA(Causes)k(all)f(\002les)h(follo)n(wing)d(this)
j(option)d(on)i(the)g(command)e(line)i(to)g(be)f(processed)g(as)i(if)f
(the)o(y)f(had)g(the)h(suf)n(\002x)g Fr(suffix)t FA(.)35
b(F)o(or)80 5594 y(e)o(xample,)19 b(to)h(compile)f(a)i(Hask)o(ell)f
(module)f(in)h(the)h(\002le)g Ft(M.my-hs)p FA(,)e(use)h
Ft(ghc)49 b(-c)h(-x)f(hs)h(M.my-hs)p FA(.)p Black -128
6084 4252 5 v Black eop end
%%Page: 42 57
TeXDict begin 42 56 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.42) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(42)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.5) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(4.5)p
Black 108 w(Help)29 b(and)g(verbosity)f(options)-128
322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (options-help) cvn H.B /DEST pdfmark end
-128
322 a 109 x FA(See)21 b(also)g(the)f Ft(--help)p FA(,)f
Ft(--version)p FA(,)g Ft(--numeric-version)p FA(,)e(and)j
Ft(--print-libdir)e FA(modes)i(in)g(Section)p 1 0 0 TeXcolorrgb
3460 432 a
SDict begin H.S end
3460 432 a 1 0 0 TeXcolorrgb -1 x FA(4.4)p
1 0 0 TeXcolorrgb 3564 375 a
SDict begin H.R end
3564 375 a 3564 431 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
3564
431 a Black FA(.)p Black -107 632 a Fh(-n)p Black 62
w FA(Does)28 b(a)h(dry-run,)f(i.e.)49 b(GHC)29 b(goes)f(through)e(all)j
(the)f(motions)f(of)h(compiling)f(as)i(normal,)g(b)n(ut)f(does)g(not)g
(actually)f(run)h(an)o(y)f(e)o(xternal)80 731 y(commands.)p
Black -107 892 a Fh(-v)p Black 62 w FA(The)21 b Ft(-v)g
FA(option)f(mak)o(es)g(GHC)i Fq(verbose)p FA(:)27 b(it)22
b(reports)e(its)i(v)o(ersion)d(number)h(and)g(sho)n(ws)h(\(on)f
(stderr\))h(e)o(xactly)f(ho)n(w)g(it)i(in)m(v)n(ok)o(es)e(each)g(phase)
80 992 y(of)i(the)g(compilation)f(system.)32 b(Moreo)o(v)o(er)m(,)20
b(it)j(passes)g(the)f Ft(-v)h FA(\003ag)f(to)h(most)f(phases;)i(each)e
(reports)f(its)i(v)o(ersion)f(number)e(\(and)i(possibly)80
1091 y(some)e(other)f(information\).)80 1222 y(Please,)j(oh)f(please,)g
(use)g(the)h Ft(-v)f FA(option)f(when)h(reporting)e(b)n(ugs!)27
b(Kno)n(wing)20 b(that)h(you)g(ran)g(the)g(right)f(bits)i(in)g(the)f
(right)f(order)g(is)j(al)o(w)o(ays)80 1321 y(the)d(\002rst)h(thing)f
(we)g(w)o(ant)g(to)h(v)o(erify)-5 b(.)p Black -107 1482
a Fh(-v)p Ff(n)p Black 63 w FA(T)e(o)20 b(pro)o(vide)d(more)i(control)f
(o)o(v)o(er)g(the)h(compiler')-5 b(s)19 b(v)o(erbosity)-5
b(,)17 b(the)j Ft(-v)g FA(\003ag)f(tak)o(es)h(an)f(optional)g(numeric)f
(ar)o(gument.)k(Specifying)c Ft(-v)h FA(on)80 1582 y(its)i(o)n(wn)f(is)
h(equi)n(v)n(alent)d(to)j Ft(-v3)p FA(,)f(and)f(the)i(other)e(le)n(v)o
(els)h(ha)n(v)o(e)g(the)g(follo)n(wing)e(meanings:)p
Black 80 1743 a Fh(-v0)p Black 41 w FA(Disable)i(all)h(non-essential)e
(messages)h(\(this)h(is)g(the)f(def)o(ault\).)p Black
80 1871 a Fh(-v1)p Black 41 w FA(Minimal)g(v)o(erbosity:)j(print)d(one)
g(line)g(per)g(compilation)e(\(this)i(is)h(the)g(def)o(ault)e(when)h
Ft(--make)f FA(or)h Ft(--interactive)f FA(is)i(on\).)p
Black 80 1998 a Fh(-v2)p Black 41 w FA(Print)f(the)g(name)g(of)g(each)g
(compilation)e(phase)i(as)h(it)g(is)g(e)o(x)o(ecuted.)i(\(equi)n(v)n
(alent)18 b(to)i Ft(-dshow-passes)p FA(\).)p Black 80
2126 a Fh(-v3)p Black 41 w FA(The)j(same)h(as)g Ft(-v2)p
FA(,)h(e)o(xcept)d(that)i(in)g(addition)e(the)i(full)g(command)d(line)j
(\(if)g(appropriate\))d(for)i(each)g(compilation)f(phase)h(is)i(also)
263 2226 y(printed.)p Black 80 2353 a Fh(-v4)p Black
41 w FA(The)g(same)g(as)h Ft(-v3)f FA(e)o(xcept)g(that)g(the)g
(intermediate)f(program)f(representation)g(after)i(each)g(compilation)f
(phase)g(is)j(also)e(printed)263 2453 y(\(e)o(xcluding)17
b(preprocessed)h(and)i(C/assembly)g(\002les\).)p Black
-128 2614 a Fh(-ferror-spans)p Black 60 w FA(Causes)28
b(GHC)g(to)f(emit)g(the)g(full)g(source)f(span)g(of)h(the)g(syntactic)g
(entity)f(relating)g(to)h(an)g(error)f(message.)45 b(Normally)-5
b(,)80 2714 y(GHC)21 b(emits)g(the)f(source)f(location)h(of)f(the)i
(start)f(of)g(the)h(syntactic)e(entity)h(only)-5 b(.)80
2844 y(F)o(or)20 b(e)o(xample:)-128 2907 y
SDict begin H.S end
-128 2907
a -128 2907 a
SDict begin 12 H.A end
-128 2907 a -128 2907 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-104) cvn H.B /DEST pdfmark end
-128 2907 a 0.95
TeXcolorgray 55 2922 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3013
25 92 v Black 0.95 TeXcolorgray 80 3013 4045 92 v Black
0.95 TeXcolorgray 4124 3013 25 92 v Black 0.95 TeXcolorgray
Black 80 2986 a
SDict begin H.S end
80 2986 a 80 2986 a
SDict begin 11 H.A end
80 2986 a 80 2986
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-104.1) cvn H.B /DEST pdfmark end
80 2986 a 0 0 0 TeXcolorrgb Fo(test)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black(:3:6:)p 0 0 0 TeXcolorrgb
44 w(parse)p Black 0 0 0 TeXcolorrgb 44 w(error)p Black
0 0 0 TeXcolorrgb 44 w(on)p Black 0 0 0 TeXcolorrgb 44
w(input)p Black 44 w(`)p 0 0 0 TeXcolorrgb(where)p Black
-1 w(')p 0.95 TeXcolorgray 55 3038 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 3188 a FA(becomes:)-128
3234 y
SDict begin H.S end
-128 3234 a -128 3234 a
SDict begin 12 H.A end
-128 3234 a -128 3234
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-105) cvn H.B /DEST pdfmark end
-128 3234 a 0.95 TeXcolorgray 55 3266 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 3357 25 92 v Black 0.95 TeXcolorgray
80 3357 4045 92 v Black 0.95 TeXcolorgray 4124 3357 25
92 v Black 0.95 TeXcolorgray Black 80 3330 a
SDict begin H.S end
80 3330
a 80 3330 a
SDict begin 11 H.A end
80 3330 a 80 3330 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-105.1) cvn H.B /DEST pdfmark end
80 3330 a 0 0 0 TeXcolorrgb
Fo(test296)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
-1 w(:3:6-10:)p 0 0 0 TeXcolorrgb 44 w(parse)p Black
0 0 0 TeXcolorrgb 44 w(error)p Black 0 0 0 TeXcolorrgb
44 w(on)p Black 0 0 0 TeXcolorrgb 44 w(input)p Black
44 w(`)p 0 0 0 TeXcolorrgb(where)p Black -1 w(')p 0.95
TeXcolorgray 55 3382 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 3532 a FA(And)g(multi-line)f(spans)h(are)g
(possible)g(too:)-128 3595 y
SDict begin H.S end
-128 3595 a -128 3595 a
SDict begin 12 H.A end
-128 3595 a -128 3595 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-106) cvn H.B /DEST pdfmark end
-128 3595 a 0.95 TeXcolorgray
55 3610 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 3702 25 92 v
Black 0.95 TeXcolorgray 80 3702 4045 92 v Black 0.95
TeXcolorgray 4124 3702 25 92 v Black 0.95 TeXcolorgray
Black 80 3674 a
SDict begin H.S end
80 3674 a 80 3674 a
SDict begin 11 H.A end
80 3674 a 80 3674
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-106.1) cvn H.B /DEST pdfmark end
80 3674 a 0 0 0 TeXcolorrgb Fo(test)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black(:\(5,4\))o(-\(6,7\))o(:)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3793 25
92 v Black 0.95 TeXcolorgray 80 3793 4045 92 v Black
0.95 TeXcolorgray 4124 3793 25 92 v Black 0.95 TeXcolorgray
Black 80 3765 a
SDict begin H.S end
80 3765 a 80 3765 a
SDict begin 11 H.A end
80 3765 a 80 3765
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-106.2) cvn H.B /DEST pdfmark end
80 3765 a 0 0 0 TeXcolorrgb 179 w Fo(Conflicting)p
Black 0 0 0 TeXcolorrgb 43 w(definitions)p Black 0 0 0
TeXcolorrgb 43 w(for)p Black 45 w(`)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(')p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3884 25 92 v Black 0.95 TeXcolorgray 80 3884 4045
92 v Black 0.95 TeXcolorgray 4124 3884 25 92 v Black
0.95 TeXcolorgray Black 80 3857 a
SDict begin H.S end
80 3857 a 80 3857 a
SDict begin 11 H.A end
80 3857 a 80 3857 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-106.3) cvn H.B /DEST pdfmark end
80 3857 a 0 0 0 TeXcolorrgb 179 w
Fo(Bound)p Black 0 0 0 TeXcolorrgb 44 w(at)p Black(:)p
0 0 0 TeXcolorrgb 45 w(test)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(:5:4)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3975 25 92 v Black 0.95 TeXcolorgray 80 3975 4045
92 v Black 0.95 TeXcolorgray 4124 3975 25 92 v Black
0.95 TeXcolorgray Black 80 3948 a
SDict begin H.S end
80 3948 a 80 3948 a
SDict begin 11 H.A end
80 3948 a 80 3948 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-106.4) cvn H.B /DEST pdfmark end
80 3948 a 0 0 0 TeXcolorrgb 628 w
Fo(test)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
-1 w(:6:7)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 4067 25 92 v Black 0.95 TeXcolorgray 80 4067 4045
92 v Black 0.95 TeXcolorgray 4124 4067 25 92 v Black
0.95 TeXcolorgray Black 80 4039 a
SDict begin H.S end
80 4039 a 80 4039 a
SDict begin 11 H.A end
80 4039 a 80 4039 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-106.5) cvn H.B /DEST pdfmark end
80 4039 a 0 0 0 TeXcolorrgb 179 w
Fo(In)p Black 0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0
TeXcolorrgb 44 w(binding)p Black 0 0 0 TeXcolorrgb 44
w(group)p Black 0 0 0 TeXcolorrgb 44 w(for)p Black -1
w(:)p 0 0 0 TeXcolorrgb 45 w(a)p Black(,)p 0 0 0 TeXcolorrgb
44 w(b)p Black(,)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray 55 4092 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 4242 a FA(Note)j(that)h(line)g(numbers)e(start)i
(counting)e(at)i(one,)f(b)n(ut)h(column)e(numbers)g(start)i(at)g(zero.)
34 b(This)24 b(choice)f(w)o(as)h(made)f(to)h(follo)n(w)f(e)o(xisting)80
4341 y(con)m(v)o(ention)17 b(\(i.e.)25 b(this)c(is)g(ho)n(w)e(Emacs)i
(does)e(it\).)p Black -128 4502 a Fh(-H)p Ff(size)p Black
62 w FA(Set)i(the)f(minimum)f(size)i(of)e(the)i(heap)e(to)i
Fr(size)p FA(.)j(This)d(option)e(is)i(equi)n(v)n(alent)d(to)j
Ft(+RTS)49 b(-H)p Fr(size)p FA(,)19 b(see)i(Section)p
1 0 0 TeXcolorrgb 3549 4503 a
SDict begin H.S end
3549 4503 a 1 0 0 TeXcolorrgb
-1 x FA(4.14.3)p 1 0 0 TeXcolorrgb 3756 4446 a
SDict begin H.R end
3756 4446
a 3756 4502 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.3) cvn H.B /ANN pdfmark end
3756 4502 a Black FA(.)p Black -128 4663
a Fh(-Rghc-timing)p Black 60 w FA(Prints)g(a)f(one-line)f(summary)f(of)
i(timing)f(statistics)j(for)d(the)h(GHC)h(run.)j(This)c(option)f(is)i
(equi)n(v)n(alent)d(to)i Ft(+RTS)50 b(-tstd-)80 4763
y(err)p FA(,)20 b(see)h(Section)p 1 0 0 TeXcolorrgb 668
4764 a
SDict begin H.S end
668 4764 a 1 0 0 TeXcolorrgb -1 x FA(4.14.3)p
1 0 0 TeXcolorrgb 875 4707 a
SDict begin H.R end
875 4707 a 875 4763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.3) cvn H.B /ANN pdfmark end
875
4763 a Black FA(.)-128 4898 y
SDict begin H.S end
-128 4898 a -128 4898 a
SDict begin 12 H.A end
-128 4898 a -128 4898 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.6) cvn H.B /DEST pdfmark end
-128 4898 a Black 182 x Fs(4.6)p
Black 108 w(Filenames)28 b(and)h(separate)f(compilation)-128
5207 y
SDict begin H.S end
-128 5207 a -128 5207 a
SDict begin 12 H.A end
-128 5207 a -128 5207
a
SDict begin [ /View [/XYZ H.V] /Dest (separate-compilation) cvn H.B /DEST pdfmark end
-128 5207 a 109 x FA(This)23 b(section)e(describes)h(what)g(\002les)h
(GHC)g(e)o(xpects)e(to)h(\002nd,)g(what)g(\002les)h(it)g(creates,)g
(where)e(these)h(\002les)h(are)f(stored,)g(and)f(what)h(options)g(af)n
(fect)-128 5416 y(this)f(beha)n(viour)-5 b(.)-128 5560
y(Note)22 b(that)g(this)g(section)f(is)i(written)e(with)h
Fq(hier)o(ar)m(c)o(hical)e(modules)h FA(in)h(mind)e(\(see)i(Section)p
1 0 0 TeXcolorrgb 2539 5561 a
SDict begin H.S end
2539 5561 a 1 0 0 TeXcolorrgb
-1 x FA(7.3.3)p 1 0 0 TeXcolorrgb 2705 5504 a
SDict begin H.R end
2705 5504
a 2705 5560 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.3) cvn H.B /ANN pdfmark end
2705 5560 a Black FA(\);)h(hierarchical)d(modules)h(are)g
(an)h(e)o(xtension)e(to)-128 5660 y(Hask)o(ell)25 b(98)e(which)g(e)o
(xtends)g(the)h(le)o(xical)f(syntax)g(of)g(module)g(names)g(to)h
(include)f(a)h(dot)f(`.)-6 b('.)36 b(Non-hierarchical)21
b(modules)h(are)i(thus)g(a)g(special)-128 5759 y(case)d(in)f(which)g
(none)f(of)h(the)g(module)f(names)h(contain)f(dots.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 43 58
TeXDict begin 43 57 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.43) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(43)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(P)o(athname)28
b(con)m(v)o(entions)e(v)n(ary)i(from)g(system)h(to)g(system.)52
b(In)28 b(particular)m(,)i(the)f(directory)e(separator)g(is)j(`)p
Ft(/)p FA(')f(on)f(Unix)h(systems)g(and)g(`)p Ft(\\)p
FA(')f(on)-128 273 y(W)m(indo)n(ws)g(systems.)47 b(In)28
b(the)g(sections)f(that)h(follo)n(w)-5 b(,)28 b(we)g(shall)g
(consistently)f(use)h(`)p Ft(/)p FA(')g(as)g(the)g(directory)e
(separator;)k(substitute)e(this)g(for)f(the)-128 372
y(appropriate)18 b(character)h(for)h(your)f(system.)-128
507 y
SDict begin H.S end
-128 507 a -128 507 a
SDict begin 12 H.A end
-128 507 a -128 507 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.1) cvn H.B /DEST pdfmark end
-128
507 a Black 148 x Fp(4.6.1)p Black 90 w(Haskell)k(sour)n(ce)i(\002les)
-128 743 y
SDict begin H.S end
-128 743 a -128 743 a
SDict begin 12 H.A end
-128 743 a -128 743
a
SDict begin [ /View [/XYZ H.V] /Dest (source-files) cvn H.B /DEST pdfmark end
-128 743 a 115 x FA(Each)20 b(Hask)o(ell)h(source)e(module)g(should)g
(be)h(placed)g(in)g(a)h(\002le)g(on)e(its)j(o)n(wn.)-128
1007 y(Usually)-5 b(,)17 b(the)f(\002le)h(should)f(be)g(named)g(after)g
(the)g(module)f(name,)i(replacing)e(dots)h(in)h(the)f(module)f(name)h
(by)g(directory)f(separators.)23 b(F)o(or)16 b(e)o(xample,)-128
1107 y(on)22 b(a)g(Unix)f(system,)h(the)g(module)e Ft(A.B.C)h
FA(should)g(be)h(placed)f(in)g(the)h(\002le)g Ft(A/B/C.hs)p
FA(,)f(relati)n(v)o(e)g(to)h(some)g(base)f(directory)-5
b(.)28 b(If)21 b(the)h(module)e(is)-128 1206 y(not)g(going)f(to)i(be)f
(imported)e(by)i(another)f(module)g(\()p Ft(Main)p FA(,)g(for)g(e)o
(xample\),)g(then)g(you)h(are)g(free)g(to)g(use)g(an)o(y)g(\002lename)f
(for)h(it.)-128 1356 y(GHC)f(assumes)g(that)f(source)g(\002les)h(are)f
(ASCII)h(or)e(UTF-8)h(only)-5 b(,)17 b(other)h(encodings)e(are)i(not)g
(recognised.)23 b(Ho)n(we)n(v)o(er)m(,)16 b(in)m(v)n(alid)h(UTF-8)h
(sequences)-128 1455 y(will)j(be)f(ignored)e(in)i(comments,)f(so)h(it)g
(is)h(possible)f(to)g(use)g(other)f(encodings)f(such)i(as)g(Latin-1,)f
(as)i(long)e(as)h(the)g(non-comment)d(source)i(code)g(is)-128
1555 y(ASCII)i(only)-5 b(.)-128 1689 y
SDict begin H.S end
-128 1689 a -128
1689 a
SDict begin 12 H.A end
-128 1689 a -128 1689 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.2) cvn H.B /DEST pdfmark end
-128 1689 a Black 148
x Fp(4.6.2)p Black 90 w(Output)23 b(\002les)-128 1926
y
SDict begin H.S end
-128 1926 a -128 1926 a
SDict begin 12 H.A end
-128 1926 a -128 1926 a
SDict begin [ /View [/XYZ H.V] /Dest (output-files) cvn H.B /DEST pdfmark end
-128
1926 a 114 x FA(When)d(ask)o(ed)g(to)h(compile)e(a)i(source)e(\002le,)i
(GHC)g(normally)d(generates)h(tw)o(o)i(\002les:)26 b(an)20
b Fq(object)g(\002le)p FA(,)g(and)g(an)g Fq(interface)g(\002le)p
FA(.)-128 2190 y(The)g(object)g(\002le,)h(which)e(normally)g(ends)h(in)
g(a)h Ft(.o)f FA(suf)n(\002x,)g(contains)f(the)h(compiled)f(code)h(for)
f(the)h(module.)-128 2339 y(The)26 b(interf)o(ace)f(\002le,)j(which)e
(normally)e(ends)i(in)h(a)f Ft(.hi)g FA(suf)n(\002x,)h(contains)e(the)i
(information)c(that)j(GHC)h(needs)f(in)g(order)f(to)h(compile)g
(further)-128 2439 y(modules)20 b(that)i(depend)d(on)i(this)h(module.)k
(It)21 b(contains)g(things)f(lik)o(e)i(the)f(types)g(of)g(e)o(xported)e
(functions,)g(de\002nitions)i(of)g(data)g(types,)g(and)f(so)i(on.)-128
2538 y(It)f(is)g(stored)f(in)g(a)h(binary)e(format,)f(so)j(don')o(t)d
(try)i(to)h(read)e(one;)h(use)h(the)f Ft(--show-iface)e
FA(option)h(instead)h(\(see)h(Section)p 1 0 0 TeXcolorrgb
3482 2539 a
SDict begin H.S end
3482 2539 a 1 0 0 TeXcolorrgb -1 x FA(4.6.7)p
1 0 0 TeXcolorrgb 3648 2482 a
SDict begin H.R end
3648 2482 a 3648 2538 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.7) cvn H.B /ANN pdfmark end
3648 2538 a Black FA(\).)-128 2688 y(Y)-9 b(ou)31 b(should)f(think)h
(of)g(the)g(object)f(\002le)i(and)f(the)g(interf)o(ace)g(\002le)g(as)h
(a)g(pair)m(,)h(since)e(the)h(interf)o(ace)e(\002le)i(is)g(in)f(a)h
(sense)f(a)h(compiler)n(-readable)-128 2788 y(description)20
b(of)h(the)h(contents)e(of)h(the)h(object)e(\002le.)29
b(If)22 b(the)f(interf)o(ace)f(\002le)i(and)f(object)g(\002le)h(get)f
(out)g(of)g(sync)g(for)g(an)o(y)f(reason,)h(then)g(the)g(compiler)-128
2887 y(may)j(end)g(up)f(making)g(assumptions)g(about)g(the)h(object)g
(\002le)g(that)h(aren')o(t)d(true;)k(trouble)d(will)i(almost)f
(certainly)f(follo)n(w)-5 b(.)35 b(F)o(or)24 b(this)h(reason,)f(we)-128
2987 y(recommend)19 b(k)o(eeping)g(object)h(\002les)i(and)e(interf)o
(ace)g(\002les)i(in)f(the)g(same)g(place)f(\(GHC)i(does)e(this)i(by)e
(def)o(ault,)g(b)n(ut)h(it)g(is)h(possible)e(to)h(o)o(v)o(erride)e(the)
-128 3086 y(def)o(aults)h(as)h(we')o(ll)g(e)o(xplain)e(shortly\).)-128
3236 y(Ev)o(ery)g(module)g(has)h(a)h Fq(module)e(name)h
FA(de\002ned)f(in)h(its)i(source)d(code)g(\()p Ft(module)49
b(A.B.C)g(where)g(...)p FA(\).)-128 3385 y(The)24 b(name)g(of)f(the)h
(object)g(\002le)h(generated)d(by)i(GHC)g(is)h(deri)n(v)o(ed)e
(according)f(to)i(the)g(follo)n(wing)e(rules,)j(where)e
Fr(osuf)29 b FA(is)c(the)f(object-\002le)f(suf)n(\002x)-128
3485 y(\(this)e(can)f(be)g(changed)e(with)j(the)f Ft(-osuf)g
FA(option\).)p Black -128 3701 a(\225)p Black 42 w(If)k(there)g(is)h
(no)e Ft(-odir)h FA(option)f(\(the)h(def)o(ault\),)f(then)h(the)g
(object)g(\002lename)f(is)i(deri)n(v)o(ed)e(from)g(the)h(source)f
(\002lename)h(\(ignoring)d(the)j(module)-57 3800 y(name\))19
b(by)h(replacing)f(the)h(suf)n(\002x)g(with)g Fr(osuf)5
b FA(.)p Black -128 3966 a(\225)p Black 42 w(If)17 b
Ft(-odir)f Fr(dir)k FA(has)d(been)g(speci\002ed,)g(then)f(the)h(object)
f(\002lename)h(is)h Fr(dir)s FA(/)p Fr(mod)s FA(.)p Fr(osuf)5
b FA(,)15 b(where)h Fr(mod)k FA(is)e(the)f(module)f(name)g(with)h(dots)
g(replaced)-57 4066 y(by)j(slashes.)25 b(GHC)c(will)g(silently)g
(create)f(the)g(necessary)f(directory)g(structure)g(underneath)f
Fr(dir)s FA(,)h(if)i(it)g(does)f(not)f(already)h(e)o(xist.)-128
4282 y(The)h(name)g(of)g(the)g(interf)o(ace)g(\002le)h(is)g(deri)n(v)o
(ed)d(using)i(the)g(same)h(rules,)f(e)o(xcept)f(that)i(the)f(suf)n
(\002x)g(is)h Fr(hisuf)k FA(\()p Ft(.hi)21 b FA(by)f(def)o(ault\))h
(instead)g(of)g Fr(osuf)5 b FA(,)-128 4382 y(and)20 b(the)g(rele)n(v)n
(ant)f(options)h(are)g Ft(-hidir)f FA(and)h Ft(-hisuf)g
FA(instead)g(of)f Ft(-odir)h FA(and)g Ft(-osuf)g FA(respecti)n(v)o(ely)
-5 b(.)-128 4531 y(F)o(or)21 b(e)o(xample,)e(if)i(GHC)h(compiles)e(the)
g(module)g Ft(A.B.C)g FA(in)h(the)g(\002le)g Ft(src/A/B/C.hs)p
FA(,)e(with)i(no)f Ft(-odir)h FA(or)f Ft(-hidir)g FA(\003ags,)h(the)g
(interf)o(ace)-128 4631 y(\002le)g(will)g(be)f(put)g(in)h
Ft(src/A/B/C.hi)d FA(and)i(the)g(object)g(\002le)g(in)h
Ft(src/A/B/C.o)p FA(.)-128 4780 y(F)o(or)i(an)o(y)g(module)f(that)i(is)
g(imported,)e(GHC)i(requires)f(that)g(the)h(name)f(of)g(the)g(module)f
(in)i(the)f(import)f(statement)i(e)o(xactly)e(matches)h(the)h(name)-128
4880 y(of)g(the)g(module)e(in)i(the)g(interf)o(ace)f(\002le)h(\(or)g
(source)f(\002le\))h(found)e(using)h(the)h(strate)o(gy)f(speci\002ed)h
(in)g(Section)p 1 0 0 TeXcolorrgb 3061 4881 a
SDict begin H.S end
3061 4881
a 1 0 0 TeXcolorrgb -1 x FA(4.6.3)p 1 0 0 TeXcolorrgb
3227 4823 a
SDict begin H.R end
3227 4823 a 3227 4880 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.3) cvn H.B /ANN pdfmark end
3227 4880 a Black
FA(.)36 b(This)24 b(means)g(that)g(for)f(most)-128 4979
y(modules,)c(the)i(source)e(\002le)i(name)e(should)h(match)f(the)h
(module)f(name.)-128 5129 y(Ho)n(we)n(v)o(er)m(,)25 b(note)f(that)h(it)
h(is)g(reasonable)e(to)h(ha)n(v)o(e)f(a)i(module)e Ft(Main)h
FA(in)g(a)g(\002le)h(named)e Ft(foo.hs)p FA(,)h(b)n(ut)h(this)f(only)f
(w)o(orks)h(because)f(GHC)i(ne)n(v)o(er)-128 5228 y(needs)d(to)g
(search)g(for)f(the)h(interf)o(ace)f(for)g(module)g Ft(Main)h
FA(\(because)f(it)i(is)f(ne)n(v)o(er)f(imported\).)31
b(It)24 b(is)f(therefore)f(possible)g(to)h(ha)n(v)o(e)g(se)n(v)o(eral)f
Ft(Main)-128 5328 y FA(modules)e(in)g(separate)g(source)f(\002les)i(in)
g(the)f(same)g(directory)-5 b(,)18 b(and)i(GHC)h(will)g(not)e(get)i
(confused.)-128 5477 y(In)f(batch)g(compilation)f(mode,)g(the)h(name)g
(of)g(the)g(object)g(\002le)h(can)f(also)h(be)f(o)o(v)o(erridden)d
(using)j(the)g Ft(-o)h FA(option,)e(and)g(the)i(name)e(of)h(the)h
(interf)o(ace)-128 5577 y(\002le)g(can)f(be)g(speci\002ed)g(directly)g
(using)f(the)i Ft(-ohi)f FA(option.)p Black -128 6084
4252 5 v Black eop end
%%Page: 44 59
TeXDict begin 44 58 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.44) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(44)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.6.3)p
Black 90 w(The)k(sear)n(c)o(h)g(path)-128 262 y
SDict begin H.S end
-128
262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (search-path) cvn H.B /DEST pdfmark end
-128 262 a 114
x FA(In)e(your)f(program,)f(you)h(import)h(a)g(module)f
Ft(Foo)h FA(by)g(saying)f Ft(import)49 b(Foo)p FA(.)30
b(In)22 b Ft(--make)g FA(mode)f(or)h(GHCi,)h(GHC)g(will)f(look)g(for)f
(a)i(source)-128 476 y(\002le)h(for)e Ft(Foo)h FA(and)f(arrange)f(to)i
(compile)e(it)j(\002rst.)33 b(W)m(ithout)22 b Ft(--make)p
FA(,)h(GHC)g(will)h(look)e(for)g(the)g(interf)o(ace)g(\002le)i(for)e
Ft(Foo)p FA(,)h(which)f(should)g(ha)n(v)o(e)-128 575
y(been)c(created)g(by)g(an)g(earlier)g(compilation)f(of)h
Ft(Foo)p FA(.)24 b(GHC)c(uses)f(the)f(same)h(strate)o(gy)e(in)i(each)f
(of)g(these)h(cases)g(for)f(\002nding)f(the)h(appropriate)f(\002le.)
-128 725 y(This)i(strate)o(gy)f(is)h(as)g(follo)n(ws:)24
b(GHC)19 b(k)o(eeps)f(a)h(list)h(of)e(directories)f(called)h(the)h
Fq(sear)m(c)o(h)f(path)p FA(.)23 b(F)o(or)18 b(each)g(of)g(these)h
(directories,)f(it)h(tries)g(appending)-128 825 y Fr(basename)p
Ft(.)p Fr(extension)j FA(to)j(the)f(directory)-5 b(,)23
b(and)h(checks)f(whether)h(the)g(\002le)h(e)o(xists.)38
b(The)24 b(v)n(alue)f(of)h Fr(basename)g FA(is)h(the)f(module)f(name)h
(with)-128 924 y(dots)d(replaced)d(by)i(the)g(directory)f(separator)g
(\('/')h(or)f('\\',)h(depending)e(on)i(the)g(system\),)g(and)f
Fr(extension)g FA(is)i(a)g(source)e(e)o(xtension)g(\()p
Ft(hs)p FA(,)h Ft(lhs)p FA(\))g(if)-128 1024 y(we)h(are)f(in)g
Ft(--make)g FA(mode)f(or)h(GHCi,)h(or)f Fr(hisuf)25 b
FA(otherwise.)-128 1173 y(F)o(or)d(e)o(xample,)e(suppose)h(the)h
(search)f(path)h(contains)f(directories)f Ft(d1)p FA(,)i
Ft(d2)p FA(,)h(and)e Ft(d3)p FA(,)h(and)f(we)h(are)g(in)g
Ft(--make)f FA(mode)g(looking)f(for)h(the)h(source)-128
1273 y(\002le)f(for)f(a)g(module)f Ft(A.B.C)p FA(.)h(GHC)h(will)g(look)
e(in)i Ft(d1/A/B/C.hs)p FA(,)d Ft(d1/A/B/C.lhs)p FA(,)g
Ft(d2/A/B/C.hs)p FA(,)h(and)g(so)i(on.)-128 1422 y(The)h(search)g(path)
g(by)g(def)o(ault)f(contains)h(a)g(single)g(directory:)28
b(`.)-6 b(')31 b(\(i.e.)g(the)22 b(current)f(directory\).)28
b(The)22 b(follo)n(wing)f(options)g(can)h(be)g(used)g(to)h(add)-128
1522 y(to)e(or)f(change)f(the)h(contents)f(of)h(the)g(search)g(path:)p
Black -128 1738 a Fh(-i)p Ff(dirs)p Black 41 w FA(This)h(\003ag)f
(appends)f(a)i(colon-separated)c(list)k(of)f Ft(dirs)g
FA(to)g(the)h(search)e(path.)p Black -128 1904 a Fh(-i)p
Black 42 w FA(resets)h(the)h(search)e(path)h(back)g(to)g(nothing.)-128
2120 y(This)31 b(isn')o(t)g(the)g(whole)f(story:)46 b(GHC)32
b(also)f(looks)f(for)g(modules)g(in)h(pre-compiled)d(libraries,)33
b(kno)n(wn)c(as)i(packages.)56 b(See)31 b(the)g(section)f(on)-128
2219 y(packages)19 b(\(Section)p 1 0 0 TeXcolorrgb 495
2220 a
SDict begin H.S end
495 2220 a 1 0 0 TeXcolorrgb -1 x FA(4.8)p 1 0 0
TeXcolorrgb 599 2163 a
SDict begin H.R end
599 2163 a 599 2219 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.8) cvn H.B /ANN pdfmark end
599 2219
a Black FA(\))h(for)g(details.)-128 2353 y
SDict begin H.S end
-128 2353
a -128 2353 a
SDict begin 12 H.A end
-128 2353 a -128 2353 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.4) cvn H.B /DEST pdfmark end
-128 2353 a Black
149 x Fp(4.6.4)p Black 90 w(Redirecting)j(the)h(compilation)f
(output\(s\))-128 2590 y
SDict begin H.S end
-128 2590 a -128 2590 a
SDict begin 12 H.A end
-128
2590 a -128 2590 a
SDict begin [ /View [/XYZ H.V] /Dest (options-output) cvn H.B /DEST pdfmark end
-128 2590 a Black -107 2771 a Fh(-o)e
Ff(file)p Black 61 w FA(GHC')-5 b(s)25 b(compiled)d(output)g(normally)g
(goes)i(into)f(a)h Ft(.hc)p FA(,)g Ft(.o)p FA(,)g(etc.,)g(\002le,)h
(depending)c(on)i(the)g(last-run)g(compilation)f(phase.)34
b(The)80 2871 y(option)19 b Ft(-o)49 b Fr(file)20 b FA(re-directs)g
(the)g(output)f(of)h(that)g(last-run)f(phase)h(to)h Fr(file)p
FA(.)80 3003 y(Note:)35 b(this)25 b(\223feature\224)f(can)h(be)g
(counterintuiti)n(v)o(e:)32 b Fu(ghc)25 b(-C)g(-o)g(f)n(oo.o)e(f)n
(oo.hs)h FA(will)i(put)f(the)g(intermediate)f(C)h(code)g(in)g(the)g
(\002le)h Ft(foo.o)p FA(,)80 3103 y(name)20 b(notwithstanding!)80
3236 y(This)g(option)f(is)i(most)g(often)e(used)h(when)g(creating)f(an)
h(e)o(x)o(ecutable)e(\002le,)j(to)f(set)h(the)f(\002lename)g(of)g(the)g
(e)o(x)o(ecutable.)j(F)o(or)d(e)o(xample:)-128 3304 y
SDict begin H.S end
-128 3304 a -128 3304 a
SDict begin 12 H.A end
-128 3304 a -128 3304 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-107) cvn H.B /DEST pdfmark end
-128
3304 a 0.95 TeXcolorgray 55 3319 4095 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3410 25 92 v Black 0.95 TeXcolorgray 80 3410 4045
92 v Black 0.95 TeXcolorgray 4124 3410 25 92 v Black
0.95 TeXcolorgray Black 80 3383 a
SDict begin H.S end
80 3383 a 80 3383 a
SDict begin 11 H.A end
80 3383 a 80 3383 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-107.1) cvn H.B /DEST pdfmark end
80 3383 a 0 0 0 TeXcolorrgb 134 w
Fo(ghc)p Black 45 w(-)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0
TeXcolorrgb 44 w(prog)p Black 44 w(--)p 0 0 0 TeXcolorrgb(make)p
Black 0 0 0 TeXcolorrgb 44 w(Main)p Black 0.95 TeXcolorgray
55 3435 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 3593 a FA(will)h(compile)e(the)h(program)e(starting)i(with)h
(module)d Ft(Main)i FA(and)g(put)g(the)g(e)o(x)o(ecutable)e(in)j(the)f
(\002le)h Ft(prog)p FA(.)80 3726 y(Note:)38 b(on)27 b(W)m(indo)n(ws,)h
(if)f(the)g(result)f(is)i(an)f(e)o(x)o(ecutable)e(\002le,)k(the)e(e)o
(xtension)e(")p Ft(.exe)p FA(")h(is)i(added)e(if)h(the)g(speci\002ed)f
(\002lename)h(does)f(not)80 3825 y(already)19 b(ha)n(v)o(e)h(an)g(e)o
(xtension.)j(Thus)-128 3893 y
SDict begin H.S end
-128 3893 a -128 3893 a
SDict begin 12 H.A end
-128 3893 a -128 3893 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-108) cvn H.B /DEST pdfmark end
-128 3893 a 0.95 TeXcolorgray
55 3908 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 4000 25 92 v
Black 0.95 TeXcolorgray 80 4000 4045 92 v Black 0.95
TeXcolorgray 4124 4000 25 92 v Black 0.95 TeXcolorgray
Black 80 3972 a
SDict begin H.S end
80 3972 a 80 3972 a
SDict begin 11 H.A end
80 3972 a 80 3972
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-108.1) cvn H.B /DEST pdfmark end
80 3972 a 0 0 0 TeXcolorrgb 134 w Fo(ghc)p Black 45
w(-)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44
w(foo)p Black 0 0 0 TeXcolorrgb 45 w(Main)p Black -1
w(.)p 0 0 0 TeXcolorrgb(hs)p Black 0.95 TeXcolorgray
55 4025 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 4182 a FA(will)e(compile)e(and)h(link)g(the)g(module)f
Ft(Main.hs)p FA(,)g(and)h(put)f(the)i(resulting)e(e)o(x)o(ecutable)f
(in)j Ft(foo.exe)e FA(\(not)h Ft(foo)p FA(\).)80 4315
y(If)g(you)g(use)g Fu(ghc)h(--mak)o(e)f FA(and)g(you)f(don')o(t)g(use)h
(the)h Ft(-o)p FA(,)f(the)h(name)e(GHC)j(will)f(choose)e(for)h(the)g(e)
o(x)o(ecutable)f(will)i(be)f(based)g(on)g(the)h(name)80
4415 y(of)i(the)f(\002le)i(containing)d(the)i(module)e
Ft(Main)p FA(.)33 b(Note)23 b(that)g(with)g(GHC)g(the)g
Ft(Main)g FA(module)f(doesn')o(t)f(ha)n(v)o(e)h(to)h(be)g(put)f(in)h
(\002le)h Ft(Main.hs)p FA(.)80 4514 y(Thus)c(both)-128
4565 y
SDict begin H.S end
-128 4565 a -128 4565 a
SDict begin 12 H.A end
-128 4565 a -128 4565
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-109) cvn H.B /DEST pdfmark end
-128 4565 a 0.95 TeXcolorgray 55 4597 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 4689 25 92 v Black 0.95 TeXcolorgray
80 4689 4045 92 v Black 0.95 TeXcolorgray 4124 4689 25
92 v Black 0.95 TeXcolorgray Black 80 4661 a
SDict begin H.S end
80 4661
a 80 4661 a
SDict begin 11 H.A end
80 4661 a 80 4661 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-109.1) cvn H.B /DEST pdfmark end
80 4661 a 0 0 0 TeXcolorrgb
134 w Fo(ghc)p Black 45 w(--)p 0 0 0 TeXcolorrgb -1 w(make)p
Black 0 0 0 TeXcolorrgb 45 w(Prog)p Black 0.95 TeXcolorgray
55 4714 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 4871 a FA(and)-128 4922 y
SDict begin H.S end
-128 4922 a -128 4922
a
SDict begin 12 H.A end
-128 4922 a -128 4922 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-110) cvn H.B /DEST pdfmark end
-128 4922 a 0.95 TeXcolorgray
55 4954 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 5046 25 92 v
Black 0.95 TeXcolorgray 80 5046 4045 92 v Black 0.95
TeXcolorgray 4124 5046 25 92 v Black 0.95 TeXcolorgray
Black 80 5018 a
SDict begin H.S end
80 5018 a 80 5018 a
SDict begin 11 H.A end
80 5018 a 80 5018
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-110.1) cvn H.B /DEST pdfmark end
80 5018 a 0 0 0 TeXcolorrgb 134 w Fo(ghc)p Black 45
w(--)p 0 0 0 TeXcolorrgb -1 w(make)p Black 0 0 0 TeXcolorrgb
45 w(Prog)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
0.95 TeXcolorgray 55 5071 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 5228 a FA(will)h(produce)d Ft(Prog)i
FA(\(or)g Ft(Prog.exe)f FA(if)h(you)g(are)g(on)g(W)m(indo)n(ws\).)p
Black -107 5394 a Fh(-odir)g Ff(dir)p Black 66 w FA(Redirects)g(object)
g(\002les)h(to)f(directory)f Fr(dir)s FA(.)24 b(F)o(or)c(e)o(xample:)
-128 5462 y
SDict begin H.S end
-128 5462 a -128 5462 a
SDict begin 12 H.A end
-128 5462 a -128
5462 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-111) cvn H.B /DEST pdfmark end
-128 5462 a 0.95 TeXcolorgray 55 5478 4095 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 5569 25 92 v Black 0.95 TeXcolorgray
80 5569 4045 92 v Black 0.95 TeXcolorgray 4124 5569 25
92 v Black 0.95 TeXcolorgray Black 80 5541 a
SDict begin H.S end
80 5541
a 80 5541 a
SDict begin 11 H.A end
80 5541 a 80 5541 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-111.1) cvn H.B /DEST pdfmark end
80 5541 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghc)p Black 44 w(-)p
0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb 44 w(parse)p
Black(/)p 0 0 0 TeXcolorrgb -1 w(Foo)p Black(.)p 0 0 0
TeXcolorrgb(hs)p Black 0 0 0 TeXcolorrgb 44 w(parse)p
Black -1 w(/)p 0 0 0 TeXcolorrgb(Bar)p Black(.)p 0 0 0
TeXcolorrgb(hs)p Black 0 0 0 TeXcolorrgb 44 w(gurgle)p
Black -1 w(/)p 0 0 0 TeXcolorrgb(Bumble)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black 44 w(-)p 0 0 0 TeXcolorrgb(odir)p
Black 44 w(`)p 0 0 0 TeXcolorrgb(uname)p Black 44 w(-)p
0 0 0 TeXcolorrgb(m)p Black(`)p 0.95 TeXcolorgray 55
5594 4095 25 v Black 0.95 TeXcolorgray Black Black Black
-128 6084 4252 5 v Black eop end
%%Page: 45 60
TeXDict begin 45 59 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.45) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(45)20 b(/)g(224)p
-128 -179 4252 5 v Black Black 80 173 a FA(The)26 b(object)f(\002les,)k
Ft(Foo.o)p FA(,)e Ft(Bar.o)p FA(,)g(and)f Ft(Bumble.o)f
FA(w)o(ould)g(be)h(put)g(into)g(a)h(subdirectory)c(named)i(after)h(the)
g(architecture)f(of)h(the)80 273 y(e)o(x)o(ecuting)18
b(machine)h(\()p Ft(x86)p FA(,)h Ft(mips)p FA(,)f(etc\).)80
406 y(Note)h(that)g(the)g Ft(-odir)f FA(option)g(does)g
Fq(not)i FA(af)n(fect)f(where)f(the)h(interf)o(ace)f(\002les)i(are)e
(put;)h(use)g(the)g Ft(-hidir)f FA(option)g(for)g(that.)25
b(In)20 b(the)g(abo)o(v)o(e)80 505 y(e)o(xample,)f(the)o(y)g(w)o(ould)g
(still)j(be)e(put)g(in)g Ft(parse/Foo.hi)p FA(,)e Ft(parse/Bar.hi)p
FA(,)h(and)g Ft(gurgle/Bumble.hi)p FA(.)p Black -107
671 a Fh(-ohi)h Ff(file)p Black 62 w FA(The)g(interf)o(ace)g(output)f
(may)h(be)h(directed)e(to)i(another)e(\002le)i Ft(bar2/Wurble.iface)d
FA(with)j(the)g(option)e Ft(-ohi)49 b(bar2/Wu-)80 771
y(rble.iface)19 b FA(\(not)g(recommended\).)80 904 y(W)-10
b(ARNING:)26 b(if)f(you)f(redirect)g(the)h(interf)o(ace)f(\002le)i
(some)n(where)d(that)i(GHC)h(can')o(t)e(\002nd)h(it,)i(then)d(the)h
(recompilation)e(check)o(er)g(may)i(get)80 1003 y(confused)20
b(\(at)h(the)h(least,)g(you)f(w)o(on')o(t)f(get)i(an)o(y)f
(recompilation)e(a)n(v)n(oidance\).)27 b(W)-7 b(e)23
b(recommend)c(using)i(a)h(combination)d(of)j Ft(-hidir)f
FA(and)80 1103 y Ft(-hisuf)f FA(options)f(instead,)h(if)g(possible.)80
1236 y(T)-7 b(o)21 b(a)n(v)n(oid)f(generating)e(an)j(interf)o(ace)e(at)
i(all,)g(you)f(could)f(use)i(this)g(option)e(to)i(redirect)e(the)i
(interf)o(ace)e(into)i(the)f(bit)h(b)n(uck)o(et:)k Ft(-ohi)49
b(/de-)80 1336 y(v/null)p FA(,)19 b(for)h(e)o(xample.)p
Black -107 1502 a Fh(-hidir)g Ff(dir)p Black 66 w FA(Redirects)g(all)h
(generated)d(interf)o(ace)i(\002les)h(into)f Fr(dir)s
FA(,)f(instead)h(of)g(the)g(def)o(ault.)p Black -107
1668 a Fh(-stubdir)f Ff(dir)p Black 66 w FA(Redirects)28
b(all)g(generated)d(FFI)j(stub)f(\002les)i(into)e Fr(dir)s
FA(.)46 b(Stub)27 b(\002les)h(are)g(generated)d(when)i(the)g(Hask)o
(ell)h(source)f(contains)80 1767 y(a)g Ft(foreign)49
b(export)26 b FA(or)g Ft(foreign)48 b(import)h("&wrapper")26
b FA(declaration)f(\(see)h(Section)p 1 0 0 TeXcolorrgb
3071 1768 a
SDict begin H.S end
3071 1768 a 1 0 0 TeXcolorrgb -1 x FA(8.2.1)p
1 0 0 TeXcolorrgb 3237 1711 a
SDict begin H.R end
3237 1711 a 3237 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.8.2.1) cvn H.B /ANN pdfmark end
3237 1767 a Black FA(\).)44 b(The)27 b Ft(-stubdir)e
FA(option)80 1867 y(beha)n(v)o(es)19 b(in)i(e)o(xactly)e(the)h(same)g
(w)o(ay)h(as)g Ft(-odir)e FA(and)h Ft(-hidir)g FA(with)g(respect)g(to)g
(hierarchical)f(modules.)p Black -107 2033 a Fh(-outputdir)g
Ff(dir)p Black 66 w FA(The)h Ft(-outputdir)f FA(option)g(is)i
(shorthand)d(for)h(the)i(combination)d(of)h Ft(-odir)p
FA(,)h Ft(-hidir)p FA(,)f(and)h Ft(-stubdir)p FA(.)p
Black -107 2199 a Fh(-osuf)g Ff(suffix)25 b Fu(,)c Fh(-hisuf)e
Ff(suffix)25 b Fu(,)c Fh(-hcsuf)e Ff(suffix)p Black 67
w FA(The)24 b Ft(-osuf)g Fr(suffix)k FA(will)d(change)e(the)i
Ft(.o)f FA(\002le)i(suf)n(\002x)e(for)f(object)h(\002les)i(to)80
2299 y(whate)n(v)o(er)19 b(you)h(specify)-5 b(.)24 b(W)-7
b(e)22 b(use)f(this)g(when)f(compiling)e(libraries,)i(so)h(that)g
(objects)f(for)g(the)g(pro\002ling)f(v)o(ersions)h(of)g(the)h
(libraries)f(don')o(t)80 2398 y(clobber)f(the)h(normal)f(ones.)80
2531 y(Similarly)-5 b(,)19 b(the)h Ft(-hisuf)g Fr(suffix)k
FA(will)d(change)e(the)h Ft(.hi)g FA(\002le)h(suf)n(\002x)f(for)f
(non-system)g(interf)o(ace)g(\002les)i(\(see)g(Section)p
1 0 0 TeXcolorrgb 3609 2532 a
SDict begin H.S end
3609 2532 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.7)p 1 0 0 TeXcolorrgb 3775 2475 a
SDict begin H.R end
3775 2475
a 3775 2531 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.7) cvn H.B /ANN pdfmark end
3775 2531 a Black FA(\).)80 2664 y(Finally)-5
b(,)19 b(the)i(option)e Ft(-hcsuf)g Fr(suffix)24 b FA(will)d(change)e
(the)h Ft(.hc)g FA(\002le)h(suf)n(\002x)f(for)f(compiler)n(-generated)e
(intermediate)i(C)i(\002les.)80 2797 y(The)f Ft(-hisuf)p
FA(/)p Ft(-osuf)f FA(game)g(is)i(particularly)e(useful)h(if)g(you)g(w)o
(ant)g(to)g(compile)g(a)h(program)d(both)h(with)i(and)e(without)h
(pro\002ling,)f(in)h(the)80 2896 y(same)g(directory)-5
b(.)23 b(Y)-9 b(ou)20 b(can)g(say:)-128 2964 y
SDict begin H.S end
-128 2964
a -128 2964 a
SDict begin 12 H.A end
-128 2964 a -128 2964 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-112) cvn H.B /DEST pdfmark end
-128 2964 a 0.95
TeXcolorgray 55 2979 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3071
25 92 v Black 0.95 TeXcolorgray 80 3071 4045 92 v Black
0.95 TeXcolorgray 4124 3071 25 92 v Black 0.95 TeXcolorgray
Black 80 3043 a
SDict begin H.S end
80 3043 a 80 3043 a
SDict begin 11 H.A end
80 3043 a 80 3043
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-112.1) cvn H.B /DEST pdfmark end
80 3043 a 0 0 0 TeXcolorrgb 359 w Fo(ghc)p Black 44
w(...)p 0.95 TeXcolorgray 55 3096 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 3253 a FA(to)g(get)h(the)f(ordinary)e
(v)o(ersion,)g(and)-128 3321 y
SDict begin H.S end
-128 3321 a -128 3321
a
SDict begin 12 H.A end
-128 3321 a -128 3321 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-113) cvn H.B /DEST pdfmark end
-128 3321 a 0.95 TeXcolorgray
55 3336 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 3428 25 92 v
Black 0.95 TeXcolorgray 80 3428 4045 92 v Black 0.95
TeXcolorgray 4124 3428 25 92 v Black 0.95 TeXcolorgray
Black 80 3400 a
SDict begin H.S end
80 3400 a 80 3400 a
SDict begin 11 H.A end
80 3400 a 80 3400
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-113.1) cvn H.B /DEST pdfmark end
80 3400 a 0 0 0 TeXcolorrgb 359 w Fo(ghc)p Black 44
w(...)44 b(-)p 0 0 0 TeXcolorrgb(osuf)p Black 0 0 0 TeXcolorrgb
44 w(prof)p Black(.)p 0 0 0 TeXcolorrgb -1 w(o)p Black
45 w(-)p 0 0 0 TeXcolorrgb(hisuf)p Black 0 0 0 TeXcolorrgb
44 w(prof)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hi)p Black
45 w(-)p 0 0 0 TeXcolorrgb -1 w(prof)p Black 45 w(-)p
0 0 0 TeXcolorrgb -1 w(auto)p Black(-)p 0 0 0 TeXcolorrgb(all)p
Black 0.95 TeXcolorgray 55 3453 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 3610 a FA(to)20 b(get)h(the)f
(pro\002led)f(v)o(ersion.)-128 3744 y
SDict begin H.S end
-128 3744 a -128
3744 a
SDict begin 12 H.A end
-128 3744 a -128 3744 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.5) cvn H.B /DEST pdfmark end
-128 3744 a Black 148
x Fp(4.6.5)p Black 90 w(K)o(eeping)k(Intermediate)g(Files)-128
3981 y
SDict begin H.S end
-128 3981 a -128 3981 a
SDict begin 12 H.A end
-128 3981 a -128 3981
a
SDict begin [ /View [/XYZ H.V] /Dest (keeping-intermediates) cvn H.B /DEST pdfmark end
-128 3981 a 115 x FA(The)k(follo)n(wing)e(options)h(are)h(useful)f
(for)g(k)o(eeping)g(certain)g(intermediate)f(\002les)j(around,)e(when)g
(normally)g(GHC)h(w)o(ould)f(thro)n(w)g(these)h(a)o(w)o(ay)-128
4195 y(after)20 b(compilation:)p Black -107 4411 a Fh(-keep-hc-file)p
Fu(,)e Fh(-keep-hc-files)p Black 81 w FA(K)n(eep)28 b(intermediate)f
Ft(.hc)i FA(\002les)h(when)e(doing)g Ft(.hs)p FA(-to-)p
Ft(.o)f FA(compilations)g(via)i(C)h(\(NO)m(TE:)80 4511
y Ft(.hc)f FA(\002les)i(aren')o(t)d(generated)f(when)i(using)g(the)g
(nati)n(v)o(e)g(code)g(generator)m(,)g(you)f(may)h(need)g(to)g(use)h
Ft(-fvia-C)f FA(to)g(force)g(them)g(to)g(be)80 4610 y(produced\).)p
Black -107 4776 a Fh(-keep-s-file)p Fu(,)18 b Fh(-keep-s-files)p
Black 81 w FA(K)n(eep)i(intermediate)f Ft(.s)h FA(\002les.)p
Black -107 4942 a Fh(-keep-raw-s-file)p Fu(,)e Fh(-keep-raw-s-files)p
Black 80 w FA(K)n(eep)24 b(intermediate)g Ft(.raw-s)g
FA(\002les.)41 b(These)25 b(are)g(the)g(direct)f(output)g(from)g(the)h
(C)80 5042 y(compiler)m(,)f(before)f(GHC)i(does)f(\223assembly)g
(mangling\224)e(to)j(produce)d(the)i Ft(.s)h FA(\002le.)38
b(Again,)25 b(these)f(are)g(not)g(produced)e(when)i(using)g(the)80
5142 y(nati)n(v)o(e)19 b(code)h(generator)-5 b(.)p Black
-107 5308 a Fh(-keep-tmp-files)p Black 80 w FA(Instructs)22
b(the)g(GHC)h(dri)n(v)o(er)e(not)h(to)g(delete)g(an)o(y)g(of)g(its)h
(temporary)d(\002les,)j(which)f(it)h(normally)d(k)o(eeps)i(in)h
Ft(/tmp)f FA(\(or)80 5407 y(possibly)g(else)n(where;)h(see)g(Section)p
1 0 0 TeXcolorrgb 1158 5408 a
SDict begin H.S end
1158 5408 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.6)p 1 0 0 TeXcolorrgb 1324 5351 a
SDict begin H.R end
1324 5351
a 1324 5407 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.6) cvn H.B /ANN pdfmark end
1324 5407 a Black FA(\).)31 b(Running)21
b(GHC)i(with)g Ft(-v)g FA(will)g(sho)n(w)f(you)f(what)i(temporary)d
(\002les)j(were)f(generated)f(along)80 5507 y(the)f(w)o(ay)-5
b(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 46 61
TeXDict begin 46 60 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.46) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(46)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.6) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.6.6)p
Black 90 w(Redirecting)j(temporar)q(y)g(\002les)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (temp-files) cvn H.B /DEST pdfmark end
-128
262 a Black -107 443 a Fh(-tmpdir)p Black 61 w FA(If)g(you)g(ha)n(v)o
(e)g(trouble)f(because)h(of)g(running)e(out)i(of)g(space)h(in)f
Ft(/tmp)g FA(\(or)g(where)n(v)o(er)f(your)g(installation)h(thinks)g
(temporary)e(\002les)80 542 y(should)f(go\),)h(you)f(may)h(use)g(the)g
Ft(-tmpdir)49 b()21 b FA(option)e(to)j(specify)e(an)h(alternate)g
(directory)-5 b(.)26 b(F)o(or)21 b(e)o(xample,)e Ft(-tmpdir)49
b(.)28 b FA(says)80 642 y(to)20 b(put)g(temporary)e(\002les)j(in)g(the)
f(current)f(w)o(orking)f(directory)-5 b(.)80 775 y(Alternati)n(v)o(ely)
g(,)18 b(use)i(your)f Ft(TMPDIR)h FA(en)m(vironment)d(v)n(ariable.)24
b(Set)d(it)g(to)f(the)h(name)e(of)h(the)g(directory)f(where)h
(temporary)e(\002les)j(should)e(be)80 874 y(put.)25 b(GCC)c(and)f
(other)f(programs)f(will)j(honour)d(the)i Ft(TMPDIR)g
FA(v)n(ariable)f(as)i(well.)80 1007 y(Ev)o(en)e(better)i(idea:)k(Set)c
(the)g Ft(DEFAULT_TMPDIR)d FA(mak)o(e)j(v)n(ariable)e(when)h(b)n
(uilding)f(GHC,)i(and)f(ne)n(v)o(er)f(w)o(orry)h(about)f
Ft(TMPDIR)h FA(again.)80 1107 y(\(see)g(the)h(b)n(uild)e
(documentation\).)-128 1238 y
SDict begin H.S end
-128 1238 a -128 1238 a
SDict begin 12 H.A end
-128 1238 a -128 1238 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.7) cvn H.B /DEST pdfmark end
-128 1238 a Black 151 x Fp(4.6.7)p
Black 90 w(Other)24 b(options)f(related)h(to)h(interface)e(\002les)-128
1478 y
SDict begin H.S end
-128 1478 a -128 1478 a
SDict begin 12 H.A end
-128 1478 a -128 1478
a
SDict begin [ /View [/XYZ H.V] /Dest (hi-options) cvn H.B /DEST pdfmark end
-128 1478 a Black -107 1658 a Fh(-ddump-hi)p Black
61 w FA(Dumps)c(the)i(ne)n(w)f(interf)o(ace)f(to)h(standard)f(output.)p
Black -107 1825 a Fh(-ddump-hi-diffs)p Black 60 w FA(The)f(compiler)f
(does)i(not)f(o)o(v)o(erwrite)f(an)h(e)o(xisting)g Ft(.hi)h
FA(interf)o(ace)e(\002le)j(if)e(the)h(ne)n(w)f(one)g(is)i(the)f(same)f
(as)i(the)e(old)g(one;)80 1924 y(this)f(is)g(friendly)e(to)i
Fu(mak)o(e)p FA(.)24 b(When)16 b(an)h(interf)o(ace)e(does)h(change,)g
(it)h(is)h(often)d(enlightening)f(to)j(be)f(informed.)22
b(The)16 b Ft(-ddump-hi-diffs)80 2024 y FA(option)j(will)i(mak)o(e)f
(GHC)h(report)e(the)h(dif)n(ferences)e(between)i(the)g(old)g(and)f(ne)n
(w)h Ft(.hi)h FA(\002les.)p Black -107 2190 a Fh
(-ddump-minimal-imports)p Black 58 w FA(Dump)26 b(to)g(the)h(\002le)g
("M.imports")d(\(where)i(M)h(is)g(the)f(module)f(being)g(compiled\))g
(a)i("minimal")e(set)i(of)80 2289 y(import)22 b(declarations.)33
b(Y)-9 b(ou)23 b(can)g(safely)g(replace)f(all)i(the)g(import)e
(declarations)g(in)h("M.hs")g(with)h(those)f(found)e(in)j("M.imports".)
32 b(Why)80 2389 y(w)o(ould)c(you)g(w)o(ant)h(to)f(do)h(that?)50
b(Because)29 b(the)g("minimal")f(imports)f(\(a\))i(import)f(e)n(v)o
(erything)e(e)o(xplicitly)-5 b(,)29 b(by)f(name,)i(and)e(\(b\))g
(import)80 2489 y(nothing)19 b(that)i(is)g(not)f(required.)25
b(It)c(can)f(be)h(quite)f(painful)f(to)i(maintain)f(this)h(property)e
(by)h(hand,)f(so)i(this)g(\003ag)g(is)h(intended)d(to)i(reduce)e(the)80
2588 y(labour)-5 b(.)p Black -107 2754 a Fh(--show-iface)19
b Ff(file)p Black 62 w FA(where)h Fr(file)h FA(is)h(the)f(name)g(of)g
(an)g(interf)o(ace)f(\002le,)i(dumps)e(the)h(contents)f(of)h(that)g
(interf)o(ace)g(in)g(a)h(human-readable)80 2854 y(\(ish\))e(format.)k
(See)c(Section)p 1 0 0 TeXcolorrgb 931 2855 a
SDict begin H.S end
931 2855
a 1 0 0 TeXcolorrgb -1 x FA(4.4)p 1 0 0 TeXcolorrgb 1035
2798 a
SDict begin H.R end
1035 2798 a 1035 2854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
1035 2854 a Black FA(.)-128
2985 y
SDict begin H.S end
-128 2985 a -128 2985 a
SDict begin 12 H.A end
-128 2985 a -128 2985
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.8) cvn H.B /DEST pdfmark end
-128 2985 a Black 151 x Fp(4.6.8)p Black 90 w(The)k(recompilation)f
(c)o(hec)n(ker)-128 3225 y
SDict begin H.S end
-128 3225 a -128 3225 a
SDict begin 12 H.A end
-128
3225 a -128 3225 a
SDict begin [ /View [/XYZ H.V] /Dest (recomp) cvn H.B /DEST pdfmark end
-128 3225 a Black -107 3406 a Fh(-fforce-recomp)p
Black 81 w FA(T)l(urn)c(of)n(f)h(recompilation)e(checking)h(\(which)g
(is)j(on)d(by)h(def)o(ault\).)25 b(Recompilation)19 b(checking)f
(normally)h(stops)i(com-)80 3505 y(pilation)e(early)-5
b(,)20 b(lea)n(ving)f(an)h(e)o(xisting)g Ft(.o)g FA(\002le)h(in)f
(place,)g(if)g(it)h(can)f(be)g(determined)f(that)h(the)g(module)f(does)
h(not)g(need)f(to)i(be)f(recompiled.)-128 3721 y(In)j(the)f(olden)g
(days,)h(GHC)g(compared)e(the)h(ne)n(wly-generated)e
Ft(.hi)i FA(\002le)i(with)e(the)h(pre)n(vious)e(v)o(ersion;)i(if)g(the)
o(y)f(were)g(identical,)g(it)i(left)f(the)f(old)-128
3821 y(one)j(alone)f(and)h(didn')o(t)e(change)h(its)i(modi\002cation)d
(date.)40 b(In)25 b(consequence,)e(importers)h(of)h(a)g(module)f(with)h
(an)g(unchanged)d(output)i Ft(.hi)h FA(\002le)-128 3920
y(were)c(not)e(recompiled.)-128 4070 y(This)27 b(doesn')o(t)d(w)o(ork)h
(an)o(y)g(more.)42 b(Suppose)25 b(module)f Ft(C)i FA(imports)g(module)e
Ft(B)p FA(,)i(and)g Ft(B)g FA(imports)f(module)g Ft(A)p
FA(.)h(So)g(changes)f(to)h(module)e Ft(A)j FA(might)-128
4169 y(require)18 b(module)g Ft(C)i FA(to)f(be)g(recompiled,)e(and)i
(hence)f(when)h Ft(A.hi)g FA(changes)f(we)i(should)e(check)g(whether)h
Ft(C)g FA(should)f(be)h(recompiled.)k(Ho)n(we)n(v)o(er)m(,)-128
4269 y(the)e(dependencies)e(of)h Ft(C)i FA(will)f(only)f(list)i
Ft(B.hi)p FA(,)f(not)f Ft(A.hi)p FA(,)h(and)f(some)g(changes)g(to)h
Ft(A)g FA(\(changing)e(the)h(de\002nition)g(of)h(a)g(function)e(that)i
(appears)-128 4369 y(in)g(an)f(inlining)f(of)h(a)h(function)d(e)o
(xported)g(by)i Ft(B)p FA(,)g(say\))g(may)g(concei)n(v)n(ably)e(not)i
(change)e Ft(B.hi)i FA(one)g(jot.)25 b(So)c(no)n(w.)12
b(.)g(.)-128 4518 y(GHC)28 b(calculates)e(a)h(\002ngerprint)d(\(in)i(f)
o(act)h(an)f(MD5)g(hash\))g(of)g(each)g(interf)o(ace)g(\002le,)i(and)e
(of)g(each)g(declaration)f(within)h(the)g(interf)o(ace)g(\002le.)44
b(It)-128 4618 y(also)31 b(k)o(eeps)e(in)h(e)n(v)o(ery)f(interf)o(ace)g
(\002le)i(a)f(list)h(of)f(the)g(\002ngerprints)e(of)i(e)n(v)o(erything)
d(it)j(used)g(when)f(it)i(last)g(compiled)d(the)i(\002le.)55
b(If)30 b(the)g(source)-128 4717 y(\002le')-5 b(s)28
b(modi\002cation)e(date)g(is)i(earlier)f(than)f(the)h
Ft(.o)g FA(\002le')-5 b(s)28 b(date)f(\(i.e.)45 b(the)27
b(source)f(hasn')o(t)g(changed)f(since)i(the)g(\002le)g(w)o(as)h(last)g
(compiled\),)f(and)-128 4817 y(the)i(recompilation)e(checking)g(is)i
(on,)i(GHC)e(will)h(be)e(cle)n(v)o(er)-5 b(.)50 b(It)29
b(compares)f(the)h(\002ngerprints)e(on)h(the)h(things)f(it)i(needs)e
(this)h(time)g(with)g(the)-128 4917 y(\002ngerprints)23
b(on)h(the)h(things)f(it)h(needed)e(last)i(time)g(\(gleaned)d(from)i
(the)g(interf)o(ace)g(\002le)h(of)f(the)g(module)f(being)h(compiled\);)
g(if)h(the)o(y)f(are)g(all)h(the)-128 5016 y(same)c(it)g(stops)f
(compiling)f(early)g(in)i(the)f(process)g(saying)f(\223Compilation)g
(IS)i(NO)m(T)f(required\224.)j(What)d(a)h(beautiful)e(sight!)-128
5166 y(Y)-9 b(ou)20 b(can)g(read)g(about)p 0 1 0 0 TeXcolorcmyk
532 5167 a
SDict begin H.S end
532 5167 a 0 1 0 0 TeXcolorcmyk -1 x FA(ho)n(w)g(all)g(this)
h(w)o(orks)p 0 1 0 0 TeXcolorcmyk 1140 5109 a
SDict begin H.R end
1140 5109
a 1140 5166 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance) >> /Subtype /Link H.B /ANN pdfmark end
1140 5166 a Black 21 w FA(in)f(the)g(GHC)h(commentary)-5
b(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 47 62
TeXDict begin 47 61 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.47) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(47)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.9) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.6.9)p
Black 90 w(Ho)o(w)j(to)i(compile)f(m)n(utuall)o(y)f(recur)o(sive)g
(modules)-128 262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a
-128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (mutual-recursion) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(GHC)e(supports)f(the)g(compilation)e(of)
i(mutually)f(recursi)n(v)o(e)g(modules.)24 b(This)c(section)g(e)o
(xplains)f(ho)n(w)-5 b(.)-128 526 y(Ev)o(ery)19 b(c)o(ycle)f(in)i(the)g
(module)e(import)g(graph)g(must)i(be)f(brok)o(en)f(by)h(a)h
Ft(hs-)t(boot)f FA(\002le.)25 b(Suppose)19 b(that)g(modules)g
Ft(A.hs)g FA(and)g Ft(B.hs)g FA(are)h(Hask)o(ell)-128
625 y(source)g(\002les,)h(thus:)-128 687 y
SDict begin H.S end
-128 687 a
-128 687 a
SDict begin 12 H.A end
-128 687 a -128 687 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-114) cvn H.B /DEST pdfmark end
-128 687 a 0.95 TeXcolorgray
-153 708 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 800 25 92 v
Black 0.95 TeXcolorgray -128 800 4252 92 v Black 0.95
TeXcolorgray 4124 800 25 92 v Black 0.95 TeXcolorgray
Black -128 772 a
SDict begin H.S end
-128 772 a -128 772 a
SDict begin 11 H.A end
-128 772 a -128
772 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.1) cvn H.B /DEST pdfmark end
-128 772 a 0 0 0 TeXcolorrgb Fo(module)p Black
0 0 0 TeXcolorrgb 44 w(A)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 891 25 92 v Black 0.95 TeXcolorgray -128 891 4252
92 v Black 0.95 TeXcolorgray 4124 891 25 92 v Black 0.95
TeXcolorgray Black -128 864 a
SDict begin H.S end
-128 864 a -128 864 a
SDict begin 11 H.A end
-128
864 a -128 864 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.2) cvn H.B /DEST pdfmark end
-128 864 a 0 0 0 TeXcolorrgb 180 w Fo(import)p
Black 0 0 0 TeXcolorrgb 44 w(B)p Black -1 w(\()p 0 0 0
TeXcolorrgb 45 w(TB)p Black(\(..\))44 b(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 982 25 92 v Black 0.95 TeXcolorgray
-128 982 4252 92 v Black 0.95 TeXcolorgray 4124 982 25
92 v Black 0.95 TeXcolorgray Black -128 955 a
SDict begin H.S end
-128 955
a -128 955 a
SDict begin 11 H.A end
-128 955 a -128 955 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.3) cvn H.B /DEST pdfmark end
-128 955 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1074 25 92 v Black 0.95
TeXcolorgray -128 1074 4252 92 v Black 0.95 TeXcolorgray
4124 1074 25 92 v Black 0.95 TeXcolorgray Black -128
1046 a
SDict begin H.S end
-128 1046 a -128 1046 a
SDict begin 11 H.A end
-128 1046 a -128 1046
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.4) cvn H.B /DEST pdfmark end
-128 1046 a 0 0 0 TeXcolorrgb 180 w Fo(newtype)p Black
0 0 0 TeXcolorrgb 43 w(TA)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(MkTA)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1165 25
92 v Black 0.95 TeXcolorgray -128 1165 4252 92 v Black
0.95 TeXcolorgray 4124 1165 25 92 v Black 0.95 TeXcolorgray
Black -128 1138 a
SDict begin H.S end
-128 1138 a -128 1138 a
SDict begin 11 H.A end
-128 1138 a
-128 1138 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.5) cvn H.B /DEST pdfmark end
-128 1138 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1256 25 92 v Black 0.95 TeXcolorgray
-128 1256 4252 92 v Black 0.95 TeXcolorgray 4124 1256
25 92 v Black 0.95 TeXcolorgray Black -128 1229 a
SDict begin H.S end
-128
1229 a -128 1229 a
SDict begin 11 H.A end
-128 1229 a -128 1229 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.6) cvn H.B /DEST pdfmark end
-128 1229
a 0 0 0 TeXcolorrgb 180 w Fo(f)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(TB)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(TA)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1348 25 92 v Black 0.95 TeXcolorgray -128 1348 4252
92 v Black 0.95 TeXcolorgray 4124 1348 25 92 v Black
0.95 TeXcolorgray Black -128 1320 a
SDict begin H.S end
-128 1320 a -128
1320 a
SDict begin 11 H.A end
-128 1320 a -128 1320 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.7) cvn H.B /DEST pdfmark end
-128 1320 a 0 0 0 TeXcolorrgb
180 w Fo(f)p Black 44 w(\()p 0 0 0 TeXcolorrgb(MkTB)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black(\))h(=)p 0 0 0
TeXcolorrgb 45 w(MkTA)p Black 0 0 0 TeXcolorrgb 44 w(x)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1439 25 92 v Black 0.95 TeXcolorgray -128 1439 4252 92
v Black 0.95 TeXcolorgray 4124 1439 25 92 v Black 0.95
TeXcolorgray Black -128 1412 a
SDict begin H.S end
-128 1412 a -128 1412
a
SDict begin 11 H.A end
-128 1412 a -128 1412 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.8) cvn H.B /DEST pdfmark end
-128 1412 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1530 25 92 v Black 0.95
TeXcolorgray -128 1530 4252 92 v Black 0.95 TeXcolorgray
4124 1530 25 92 v Black 0.95 TeXcolorgray Black -128
1503 a
SDict begin H.S end
-128 1503 a -128 1503 a
SDict begin 11 H.A end
-128 1503 a -128 1503
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.9) cvn H.B /DEST pdfmark end
-128 1503 a 0 0 0 TeXcolorrgb Fo(module)p Black 0 0 0
TeXcolorrgb 44 w(B)p Black 0 0 0 TeXcolorrgb 45 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1622 25 92 v Black 0.95 TeXcolorgray -128 1622 4252 92
v Black 0.95 TeXcolorgray 4124 1622 25 92 v Black 0.95
TeXcolorgray Black -128 1594 a
SDict begin H.S end
-128 1594 a -128 1594
a
SDict begin 11 H.A end
-128 1594 a -128 1594 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.10) cvn H.B /DEST pdfmark end
-128 1594 a 0 0 0 TeXcolorrgb
180 w Fo(import)p Black 44 w({-#)p 0 0 0 TeXcolorrgb
44 w(SOURCE)p Black 44 w(#-})p 0 0 0 TeXcolorrgb 44 w(A)p
Black(\()p 0 0 0 TeXcolorrgb 45 w(TA)p Black -1 w(\(..\))f(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1713 25
92 v Black 0.95 TeXcolorgray -128 1713 4252 92 v Black
0.95 TeXcolorgray 4124 1713 25 92 v Black 0.95 TeXcolorgray
Black -128 1686 a
SDict begin H.S end
-128 1686 a -128 1686 a
SDict begin 11 H.A end
-128 1686 a
-128 1686 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.11) cvn H.B /DEST pdfmark end
-128 1686 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1804 25 92 v Black 0.95 TeXcolorgray
-128 1804 4252 92 v Black 0.95 TeXcolorgray 4124 1804
25 92 v Black 0.95 TeXcolorgray Black -128 1777 a
SDict begin H.S end
-128
1777 a -128 1777 a
SDict begin 11 H.A end
-128 1777 a -128 1777 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.12) cvn H.B /DEST pdfmark end
-128 1777
a 0 0 0 TeXcolorrgb 180 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(TB)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(MkTB)p
Black 44 w(!)p 0 0 0 TeXcolorrgb(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1896 25 92 v Black 0.95
TeXcolorgray -128 1896 4252 92 v Black 0.95 TeXcolorgray
4124 1896 25 92 v Black 0.95 TeXcolorgray Black -128
1868 a
SDict begin H.S end
-128 1868 a -128 1868 a
SDict begin 11 H.A end
-128 1868 a -128 1868
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.13) cvn H.B /DEST pdfmark end
-128 1868 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1987 25 92 v Black 0.95 TeXcolorgray -128 1987 4252
92 v Black 0.95 TeXcolorgray 4124 1987 25 92 v Black
0.95 TeXcolorgray Black -128 1959 a
SDict begin H.S end
-128 1959 a -128
1959 a
SDict begin 11 H.A end
-128 1959 a -128 1959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.14) cvn H.B /DEST pdfmark end
-128 1959 a 0 0 0 TeXcolorrgb
180 w Fo(g)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(TA)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(TB)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2078 25 92
v Black 0.95 TeXcolorgray -128 2078 4252 92 v Black 0.95
TeXcolorgray 4124 2078 25 92 v Black 0.95 TeXcolorgray
Black -128 2051 a
SDict begin H.S end
-128 2051 a -128 2051 a
SDict begin 11 H.A end
-128 2051 a
-128 2051 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-114.15) cvn H.B /DEST pdfmark end
-128 2051 a 0 0 0 TeXcolorrgb 180 w Fo(g)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(MkTA)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black(\))h(=)p 0 0 0 TeXcolorrgb
45 w(MkTB)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0.95
TeXcolorgray -153 2103 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2277 a FA(Here)26 b Ft(A)g FA(imports)e
Ft(B)p FA(,)j(b)n(ut)f Ft(B)g FA(imports)e Ft(A)i FA(with)g(a)g
Ft({-#)49 b(SOURCE)g(#-})25 b FA(pragma,)g(which)g(breaks)g(the)g
(circular)g(dependenc)o(y)-5 b(.)37 b(Ev)o(ery)24 b(loop)h(in)-128
2377 y(the)g(module)e(import)g(graph)g(must)h(be)g(brok)o(en)f(by)g(a)i
Ft({-#)49 b(SOURCE)g(#-})24 b FA(import;)i(or)m(,)e(equi)n(v)n(alently)
-5 b(,)23 b(the)h(module)f(import)g(graph)g(must)h(be)-128
2477 y(ac)o(yclic)c(if)h Ft({-#)49 b(SOURCE)f(#-})21
b FA(imports)e(are)h(ignored.)-128 2626 y(F)o(or)i(e)n(v)o(ery)f
(module)g Ft(A.hs)g FA(that)i(is)g Ft({-#)49 b(SOURCE)g(#-})p
FA(-imported)19 b(in)j(this)h(w)o(ay)f(there)g(must)g(e)o(xist)g(a)h
(source)e(\002le)i Ft(A.hs-boot)p FA(.)29 b(This)22 b(\002le)-128
2726 y(contains)e(an)g(abbre)n(viated)e(v)o(ersion)h(of)h
Ft(A.hs)p FA(,)g(thus:)-128 2788 y
SDict begin H.S end
-128 2788 a -128 2788
a
SDict begin 12 H.A end
-128 2788 a -128 2788 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-115) cvn H.B /DEST pdfmark end
-128 2788 a 0.95 TeXcolorgray
-153 2809 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2900 25 92
v Black 0.95 TeXcolorgray -128 2900 4252 92 v Black 0.95
TeXcolorgray 4124 2900 25 92 v Black 0.95 TeXcolorgray
Black -128 2873 a
SDict begin H.S end
-128 2873 a -128 2873 a
SDict begin 11 H.A end
-128 2873 a
-128 2873 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-115.1) cvn H.B /DEST pdfmark end
-128 2873 a 0 0 0 TeXcolorrgb Fo(module)p
Black 0 0 0 TeXcolorrgb 44 w(A)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2991 25 92 v Black 0.95 TeXcolorgray -128 2991 4252
92 v Black 0.95 TeXcolorgray 4124 2991 25 92 v Black
0.95 TeXcolorgray Black -128 2964 a
SDict begin H.S end
-128 2964 a -128
2964 a
SDict begin 11 H.A end
-128 2964 a -128 2964 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-115.2) cvn H.B /DEST pdfmark end
-128 2964 a 0 0 0 TeXcolorrgb
180 w Fo(newtype)p Black 0 0 0 TeXcolorrgb 43 w(TA)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkTA)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray -153 3016
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
3191 a FA(T)-7 b(o)21 b(compile)e(these)h(three)g(\002les,)h(issue)g
(the)f(follo)n(wing)f(commands:)-128 3258 y
SDict begin H.S end
-128 3258
a -128 3258 a
SDict begin 12 H.A end
-128 3258 a -128 3258 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-116) cvn H.B /DEST pdfmark end
-128 3258 a 0.95
TeXcolorgray -153 3274 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3365 25 92 v Black 0.95 TeXcolorgray -128 3365 4252 92
v Black 0.95 TeXcolorgray 4124 3365 25 92 v Black 0.95
TeXcolorgray Black -128 3338 a
SDict begin H.S end
-128 3338 a -128 3338
a
SDict begin 11 H.A end
-128 3338 a -128 3338 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-116.1) cvn H.B /DEST pdfmark end
-128 3338 a 0 0 0 TeXcolorrgb
90 w Fo(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(c)p Black
0 0 0 TeXcolorrgb 45 w(A)p Black(.)p 0 0 0 TeXcolorrgb(hs)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(boot)p Black 179 w(--)p
0 0 0 TeXcolorrgb 44 w(Produces)p Black 0 0 0 TeXcolorrgb
44 w(A)p Black(.)p 0 0 0 TeXcolorrgb -1 w(hi)p Black(-)p
0 0 0 TeXcolorrgb(boot)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(A)p Black(.)p 0 0 0 TeXcolorrgb(o)p Black -1 w(-)p
0 0 0 TeXcolorrgb(boot)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3456 25 92 v Black 0.95 TeXcolorgray
-128 3456 4252 92 v Black 0.95 TeXcolorgray 4124 3456
25 92 v Black 0.95 TeXcolorgray Black -128 3429 a
SDict begin H.S end
-128
3429 a -128 3429 a
SDict begin 11 H.A end
-128 3429 a -128 3429 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-116.2) cvn H.B /DEST pdfmark end
-128 3429
a 0 0 0 TeXcolorrgb 90 w Fo(ghc)p Black 44 w(-)p 0 0 0
TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb 45 w(B)p Black(.)p
0 0 0 TeXcolorrgb(hs)p Black 403 w(--)p 0 0 0 TeXcolorrgb
44 w(Consumes)p Black 0 0 0 TeXcolorrgb 44 w(A)p Black(.)p
0 0 0 TeXcolorrgb -1 w(hi)p Black(-)p 0 0 0 TeXcolorrgb(boot)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(produces)p Black
0 0 0 TeXcolorrgb 43 w(B)p Black(.)p 0 0 0 TeXcolorrgb(hi)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(B)p Black(.)p 0 0 0
TeXcolorrgb(o)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3548 25 92 v Black 0.95 TeXcolorgray -128 3548 4252
92 v Black 0.95 TeXcolorgray 4124 3548 25 92 v Black
0.95 TeXcolorgray Black -128 3520 a
SDict begin H.S end
-128 3520 a -128
3520 a
SDict begin 11 H.A end
-128 3520 a -128 3520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-116.3) cvn H.B /DEST pdfmark end
-128 3520 a 0 0 0 TeXcolorrgb
90 w Fo(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(c)p Black
0 0 0 TeXcolorrgb 45 w(A)p Black(.)p 0 0 0 TeXcolorrgb(hs)p
Black 313 w(--)p 0 0 0 TeXcolorrgb 45 w(Consumes)p Black
0 0 0 TeXcolorrgb 43 w(B)p Black(.)p 0 0 0 TeXcolorrgb(hi)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(produces)p Black
0 0 0 TeXcolorrgb 44 w(A)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hi)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(A)p Black -1 w(.)p 0 0 0
TeXcolorrgb(o)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3639 25 92 v Black 0.95 TeXcolorgray -128 3639 4252
92 v Black 0.95 TeXcolorgray 4124 3639 25 92 v Black
0.95 TeXcolorgray Black -128 3612 a
SDict begin H.S end
-128 3612 a -128
3612 a
SDict begin 11 H.A end
-128 3612 a -128 3612 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-116.4) cvn H.B /DEST pdfmark end
-128 3612 a 0 0 0 TeXcolorrgb
90 w Fo(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(o)p Black
0 0 0 TeXcolorrgb 45 w(foo)p Black 0 0 0 TeXcolorrgb
44 w(A)p Black(.)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0
TeXcolorrgb 45 w(B)p Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p
Black 90 w(--)p 0 0 0 TeXcolorrgb 44 w(Linking)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb
44 w(program)p Black 0.95 TeXcolorgray -153 3664 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 3838
a FA(There)h(are)g(se)n(v)o(eral)f(points)h(to)h(note)e(here:)p
Black -128 4054 a(\225)p Black 42 w(The)24 b(\002le)i
Ft(A.hs-)t(boot)d FA(is)j(a)f(programmer)n(-written)c(source)j(\002le.)
39 b(It)25 b(must)g(li)n(v)o(e)f(in)h(the)g(same)f(directory)f(as)j
(its)f(parent)f(source)g(\002le)h Ft(A.hs)p FA(.)-57
4154 y(Currently)-5 b(,)18 b(if)j(you)e(use)i(a)f(literate)g(source)g
(\002le)h Ft(A.lhs)f FA(you)f(must)h(also)h(use)f(a)h(literate)f(boot)f
(\002le,)i Ft(A.lhs-)t(boot)p FA(;)e(and)h(vice)g(v)o(ersa.)p
Black -128 4320 a(\225)p Black 42 w(A)h Ft(hs-)t(boot)e
FA(\002le)i(is)g(compiled)e(by)h(GHC,)h(just)f(lik)o(e)h(a)f
Ft(hs)h FA(\002le:)-128 4388 y
SDict begin H.S end
-128 4388 a -128 4388
a
SDict begin 12 H.A end
-128 4388 a -128 4388 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-117) cvn H.B /DEST pdfmark end
-128 4388 a 0.95 TeXcolorgray
-82 4403 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4494 25 92 v
Black 0.95 TeXcolorgray -57 4494 4182 92 v Black 0.95
TeXcolorgray 4124 4494 25 92 v Black 0.95 TeXcolorgray
Black -57 4467 a
SDict begin H.S end
-57 4467 a -57 4467 a
SDict begin 11 H.A end
-57 4467 a -57
4467 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-117.1) cvn H.B /DEST pdfmark end
-57 4467 a 0 0 0 TeXcolorrgb 90 w Fo(ghc)p Black
44 w(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb
45 w(A)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(-)p
0 0 0 TeXcolorrgb(boot)p Black 0.95 TeXcolorgray -82
4519 4232 25 v Black 0.95 TeXcolorgray Black Black Black
-57 4677 a FA(When)29 b(a)h(hs-boot)f(\002le)h Ft(A.hs-)t(boot)f
FA(is)h(compiled,)h(it)f(is)g(check)o(ed)f(for)g(scope)g(and)g(type)g
(errors.)53 b(When)29 b(its)i(parent)d(module)h Ft(A.hs)g
FA(is)-57 4776 y(compiled,)19 b(the)h(tw)o(o)g(are)g(compared,)e(and)i
(an)g(error)f(is)i(reported)e(if)h(the)g(tw)o(o)h(are)f(inconsistent.)p
Black -128 4942 a(\225)p Black 42 w(Just)30 b(as)f(compiling)e
Ft(A.hs)i FA(produces)e(an)i(interf)o(ace)f(\002le)i
Ft(A.hi)p FA(,)g(and)f(an)g(object)f(\002le)i Ft(A.o)p
FA(,)g(so)g(compiling)d Ft(A.hs-)t(boot)h FA(produces)f(an)-57
5042 y(interf)o(ace)19 b(\002le)i Ft(A.hi-)t(boot)p FA(,)e(and)h(an)g
(pseudo-object)d(\002le)k Ft(A.o-)t(boot)p FA(:)p Black
-57 5208 a Fu(\226)p Black 41 w FA(The)g(pseudo-object)d(\002le)k
Ft(A.o-)t(boot)e FA(is)i(empty)e(\(don')o(t)f(link)i(it!\),)g(b)n(ut)g
(it)h(is)g(v)o(ery)e(useful)g(when)h(using)f(a)i(Mak)o(e\002le,)f(to)g
(record)f(when)g(the)26 5308 y Ft(A.hi-)t(boot)f FA(w)o(as)i(last)g
(brought)d(up)i(to)h(date)f(\(see)g(Section)p 1 0 0 TeXcolorrgb
1836 5309 a
SDict begin H.S end
1836 5309 a 1 0 0 TeXcolorrgb -1 x FA(4.6.10)p
1 0 0 TeXcolorrgb 2043 5251 a
SDict begin H.R end
2043 5251 a 2043 5308 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.10) cvn H.B /ANN pdfmark end
2043 5308 a Black FA(\).)p Black -57 5441 a Fu(\226)p
Black 41 w FA(The)f Ft(hi-)t(boot)g FA(generated)f(by)h(compiling)e(a)j
Ft(hs-)t(boot)f FA(\002le)h(is)g(in)g(the)g(same)f(machine-generated)d
(binary)i(format)g(as)i(an)o(y)f(other)g(GHC-)26 5540
y(generated)26 b(interf)o(ace)h(\002le)h(\(e.g.)47 b
Ft(B.hi)p FA(\).)f(Y)-9 b(ou)27 b(can)h(display)f(its)h(contents)f
(with)h Fu(ghc)g(--sho)o(w-iface)p FA(.)46 b(If)27 b(you)g(specify)g(a)
h(directory)e(for)26 5640 y(interf)o(ace)19 b(\002les,)i(the)f
Ft(-ohidir)g FA(\003ag,)g(then)g(that)g(af)n(fects)g
Ft(hi-)t(boot)g FA(\002les)h(too.)p Black -128 6084 4252
5 v Black eop end
%%Page: 48 63
TeXDict begin 48 62 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.48) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(48)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(If)f(hs-boot)f(\002les)i(are)f(considered)e(distinct)i(from)f
(their)h(parent)f(source)h(\002les,)h(and)e(if)i(a)f
Ft({-#)49 b(SOURCE)g(#-})19 b FA(import)f(is)i(considered)e(to)h(refer)
-57 273 y(to)j(the)f(hs-boot)f(\002le,)j(then)e(the)g(module)g(import)f
(graph)g(must)i(ha)n(v)o(e)f(no)g(c)o(ycles.)29 b(The)21
b(command)f Fu(ghc)h(-M)i FA(will)f(report)e(an)i(error)e(if)i(a)g(c)o
(ycle)f(is)-57 372 y(found.)p Black -128 538 a(\225)p
Black 42 w(A)f(module)e Ft(M)j FA(that)e(is)i Ft({-#)49
b(SOURCE)g(#-})p FA(-imported)17 b(in)j(a)g(program)d(will)k(usually)e
(also)h(be)f(ordinarily)f(imported)g(else)n(where.)24
b(If)c(not,)f Fu(ghc)-57 638 y(--mak)o(e)g FA(automatically)f(adds)h
Ft(M)h FA(to)g(the)f(set)i(of)e(modules)f(it)j(tries)f(to)f(compile)g
(and)g(link,)g(to)h(ensure)e(that)i Ft(M)p FA(')-5 b(s)20
b(implementation)d(is)k(included)d(in)-57 738 y(the)i(\002nal)h
(program.)-128 954 y(A)g(hs-boot)d(\002le)j(need)e(only)g(contain)g
(the)h(bare)g(minimum)e(of)i(information)d(needed)i(to)h(get)g(the)g
(bootstrapping)d(process)i(started.)25 b(F)o(or)20 b(e)o(xample,)-128
1053 y(it)f(doesn')o(t)d(need)h(to)h(contain)f(declarations)f(for)h
Fq(e)o(verything)g FA(that)h(module)e Ft(A)i FA(e)o(xports,)f(only)g
(the)h(things)f(required)f(by)h(the)h(module\(s\))e(that)i(import)-128
1153 y Ft(A)j FA(recursi)n(v)o(ely)-5 b(.)-128 1302 y(A)21
b(hs-boot)e(\002le)i(is)g(written)f(in)g(a)h(subset)f(of)g(Hask)o(ell:)
p Black -128 1518 a(\225)p Black 42 w(The)j(module)f(header)g
(\(including)g(the)h(e)o(xport)f(list\),)j(and)d(import)h(statements,)h
(are)f(e)o(xactly)g(as)h(in)f(Hask)o(ell,)i(and)d(so)i(are)g(the)f
(scoping)f(rules.)-57 1618 y(Hence,)e(to)g(mention)f(a)h(non-Prelude)e
(type)i(or)g(class,)h(you)e(must)h(import)f(it.)p Black
-128 1784 a(\225)p Black 42 w(There)g(must)i(be)f(no)g(v)n(alue)f
(declarations,)g(b)n(ut)h(there)g(can)g(be)g(type)f(signatures)h(for)f
(v)n(alues.)25 b(F)o(or)20 b(e)o(xample:)-128 1852 y
SDict begin H.S end
-128 1852 a -128 1852 a
SDict begin 12 H.A end
-128 1852 a -128 1852 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-118) cvn H.B /DEST pdfmark end
-128
1852 a 0.95 TeXcolorgray -82 1867 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1958 25 92 v Black 0.95 TeXcolorgray -57 1958 4182
92 v Black 0.95 TeXcolorgray 4124 1958 25 92 v Black
0.95 TeXcolorgray Black -57 1931 a
SDict begin H.S end
-57 1931 a -57 1931
a
SDict begin 11 H.A end
-57 1931 a -57 1931 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-118.1) cvn H.B /DEST pdfmark end
-57 1931 a 0 0 0 TeXcolorrgb
90 w Fo(double)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44
w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 0.95 TeXcolorgray -82 1983 4232 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 2174 a FA(\225)p
Black 42 w(Fixity)g(declarations)f(are)h(e)o(xactly)f(as)i(in)g(Hask)o
(ell.)p Black -128 2340 a(\225)p Black 42 w(T)-7 b(ype)20
b(synon)o(ym)e(declarations)h(are)h(e)o(xactly)f(as)i(in)f(Hask)o(ell.)
p Black -128 2506 a(\225)p Black 42 w(A)i(data)f(type)g(declaration)f
(can)h(either)g(be)g(gi)n(v)o(en)f(in)i(full,)f(e)o(xactly)f(as)i(in)g
(Hask)o(ell,)g(or)f(it)h(can)f(be)g(gi)n(v)o(en)f(abstractly)-5
b(,)20 b(by)h(omitting)g(the)g('=')g(sign)-57 2606 y(and)f(e)n(v)o
(erything)d(that)j(follo)n(ws.)25 b(F)o(or)20 b(e)o(xample:)-128
2674 y
SDict begin H.S end
-128 2674 a -128 2674 a
SDict begin 12 H.A end
-128 2674 a -128 2674
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-119) cvn H.B /DEST pdfmark end
-128 2674 a 0.95 TeXcolorgray -82 2689 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2780 25 92 v Black 0.95 TeXcolorgray
-57 2780 4182 92 v Black 0.95 TeXcolorgray 4124 2780
25 92 v Black 0.95 TeXcolorgray Black -57 2753 a
SDict begin H.S end
-57
2753 a -57 2753 a
SDict begin 11 H.A end
-57 2753 a -57 2753 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-119.1) cvn H.B /DEST pdfmark end
-57 2753 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(T)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black 0.95 TeXcolorgray -82 2805 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 2963 a FA(In)g(a)g
Fq(sour)m(ce)g FA(program)e(this)i(w)o(ould)f(declare)h(T)-8
b(A)20 b(to)g(ha)n(v)o(e)g(no)f(constructors)f(\(a)i(GHC)h(e)o
(xtension:)j(see)c(Section)p 1 0 0 TeXcolorrgb 3214 2964
a
SDict begin H.S end
3214 2964 a 1 0 0 TeXcolorrgb -1 x FA(7.4.1)p 1 0 0
TeXcolorrgb 3380 2906 a
SDict begin H.R end
3380 2906 a 3380 2963 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.1) cvn H.B /ANN pdfmark end
3380
2963 a Black FA(\),)g(b)n(ut)g(in)g(an)g(hi-boot)e(\002le)-57
3062 y(it)26 b(means)e("I)i(don')o(t)d(kno)n(w)h(or)h(care)f(what)h
(the)g(constructors)f(are".)39 b(This)25 b(is)h(the)f(most)g(common)e
(form)h(of)h(data)g(type)f(declaration,)h(because)-57
3162 y(it')-5 b(s)27 b(easy)e(to)h(get)f(right.)40 b(Y)-9
b(ou)25 b Fq(can)g FA(also)h(write)f(out)g(the)h(constructors)e(b)n
(ut,)i(if)g(you)e(do)h(so,)i(you)e(must)g(write)h(it)g(out)f(precisely)
g(as)h(in)g(its)g(real)-57 3262 y(de\002nition.)-57 3394
y(If)e(you)f(do)g(not)h(write)g(out)f(the)h(constructors,)f(you)g(may)g
(need)g(to)h(gi)n(v)o(e)f(a)i(kind)e(annotation)f(\(Section)p
1 0 0 TeXcolorrgb 2973 3395 a
SDict begin H.S end
2973 3395 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.3)p 1 0 0 TeXcolorrgb 3139 3338 a
SDict begin H.R end
3139 3338
a 3139 3394 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.3) cvn H.B /ANN pdfmark end
3139 3394 a Black FA(\),)i(to)g(tell)h(GHC)g(the)e(kind)g
(of)h(the)-57 3494 y(type)19 b(v)n(ariable,)f(if)i(it)g(is)g(not)f
("*".)25 b(\(In)19 b(source)f(\002les,)j(this)f(is)g(w)o(ork)o(ed)e
(out)h(from)g(the)g(w)o(ay)h(the)f(type)g(v)n(ariable)f(is)j(used)e(in)
g(the)h(constructors.\))i(F)o(or)-57 3594 y(e)o(xample:)-128
3661 y
SDict begin H.S end
-128 3661 a -128 3661 a
SDict begin 12 H.A end
-128 3661 a -128 3661
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-120) cvn H.B /DEST pdfmark end
-128 3661 a 0.95 TeXcolorgray -82 3677 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3768 25 92 v Black 0.95 TeXcolorgray
-57 3768 4182 92 v Black 0.95 TeXcolorgray 4124 3768
25 92 v Black 0.95 TeXcolorgray Black -57 3741 a
SDict begin H.S end
-57
3741 a -57 3741 a
SDict begin 11 H.A end
-57 3741 a -57 3741 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-120.1) cvn H.B /DEST pdfmark end
-57 3741 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(R)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(x)p Black
45 w(::)615 3754 y(*)705 3741 y(->)840 3754 y(*)885 3741
y(\))p 0 0 0 TeXcolorrgb 44 w(y)p Black 0.95 TeXcolorgray
-82 3793 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 3951 a FA(Y)-9 b(ou)20 b(cannot)f(use)h Ft(deriving)f
FA(on)h(a)h(data)f(type)g(declaration;)e(write)j(an)f
Ft(instance)f FA(declaration)g(instead.)p Black -128
4117 a(\225)p Black 42 w(Class)j(declarations)e(is)i(e)o(xactly)e(as)i
(in)f(Hask)o(ell,)g(e)o(xcept)f(that)h(you)f(may)h(not)g(put)f(def)o
(ault)h(method)e(declarations.)26 b(Y)-9 b(ou)21 b(can)f(also)i(omit)e
(all)i(the)-57 4216 y(superclasses)e(and)g(class)h(methods)e(entirely;)
g(b)n(ut)i(you)e(must)h(either)g(omit)g(them)g(all)h(or)f(put)f(them)h
(all)h(in.)p Black -128 4382 a(\225)p Black 42 w(Y)-9
b(ou)20 b(can)g(include)f(instance)h(declarations)e(just)j(as)g(in)f
(Hask)o(ell;)h(b)n(ut)f(omit)g(the)h("where")e(part.)-128
4517 y
SDict begin H.S end
-128 4517 a -128 4517 a
SDict begin 12 H.A end
-128 4517 a -128 4517
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.10) cvn H.B /DEST pdfmark end
-128 4517 a Black 148 x Fp(4.6.10)p Black 89 w(Using)24
b(make)-128 4753 y
SDict begin H.S end
-128 4753 a -128 4753 a
SDict begin 12 H.A end
-128 4753
a -128 4753 a
SDict begin [ /View [/XYZ H.V] /Dest (using-make) cvn H.B /DEST pdfmark end
-128 4753 a 115 x FA(It)d(is)h(reasonably)c(straightforw)
o(ard)g(to)j(set)g(up)f(a)h Ft(Makefile)f FA(to)g(use)h(with)g(GHC,)g
(assuming)e(you)h(name)g(your)f(source)h(\002les)h(the)f(same)h(as)g
(your)-128 4967 y(modules.)j(Thus:)-128 5018 y
SDict begin H.S end
-128 5018
a -128 5018 a
SDict begin 12 H.A end
-128 5018 a -128 5018 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-121) cvn H.B /DEST pdfmark end
-128 5018 a 0.95
TeXcolorgray -153 5050 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5142 25 92 v Black 0.95 TeXcolorgray -128 5142 4252 92
v Black 0.95 TeXcolorgray 4124 5142 25 92 v Black 0.95
TeXcolorgray Black -128 5114 a
SDict begin H.S end
-128 5114 a -128 5114
a
SDict begin 11 H.A end
-128 5114 a -128 5114 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.1) cvn H.B /DEST pdfmark end
-128 5114 a 0 0 0 TeXcolorrgb
Fo(HC)p Black 269 w(=)p 0 0 0 TeXcolorrgb 45 w(ghc)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5233 25 92 v Black 0.95 TeXcolorgray -128 5233 4252 92
v Black 0.95 TeXcolorgray 4124 5233 25 92 v Black 0.95
TeXcolorgray Black -128 5206 a
SDict begin H.S end
-128 5206 a -128 5206
a
SDict begin 11 H.A end
-128 5206 a -128 5206 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.2) cvn H.B /DEST pdfmark end
-128 5206 a 0 0 0 TeXcolorrgb
Fo(HC_OPTS)p Black 44 w(=)45 b(-)p 0 0 0 TeXcolorrgb(cpp)p
Black 0 0 0 TeXcolorrgb 44 w($)p Black(\()p 0 0 0 TeXcolorrgb
(EXTRA_HC_OPTS)p Black -3 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5324 25 92 v Black 0.95 TeXcolorgray
-128 5324 4252 92 v Black 0.95 TeXcolorgray 4124 5324
25 92 v Black 0.95 TeXcolorgray Black -128 5297 a
SDict begin H.S end
-128
5297 a -128 5297 a
SDict begin 11 H.A end
-128 5297 a -128 5297 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.3) cvn H.B /DEST pdfmark end
-128 5297
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5416
25 92 v Black 0.95 TeXcolorgray -128 5416 4252 92 v Black
0.95 TeXcolorgray 4124 5416 25 92 v Black 0.95 TeXcolorgray
Black -128 5388 a
SDict begin H.S end
-128 5388 a -128 5388 a
SDict begin 11 H.A end
-128 5388 a
-128 5388 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.4) cvn H.B /DEST pdfmark end
-128 5388 a 0 0 0 TeXcolorrgb Fo(SRCS)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(Main)p Black(.)p 0 0 0
TeXcolorrgb -1 w(lhs)p Black 0 0 0 TeXcolorrgb 45 w(Foo)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(lhs)p Black 0 0 0 TeXcolorrgb
44 w(Bar)p Black(.)p 0 0 0 TeXcolorrgb(lhs)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5507 25 92
v Black 0.95 TeXcolorgray -128 5507 4252 92 v Black 0.95
TeXcolorgray 4124 5507 25 92 v Black 0.95 TeXcolorgray
Black -128 5480 a
SDict begin H.S end
-128 5480 a -128 5480 a
SDict begin 11 H.A end
-128 5480 a
-128 5480 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.5) cvn H.B /DEST pdfmark end
-128 5480 a 0 0 0 TeXcolorrgb Fo(OBJS)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(Main)p Black(.)p 0 0 0
TeXcolorrgb -1 w(o)p Black 0 0 0 TeXcolorrgb 135 w(Foo)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb
134 w(Bar)p Black(.)p 0 0 0 TeXcolorrgb(o)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5598 25 92
v Black 0.95 TeXcolorgray -128 5598 4252 92 v Black 0.95
TeXcolorgray 4124 5598 25 92 v Black 0.95 TeXcolorgray
Black -128 5571 a
SDict begin H.S end
-128 5571 a -128 5571 a
SDict begin 11 H.A end
-128 5571 a
-128 5571 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.6) cvn H.B /DEST pdfmark end
-128 5571 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5690 25 92 v Black 0.95 TeXcolorgray
-128 5690 4252 92 v Black 0.95 TeXcolorgray 4124 5690
25 92 v Black 0.95 TeXcolorgray Black -128 5662 a
SDict begin H.S end
-128
5662 a -128 5662 a
SDict begin 11 H.A end
-128 5662 a -128 5662 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.7) cvn H.B /DEST pdfmark end
-128 5662
a Fo(.)p 0 0 0 TeXcolorrgb(SUFFIXES)p Black 44 w(:)f(.)p
0 0 0 TeXcolorrgb(o)p Black 45 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black 44 w(.)p 0 0 0 TeXcolorrgb(hi)p Black 45 w(.)p
0 0 0 TeXcolorrgb -1 w(lhs)p Black 45 w(.)p 0 0 0 TeXcolorrgb(hc)p
Black 44 w(.)p 0 0 0 TeXcolorrgb(s)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5781 25 92 v Black 0.95
TeXcolorgray -128 5781 4252 92 v Black 0.95 TeXcolorgray
4124 5781 25 92 v Black 0.95 TeXcolorgray Black -128
5753 a
SDict begin H.S end
-128 5753 a -128 5753 a
SDict begin 11 H.A end
-128 5753 a -128 5753
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.8) cvn H.B /DEST pdfmark end
-128 5753 a Black -128 6084 4252 5 v Black eop end
%%Page: 49 64
TeXDict begin 49 63 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.49) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(49)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.9) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
Fo(cool_pgm)p Black 44 w(:)p 0 0 0 TeXcolorrgb 45 w($)p
Black -1 w(\()p 0 0 0 TeXcolorrgb(OBJS)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 292 25 92 v
Black 0.95 TeXcolorgray -128 292 4252 92 v Black 0.95
TeXcolorgray 4124 292 25 92 v Black 0.95 TeXcolorgray
Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128 265 a -128
265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.10) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb 359 w Fo(rm)p Black
45 w(-)p 0 0 0 TeXcolorrgb -1 w(f)p Black 0 0 0 TeXcolorrgb
45 w($@)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 383 25 92 v Black 0.95 TeXcolorgray -128 383 4252
92 v Black 0.95 TeXcolorgray 4124 383 25 92 v Black 0.95
TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128
356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.11) cvn H.B /DEST pdfmark end
-128 356 a 0 0 0 TeXcolorrgb 359 w Fo($)p
Black(\()p 0 0 0 TeXcolorrgb(HC)p Black -1 w(\))45 b(-)p
0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 45 w($@)p
Black 0 0 0 TeXcolorrgb 44 w($)p Black(\()p 0 0 0 TeXcolorrgb(HC_OPTS)p
Black -1 w(\))p 0 0 0 TeXcolorrgb 44 w($)p Black(\()p
0 0 0 TeXcolorrgb(OBJS)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.12) cvn H.B /DEST pdfmark end
-128 447 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.13) cvn H.B /DEST pdfmark end
-128 538 a Fo(#)p
0 0 0 TeXcolorrgb 45 w(Standard)p Black 0 0 0 TeXcolorrgb
44 w(suffix)p Black 0 0 0 TeXcolorrgb 43 w(rules)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 657 25
92 v Black 0.95 TeXcolorgray -128 657 4252 92 v Black
0.95 TeXcolorgray 4124 657 25 92 v Black 0.95 TeXcolorgray
Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128 630 a -128
630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.14) cvn H.B /DEST pdfmark end
-128 630 a Fo(.)p 0 0 0 TeXcolorrgb(o)p Black(.)p
0 0 0 TeXcolorrgb(hi)p Black(:)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 749 25 92 v Black 0.95 TeXcolorgray
-128 749 4252 92 v Black 0.95 TeXcolorgray 4124 749 25
92 v Black 0.95 TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721
a -128 721 a
SDict begin 11 H.A end
-128 721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.15) cvn H.B /DEST pdfmark end
-128 721 a 0 0 0 TeXcolorrgb
359 w Fo(@)p Black(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 840 25 92 v Black 0.95 TeXcolorgray -128 840 4252
92 v Black 0.95 TeXcolorgray 4124 840 25 92 v Black 0.95
TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812 a -128 812 a
SDict begin 11 H.A end
-128
812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.16) cvn H.B /DEST pdfmark end
-128 812 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 931 25 92 v Black 0.95 TeXcolorgray
-128 931 4252 92 v Black 0.95 TeXcolorgray 4124 931 25
92 v Black 0.95 TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904
a -128 904 a
SDict begin 11 H.A end
-128 904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.17) cvn H.B /DEST pdfmark end
-128 904 a Fo(.)p
0 0 0 TeXcolorrgb(lhs)p Black(.)p 0 0 0 TeXcolorrgb(o)p
Black -1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1023 25 92 v Black 0.95 TeXcolorgray -128 1023 4252
92 v Black 0.95 TeXcolorgray 4124 1023 25 92 v Black
0.95 TeXcolorgray Black -128 995 a
SDict begin H.S end
-128 995 a -128 995
a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.18) cvn H.B /DEST pdfmark end
-128 995 a 0 0 0 TeXcolorrgb
359 w Fo($)p Black(\()p 0 0 0 TeXcolorrgb(HC)p Black
-1 w(\))g(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb
45 w($)p Black -1 w(<)p 0 0 0 TeXcolorrgb 45 w($)p Black(\()p
0 0 0 TeXcolorrgb(HC_OPTS)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1114 25 92 v Black 0.95
TeXcolorgray -128 1114 4252 92 v Black 0.95 TeXcolorgray
4124 1114 25 92 v Black 0.95 TeXcolorgray Black -128
1086 a
SDict begin H.S end
-128 1086 a -128 1086 a
SDict begin 11 H.A end
-128 1086 a -128 1086
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.19) cvn H.B /DEST pdfmark end
-128 1086 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1205 25 92 v Black 0.95 TeXcolorgray -128 1205 4252
92 v Black 0.95 TeXcolorgray 4124 1205 25 92 v Black
0.95 TeXcolorgray Black -128 1178 a
SDict begin H.S end
-128 1178 a -128
1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.20) cvn H.B /DEST pdfmark end
-128 1178 a Fo(.)p 0 0 0
TeXcolorrgb(hs)p Black(.)p 0 0 0 TeXcolorrgb(o)p Black(:)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 1296 25
92 v Black 0.95 TeXcolorgray -128 1296 4252 92 v Black
0.95 TeXcolorgray 4124 1296 25 92 v Black 0.95 TeXcolorgray
Black -128 1269 a
SDict begin H.S end
-128 1269 a -128 1269 a
SDict begin 11 H.A end
-128 1269 a
-128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.21) cvn H.B /DEST pdfmark end
-128 1269 a 0 0 0 TeXcolorrgb 359 w Fo($)p
Black(\()p 0 0 0 TeXcolorrgb(HC)p Black -1 w(\))g(-)p
0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb 45 w($)p
Black -1 w(<)p 0 0 0 TeXcolorrgb 45 w($)p Black(\()p
0 0 0 TeXcolorrgb(HC_OPTS)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1388 25 92 v Black 0.95
TeXcolorgray -128 1388 4252 92 v Black 0.95 TeXcolorgray
4124 1388 25 92 v Black 0.95 TeXcolorgray Black -128
1360 a
SDict begin H.S end
-128 1360 a -128 1360 a
SDict begin 11 H.A end
-128 1360 a -128 1360
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.22) cvn H.B /DEST pdfmark end
-128 1360 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1479 25 92 v Black 0.95 TeXcolorgray -128 1479 4252
92 v Black 0.95 TeXcolorgray 4124 1479 25 92 v Black
0.95 TeXcolorgray Black -128 1452 a
SDict begin H.S end
-128 1452 a -128
1452 a
SDict begin 11 H.A end
-128 1452 a -128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.23) cvn H.B /DEST pdfmark end
-128 1452 a Fo(.)p 0 0 0
TeXcolorrgb(o)p Black(-)p 0 0 0 TeXcolorrgb(boot)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hi)p Black(-)p 0 0 0 TeXcolorrgb(boot)p
Black -1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1570 25 92 v Black 0.95 TeXcolorgray -128 1570 4252
92 v Black 0.95 TeXcolorgray 4124 1570 25 92 v Black
0.95 TeXcolorgray Black -128 1543 a
SDict begin H.S end
-128 1543 a -128
1543 a
SDict begin 11 H.A end
-128 1543 a -128 1543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.24) cvn H.B /DEST pdfmark end
-128 1543 a 0 0 0 TeXcolorrgb
359 w Fo(@)p Black(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1662 25 92 v Black 0.95 TeXcolorgray -128 1662 4252
92 v Black 0.95 TeXcolorgray 4124 1662 25 92 v Black
0.95 TeXcolorgray Black -128 1634 a
SDict begin H.S end
-128 1634 a -128
1634 a
SDict begin 11 H.A end
-128 1634 a -128 1634 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.25) cvn H.B /DEST pdfmark end
-128 1634 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1753 25 92 v Black 0.95
TeXcolorgray -128 1753 4252 92 v Black 0.95 TeXcolorgray
4124 1753 25 92 v Black 0.95 TeXcolorgray Black -128
1726 a
SDict begin H.S end
-128 1726 a -128 1726 a
SDict begin 11 H.A end
-128 1726 a -128 1726
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.26) cvn H.B /DEST pdfmark end
-128 1726 a Fo(.)p 0 0 0 TeXcolorrgb(lhs)p Black(-)p
0 0 0 TeXcolorrgb(boot)p Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p
Black(-)p 0 0 0 TeXcolorrgb -1 w(boot)p Black(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1844 25 92
v Black 0.95 TeXcolorgray -128 1844 4252 92 v Black 0.95
TeXcolorgray 4124 1844 25 92 v Black 0.95 TeXcolorgray
Black -128 1817 a
SDict begin H.S end
-128 1817 a -128 1817 a
SDict begin 11 H.A end
-128 1817 a
-128 1817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.27) cvn H.B /DEST pdfmark end
-128 1817 a 0 0 0 TeXcolorrgb 359 w Fo($)p
Black(\()p 0 0 0 TeXcolorrgb(HC)p Black -1 w(\))g(-)p
0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb 45 w($)p
Black -1 w(<)p 0 0 0 TeXcolorrgb 45 w($)p Black(\()p
0 0 0 TeXcolorrgb(HC_OPTS)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1936 25 92 v Black 0.95
TeXcolorgray -128 1936 4252 92 v Black 0.95 TeXcolorgray
4124 1936 25 92 v Black 0.95 TeXcolorgray Black -128
1908 a
SDict begin H.S end
-128 1908 a -128 1908 a
SDict begin 11 H.A end
-128 1908 a -128 1908
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.28) cvn H.B /DEST pdfmark end
-128 1908 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2027 25 92 v Black 0.95 TeXcolorgray -128 2027 4252
92 v Black 0.95 TeXcolorgray 4124 2027 25 92 v Black
0.95 TeXcolorgray Black -128 2000 a
SDict begin H.S end
-128 2000 a -128
2000 a
SDict begin 11 H.A end
-128 2000 a -128 2000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.29) cvn H.B /DEST pdfmark end
-128 2000 a Fo(.)p 0 0 0
TeXcolorrgb(hs)p Black(-)p 0 0 0 TeXcolorrgb(boot)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(o)p Black(-)p 0 0 0 TeXcolorrgb(boot)p
Black -1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2118 25 92 v Black 0.95 TeXcolorgray -128 2118 4252
92 v Black 0.95 TeXcolorgray 4124 2118 25 92 v Black
0.95 TeXcolorgray Black -128 2091 a
SDict begin H.S end
-128 2091 a -128
2091 a
SDict begin 11 H.A end
-128 2091 a -128 2091 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.30) cvn H.B /DEST pdfmark end
-128 2091 a 0 0 0 TeXcolorrgb
359 w Fo($)p Black(\()p 0 0 0 TeXcolorrgb(HC)p Black
-1 w(\))g(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb
45 w($)p Black -1 w(<)p 0 0 0 TeXcolorrgb 45 w($)p Black(\()p
0 0 0 TeXcolorrgb(HC_OPTS)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2210 25 92 v Black 0.95
TeXcolorgray -128 2210 4252 92 v Black 0.95 TeXcolorgray
4124 2210 25 92 v Black 0.95 TeXcolorgray Black -128
2182 a
SDict begin H.S end
-128 2182 a -128 2182 a
SDict begin 11 H.A end
-128 2182 a -128 2182
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.31) cvn H.B /DEST pdfmark end
-128 2182 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2301 25 92 v Black 0.95 TeXcolorgray -128 2301 4252
92 v Black 0.95 TeXcolorgray 4124 2301 25 92 v Black
0.95 TeXcolorgray Black -128 2274 a
SDict begin H.S end
-128 2274 a -128
2274 a
SDict begin 11 H.A end
-128 2274 a -128 2274 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.32) cvn H.B /DEST pdfmark end
-128 2274 a Fo(#)p 0 0 0
TeXcolorrgb 45 w(Inter)p Black -1 w(-)p 0 0 0 TeXcolorrgb(module)p
Black 0 0 0 TeXcolorrgb 44 w(dependencies)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 2392 25 92
v Black 0.95 TeXcolorgray -128 2392 4252 92 v Black 0.95
TeXcolorgray 4124 2392 25 92 v Black 0.95 TeXcolorgray
Black -128 2365 a
SDict begin H.S end
-128 2365 a -128 2365 a
SDict begin 11 H.A end
-128 2365 a
-128 2365 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.33) cvn H.B /DEST pdfmark end
-128 2365 a 0 0 0 TeXcolorrgb Fo(Foo)p Black(.)p
0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p
Black(.)p 0 0 0 TeXcolorrgb(hc)p Black 0 0 0 TeXcolorrgb
44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(s)p Black 179
w(:)p 0 0 0 TeXcolorrgb 44 w(Baz)p Black(.)p 0 0 0 TeXcolorrgb(hi)p
Black 448 w(#)p 0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0
TeXcolorrgb 45 w(imports)p Black 0 0 0 TeXcolorrgb 43
w(Baz)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2484 25 92 v Black 0.95 TeXcolorgray -128 2484 4252
92 v Black 0.95 TeXcolorgray 4124 2484 25 92 v Black
0.95 TeXcolorgray Black -128 2456 a
SDict begin H.S end
-128 2456 a -128
2456 a
SDict begin 11 H.A end
-128 2456 a -128 2456 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-121.34) cvn H.B /DEST pdfmark end
-128 2456 a 0 0 0 TeXcolorrgb
Fo(Main)p Black(.)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0
TeXcolorrgb 44 w(Main)p Black(.)p 0 0 0 TeXcolorrgb -1
w(hc)p Black 0 0 0 TeXcolorrgb 45 w(Main)p Black -1 w(.)p
0 0 0 TeXcolorrgb(s)p Black 45 w(:)p 0 0 0 TeXcolorrgb
44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(hi)p Black 0 0 0
TeXcolorrgb 44 w(Baz)p Black(.)p 0 0 0 TeXcolorrgb(hi)p
Black 134 w(#)p 0 0 0 TeXcolorrgb 44 w(Main)p Black 0 0 0
TeXcolorrgb 45 w(imports)p Black 0 0 0 TeXcolorrgb 43
w(Foo)p Black 0 0 0 TeXcolorrgb 45 w(and)p Black 0 0 0
TeXcolorrgb 44 w(Baz)p Black 0.95 TeXcolorgray -152 2509
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2671 a FA(\(Sophisticated)23 b Fu(mak)o(e)h FA(v)n(ariants)g(may)f
(achie)n(v)o(e)g(some)h(of)g(the)g(abo)o(v)o(e)e(more)h(ele)o(gantly)-5
b(.)34 b(Notably)-5 b(,)24 b Fu(gmak)o(e)p FA(')-5 b(s)24
b(pattern)f(rules)h(let)h(you)e(write)h(the)-128 2770
y(more)c(comprehensible:)-128 2832 y
SDict begin H.S end
-128 2832 a -128
2832 a
SDict begin 12 H.A end
-128 2832 a -128 2832 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-122) cvn H.B /DEST pdfmark end
-128 2832 a 0.95 TeXcolorgray
-153 2847 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2939 25 92
v Black 0.95 TeXcolorgray -128 2939 4252 92 v Black 0.95
TeXcolorgray 4124 2939 25 92 v Black 0.95 TeXcolorgray
Black -128 2911 a
SDict begin H.S end
-128 2911 a -128 2911 a
SDict begin 11 H.A end
-128 2911 a
-128 2911 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-122.1) cvn H.B /DEST pdfmark end
-128 2911 a Fo(\045.)p 0 0 0 TeXcolorrgb(o)p
Black 45 w(:)44 b(\045.)p 0 0 0 TeXcolorrgb(lhs)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3030 25
92 v Black 0.95 TeXcolorgray -128 3030 4252 92 v Black
0.95 TeXcolorgray 4124 3030 25 92 v Black 0.95 TeXcolorgray
Black -128 3002 a
SDict begin H.S end
-128 3002 a -128 3002 a
SDict begin 11 H.A end
-128 3002 a
-128 3002 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-122.2) cvn H.B /DEST pdfmark end
-128 3002 a 0 0 0 TeXcolorrgb 359 w Fo($)p
Black(\()p 0 0 0 TeXcolorrgb(HC)p Black -1 w(\))h(-)p
0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb 45 w($)p
Black -1 w(<)p 0 0 0 TeXcolorrgb 45 w($)p Black(\()p
0 0 0 TeXcolorrgb(HC_OPTS)p Black -1 w(\))p 0.95 TeXcolorgray
-153 3055 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3217 a FA(What)21 b(we')l(v)o(e)e(sho)n(wn)h(should)f(w)o
(ork)g(with)i(an)o(y)e Fu(mak)o(e)p FA(.\))-128 3360
y(Note)h(the)f(cheesy)g Ft(.o.hi)g FA(rule:)25 b(It)19
b(records)g(the)g(dependenc)o(y)d(of)j(the)h(interf)o(ace)e(\()p
Ft(.hi)p FA(\))h(\002le)h(on)f(the)h(source.)j(The)d(rule)f(says)h(a)f
Ft(.hi)h FA(\002le)g(can)f(be)-128 3460 y(made)h(from)f(a)i
Ft(.o)f FA(\002le)h(by)f(doing.)12 b(.)g(.)g(nothing.)22
b(Which)e(is)h(true.)-128 3603 y(Note)28 b(that)f(the)g(suf)n(\002x)g
(rules)g(are)g(all)h(repeated)e(twice,)j(once)e(for)f(normal)g(Hask)o
(ell)i(source)e(\002les,)k(and)d(once)f(for)h Ft(hs-)t(boot)f
FA(\002les)i(\(see)g(Sec-)-128 3703 y(tion)p 1 0 0 TeXcolorrgb
22 3705 a
SDict begin H.S end
22 3705 a 1 0 0 TeXcolorrgb -2 x FA(4.6.9)p
1 0 0 TeXcolorrgb 188 3646 a
SDict begin H.R end
188 3646 a 188 3703 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.9) cvn H.B /ANN pdfmark end
188
3703 a Black FA(\).)-128 3846 y(Note)21 b(also)f(the)g(inter)n(-module)
e(dependencies)g(at)j(the)f(end)g(of)g(the)g(Mak)o(e\002le,)g(which)f
(tak)o(e)i(the)f(form)-128 3908 y
SDict begin H.S end
-128 3908 a -128 3908
a
SDict begin 12 H.A end
-128 3908 a -128 3908 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-123) cvn H.B /DEST pdfmark end
-128 3908 a 0.95 TeXcolorgray
-153 3923 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4014 25 92
v Black 0.95 TeXcolorgray -128 4014 4252 92 v Black 0.95
TeXcolorgray 4124 4014 25 92 v Black 0.95 TeXcolorgray
Black -128 3987 a
SDict begin H.S end
-128 3987 a -128 3987 a
SDict begin 11 H.A end
-128 3987 a
-128 3987 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-123.1) cvn H.B /DEST pdfmark end
-128 3987 a 0 0 0 TeXcolorrgb Fo(Foo)p Black(.)p
0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p
Black(.)p 0 0 0 TeXcolorrgb(hc)p Black 0 0 0 TeXcolorrgb
44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(s)p Black 179
w(:)p 0 0 0 TeXcolorrgb 44 w(Baz)p Black(.)p 0 0 0 TeXcolorrgb(hi)p
Black 448 w(#)p 0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0
TeXcolorrgb 45 w(imports)p Black 0 0 0 TeXcolorrgb 43
w(Baz)p Black 0.95 TeXcolorgray -153 4039 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4201 a FA(The)o(y)i(tell)g
Fu(mak)o(e)h FA(that)f(if)h(an)o(y)e(of)h Ft(Foo.o)p
FA(,)g Ft(Foo.hc)g FA(or)f Ft(Foo.s)h FA(ha)n(v)o(e)g(an)g(earlier)g
(modi\002cation)e(date)i(than)g Ft(Baz.hi)p FA(,)g(then)f(the)i
(out-of-date)-128 4301 y(\002le)f(must)g(be)f(brought)e(up)i(to)h
(date.)28 b(T)-7 b(o)21 b(bring)f(it)j(up)d(to)i(date,)f
Ft(make)g FA(looks)g(for)g(a)h(rule)f(to)g(do)g(so;)h(one)f(of)g(the)g
(preceding)f(suf)n(\002x)h(rules)g(does)g(the)-128 4400
y(job)f(nicely)-5 b(.)24 b(These)c(dependencies)e(can)i(be)g(generated)
f(automatically)g(by)g Fu(ghc)p FA(;)i(see)g(Section)p
1 0 0 TeXcolorrgb 2650 4401 a
SDict begin H.S end
2650 4401 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.11)p 1 0 0 TeXcolorrgb 2858 4344 a
SDict begin H.R end
2858 4344
a 2858 4400 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.11) cvn H.B /ANN pdfmark end
2858 4400 a Black -128 4532 a
SDict begin H.S end
-128 4532
a -128 4532 a
SDict begin 12 H.A end
-128 4532 a -128 4532 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.11) cvn H.B /DEST pdfmark end
-128 4532 a Black
142 x Fp(4.6.11)p Black 89 w(Dependenc)o(y)j(g)q(eneration)-128
4762 y
SDict begin H.S end
-128 4762 a -128 4762 a
SDict begin 12 H.A end
-128 4762 a -128 4762
a
SDict begin [ /View [/XYZ H.V] /Dest (makefile-dependencies) cvn H.B /DEST pdfmark end
-128 4762 a 109 x FA(Putting)d(inter)n(-dependencies)d(of)j(the)g
(form)f Ft(Foo.o)49 b(:)100 b(Bar.hi)20 b FA(into)h(your)f
Ft(Makefile)g FA(by)h(hand)f(is)i(rather)e(error)n(-prone.)25
b(Don')o(t)20 b(w)o(orry)-5 b(,)-128 4970 y(GHC)21 b(has)g(support)e
(for)g(automatically)g(generating)f(the)i(required)f(dependencies.)j
(Add)e(the)g(follo)n(wing)f(to)h(your)f Ft(Makefile)p
FA(:)-128 5032 y
SDict begin H.S end
-128 5032 a -128 5032 a
SDict begin 12 H.A end
-128 5032 a
-128 5032 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-124) cvn H.B /DEST pdfmark end
-128 5032 a 0.95 TeXcolorgray -153 5047 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5139 25 92 v Black 0.95
TeXcolorgray -128 5139 4252 92 v Black 0.95 TeXcolorgray
4124 5139 25 92 v Black 0.95 TeXcolorgray Black -128
5111 a
SDict begin H.S end
-128 5111 a -128 5111 a
SDict begin 11 H.A end
-128 5111 a -128 5111
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-124.1) cvn H.B /DEST pdfmark end
-128 5111 a 0 0 0 TeXcolorrgb Fo(depend)p Black 44
w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5230 25 92 v Black 0.95 TeXcolorgray -128 5230 4252 92
v Black 0.95 TeXcolorgray 4124 5230 25 92 v Black 0.95
TeXcolorgray Black -128 5203 a
SDict begin H.S end
-128 5203 a -128 5203
a
SDict begin 11 H.A end
-128 5203 a -128 5203 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-124.2) cvn H.B /DEST pdfmark end
-128 5203 a 0 0 0 TeXcolorrgb
359 w Fo(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(M)p Black
0 0 0 TeXcolorrgb 45 w($)p Black(\()p 0 0 0 TeXcolorrgb(HC_OPTS)p
Black -2 w(\))p 0 0 0 TeXcolorrgb 45 w($)p Black(\()p
0 0 0 TeXcolorrgb(SRCS)p Black -1 w(\))p 0.95 TeXcolorgray
-153 5255 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5417 a FA(No)n(w)-5 b(,)18 b(before)e(you)g(start)i
(compiling,)e(and)h(an)o(y)g(time)g(you)g(change)f(the)h
Ft(imports)g FA(in)g(your)f(program,)g(do)h Fu(mak)o(e)h(depend)g
FA(before)e(you)h(do)g Fu(mak)o(e)-128 5517 y(cool_pgm)p
FA(.)24 b(The)c(command)e Fu(ghc)j(-M)f FA(will)h(append)e(the)h
(needed)f(dependencies)f(to)i(your)f Ft(Makefile)p FA(.)-128
5660 y(In)25 b(general,)f Fu(ghc)h(-M)h(F)n(oo)d FA(does)i(the)g(follo)
n(wing.)37 b(F)o(or)24 b(each)g(module)g Ft(M)h FA(in)g(the)f(set)i
Ft(Foo)f FA(plus)f(all)i(its)f(imports)f(\(transiti)n(v)o(ely\),)g(it)i
(adds)e(to)h(the)-128 5759 y(Mak)o(e\002le:)p Black -128
6084 4252 5 v Black eop end
%%Page: 50 65
TeXDict begin 50 64 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.50) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(50)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(A)h(line)f(recording)e(the)i(dependence)e(of)i(the)g(object)f
(\002le)i(on)f(the)g(source)g(\002le.)-128 241 y
SDict begin H.S end
-128
241 a -128 241 a
SDict begin 12 H.A end
-128 241 a -128 241 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-125) cvn H.B /DEST pdfmark end
-128 241 a 0.95
TeXcolorgray -82 256 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 348
25 92 v Black 0.95 TeXcolorgray -57 348 4182 92 v Black
0.95 TeXcolorgray 4124 348 25 92 v Black 0.95 TeXcolorgray
Black -57 320 a
SDict begin H.S end
-57 320 a -57 320 a
SDict begin 11 H.A end
-57 320 a -57 320
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-125.1) cvn H.B /DEST pdfmark end
-57 320 a 0 0 0 TeXcolorrgb Fo(M)p Black(.)p 0 0 0
TeXcolorrgb(o)p Black 44 w(:)p 0 0 0 TeXcolorrgb 45 w(M)p
Black(.)p 0 0 0 TeXcolorrgb(hs)p Black 0.95 TeXcolorgray
-82 372 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 530 a FA(\(or)g Ft(M.lhs)f FA(if)i(that)f(is)h(the)f
(\002lename)g(you)f(used\).)p Black -128 696 a(\225)p
Black 42 w(F)o(or)h(each)g(import)f(declaration)f Ft(import)49
b(X)21 b FA(in)f Ft(M)p FA(,)g(a)h(line)f(recording)e(the)i(dependence)
e(of)i Ft(M)h FA(on)e Ft(X)p FA(:)-128 764 y
SDict begin H.S end
-128 764
a -128 764 a
SDict begin 12 H.A end
-128 764 a -128 764 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-126) cvn H.B /DEST pdfmark end
-128 764 a 0.95 TeXcolorgray
-82 779 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 871 25 92 v
Black 0.95 TeXcolorgray -57 871 4182 92 v Black 0.95
TeXcolorgray 4124 871 25 92 v Black 0.95 TeXcolorgray
Black -57 843 a
SDict begin H.S end
-57 843 a -57 843 a
SDict begin 11 H.A end
-57 843 a -57 843
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-126.1) cvn H.B /DEST pdfmark end
-57 843 a 0 0 0 TeXcolorrgb Fo(M)p Black(.)p 0 0 0
TeXcolorrgb(o)p Black 44 w(:)p 0 0 0 TeXcolorrgb 45 w(X)p
Black(.)p 0 0 0 TeXcolorrgb(hi)p Black 0.95 TeXcolorgray
-82 895 4232 25 v Black 0.95 TeXcolorgray Black Black
Black Black -128 1086 a FA(\225)p Black 42 w(F)o(or)h(each)g(import)f
(declaration)f Ft(import)49 b({-#)g(SOURCE)g(#-})g(X)21
b FA(in)f Ft(M)p FA(,)h(a)f(line)h(recording)c(the)k(dependence)c(of)j
Ft(M)h FA(on)e Ft(X)p FA(:)-128 1154 y
SDict begin H.S end
-128 1154 a -128
1154 a
SDict begin 12 H.A end
-128 1154 a -128 1154 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-127) cvn H.B /DEST pdfmark end
-128 1154 a 0.95 TeXcolorgray
-82 1169 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1261 25 92 v
Black 0.95 TeXcolorgray -57 1261 4182 92 v Black 0.95
TeXcolorgray 4124 1261 25 92 v Black 0.95 TeXcolorgray
Black -57 1233 a
SDict begin H.S end
-57 1233 a -57 1233 a
SDict begin 11 H.A end
-57 1233 a -57
1233 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-127.1) cvn H.B /DEST pdfmark end
-57 1233 a 0 0 0 TeXcolorrgb Fo(M)p Black(.)p
0 0 0 TeXcolorrgb(o)p Black 44 w(:)p 0 0 0 TeXcolorrgb
45 w(X)p Black(.)p 0 0 0 TeXcolorrgb(hi)p Black -1 w(-)p
0 0 0 TeXcolorrgb(boot)p Black 0.95 TeXcolorgray -82
1286 4232 25 v Black 0.95 TeXcolorgray Black Black Black
-57 1443 a FA(\(See)h(Section)p 1 0 0 TeXcolorrgb 381
1445 a
SDict begin H.S end
381 1445 a 1 0 0 TeXcolorrgb -2 x FA(4.6.9)p 1 0 0
TeXcolorrgb 547 1387 a
SDict begin H.R end
547 1387 a 547 1443 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.9) cvn H.B /ANN pdfmark end
547 1443
a Black 21 w FA(for)f(details)i(of)f Ft(hi-boot)f FA(style)i(interf)o
(ace)e(\002les.\))-128 1659 y(If)h Ft(M)h FA(imports)f(multiple)f
(modules,)g(then)h(there)f(will)i(be)f(multiple)g(lines)h(with)f
Ft(M.o)g FA(as)h(the)f(tar)o(get.)-128 1809 y(There)j(is)h(no)f(need)f
(to)h(list)i(all)f(of)e(the)i(source)e(\002les)i(as)g(ar)o(guments)d
(to)i(the)h Fu(ghc)f(-M)h FA(command;)e Fu(ghc)i FA(traces)f(the)g
(dependencies,)f(just)h(lik)o(e)h Fu(ghc)-128 1908 y(--mak)o(e)c
FA(\(a)h(ne)n(w)f(feature)f(in)h(GHC)h(6.4\).)-128 2058
y(Note)c(that)g Ft(ghc)49 b(-M)17 b FA(needs)g(to)g(\002nd)f(a)h
Fq(sour)m(ce)g(\002le)g FA(for)f(each)g(module)g(in)h(the)g(dependenc)o
(y)c(graph,)j(so)h(that)g(it)h(can)e(parse)h(the)f(import)g
(declarations)-128 2157 y(and)k(follo)n(w)g(dependencies.)i(An)o(y)e
(pre-compiled)d(modules)i(without)h(source)f(\002les)i(must)g
(therefore)d(belong)h(to)h(a)h(package)3508 2127 y Fn(1)3540
2157 y FA(.)-128 2307 y(By)29 b(def)o(ault,)h Fu(ghc)e(-M)h
FA(generates)e(all)i(the)f(dependencies,)g(and)g(then)g(concatenates)f
(them)g(onto)h(the)g(end)g(of)g Ft(makefile)f FA(\(or)h
Ft(Makefile)-128 2406 y FA(if)20 b Ft(makefile)d FA(doesn')o(t)h(e)o
(xist\))g(brack)o(eted)g(by)g(the)h(lines)g(")p Ft(#)50
b(DO)f(NOT)g(DELETE:)g(Beginning)f(of)h(Haskell)g(dependencies)p
FA(")-128 2506 y(and)21 b(")p Ft(#)49 b(DO)g(NOT)h(DELETE:)e(End)h(of)h
(Haskell)e(dependencies)p FA(".)25 b(If)20 b(these)h(lines)g(already)f
(e)o(xist)h(in)g(the)f Ft(makefile)p FA(,)g(then)g(the)-128
2606 y(old)g(dependencies)e(are)i(deleted)g(\002rst.)-128
2755 y(Don')o(t)g(for)o(get)f(to)i(use)g(the)g(same)g
Ft(-package)f FA(options)f(on)i(the)g Ft(ghc)49 b(-M)21
b FA(command)d(line)j(as)h(you)e(w)o(ould)g(when)g(compiling;)f(this)j
(enables)e(the)-128 2855 y(dependenc)o(y)e(generator)g(to)j(locate)f
(an)o(y)g(imported)f(modules)h(that)g(come)g(from)g(packages.)25
b(The)20 b(package)f(modules)g(w)o(on')o(t)h(be)g(included)f(in)i(the)
-128 2954 y(dependencies)d(generated,)h(though)f(\(b)n(ut)i(see)h(the)f
Ft(--include-pkg-deps)d FA(option)i(belo)n(w\).)-128
3104 y(The)27 b(dependenc)o(y)d(generation)h(phase)i(of)g(GHC)h(can)f
(tak)o(e)g(some)g(additional)e(options,)j(which)f(you)f(may)h(\002nd)f
(useful.)46 b(The)26 b(options)h(which)-128 3204 y(af)n(fect)20
b(dependenc)o(y)d(generation)h(are:)p Black -128 3419
a Fh(-ddump-mod-cycles)p Black 39 w FA(Display)i(a)g(list)i(of)e(the)g
(c)o(ycles)g(in)g(the)g(module)f(graph.)24 b(This)c(is)h(useful)f(when)
f(trying)h(to)g(eliminate)g(such)g(c)o(ycles.)p Black
-128 3585 a Fh(-v2)p Black 41 w FA(Print)i(a)f(full)h(list)g(of)f(the)g
(module)f(dependencies)f(to)j(stdout.)27 b(\(This)21
b(is)i(the)e(standard)f(v)o(erbosity)g(\003ag,)h(so)h(the)f(list)h
(will)g(also)g(be)f(displayed)80 3685 y(with)f Ft(-v3)h
FA(and)e Ft(-v4)p FA(;)h(Section)p 1 0 0 TeXcolorrgb
1022 3686 a
SDict begin H.S end
1022 3686 a 1 0 0 TeXcolorrgb -1 x FA(4.5)p
1 0 0 TeXcolorrgb 1126 3629 a
SDict begin H.R end
1126 3629 a 1126 3685 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.5) cvn H.B /ANN pdfmark end
1126 3685 a Black FA(.\))p Black -128 3851 a Fh(-dep-makefile)f
Ff(file)p Black 41 w FA(Use)32 b Fr(file)f FA(as)g(the)g(mak)o
(e\002le,)i(rather)e(than)f Ft(makefile)g FA(or)h Ft(Makefile)p
FA(.)56 b(If)31 b Fr(file)g FA(doesn')o(t)f(e)o(xist,)j
Fu(mkde-)80 3951 y(pendHS)24 b FA(creates)g(it.)35 b(W)-7
b(e)24 b(often)f(use)h Ft(-dep-makefile)47 b(.depend)23
b FA(to)g(put)g(the)h(dependencies)d(in)j Ft(.depend)e
FA(and)h(then)g Fu(include)80 4050 y FA(the)d(\002le)h
Ft(.depend)f FA(into)f Ft(Makefile)p FA(.)p Black -128
4216 a Fh(-dep-suffix)48 b()p Black 41 w FA(Mak)o(e)26
b(e)o(xtra)g(dependencies)e(that)j(declare)f(that)g(\002les)i(with)e
(suf)n(\002x)h Ft(.<)t(suf>)t(_<)t(osuf>)i FA(depend)c(on)h(interf)o
(ace)80 4316 y(\002les)e(with)g(suf)n(\002x)f Ft(.<)t(suf>)t(_hi)p
FA(,)g(or)g(\(for)f Ft({-#)50 b(SOURCE)e(#-})24 b FA(imports\))e(on)h
Ft(.hi-)t(boot)p FA(.)34 b(Multiple)22 b Ft(-dep-suffix)g
FA(\003ags)i(are)80 4416 y(permitted.)45 b(F)o(or)27
b(e)o(xample,)h Ft(-dep-suffix)48 b(a)h(-dep-suffix)f(b)28
b FA(will)g(mak)o(e)f(dependencies)e(for)i Ft(.hs)g FA(on)g
Ft(.hi)p FA(,)i Ft(.a_hs)e FA(on)80 4515 y Ft(.a_hi)p
FA(,)20 b(and)f Ft(.b_hs)h FA(on)g Ft(.b_hi)p FA(.)k(\(Useful)c(in)g
(conjunction)e(with)j(NoFib)f("w)o(ays".\))p Black -128
4681 a Fh(--exclude-module=)p Black 38 w FA(Re)o(gard)f
Ft(<)t(file>)k FA(as)e("stable";)g(i.e.,)f(e)o(xclude)e(it)j(from)e(ha)
n(ving)g(dependencies)f(on)i(it.)p Black -128 4847 a
Fh(--include-pkg-deps)p Black 39 w FA(Re)o(gard)j(modules)h(imported)g
(from)g(packages)g(as)i(unstable,)f(i.e.,)h(generate)e(dependencies)f
(on)h(an)o(y)h(imported)80 4947 y(package)20 b(modules)g(\(including)f
Ft(Prelude)p FA(,)h(and)h(all)g(other)g(standard)f(Hask)o(ell)h
(libraries\).)27 b(Dependencies)19 b(are)j(not)e(traced)h(recursi)n(v)o
(ely)80 5047 y(into)16 b(packages;)h(dependencies)d(are)j(only)e
(generated)g(for)h(home-package)d(modules)j(on)g(e)o(xternal-package)c
(modules)k(directly)g(imported)80 5146 y(by)k(the)g(home)f(package)g
(module.)k(This)e(option)e(is)i(normally)d(only)i(used)g(by)g(the)g(v)n
(arious)f(system)h(libraries.)p Black -128 5217 1701
4 v -7 5273 a Fm(1)22 5297 y Fl(This)d(is)f(a)i(change)g(in)g(beha)o
(viour)g(relati)n(v)o(e)j(to)c(6.2)f(and)i(earlier)l(.)p
Black Black -128 6084 4252 5 v Black eop end
%%Page: 51 66
TeXDict begin 51 65 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.51) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(51)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.6.12) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.6.12)p
Black 89 w(Orphan)k(modules)g(and)g(instance)g(dec)n(larations)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (orphan-modules) cvn H.B /DEST pdfmark end
-128
262 a 108 x FA(Hask)o(ell)i(speci\002es)f(that)g(when)f(compiling)f
(module)g(M,)i(an)o(y)f(instance)h(declaration)e(in)i(an)o(y)f(module)f
("belo)n(w")h(M)h(is)h(visible.)39 b(\(Module)23 b(A)i(is)-128
470 y("belo)n(w")20 b(M)i(if)f(A)g(is)h(imported)d(directly)h(by)h(M,)g
(or)f(if)h(A)h(is)f(belo)n(w)g(a)g(module)f(that)g(M)i(imports)e
(directly)-5 b(.\))25 b(In)c(principle,)e(GHC)j(must)f(therefore)-128
569 y(read)g(the)f(interf)o(ace)g(\002les)i(of)f(e)n(v)o(ery)e(module)g
(belo)n(w)i(M,)g(just)g(in)g(case)g(the)o(y)f(contain)g(an)h(instance)f
(declaration)f(that)i(matters)g(to)g(M.)g(This)g(w)o(ould)-128
669 y(be)g(a)f(disaster)h(in)f(practice,)f(so)i(GHC)g(tries)f(to)h(be)f
(cle)n(v)o(er)-5 b(.)-128 812 y(In)22 b(particular)m(,)e(if)i(an)g
(instance)f(declaration)f(is)j(in)f(the)g(same)f(module)g(as)h(the)g
(de\002nition)e(of)i(an)o(y)f(type)g(or)h(class)g(mentioned)e(in)i(the)
g Fq(head)h FA(of)e(the)-128 912 y(instance)f(declaration)f(\(the)h
(part)g(after)f(the)i(\223)p Ft(=>)p FA(\224;)f(see)h(Section)p
1 0 0 TeXcolorrgb 1763 913 a
SDict begin H.S end
1763 913 a 1 0 0 TeXcolorrgb
-1 x FA(7.6.3.1)p 1 0 0 TeXcolorrgb 1992 856 a
SDict begin H.R end
1992 856
a 1992 912 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.6.3.1) cvn H.B /ANN pdfmark end
1992 912 a Black FA(\),)f(then)g(GHC)h(has)f(to)g(visit)h
(that)f(interf)o(ace)g(\002le)h(an)o(yw)o(ay)-5 b(.)23
b(Example:)-128 974 y
SDict begin H.S end
-128 974 a -128 974 a
SDict begin 12 H.A end
-128 974
a -128 974 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-128) cvn H.B /DEST pdfmark end
-128 974 a 0.95 TeXcolorgray -153 989 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1080 25 92 v Black 0.95
TeXcolorgray -128 1080 4252 92 v Black 0.95 TeXcolorgray
4124 1080 25 92 v Black 0.95 TeXcolorgray Black -128
1053 a
SDict begin H.S end
-128 1053 a -128 1053 a
SDict begin 11 H.A end
-128 1053 a -128 1053
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-128.1) cvn H.B /DEST pdfmark end
-128 1053 a 0 0 0 TeXcolorrgb 90 w Fo(module)p Black
0 0 0 TeXcolorrgb 44 w(A)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1172 25 92 v Black 0.95 TeXcolorgray -128 1172 4252
92 v Black 0.95 TeXcolorgray 4124 1172 25 92 v Black
0.95 TeXcolorgray Black -128 1144 a
SDict begin H.S end
-128 1144 a -128
1144 a
SDict begin 11 H.A end
-128 1144 a -128 1144 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-128.2) cvn H.B /DEST pdfmark end
-128 1144 a 0 0 0 TeXcolorrgb
180 w Fo(instance)p Black 0 0 0 TeXcolorrgb 43 w(C)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 44 w(D)p Black 45 w(\()p 0 0 0 TeXcolorrgb(T)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))p 0 0 0 TeXcolorrgb
45 w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1263 25 92 v Black 0.95 TeXcolorgray
-128 1263 4252 92 v Black 0.95 TeXcolorgray 4124 1263
25 92 v Black 0.95 TeXcolorgray Black -128 1235 a
SDict begin H.S end
-128
1235 a -128 1235 a
SDict begin 11 H.A end
-128 1235 a -128 1235 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-128.3) cvn H.B /DEST pdfmark end
-128 1235
a 0 0 0 TeXcolorrgb 180 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)45
b(...)p 0.95 TeXcolorgray -153 1288 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 1450 a FA(The)26
b(instance)g(declaration)f(is)i(only)e(rele)n(v)n(ant)g(if)i(the)f
(type)g(T)g(is)h(in)g(use,)g(and)f(if)g(so,)i(GHC)f(will)g(ha)n(v)o(e)f
(visited)g(A)-9 b(')k(s)27 b(interf)o(ace)e(\002le)i(to)f(\002nd)g(T')
-5 b(s)-128 1550 y(de\002nition.)-128 1693 y(The)21 b(only)f(problem)g
(comes)g(when)h(a)g(module)f(contains)g(an)h(instance)g(declaration)e
(and)h(GHC)i(has)f(no)g(other)f(reason)g(for)h(visiting)g(the)g
(module.)-128 1792 y(Example:)-128 1854 y
SDict begin H.S end
-128 1854 a
-128 1854 a
SDict begin 12 H.A end
-128 1854 a -128 1854 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-129) cvn H.B /DEST pdfmark end
-128 1854 a 0.95
TeXcolorgray -153 1869 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1961 25 92 v Black 0.95 TeXcolorgray -128 1961 4252 92
v Black 0.95 TeXcolorgray 4124 1961 25 92 v Black 0.95
TeXcolorgray Black -128 1933 a
SDict begin H.S end
-128 1933 a -128 1933
a
SDict begin 11 H.A end
-128 1933 a -128 1933 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-129.1) cvn H.B /DEST pdfmark end
-128 1933 a 0 0 0 TeXcolorrgb
90 w Fo(module)p Black 0 0 0 TeXcolorrgb 44 w(Orphan)p
Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2052 25 92 v Black 0.95
TeXcolorgray -128 2052 4252 92 v Black 0.95 TeXcolorgray
4124 2052 25 92 v Black 0.95 TeXcolorgray Black -128
2025 a
SDict begin H.S end
-128 2025 a -128 2025 a
SDict begin 11 H.A end
-128 2025 a -128 2025
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-129.2) cvn H.B /DEST pdfmark end
-128 2025 a 0 0 0 TeXcolorrgb 180 w Fo(instance)p Black
0 0 0 TeXcolorrgb 43 w(C)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(D)p Black
45 w(\()p 0 0 0 TeXcolorrgb(T)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(\))p 0 0 0 TeXcolorrgb 45 w(where)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2143 25 92 v Black 0.95 TeXcolorgray -128 2143 4252
92 v Black 0.95 TeXcolorgray 4124 2143 25 92 v Black
0.95 TeXcolorgray Black -128 2116 a
SDict begin H.S end
-128 2116 a -128
2116 a
SDict begin 11 H.A end
-128 2116 a -128 2116 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-129.3) cvn H.B /DEST pdfmark end
-128 2116 a 0 0 0 TeXcolorrgb
180 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153 2168
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2330 a FA(Here,)g(neither)f(D)h(nor)f(T)h(is)h(declared)d(in)i(module)f
(Orphan.)25 b(W)-7 b(e)22 b(call)f(such)f(modules)g(\223orphan)f
(modules\224.)25 b(GHC)d(identi\002es)e(orphan)f(modules,)-128
2430 y(and)j(visits)g(the)g(interf)o(ace)f(\002le)h(of)f(e)n(v)o(ery)g
(orphan)e(module)i(belo)n(w)g(the)h(module)e(being)h(compiled.)28
b(This)21 b(is)i(usually)e(w)o(asted)h(w)o(ork,)f(b)n(ut)h(there)f(is)
-128 2530 y(no)f(a)n(v)n(oiding)f(it.)26 b(Y)-9 b(ou)19
b(should)h(therefore)e(do)i(your)f(best)h(to)h(ha)n(v)o(e)e(as)i(fe)n
(w)f(orphan)f(modules)g(as)i(possible.)-128 2673 y(Functional)e
(dependencies)f(complicate)h(matters.)25 b(Suppose)19
b(we)i(ha)n(v)o(e:)-128 2735 y
SDict begin H.S end
-128 2735 a -128 2735
a
SDict begin 12 H.A end
-128 2735 a -128 2735 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-130) cvn H.B /DEST pdfmark end
-128 2735 a 0.95 TeXcolorgray
-153 2750 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2841 25 92
v Black 0.95 TeXcolorgray -128 2841 4252 92 v Black 0.95
TeXcolorgray 4124 2841 25 92 v Black 0.95 TeXcolorgray
Black -128 2814 a
SDict begin H.S end
-128 2814 a -128 2814 a
SDict begin 11 H.A end
-128 2814 a
-128 2814 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-130.1) cvn H.B /DEST pdfmark end
-128 2814 a 0 0 0 TeXcolorrgb 90 w Fo(module)p
Black 0 0 0 TeXcolorrgb 44 w(B)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2933 25 92 v Black 0.95 TeXcolorgray -128 2933 4252
92 v Black 0.95 TeXcolorgray 4124 2933 25 92 v Black
0.95 TeXcolorgray Black -128 2905 a
SDict begin H.S end
-128 2905 a -128
2905 a
SDict begin 11 H.A end
-128 2905 a -128 2905 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-130.2) cvn H.B /DEST pdfmark end
-128 2905 a 0 0 0 TeXcolorrgb
180 w Fo(instance)p Black 0 0 0 TeXcolorrgb 43 w(E)p
Black 0 0 0 TeXcolorrgb 45 w(T)p Black 0 0 0 TeXcolorrgb
45 w(Int)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3024 25 92 v Black 0.95 TeXcolorgray -128 3024 4252
92 v Black 0.95 TeXcolorgray 4124 3024 25 92 v Black
0.95 TeXcolorgray Black -128 2997 a
SDict begin H.S end
-128 2997 a -128
2997 a
SDict begin 11 H.A end
-128 2997 a -128 2997 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-130.3) cvn H.B /DEST pdfmark end
-128 2997 a 0 0 0 TeXcolorrgb
180 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black
45 w(=)44 b(...)p 0.95 TeXcolorgray -153 3049 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3211
a FA(Is)28 b(this)g(an)g(orphan)d(module?)46 b(Apparently)25
b(not,)k(because)e Ft(T)h FA(is)g(declared)e(in)i(the)f(same)h(module.)
45 b(But)28 b(suppose)f(class)h Ft(E)g FA(had)f(a)h(functional)-128
3311 y(dependenc)o(y:)-128 3372 y
SDict begin H.S end
-128 3372 a -128 3372
a
SDict begin 12 H.A end
-128 3372 a -128 3372 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-131) cvn H.B /DEST pdfmark end
-128 3372 a 0.95 TeXcolorgray
-153 3387 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3479 25 92
v Black 0.95 TeXcolorgray -128 3479 4252 92 v Black 0.95
TeXcolorgray 4124 3479 25 92 v Black 0.95 TeXcolorgray
Black -128 3451 a
SDict begin H.S end
-128 3451 a -128 3451 a
SDict begin 11 H.A end
-128 3451 a
-128 3451 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-131.1) cvn H.B /DEST pdfmark end
-128 3451 a 0 0 0 TeXcolorrgb 90 w Fo(module)p
Black 0 0 0 TeXcolorrgb 44 w(Lib)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3570 25 92 v Black 0.95 TeXcolorgray -128 3570 4252
92 v Black 0.95 TeXcolorgray 4124 3570 25 92 v Black
0.95 TeXcolorgray Black -128 3543 a
SDict begin H.S end
-128 3543 a -128
3543 a
SDict begin 11 H.A end
-128 3543 a -128 3543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-131.2) cvn H.B /DEST pdfmark end
-128 3543 a 0 0 0 TeXcolorrgb
180 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(E)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45
w(y)p Black 45 w(|)p 0 0 0 TeXcolorrgb 44 w(y)p Black
45 w(->)p 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153
3595 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3757 a FA(Then)23 b(in)h(some)f(importing)e(module)h(M,)i(the)f
(constraint)g Ft(\(E)49 b(a)h(Int\))23 b FA(should)f(be)i("impro)o(v)o
(ed")c(by)j(setting)g Ft(a)50 b(=)g(T)p FA(,)23 b Fq(e)o(ven)g(though)f
(ther)m(e)h(is)-128 3857 y(no)d(e)n(xplicit)h(mention)e(of)h
Fg(T)h Fq(in)f(M)p FA(.)h(These)f(considerations)e(lead)i(to)h(the)f
(follo)n(wing)e(de\002nition)i(of)f(an)i(orphan)d(module:)p
Black -128 4054 a(\225)p Black 42 w(An)i Fq(orphan)f(module)g
FA(contains)g(at)i(least)g(one)f Fq(orphan)e(instance)i
FA(or)g(at)g(least)h(one)f Fq(orphan)f(rule)p FA(.)p
Black -128 4214 a(\225)p Black 42 w(An)h(instance)g(declaration)f(in)h
(a)h(module)d(M)j(is)g(an)f Fq(orphan)f(instance)g FA(if)p
Black -57 4374 a Fu(\226)p Black 41 w FA(The)h(class)h(of)f(the)g
(instance)g(declaration)f(is)i(not)f(declared)f(in)h(M,)g(and)p
Black -57 4501 a Fu(\226)p Black 41 w Fq(Either)28 b
FA(the)e(class)h(has)g(no)e(functional)f(dependencies,)i(and)f(none)g
(of)h(the)g(type)g(constructors)e(in)i(the)g(instance)g(head)f(is)i
(declared)e(in)i(M;)26 4601 y Fq(or)h FA(there)e(is)h(a)g(functional)d
(dependenc)o(y)f(for)j(which)f(none)h(of)f(the)i(type)e(constructors)g
(mentioned)f(in)i(the)h Fq(non-determined)e FA(part)h(of)g(the)26
4700 y(instance)20 b(head)f(is)i(de\002ned)f(in)g(M.)-57
4860 y(Only)i(the)g(instance)g(head)g(counts.)31 b(In)22
b(the)g(e)o(xample)f(abo)o(v)o(e,)g(it)i(is)h(not)e(good)f(enough)f
(for)i(C')-5 b(s)23 b(declaration)e(to)i(be)f(in)h(module)e(A;)i(it)g
(must)f(be)-57 4960 y(the)e(declaration)f(of)h(D)g(or)g(T)-6
b(.)p Black -128 5120 a(\225)p Black 42 w(A)25 b(re)n(write)f(rule)g
(in)g(a)h(module)e(M)i(is)g(an)g Fq(orphan)d(rule)j FA(if)g(none)e(of)h
(the)h(v)n(ariables,)f(type)g(constructors,)f(or)i(classes)g(that)g
(are)f(free)g(in)g(the)h(left)-57 5219 y(hand)19 b(side)i(of)f(the)g
(rule)g(are)g(declared)f(in)h(M.)-128 5417 y(If)j(you)f(use)h(the)f
(\003ag)h Ft(-fwarn-orphans)p FA(,)e(GHC)i(will)h(w)o(arn)e(you)g(if)h
(you)f(are)g(creating)g(an)g(orphan)f(module.)31 b(Lik)o(e)23
b(an)o(y)f(w)o(arning,)f(you)h(can)-128 5517 y(switch)f(the)f(w)o
(arning)f(of)n(f)h(with)g Ft(-fno-warn-orphans)p FA(,)d(and)j
Ft(-Werror)f FA(will)i(mak)o(e)f(the)g(compilation)f(f)o(ail)h(if)h
(the)f(w)o(arning)f(is)i(issued.)-128 5660 y(Y)-9 b(ou)23
b(can)g(identify)f(an)h(orphan)e(module)g(by)i(looking)e(in)j(its)g
(interf)o(ace)e(\002le,)i Ft(M.hi)p FA(,)f(using)g(the)p
1 0 0 TeXcolorrgb 2691 5661 a
SDict begin H.S end
2691 5661 a 1 0 0 TeXcolorrgb
-1 x FA(--sho)n(w-if)o(ace)18 b(mode)p 1 0 0 TeXcolorrgb
3313 5604 a
SDict begin H.R end
3313 5604 a 3313 5660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (modes) cvn H.B /ANN pdfmark end
3313 5660 a Black
FA(.)34 b(If)23 b(there)f(is)i(a)g Ft([orphan)-128 5759
y(module])c FA(on)g(the)g(\002rst)h(line,)f(GHC)h(considers)e(it)i(an)f
(orphan)f(module.)p Black -128 6084 4252 5 v Black eop
end
%%Page: 52 67
TeXDict begin 52 66 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.52) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(52)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.7) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(4.7)p
Black 108 w(W)l(arnings)27 b(and)j(sanity-c)o(hec)n(king)-128
322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (options-sanity) cvn H.B /DEST pdfmark end
-128
322 a 114 x FA(GHC)18 b(has)f(a)h(number)d(of)h(options)g(that)h
(select)h(which)e(types)h(of)f(non-f)o(atal)g(error)f(messages,)j
(otherwise)e(kno)n(wn)f(as)j(w)o(arnings,)e(can)h(be)g(generated)-128
536 y(during)k(compilation.)28 b(By)22 b(def)o(ault,)g(you)f(get)h(a)g
(standard)f(set)i(of)e(w)o(arnings)g(which)h(are)f(generally)g(lik)o
(ely)h(to)g(indicate)f(b)n(ugs)h(in)g(your)e(program.)-128
635 y(These)j(are:)30 b Ft(-fwarn-overlapping-patterns)p
FA(,)19 b Ft(-fwarn-warnings-deprecations)p FA(,)f Ft
(-fwarn-deprecated-fl-)-128 735 y(ags)p FA(,)k Ft
(-fwarn-duplicate-exports)p FA(,)d Ft(-fwarn-missing-fields)p
FA(,)f Ft(-fwarn-missing-methods)p FA(,)h(and)i Ft(-fwarn-d-)-128
835 y(odgy-foreign-imports)p FA(.)h(The)e(follo)n(wing)f(\003ags)h(are)
g(simple)g(w)o(ays)h(to)f(select)h(standard)e(\223packages\224)g(of)h
(w)o(arnings:)p Black -128 1051 a Fh(-W)p Fu(:)p Black
41 w FA(Pro)o(vides)e(the)h(standard)f(w)o(arnings)h(plus)g
Ft(-fwarn-incomplete-patterns)p FA(,)14 b Ft(-fwarn-dodgy-imports)p
FA(,)i Ft(-fwarn-un-)80 1150 y(used-matches)p FA(,)i
Ft(-fwarn-unused-imports)p FA(,)f(and)i Ft(-fwarn-unused-binds)p
FA(.)p Black -128 1316 a Fh(-Wall)p Fu(:)p Black 41 w
FA(T)l(urns)24 b(on)g(all)h(w)o(arning)e(options)h(that)g(indicate)g
(potentially)f(suspicious)h(code.)38 b(The)24 b(w)o(arnings)f(that)i
(are)f Fq(not)i FA(enabled)d(by)h Ft(-Wall)80 1416 y
FA(are)f Ft(-fwarn-simple-patterns)p FA(,)c Ft(-fwarn-tabs)p
FA(,)j Ft(-fwarn-incomplete-record-updates)p FA(,)17
b Ft(-fwarn-mon-)80 1516 y(omorphism-restriction)p FA(,)g(and)i
Ft(-fwarn-implicit-prelude)p FA(.)p Black -128 1682 a
Fh(-w)p Fu(:)p Black 41 w FA(T)l(urns)h(of)n(f)f(all)i(w)o(arnings,)e
(including)g(the)h(standard)f(ones)h(and)f(those)h(that)h
Ft(-Wall)f FA(doesn')o(t)e(enable.)p Black -128 1848
a Fh(-Werror)p Fu(:)p Black 40 w FA(Mak)o(es)j(an)o(y)e(w)o(arning)g
(into)h(a)g(f)o(atal)h(error)-5 b(.)24 b(Useful)c(so)h(that)f(you)f
(don')o(t)g(miss)i(w)o(arnings)e(when)h(doing)f(batch)g(compilation.)p
Black -128 2014 a Fh(-Wwarn)p Fu(:)p Black 40 w FA(W)-7
b(arnings)20 b(are)h(treated)e(only)h(as)g(w)o(arnings,)f(not)h(as)h
(errors.)j(This)d(is)g(the)f(def)o(ault,)f(b)n(ut)h(can)g(be)h(useful)e
(to)i(ne)o(gate)d(a)j Ft(-Werror)e FA(\003ag.)-128 2229
y(The)k(full)f(set)h(of)g(w)o(arning)e(options)h(is)h(described)e(belo)
n(w)-5 b(.)31 b(T)-7 b(o)23 b(turn)f(of)n(f)g(an)o(y)g(w)o(arning,)f
(simply)h(gi)n(v)o(e)g(the)h(corresponding)c Ft(-fno-warn-...)-128
2329 y FA(option)g(on)h(the)g(command)f(line.)p Black
-128 2545 a Fh(-fwarn-unrecognised-pragmas)p Fu(:)p Black
37 w FA(Causes)25 b(a)f(w)o(arning)f(to)i(be)f(emitted)g(when)g(a)g
(pragma)f(that)h(GHC)i(doesn')o(t)c(recognise)h(is)i(used.)80
2645 y(As)c(well)f(as)h(pragmas)e(that)h(GHC)g(itself)h(uses,)f(GHC)h
(also)f(recognises)f(pragmas)g(kno)n(wn)f(to)i(be)g(used)g(by)f(other)h
(tools,)f(e.g.)25 b Ft(OPTIONS-)80 2744 y(_HUGS)20 b
FA(and)f Ft(DERIVE)p FA(.)80 2877 y(This)h(option)f(is)i(on)f(by)g(def)
o(ault.)p Black -128 3043 a Fh(-fwarn-warnings-deprecations)p
Fu(:)p Black 36 w FA(Causes)i(a)g(w)o(arning)d(to)i(be)g(emitted)g
(when)f(a)i(module,)d(function)g(or)i(type)g(with)g(a)g(W)-10
b(ARNING)80 3143 y(or)20 b(DEPRECA)-9 b(TED)20 b(pragma)f(is)i(used.)k
(See)20 b(Section)p 1 0 0 TeXcolorrgb 1676 3144 a
SDict begin H.S end
1676
3144 a 1 0 0 TeXcolorrgb -1 x FA(7.13.4)p 1 0 0 TeXcolorrgb
1884 3086 a
SDict begin H.R end
1884 3086 a 1884 3143 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.4) cvn H.B /ANN pdfmark end
1884 3143 a Black
20 w FA(for)g(more)f(details)i(on)f(the)g(pragmas.)80
3276 y(This)g(option)f(is)i(on)f(by)g(def)o(ault.)p Black
-128 3442 a Fh(-fwarn-deprecated-flags)p Fu(:)p Black
37 w FA(Causes)h(a)g(w)o(arning)e(to)h(be)g(emitted)g(when)g(a)g
(deprecated)f(commandline)e(\003ag)k(is)g(used.)80 3574
y(This)f(option)f(is)i(on)f(by)g(def)o(ault.)p Black
-128 3740 a Fh(-fwarn-dodgy-foreign-imports)p Fu(:)p
Black 36 w FA(Causes)h(a)g(w)o(arning)e(to)h(be)g(emitted)g(for)g
(foreign)e(imports)i(of)g(the)g(follo)n(wing)e(form:)-128
3808 y
SDict begin H.S end
-128 3808 a -128 3808 a
SDict begin 12 H.A end
-128 3808 a -128 3808
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-132) cvn H.B /DEST pdfmark end
-128 3808 a 0.95 TeXcolorgray 55 3824 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 3915 25 92 v Black 0.95 TeXcolorgray
80 3915 4045 92 v Black 0.95 TeXcolorgray 4124 3915 25
92 v Black 0.95 TeXcolorgray Black 80 3887 a
SDict begin H.S end
80 3887
a 80 3887 a
SDict begin 11 H.A end
80 3887 a 80 3887 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-132.1) cvn H.B /DEST pdfmark end
80 3887 a 0 0 0 TeXcolorrgb
Fo(foreign)p Black 0 0 0 TeXcolorrgb 44 w(import)p Black
43 w(")p 0 0 0 TeXcolorrgb(f)p Black(")p 0 0 0 TeXcolorrgb
45 w(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(FunPtr)p
Black 0 0 0 TeXcolorrgb 44 w(t)p Black 0.95 TeXcolorgray
55 3940 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 4097 a FA(on)i(the)g(grounds)e(that)j(it)f(probably)e(should)i
(be)-128 4165 y
SDict begin H.S end
-128 4165 a -128 4165 a
SDict begin 12 H.A end
-128 4165 a -128
4165 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-133) cvn H.B /DEST pdfmark end
-128 4165 a 0.95 TeXcolorgray 55 4181 4095 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 4272 25 92 v Black 0.95 TeXcolorgray
80 4272 4045 92 v Black 0.95 TeXcolorgray 4124 4272 25
92 v Black 0.95 TeXcolorgray Black 80 4244 a
SDict begin H.S end
80 4244
a 80 4244 a
SDict begin 11 H.A end
80 4244 a 80 4244 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-133.1) cvn H.B /DEST pdfmark end
80 4244 a 0 0 0 TeXcolorrgb
Fo(foreign)p Black 0 0 0 TeXcolorrgb 44 w(import)p Black
43 w("&)p 0 0 0 TeXcolorrgb(f)p Black(")p 0 0 0 TeXcolorrgb
45 w(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(FunPtr)p
Black 0 0 0 TeXcolorrgb 44 w(t)p Black 0.95 TeXcolorgray
55 4297 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 4454 a FA(The)e(\002rst)h(form)e(declares)h(that)g(`f`)g(is)h
(a)f(\(pure\))f(C)i(function)d(that)j(tak)o(es)f(no)g(ar)o(guments)e
(and)i(returns)f(a)i(pointer)e(to)h(a)h(C)g(function)d(with)i(type)80
4554 y(`t`,)j(whereas)g(the)g(second)f(form)g(declares)h(that)g(`f`)f
(itself)i(is)g(a)f(C)h(function)e(with)h(type)g(`t`.)27
b(The)21 b(\002rst)h(declaration)d(is)j(usually)f(a)g(mistak)o(e,)80
4654 y(and)f(one)f(that)i(is)g(hard)e(to)h(deb)n(ug)f(because)h(it)h
(results)f(in)h(a)f(crash,)g(hence)f(this)i(w)o(arning.)p
Black -128 4820 a Fh(-fwarn-dodgy-imports)p Fu(:)p Black
38 w FA(Causes)g(a)f(w)o(arning)f(to)h(be)g(emitted)f(when)g(a)i(a)f
(datatype)f Ft(T)h FA(is)h(imported)d(with)i(all)h(constructors,)d
(i.e.)25 b Ft(T\(.-)80 4919 y(.\))p FA(,)20 b(b)n(ut)g(has)h(been)e(e)o
(xported)f(abstractly)-5 b(,)19 b(i.e.)25 b Ft(T)p FA(.)p
Black -128 5085 a Fh(-fwarn-duplicate-exports)p Fu(:)p
Black 37 w FA(Ha)n(v)o(e)e(the)g(compiler)e(w)o(arn)i(about)f
(duplicate)g(entries)g(in)h(e)o(xport)f(lists.)34 b(This)23
b(is)h(useful)e(information)80 5185 y(if)d(you)g(maintain)f(lar)o(ge)g
(e)o(xport)g(lists,)i(and)f(w)o(ant)g(to)g(a)n(v)n(oid)g(the)g
(continued)e(e)o(xport)h(of)h(a)g(de\002nition)f(after)h(you')l(v)o(e)e
(deleted)h(\(one\))g(mention)80 5285 y(of)i(it)h(in)f(the)g(e)o(xport)f
(list.)80 5418 y(This)h(option)f(is)i(on)f(by)g(def)o(ault.)p
Black -128 5584 a Fh(-fwarn-hi-shadowing)p Fu(:)p Black
38 w FA(Causes)k(the)e(compiler)g(to)h(emit)g(a)g(w)o(arning)f(when)g
(a)h(module)f(or)g(interf)o(ace)g(\002le)i(in)f(the)f(current)g
(directory)f(is)80 5683 y(shado)n(wing)d(one)i(with)g(the)h(same)f
(module)f(name)g(in)i(a)f(library)f(or)h(other)g(directory)-5
b(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 53 68
TeXDict begin 53 67 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.53) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(53)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fh(-fwarn-implicit-prelude)p
Fu(:)p Black 37 w FA(Ha)n(v)o(e)f(the)g(compiler)f(w)o(arn)h(if)g(the)g
(Prelude)g(is)h(implicitly)e(imported.)23 b(This)c(happens)f(unless)h
(either)g(the)80 273 y(Prelude)k(module)g(is)i(e)o(xplicitly)d
(imported)h(with)h(an)g Ft(import)48 b(...)99 b(Prelude)49
b(...)36 b FA(line,)25 b(or)f(this)g(implicit)g(import)f(is)i(disabled)
80 372 y(\(either)19 b(by)h Ft(-XNoImplicitPrelude)d
FA(or)j(a)h Ft(LANGUAGE)48 b(NoImplicitPrelude)18 b FA(pragma\).)80
505 y(Note)24 b(that)g(no)g(w)o(arning)f(is)i(gi)n(v)o(en)e(for)g
(syntax)g(that)i(implicitly)e(refers)h(to)g(the)g(Prelude,)g(e)n(v)o
(en)f(if)i Ft(-XNoImplicitPrelude)c FA(w)o(ould)80 605
y(change)g(whether)g(it)i(refers)f(to)g(the)g(Prelude.)30
b(F)o(or)22 b(e)o(xample,)f(no)h(w)o(arning)e(is)k(gi)n(v)o(en)c(when)i
Ft(368)g FA(means)g Ft(Prelude.fromInteger)80 704 y
(\(368::Prelude.Integer\))g FA(\(where)i Ft(Prelude)h
FA(refers)f(to)i(the)f(actual)g(Prelude)g(module,)f(re)o(gardless)g(of)
h(the)g(imports)g(of)g(the)80 804 y(module)19 b(being)g(compiled\).)80
936 y(This)h(w)o(arning)f(is)i(of)n(f)f(by)g(def)o(ault.)p
Black -128 1102 a Fh(-fwarn-incomplete-patterns)p Fu(:)p
Black 37 w FA(Similarly)j(for)h(incomplete)e(patterns,)i(the)g
(function)f Ft(g)h FA(belo)n(w)g(will)g(f)o(ail)h(when)e(applied)g(to)h
(non-)80 1202 y(empty)19 b(lists,)j(so)e(the)g(compiler)f(will)i(emit)g
(a)f(w)o(arning)f(about)g(this)i(when)f Ft(-fwarn-incomplete-patterns)c
FA(is)21 b(enabled.)-128 1269 y
SDict begin H.S end
-128 1269 a -128 1269
a
SDict begin 12 H.A end
-128 1269 a -128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-134) cvn H.B /DEST pdfmark end
-128 1269 a 0.95 TeXcolorgray
55 1284 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 1375 25 92 v
Black 0.95 TeXcolorgray 80 1375 4045 92 v Black 0.95
TeXcolorgray 4124 1375 25 92 v Black 0.95 TeXcolorgray
Black 80 1348 a
SDict begin H.S end
80 1348 a 80 1348 a
SDict begin 11 H.A end
80 1348 a 80 1348
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-134.1) cvn H.B /DEST pdfmark end
80 1348 a 0 0 0 TeXcolorrgb Fo(g)p Black 45 w([])44
b(=)h(2)p 0.95 TeXcolorgray 55 1400 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 1557 a FA(This)28 b(option)e(isn')o
(t)h(enabled)f(by)h(def)o(ault)g(because)f(it)i(can)g(be)f(a)h(bit)f
(noisy)-5 b(,)28 b(and)f(it)h(doesn')o(t)e(al)o(w)o(ays)i(indicate)f(a)
h(b)n(ug)e(in)i(the)f(program.)80 1657 y(Ho)n(we)n(v)o(er)m(,)18
b(it')-5 b(s)21 b(generally)e(considered)f(good)h(practice)h(to)g(co)o
(v)o(er)f(all)i(the)f(cases)h(in)f(your)f(functions.)p
Black -128 1822 a Fh(-fwarn-incomplete-record-updates)p
Fu(:)p Black 36 w FA(The)g(function)f Ft(f)j FA(belo)n(w)e(will)i(f)o
(ail)f(when)f(applied)g(to)h Ft(Bar)p FA(,)g(so)h(the)e(compiler)g
(will)i(emit)80 1922 y(a)g(w)o(arning)e(about)g(this)i(when)e
Ft(-fwarn-incomplete-record-updates)c FA(is)21 b(enabled.)-128
1989 y
SDict begin H.S end
-128 1989 a -128 1989 a
SDict begin 12 H.A end
-128 1989 a -128 1989
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-135) cvn H.B /DEST pdfmark end
-128 1989 a 0.95 TeXcolorgray 55 2004 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2096 25 92 v Black 0.95 TeXcolorgray
80 2096 4045 92 v Black 0.95 TeXcolorgray 4124 2096 25
92 v Black 0.95 TeXcolorgray Black 80 2068 a
SDict begin H.S end
80 2068
a 80 2068 a
SDict begin 11 H.A end
80 2068 a 80 2068 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-135.1) cvn H.B /DEST pdfmark end
80 2068 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black 44 w({)p 0 0 0
TeXcolorrgb 45 w(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 45 w(})p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2187 25 92 v Black 0.95 TeXcolorgray
80 2187 4045 92 v Black 0.95 TeXcolorgray 4124 2187 25
92 v Black 0.95 TeXcolorgray Black 80 2160 a
SDict begin H.S end
80 2160
a 80 2160 a
SDict begin 11 H.A end
80 2160 a 80 2160 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-135.2) cvn H.B /DEST pdfmark end
80 2160 a 403 w Fo(|)p
0 0 0 TeXcolorrgb 45 w(Bar)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2278 25 92 v Black 0.95 TeXcolorgray
80 2278 4045 92 v Black 0.95 TeXcolorgray 4124 2278 25
92 v Black 0.95 TeXcolorgray Black 80 2251 a
SDict begin H.S end
80 2251
a 80 2251 a
SDict begin 11 H.A end
80 2251 a 80 2251 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-135.3) cvn H.B /DEST pdfmark end
80 2251 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2370 25 92 v Black 0.95 TeXcolorgray
80 2370 4045 92 v Black 0.95 TeXcolorgray 4124 2370 25
92 v Black 0.95 TeXcolorgray Black 80 2342 a
SDict begin H.S end
80 2342
a 80 2342 a
SDict begin 11 H.A end
80 2342 a 80 2342 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-135.4) cvn H.B /DEST pdfmark end
80 2342 a 0 0 0 TeXcolorrgb
Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Foo)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2461 25 92 v Black 0.95 TeXcolorgray
80 2461 4045 92 v Black 0.95 TeXcolorgray 4124 2461 25
92 v Black 0.95 TeXcolorgray Black 80 2434 a
SDict begin H.S end
80 2434
a 80 2434 a
SDict begin 11 H.A end
80 2434 a 80 2434 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-135.5) cvn H.B /DEST pdfmark end
80 2434 a 0 0 0 TeXcolorrgb
Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(foo)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(foo)p Black 44 w({)p 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(=)45 b(6)g(})p 0.95 TeXcolorgray
55 2486 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 2643 a FA(This)20 b(option)f(isn')o(t)h(enabled)f(by)h(def)o
(ault)f(because)h(it)h(can)f(be)g(v)o(ery)f(noisy)-5
b(,)19 b(and)h(it)h(often)e(doesn')o(t)g(indicate)g(a)i(b)n(ug)e(in)i
(the)f(program.)p Black -107 2808 a Fh(-fwarn-missing-fields)p
Fu(:)p Black 89 w FA(This)29 b(option)f(is)h(on)g(by)f(def)o(ault,)i
(and)e(w)o(arns)h(you)f(whene)n(v)o(er)f(the)i(construction)e(of)h(a)i
(labelled)e(\002eld)80 2908 y(constructor)19 b(isn')o(t)h(complete,)g
(missing)g(initializers)h(for)f(one)g(or)h(more)f(\002elds.)26
b(While)c(not)e(an)h(error)e(\(the)h(missing)h(\002elds)g(are)g
(initialised)80 3007 y(with)f(bottoms\),)f(it)i(is)g(often)f(an)g
(indication)e(of)i(a)h(programmer)c(error)-5 b(.)p Black
-128 3173 a Fh(-fwarn-missing-methods)p Fu(:)p Black
37 w FA(This)23 b(option)e(is)i(on)f(by)f(def)o(ault,)h(and)g(w)o(arns)
g(you)f(whene)n(v)o(er)f(an)i(instance)g(declaration)e(is)j(missing)g
(one)80 3273 y(or)d(more)f(methods,)g(and)h(the)g(corresponding)d
(class)k(declaration)d(has)j(no)f(def)o(ault)f(declaration)g(for)g
(them.)80 3405 y(The)h(w)o(arning)f(is)i(suppressed)e(if)h(the)h
(method)e(name)g(be)o(gins)g(with)i(an)f(underscore.)j(Here')-5
b(s)20 b(an)g(e)o(xample)f(where)h(this)g(is)h(useful:)-128
3472 y
SDict begin H.S end
-128 3472 a -128 3472 a
SDict begin 12 H.A end
-128 3472 a -128 3472
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-136) cvn H.B /DEST pdfmark end
-128 3472 a 0.95 TeXcolorgray 55 3488 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 3579 25 92 v Black 0.95 TeXcolorgray
80 3579 4045 92 v Black 0.95 TeXcolorgray 4124 3579 25
92 v Black 0.95 TeXcolorgray Black 80 3551 a
SDict begin H.S end
80 3551
a 80 3551 a
SDict begin 11 H.A end
80 3551 a 80 3551 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-136.1) cvn H.B /DEST pdfmark end
80 3551 a 0 0 0 TeXcolorrgb
359 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3670 25 92 v Black 0.95 TeXcolorgray 80 3670 4045
92 v Black 0.95 TeXcolorgray 4124 3670 25 92 v Black
0.95 TeXcolorgray Black 80 3643 a
SDict begin H.S end
80 3643 a 80 3643 a
SDict begin 11 H.A end
80 3643 a 80 3643 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-136.2) cvn H.B /DEST pdfmark end
80 3643 a 0 0 0 TeXcolorrgb 448 w
Fo(_simpleFn)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(String)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3761 25
92 v Black 0.95 TeXcolorgray 80 3761 4045 92 v Black
0.95 TeXcolorgray 4124 3761 25 92 v Black 0.95 TeXcolorgray
Black 80 3734 a
SDict begin H.S end
80 3734 a 80 3734 a
SDict begin 11 H.A end
80 3734 a 80 3734
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-136.3) cvn H.B /DEST pdfmark end
80 3734 a 0 0 0 TeXcolorrgb 448 w Fo(complexFn)p Black
44 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(String)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3853 25 92 v Black 0.95 TeXcolorgray 80 3853 4045
92 v Black 0.95 TeXcolorgray 4124 3853 25 92 v Black
0.95 TeXcolorgray Black 80 3825 a
SDict begin H.S end
80 3825 a 80 3825 a
SDict begin 11 H.A end
80 3825 a 80 3825 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-136.4) cvn H.B /DEST pdfmark end
80 3825 a 0 0 0 TeXcolorrgb 448 w
Fo(complexFn)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black
0 0 0 TeXcolorrgb 44 w(y)p Black 45 w(=)45 b(...)p 0 0 0
TeXcolorrgb 44 w(_simpleFn)p Black 43 w(...)p 0.95 TeXcolorgray
55 3878 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 4035 a FA(The)22 b(idea)h(is)h(that:)30 b(\(a\))23
b(users)g(of)f(the)h(class)h(will)f(only)f(call)h Ft(complexFn)p
FA(;)g(ne)n(v)o(er)f Ft(_simpleFn)p FA(;)h(and)f(\(b\))g(instance)h
(declarations)e(can)80 4134 y(de\002ne)f(either)f Ft(complexFn)h
FA(or)f Ft(_simpleFn)p FA(.)p Black -128 4300 a Fh
(-fwarn-missing-signatures)p Fu(:)p Black 37 w FA(If)i(you)f(w)o(ould)g
(lik)o(e)i(GHC)g(to)f(check)f(that)h(e)n(v)o(ery)f(top-le)n(v)o(el)g
(function/v)n(alue)e(has)j(a)h(type)e(signature,)80 4399
y(use)30 b(the)f Ft(-fwarn-missing-signatures)c FA(option.)51
b(As)30 b(part)f(of)g(the)g(w)o(arning)f(GHC)j(also)e(reports)g(the)g
(inferred)f(type.)51 b(The)80 4499 y(option)19 b(is)i(of)n(f)f(by)f
(def)o(ault.)p Black -128 4664 a Fh(-fwarn-name-shadowing)p
Fu(:)p Black 38 w FA(This)j(option)e(causes)i(a)h(w)o(arning)d(to)i(be)
g(emitted)g(whene)n(v)o(er)e(an)h(inner)n(-scope)f(v)n(alue)i(has)g
(the)g(same)g(name)80 4764 y(as)29 b(an)f(outer)n(-scope)e(v)n(alue,)k
(i.e.)49 b(the)28 b(inner)f(v)n(alue)h(shado)n(ws)f(the)h(outer)g(one.)
48 b(This)28 b(can)g(catch)g(typographical)d(errors)j(that)g(turn)f
(into)80 4864 y(hard-to-\002nd)d(b)n(ugs,)k(e.g.,)g(in)f(the)g(inadv)o
(ertent)d(capture)i(of)h(what)g(w)o(ould)f(be)h(a)g(recursi)n(v)o(e)e
(call)i(in)h Ft(f)49 b(=)h(...)99 b(let)49 b(f)h(=)f(id)h(in)80
4963 y(...)99 b(f)50 b(...)p FA(.)p Black -128 5129 a
Fh(-fwarn-orphans)p Fu(:)p Black 39 w FA(This)16 b(option)e(causes)i(a)
h(w)o(arning)d(to)i(be)g(emitted)f(whene)n(v)o(er)f(the)i(module)e
(contains)h(an)h("orphan")d(instance)j(declaration)80
5228 y(or)k(re)n(write)g(rule.)25 b(An)20 b(instance)g(declaration)f
(is)i(an)f(orphan)e(if)j(it)g(appears)e(in)i(a)f(module)f(in)i(which)e
(neither)h(the)g(class)h(nor)f(the)g(type)g(being)80
5328 y(instanced)g(are)h(declared)f(in)i(the)f(same)g(module.)27
b(A)21 b(rule)g(is)h(an)f(orphan)f(if)h(it)h(is)g(a)g(rule)e(for)h(a)h
(function)d(declared)h(in)h(another)f(module.)26 b(A)80
5428 y(module)19 b(containing)f(an)o(y)h(orphans)g(is)i(called)f(an)g
(orphan)f(module.)80 5560 y(The)24 b(trouble)e(with)i(orphans)f(is)i
(that)f(GHC)g(must)g(pro-acti)n(v)o(ely)e(read)h(the)h(interf)o(ace)f
(\002les)i(for)e(all)i(orphan)d(modules,)h(just)i(in)f(case)g(their)80
5660 y(instances)c(or)g(rules)g(play)g(a)h(role,)e(whether)g(or)h(not)g
(the)g(module')-5 b(s)20 b(interf)o(ace)f(w)o(ould)h(otherwise)f(be)h
(of)g(an)o(y)g(use.)25 b(See)20 b(Section)p 1 0 0 TeXcolorrgb
3799 5661 a
SDict begin H.S end
3799 5661 a 1 0 0 TeXcolorrgb -1 x FA(4.6.12)p
1 0 0 TeXcolorrgb 4007 5604 a
SDict begin H.R end
4007 5604 a 4007 5660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.12) cvn H.B /ANN pdfmark end
4007 5660 a Black 21 w FA(for)80 5759 y(details.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 54 69
TeXDict begin 54 68 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.54) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(54)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh
(-fwarn-overlapping-patterns)p Fu(:)p Black 88 w FA(By)g(def)o(ault,)g
(the)g(compiler)f(will)i(w)o(arn)f(you)f(if)h(a)h(set)g(of)f(patterns)f
(are)i(o)o(v)o(erlapping,)16 b(e.g.,)-128 241 y
SDict begin H.S end
-128
241 a -128 241 a
SDict begin 12 H.A end
-128 241 a -128 241 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-137) cvn H.B /DEST pdfmark end
-128 241 a 0.95
TeXcolorgray 55 256 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 348
25 92 v Black 0.95 TeXcolorgray 80 348 4045 92 v Black
0.95 TeXcolorgray 4124 348 25 92 v Black 0.95 TeXcolorgray
Black 80 320 a
SDict begin H.S end
80 320 a 80 320 a
SDict begin 11 H.A end
80 320 a 80 320 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-137.1) cvn H.B /DEST pdfmark end
80
320 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(String)p Black 44 w(->)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 439 25 92 v Black 0.95 TeXcolorgray 80 439 4045 92
v Black 0.95 TeXcolorgray 4124 439 25 92 v Black 0.95
TeXcolorgray Black 80 411 a
SDict begin H.S end
80 411 a 80 411 a
SDict begin 11 H.A end
80 411
a 80 411 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-137.2) cvn H.B /DEST pdfmark end
80 411 a 0 0 0 TeXcolorrgb Fo(f)p Black 45
w([])223 b(=)45 b(0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 530 25 92 v Black 0.95 TeXcolorgray 80 530 4045 92
v Black 0.95 TeXcolorgray 4124 530 25 92 v Black 0.95
TeXcolorgray Black 80 503 a
SDict begin H.S end
80 503 a 80 503 a
SDict begin 11 H.A end
80 503
a 80 503 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-137.3) cvn H.B /DEST pdfmark end
80 503 a 0 0 0 TeXcolorrgb Fo(f)p Black 45
w(\()p 0 0 0 TeXcolorrgb -1 w(_)p Black(:)p 0 0 0 TeXcolorrgb(xs)p
Black(\))f(=)h(1)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 622 25 92 v Black 0.95 TeXcolorgray 80 622 4045 92
v Black 0.95 TeXcolorgray 4124 622 25 92 v Black 0.95
TeXcolorgray Black 80 594 a
SDict begin H.S end
80 594 a 80 594 a
SDict begin 11 H.A end
80 594
a 80 594 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-137.4) cvn H.B /DEST pdfmark end
80 594 a 0 0 0 TeXcolorrgb Fo(f)p Black 45
w("2")178 b(=)45 b(2)p 0.95 TeXcolorgray 55 646 4095
25 v Black 0.95 TeXcolorgray Black Black Black 80 804
a FA(where)20 b(the)h(last)h(pattern)e(match)h(in)g Ft(f)g
FA(w)o(on')o(t)f(e)n(v)o(er)g(be)h(reached,)f(as)h(the)g(second)f
(pattern)h(o)o(v)o(erlaps)e(it.)28 b(More)20 b(often)g(than)h(not,)f
(redundant)80 904 y(patterns)g(is)h(a)f(programmer)d(mistak)o(e/error)m
(,)h(so)j(this)g(option)e(is)i(enabled)e(by)h(def)o(ault.)p
Black -128 1070 a Fh(-fwarn-simple-patterns)p Fu(:)p
Black 37 w FA(Causes)e(the)e(compiler)f(to)i(w)o(arn)f(about)f
(lambda-bound)e(patterns)j(that)g(can)g(f)o(ail,)i(e)o(g.)23
b Ft(\\\(x:xs\)->...)p FA(.)80 1169 y(Normally)-5 b(,)18
b(these)j(aren')o(t)e(treated)g(as)i(incomplete)e(patterns)g(by)h
Ft(-fwarn-incomplete-patterns)p FA(.)80 1302 y(\223Lambda-bound)11
b(patterns\224)k(includes)g(all)i(places)e(where)g(there)g(is)i(a)f
(single)g(pattern,)f(including)f(list)j(comprehensions)c(and)i
(do-notation.)80 1402 y(In)22 b(these)h(cases,)g(a)g(pattern-match)e(f)
o(ailure)g(is)j(quite)e(le)o(gitimate,)g(and)g(triggers)g(\002ltering)g
(\(list)h(comprehensions\))c(or)k(the)f(monad)f Ft(fail)80
1502 y FA(operation)d(\(monads\).)23 b(F)o(or)d(e)o(xample:)-128
1569 y
SDict begin H.S end
-128 1569 a -128 1569 a
SDict begin 12 H.A end
-128 1569 a -128 1569
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-138) cvn H.B /DEST pdfmark end
-128 1569 a 0.95 TeXcolorgray 55 1585 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 1676 25 92 v Black 0.95 TeXcolorgray
80 1676 4045 92 v Black 0.95 TeXcolorgray 4124 1676 25
92 v Black 0.95 TeXcolorgray Black 80 1649 a
SDict begin H.S end
80 1649
a 80 1649 a
SDict begin 11 H.A end
80 1649 a 80 1649 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-138.1) cvn H.B /DEST pdfmark end
80 1649 a 0 0 0 TeXcolorrgb
359 w Fo(f)p Black 44 w(::)45 b([)p 0 0 0 TeXcolorrgb(Maybe)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black -1 w(])g(->)g([)p
0 0 0 TeXcolorrgb -1 w(a)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 1767 25 92 v Black 0.95 TeXcolorgray
80 1767 4045 92 v Black 0.95 TeXcolorgray 4124 1767 25
92 v Black 0.95 TeXcolorgray Black 80 1740 a
SDict begin H.S end
80 1740
a 80 1740 a
SDict begin 11 H.A end
80 1740 a 80 1740 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-138.2) cvn H.B /DEST pdfmark end
80 1740 a 0 0 0 TeXcolorrgb
359 w Fo(f)p Black 0 0 0 TeXcolorrgb 44 w(xs)p Black
45 w(=)f([)p 0 0 0 TeXcolorrgb(y)p Black 45 w(|)p 0 0 0
TeXcolorrgb 45 w(Just)p Black 0 0 0 TeXcolorrgb 44 w(y)p
Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(xs)p Black(])p
0.95 TeXcolorgray 55 1792 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 1950 a FA(Switching)19 b(on)h Ft
(-fwarn-simple-patterns)c FA(will)21 b(elicit)g(w)o(arnings)e(about)g
(these)h(probably-innocent)c(cases,)k(which)g(is)h(why)e(the)80
2049 y(\003ag)h(is)h(of)n(f)f(by)g(def)o(ault.)p Black
-128 2216 a Fh(-fwarn-tabs)p Fu(:)p Black 40 w FA(Ha)n(v)o(e)g(the)g
(compiler)f(w)o(arn)h(if)g(there)g(are)g(tabs)g(in)h(your)e(source)g
(\002le.)80 2348 y(This)h(w)o(arning)f(is)i(of)n(f)f(by)g(def)o(ault.)p
Black -128 2514 a Fh(-fwarn-type-defaults)p Fu(:)p Black
38 w FA(Ha)n(v)o(e)g(the)h(compiler)f(w)o(arn/inform)e(you)i(where)g
(in)h(your)f(source)g(the)h(Hask)o(ell)g(def)o(aulting)e(mechanism)h
(for)80 2614 y(numeric)f(types)h(kicks)g(in.)25 b(This)c(is)g(useful)f
(information)e(when)h(con)m(v)o(erting)f(code)h(from)g(a)i(conte)o(xt)e
(that)h(assumed)g(one)g(def)o(ault)g(into)g(one)80 2714
y(with)26 b(another)m(,)g(e.g.,)g(the)g(`def)o(ault)f(def)o(ault')g
(for)h(Hask)o(ell)g(1.4)f(caused)h(the)g(otherwise)f(unconstrained)f(v)
n(alue)h Ft(1)i FA(to)f(be)g(gi)n(v)o(en)e(the)i(type)80
2813 y Ft(Int)p FA(,)c(whereas)g(Hask)o(ell)g(98)g(def)o(aults)g(it)g
(to)h Ft(Integer)p FA(.)30 b(This)22 b(may)f(lead)h(to)h(dif)n
(ferences)d(in)i(performance)d(and)j(beha)n(viour)m(,)e(hence)h(the)80
2913 y(usefulness)f(of)g(being)f(non-silent)g(about)g(this.)80
3046 y(This)h(w)o(arning)f(is)i(of)n(f)f(by)g(def)o(ault.)p
Black -128 3212 a Fh(-fwarn-monomorphism-restriction)p
Fu(:)p Black 36 w FA(Ha)n(v)o(e)c(the)g(compiler)e(w)o(arn/inform)g
(you)h(where)h(in)g(your)f(source)g(the)h(Hask)o(ell)g(Monomor)n(-)80
3311 y(phism)k(Restriction)h(is)g(applied.)k(If)c(applied)e(silently)i
(the)g(MR)g(can)f(gi)n(v)o(e)g(rise)h(to)g(une)o(xpected)d(beha)n
(viour)m(,)g(so)j(it)g(can)g(be)f(helpful)g(to)h(ha)n(v)o(e)80
3411 y(an)f(e)o(xplicit)g(w)o(arning)f(that)h(it)h(is)g(being)e
(applied.)80 3544 y(This)h(w)o(arning)f(is)i(of)n(f)f(by)g(def)o(ault.)
p Black -128 3710 a Fh(-fwarn-unused-binds)p Fu(:)p Black
38 w FA(Report)d(an)o(y)g(function)f(de\002nitions)h(\(and)g(local)g
(bindings\))f(which)i(are)f(unused.)23 b(F)o(or)17 b(top-le)n(v)o(el)f
(functions,)h(the)80 3810 y(w)o(arning)i(is)i(only)e(gi)n(v)o(en)g(if)i
(the)f(binding)f(is)i(not)f(e)o(xported.)80 3942 y(A)g(de\002nition)e
(is)j(re)o(garded)c(as)j("used")f(if)h(\(a\))f(it)h(is)g(e)o(xported,)e
(or)h(\(b\))g(it)h(is)g(mentioned)e(in)i(the)f(right)g(hand)f(side)i
(of)f(another)g(de\002nition)f(that)80 4042 y(is)23 b(used,)e(or)h
(\(c\))f(the)h(function)e(it)j(de\002nes)e(be)o(gins)g(with)h(an)g
(underscore.)27 b(The)22 b(last)g(case)h(pro)o(vides)d(a)i(w)o(ay)g(to)
g(suppress)f(unused-binding)80 4142 y(w)o(arnings)e(selecti)n(v)o(ely)
-5 b(.)80 4274 y(Notice)20 b(that)g(a)h(v)n(ariable)e(is)i(reported)e
(as)i(unused)d(e)n(v)o(en)i(if)g(it)h(appears)e(in)i(the)f(right-hand)e
(side)i(of)g(another)f(unused)g(binding.)p Black -128
4441 a Fh(-fwarn-unused-imports)p Fu(:)p Black 38 w FA(Report)k(an)o(y)
h(modules)f(that)h(are)g(e)o(xplicitly)g(imported)e(b)n(ut)i(ne)n(v)o
(er)f(used.)37 b(Ho)n(we)n(v)o(er)m(,)23 b(the)h(form)g
Ft(import)80 4540 y(M\(\))j FA(is)i(ne)n(v)o(er)d(reported)g(as)i(an)f
(unused)g(import,)h(because)e(it)j(is)f(a)g(useful)f(idiom)g(for)g
(importing)e(instance)i(declarations,)h(which)f(are)80
4640 y(anon)o(ymous)17 b(in)k(Hask)o(ell.)p Black -128
4806 a Fh(-fwarn-unused-matches)p Fu(:)p Black 38 w FA(Report)g(all)h
(unused)f(v)n(ariables)g(which)g(arise)h(from)f(pattern)g(matches,)g
(including)f(patterns)h(consisting)g(of)80 4905 y(a)i(single)f(v)n
(ariable.)30 b(F)o(or)22 b(instance)g Ft(f)49 b(x)h(y)f(=)h([])23
b FA(w)o(ould)e(report)g Ft(x)i FA(and)f Ft(y)g FA(as)h(unused.)30
b(The)22 b(w)o(arning)f(is)i(suppressed)e(if)i(the)f(v)n(ariable)80
5005 y(name)e(be)o(gins)f(with)h(an)g(underscore,)e(thus:)-128
5073 y
SDict begin H.S end
-128 5073 a -128 5073 a
SDict begin 12 H.A end
-128 5073 a -128 5073
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-139) cvn H.B /DEST pdfmark end
-128 5073 a 0.95 TeXcolorgray 55 5088 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 5179 25 92 v Black 0.95 TeXcolorgray
80 5179 4045 92 v Black 0.95 TeXcolorgray 4124 5179 25
92 v Black 0.95 TeXcolorgray Black 80 5152 a
SDict begin H.S end
80 5152
a 80 5152 a
SDict begin 11 H.A end
80 5152 a 80 5152 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-139.1) cvn H.B /DEST pdfmark end
80 5152 a 0 0 0 TeXcolorrgb
403 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(_x)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(True)p Black 0.95 TeXcolorgray
55 5204 4095 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5445 a FA(If)g(you')l(re)f(feeling)g(really)h(paranoid,)e
(the)i Ft(-dcore-lint)f FA(option)g(is)i(a)g(good)d(choice.)24
b(It)18 b(turns)g(on)g(hea)n(vyweight)e(intra-pass)i(sanity-checking)
-128 5545 y(within)i(GHC.)h(\(It)f(checks)g(GHC')-5 b(s)21
b(sanity)-5 b(,)20 b(not)g(yours.\))p Black -128 6084
4252 5 v Black eop end
%%Page: 55 70
TeXDict begin 55 69 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.55) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(55)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.8) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(4.8)p
Black 138 w(P)m(ac)n(ka)o(g)q(es)-128 322 y
SDict begin H.S end
-128 322
a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (packages) cvn H.B /DEST pdfmark end
-128 322 a 113 x FA(A)26
b(package)e(is)i(a)g(library)e(of)h(Hask)o(ell)h(modules)e(kno)n(wn)g
(to)i(the)f(compiler)-5 b(.)40 b(GHC)26 b(comes)f(with)g(se)n(v)o(eral)
g(packages:)34 b(see)26 b(the)f(accompan)o(ying)p 0 1 0 0
TeXcolorcmyk -128 553 a
SDict begin H.S end
-128 553 a 0 1 0 0 TeXcolorcmyk
-18 x FA(library)20 b(documentation)p 0 1 0 0 TeXcolorcmyk
608 479 a
SDict begin H.R end
608 479 a 608 535 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/index.html) >> /Subtype /Link H.B /ANN pdfmark end
608 535 a Black FA(.)25
b(More)20 b(packages)f(to)h(install)h(can)f(be)g(obtained)f(from)p
0 1 0 0 TeXcolorcmyk 2213 553 a
SDict begin H.S end
2213 553 a 0 1 0 0 TeXcolorcmyk
-18 x FA(HackageDB)p 0 1 0 0 TeXcolorcmyk 2619 479 a
SDict begin H.R end
2619 479 a 2619 535 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/packages/hackage.html) >> /Subtype /Link H.B /ANN pdfmark end
2619 535 a Black FA(.)-128 683
y(Using)f(a)g(package)e(couldn')o(t)f(be)j(simpler:)23
b(if)18 b(you')l(re)e(using)h Ft(--make)g FA(or)g(GHCi,)i(then)e(most)g
(of)g(the)h(installed)f(packages)g(will)h(be)f(automatically)-128
783 y(a)n(v)n(ailable)j(to)h(your)d(program)g(without)i(an)o(y)f
(further)g(options.)24 b(The)c(e)o(xceptions)e(to)j(this)f(rule)g(are)g
(co)o(v)o(ered)f(belo)n(w)g(in)h(Section)p 1 0 0 TeXcolorrgb
3581 784 a
SDict begin H.S end
3581 784 a 1 0 0 TeXcolorrgb -1 x FA(4.8.1)p
1 0 0 TeXcolorrgb 3747 727 a
SDict begin H.R end
3747 727 a 3747 783 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.1) cvn H.B /ANN pdfmark end
3747
783 a Black FA(.)-128 931 y(Building)29 b(your)f(o)n(wn)h(packages)f
(is)j(also)e(quite)g(straightforw)o(ard:)41 b(we)30 b(pro)o(vide)d(the)
p 0 1 0 0 TeXcolorcmyk 2444 932 a
SDict begin H.S end
2444 932 a 0 1 0 0
TeXcolorcmyk -1 x FA(Cabal)p 0 1 0 0 TeXcolorcmyk 2637
875 a
SDict begin H.R end
2637 875 a 2637 931 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/cabal/) >> /Subtype /Link H.B /ANN pdfmark end
2637 931 a Black 30 w FA(infrastructure)h
(which)g(automates)h(the)g(process)-128 1031 y(of)g(con\002guring,)f(b)
n(uilding,)h(installing)f(and)g(distrib)n(uting)g(a)h(package.)48
b(All)30 b(you)d(need)h(to)h(do)f(is)i(write)f(a)g(simple)f
(con\002guration)e(\002le,)31 b(put)e(a)-128 1131 y(fe)n(w)h(\002les)g
(in)g(the)f(right)g(places,)j(and)c(you)h(ha)n(v)o(e)g(a)h(package.)51
b(See)30 b(the)p 0 1 0 0 TeXcolorcmyk 2049 1132 a
SDict begin H.S end
2049
1132 a 0 1 0 0 TeXcolorcmyk -1 x FA(Cabal)21 b(documentation)p
0 1 0 0 TeXcolorcmyk 2757 1074 a
SDict begin H.R end
2757 1074 a 2757 1131
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../Cabal/index.html) >> /Subtype /Link H.B /ANN pdfmark end
2757 1131 a Black 30 w FA(for)29 b(details,)j(and)c(also)i(the)g
(Cabal)f(libraries)-128 1230 y(\()p 0 1 0 0 TeXcolorcmyk
-100 1248 a
SDict begin H.S end
-100 1248 a 0 1 0 0 TeXcolorcmyk -18 x FA(Distrib)n
(ution.Simple)p 0 1 0 0 TeXcolorcmyk 556 1174 a
SDict begin H.R end
556 1174
a 556 1230 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/Cabal/Distribution-Simple.html) >> /Subtype /Link H.B /ANN pdfmark end
556 1230 a Black FA(,)20 b(for)g(e)o(xample\).)-128
1364 y
SDict begin H.S end
-128 1364 a -128 1364 a
SDict begin 12 H.A end
-128 1364 a -128 1364
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.1) cvn H.B /DEST pdfmark end
-128 1364 a Black 147 x Fp(4.8.1)p Black 90 w(Using)k(P)m(ac)n(ka)o
(g)q(es)-128 1600 y
SDict begin H.S end
-128 1600 a -128 1600 a
SDict begin 12 H.A end
-128 1600
a -128 1600 a
SDict begin [ /View [/XYZ H.V] /Dest (using-packages) cvn H.B /DEST pdfmark end
-128 1600 a 113 x FA(GHC)d(only)f(kno)n(ws)f(about)h
(packages)f(that)h(are)g Fq(installed)p FA(.)k(T)-7 b(o)21
b(see)g(which)e(packages)g(are)h(installed,)g(use)h(the)f
Ft(ghc-pkg)f FA(command:)-128 1780 y
SDict begin H.S end
-128 1780 a -128
1780 a
SDict begin 12 H.A end
-128 1780 a -128 1780 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-140) cvn H.B /DEST pdfmark end
-128 1780 a 0.95 TeXcolorgray
-153 1795 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1887 25 92
v Black 0.95 TeXcolorgray -128 1887 4252 92 v Black 0.95
TeXcolorgray 4124 1887 25 92 v Black 0.95 TeXcolorgray
Black -128 1859 a
SDict begin H.S end
-128 1859 a -128 1859 a
SDict begin 11 H.A end
-128 1859 a
-128 1859 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.1) cvn H.B /DEST pdfmark end
-128 1859 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(ghc)p Black(-)p 0 0 0 TeXcolorrgb
-1 w(pkg)p Black 0 0 0 TeXcolorrgb 45 w(list)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1978 25
92 v Black 0.95 TeXcolorgray -128 1978 4252 92 v Black
0.95 TeXcolorgray 4124 1978 25 92 v Black 0.95 TeXcolorgray
Black -128 1951 a
SDict begin H.S end
-128 1951 a -128 1951 a
SDict begin 11 H.A end
-128 1951 a
-128 1951 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.2) cvn H.B /DEST pdfmark end
-128 1951 a Fo(/)p 0 0 0 TeXcolorrgb(usr)p
Black(/)p 0 0 0 TeXcolorrgb(lib)p Black -1 w(/)p 0 0 0
TeXcolorrgb(ghc)p Black -1 w(-6.4/)p 0 0 0 TeXcolorrgb(package)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(conf)p Black(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2069 25 92
v Black 0.95 TeXcolorgray -128 2069 4252 92 v Black 0.95
TeXcolorgray 4124 2069 25 92 v Black 0.95 TeXcolorgray
Black -128 2042 a
SDict begin H.S end
-128 2042 a -128 2042 a
SDict begin 11 H.A end
-128 2042 a
-128 2042 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.3) cvn H.B /DEST pdfmark end
-128 2042 a 0 0 0 TeXcolorrgb 180 w Fo(base)p
Black -1 w(-1.0,)p 0 0 0 TeXcolorrgb 44 w(haskell98)p
Black -1 w(-1.0,)p 0 0 0 TeXcolorrgb 44 w(template)p
Black -2 w(-)p 0 0 0 TeXcolorrgb(haskell)p Black -1 w(-1.0,)p
0 0 0 TeXcolorrgb 44 w(mtl)p Black -1 w(-1.0,)p 0 0 0
TeXcolorrgb 44 w(unix)p Black(-1.0,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2161 25 92 v Black 0.95
TeXcolorgray -128 2161 4252 92 v Black 0.95 TeXcolorgray
4124 2161 25 92 v Black 0.95 TeXcolorgray Black -128
2133 a
SDict begin H.S end
-128 2133 a -128 2133 a
SDict begin 11 H.A end
-128 2133 a -128 2133
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.4) cvn H.B /DEST pdfmark end
-128 2133 a 0 0 0 TeXcolorrgb 180 w Fo(Cabal)p Black
-1 w(-1.0,)p 0 0 0 TeXcolorrgb 44 w(haskell)p Black -1
w(-)p 0 0 0 TeXcolorrgb(src)p Black -1 w(-1.0,)p 0 0 0
TeXcolorrgb 44 w(parsec)p Black -1 w(-1.0,)p 0 0 0 TeXcolorrgb
44 w(network)p Black -1 w(-1.0,)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2252 25 92 v Black 0.95 TeXcolorgray
-128 2252 4252 92 v Black 0.95 TeXcolorgray 4124 2252
25 92 v Black 0.95 TeXcolorgray Black -128 2224 a
SDict begin H.S end
-128
2224 a -128 2224 a
SDict begin 11 H.A end
-128 2224 a -128 2224 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.5) cvn H.B /DEST pdfmark end
-128 2224
a 0 0 0 TeXcolorrgb 180 w Fo(QuickCheck)p Black -2 w(-1.0,)p
0 0 0 TeXcolorrgb 44 w(HUnit)p Black -1 w(-1.1,)p 0 0 0
TeXcolorrgb 44 w(fgl)p Black(-1.0,)p 0 0 0 TeXcolorrgb
44 w(X11)p Black -1 w(-1.1,)p 0 0 0 TeXcolorrgb 44 w(HGL)p
Black(-3.1,)p 0 0 0 TeXcolorrgb 44 w(OpenGL)p Black -1
w(-2.0,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2343 25 92 v Black 0.95 TeXcolorgray -128 2343 4252 92
v Black 0.95 TeXcolorgray 4124 2343 25 92 v Black 0.95
TeXcolorgray Black -128 2316 a
SDict begin H.S end
-128 2316 a -128 2316
a
SDict begin 11 H.A end
-128 2316 a -128 2316 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.6) cvn H.B /DEST pdfmark end
-128 2316 a 0 0 0 TeXcolorrgb
180 w Fo(GLUT)p Black -1 w(-2.0,)p 0 0 0 TeXcolorrgb
44 w(stm)p Black(-1.0,)p 0 0 0 TeXcolorrgb 44 w(readline)p
Black -2 w(-1.0,)44 b(\()p 0 0 0 TeXcolorrgb(lang)p Black
-1 w(-1.0\),)g(\()p 0 0 0 TeXcolorrgb(concurrent)p Black
-2 w(-1.0\),)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2435 25 92 v Black 0.95 TeXcolorgray -128 2435 4252
92 v Black 0.95 TeXcolorgray 4124 2435 25 92 v Black
0.95 TeXcolorgray Black -128 2407 a
SDict begin H.S end
-128 2407 a -128
2407 a
SDict begin 11 H.A end
-128 2407 a -128 2407 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.7) cvn H.B /DEST pdfmark end
-128 2407 a 180 w Fo(\()p
0 0 0 TeXcolorrgb(posix)p Black -1 w(-1.0\))o(,)h(\()p
0 0 0 TeXcolorrgb -1 w(util)p Black(-1.0\))o(,)g(\()p
0 0 0 TeXcolorrgb -1 w(data)p Black(-1.0\))o(,)g(\()p
0 0 0 TeXcolorrgb -1 w(text)p Black(-1.0\))o(,)g(\()p
0 0 0 TeXcolorrgb -1 w(net)p Black(-1.0\))o(,)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2526 25 92
v Black 0.95 TeXcolorgray -128 2526 4252 92 v Black 0.95
TeXcolorgray 4124 2526 25 92 v Black 0.95 TeXcolorgray
Black -128 2498 a
SDict begin H.S end
-128 2498 a -128 2498 a
SDict begin 11 H.A end
-128 2498 a
-128 2498 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-140.8) cvn H.B /DEST pdfmark end
-128 2498 a 180 w Fo(\()p 0 0 0 TeXcolorrgb(hssource)p
Black -2 w(-1.0\))o(,)p 0 0 0 TeXcolorrgb 45 w(rts)p
Black(-1.0)p 0.95 TeXcolorgray -153 2551 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 2723 a FA(An)23
b(installed)f(package)f(is)i(either)f Fq(e)n(xposed)i
FA(or)e Fq(hidden)e FA(by)i(def)o(ault.)31 b(P)o(ackages)21
b(hidden)g(by)h(def)o(ault)g(are)g(listed)g(in)h(parentheses)e(\(e)o
(g.)31 b Ft(\(lang-)-128 2823 y(-1.0\))p FA(\))23 b(in)h(the)g(output)e
(abo)o(v)o(e.)34 b(Command-line)21 b(\003ags,)k(described)d(belo)n(w)-5
b(,)23 b(allo)n(w)h(you)f(to)h(e)o(xpose)e(a)i(hidden)e(package)g(or)i
(hide)f(an)h(e)o(xposed)-128 2922 y(one.)i(Only)21 b(modules)e(from)h
(e)o(xposed)f(packages)h(may)g(be)h(imported)e(by)h(your)g(Hask)o(ell)h
(code;)f(if)h(you)f(try)g(to)h(import)f(a)h(module)f(from)f(a)i(hidden)
-128 3022 y(package,)e(GHC)i(will)g(emit)f(an)g(error)f(message.)-128
3171 y(T)-7 b(o)21 b(see)g(which)e(modules)g(are)h(pro)o(vided)e(by)i
(a)h(package)d(use)j(the)f Ft(ghc-pkg)f FA(command)g(\(see)h(Section)p
1 0 0 TeXcolorrgb 2918 3172 a
SDict begin H.S end
2918 3172 a 1 0 0 TeXcolorrgb
-1 x FA(4.8.6)p 1 0 0 TeXcolorrgb 3084 3114 a
SDict begin H.R end
3084 3114
a 3084 3171 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.6) cvn H.B /ANN pdfmark end
3084 3171 a Black FA(\):)-128 3237 y
SDict begin H.S end
-128
3237 a -128 3237 a
SDict begin 12 H.A end
-128 3237 a -128 3237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-141) cvn H.B /DEST pdfmark end
-128 3237
a 0.95 TeXcolorgray -153 3253 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3344 25 92 v Black 0.95 TeXcolorgray -128 3344 4252 92
v Black 0.95 TeXcolorgray 4124 3344 25 92 v Black 0.95
TeXcolorgray Black -128 3317 a
SDict begin H.S end
-128 3317 a -128 3317
a
SDict begin 11 H.A end
-128 3317 a -128 3317 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-141.1) cvn H.B /DEST pdfmark end
-128 3317 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghc)p Black(-)p 0 0 0
TeXcolorrgb -1 w(pkg)p Black 0 0 0 TeXcolorrgb 45 w(field)p
Black 0 0 0 TeXcolorrgb 44 w(network)p Black 0 0 0 TeXcolorrgb
43 w(exposed)p Black -1 w(-)p 0 0 0 TeXcolorrgb(modules)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3435 25 92 v Black 0.95 TeXcolorgray -128 3435 4252 92
v Black 0.95 TeXcolorgray 4124 3435 25 92 v Black 0.95
TeXcolorgray Black -128 3408 a
SDict begin H.S end
-128 3408 a -128 3408
a
SDict begin 11 H.A end
-128 3408 a -128 3408 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-141.2) cvn H.B /DEST pdfmark end
-128 3408 a 0 0 0 TeXcolorrgb
Fo(exposed)p Black -1 w(-)p 0 0 0 TeXcolorrgb(modules)p
Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(Network)p Black
-2 w(.)p 0 0 0 TeXcolorrgb(BSD)p Black(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3527 25 92 v Black 0.95
TeXcolorgray -128 3527 4252 92 v Black 0.95 TeXcolorgray
4124 3527 25 92 v Black 0.95 TeXcolorgray Black -128
3499 a
SDict begin H.S end
-128 3499 a -128 3499 a
SDict begin 11 H.A end
-128 3499 a -128 3499
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-141.3) cvn H.B /DEST pdfmark end
-128 3499 a 0 0 0 TeXcolorrgb 763 w Fo(Network)p Black
-2 w(.)p 0 0 0 TeXcolorrgb(CGI)p Black(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3618 25 92 v Black 0.95
TeXcolorgray -128 3618 4252 92 v Black 0.95 TeXcolorgray
4124 3618 25 92 v Black 0.95 TeXcolorgray Black -128
3590 a
SDict begin H.S end
-128 3590 a -128 3590 a
SDict begin 11 H.A end
-128 3590 a -128 3590
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-141.4) cvn H.B /DEST pdfmark end
-128 3590 a 0 0 0 TeXcolorrgb 763 w Fo(Network)p Black
-2 w(.)p 0 0 0 TeXcolorrgb(Socket)p Black -1 w(,)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3709 25 92
v Black 0.95 TeXcolorgray -128 3709 4252 92 v Black 0.95
TeXcolorgray 4124 3709 25 92 v Black 0.95 TeXcolorgray
Black -128 3682 a
SDict begin H.S end
-128 3682 a -128 3682 a
SDict begin 11 H.A end
-128 3682 a
-128 3682 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-141.5) cvn H.B /DEST pdfmark end
-128 3682 a 0 0 0 TeXcolorrgb 763 w Fo(Network)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(URI)p Black(,)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3801 25 92
v Black 0.95 TeXcolorgray -128 3801 4252 92 v Black 0.95
TeXcolorgray 4124 3801 25 92 v Black 0.95 TeXcolorgray
Black -128 3773 a
SDict begin H.S end
-128 3773 a -128 3773 a
SDict begin 11 H.A end
-128 3773 a
-128 3773 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-141.6) cvn H.B /DEST pdfmark end
-128 3773 a 0 0 0 TeXcolorrgb 763 w Fo(Network)p
Black 0.95 TeXcolorgray -153 3825 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3998 a FA(The)g(GHC)h(command)e
(line)h(options)f(that)h(control)f(packages)g(are:)p
Black -107 4211 a Fh(-package)49 b Ff(P)p Black 65 w
FA(This)18 b(option)e(causes)i(the)g(installed)f(package)g
Fr(P)k FA(to)d(be)f(e)o(xposed.)23 b(The)17 b(package)f
Fr(P)22 b FA(can)17 b(be)h(speci\002ed)f(in)h(full)g(with)g(its)g(v)o
(ersion)80 4310 y(number)i(\(e.g.)28 b Ft(network-1.0)p
FA(\))19 b(or)i(the)h(v)o(ersion)e(number)g(can)h(be)g(omitted)g(if)h
(there)f(is)h(only)f(one)g(v)o(ersion)f(of)h(the)g(package)f
(installed.)80 4410 y(If)g(there)g(are)g(multiple)f(v)o(ersions)h(of)g
Fr(P)j FA(installed,)d(then)g(all)h(other)e(v)o(ersions)g(will)i
(become)e(hidden.)80 4542 y(The)25 b Ft(-package)48 b
Fr(P)29 b FA(option)24 b(also)i(causes)f(package)f Fr(P)29
b FA(to)d(be)f(link)o(ed)f(into)i(the)f(resulting)f(e)o(x)o(ecutable)g
(or)h(shared)f(object.)40 b(Whether)25 b(a)80 4642 y(packages')19
b(library)g(is)i(link)o(ed)e(statically)i(or)f(dynamically)e(is)j
(controlled)e(by)g(the)i(\003ag)f(pair)g Ft(-static)p
FA(/)p Ft(-dynamic)p FA(.)80 4774 y(In)i Ft(--make)f
FA(mode)g(and)g Ft(--interactive)f FA(mode)h(\(see)h(Section)p
1 0 0 TeXcolorrgb 2146 4775 a
SDict begin H.S end
2146 4775 a 1 0 0 TeXcolorrgb
-1 x FA(4.4)p 1 0 0 TeXcolorrgb 2250 4718 a
SDict begin H.R end
2250 4718
a 2250 4774 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
2250 4774 a Black FA(\),)g(the)g(compiler)e(normally)g
(determines)h(which)g(packages)g(are)80 4874 y(required)g(by)h(the)g
(current)f(Hask)o(ell)i(modules,)f(and)g(links)g(only)g(those.)31
b(In)23 b(batch)e(mode)h(ho)n(we)n(v)o(er)m(,)e(the)j(dependenc)o(y)c
(information)h(isn')o(t)80 4974 y(a)n(v)n(ailable,)f(and)h(e)o(xplicit)
f Ft(-package)g FA(options)g(must)h(be)f(gi)n(v)o(en)g(when)g(linking.)
24 b(The)19 b(one)h(other)f(time)h(you)f(might)g(need)g(to)h(use)g
Ft(-pac-)80 5073 y(kage)i FA(to)g(force)f(linking)g(a)i(package)e(is)i
(when)e(the)h(package)f(does)h(not)g(contain)f(an)o(y)g(Hask)o(ell)h
(modules)f(\(it)i(might)e(contain)g(a)i(C)g(library)80
5173 y(only)-5 b(,)19 b(for)g(e)o(xample\).)k(In)d(that)h(case,)f(GHC)h
(will)g(ne)n(v)o(er)e(disco)o(v)o(er)f(a)j(dependenc)o(y)c(on)j(it,)g
(so)h(it)g(has)f(to)h(be)f(mentioned)e(e)o(xplicitly)-5
b(.)80 5305 y(F)o(or)19 b(e)o(xample,)g(to)g(link)h(a)g(program)e
(consisting)h(of)g(objects)h Ft(Foo.o)f FA(and)g Ft(Main.o)p
FA(,)g(where)g(we)h(made)g(use)f(of)h(the)g Ft(network)f
FA(package,)80 5405 y(we)i(need)e(to)h(gi)n(v)o(e)g(GHC)h(the)f
Ft(-package)f FA(\003ag)i(thus:)-128 5472 y
SDict begin H.S end
-128 5472
a -128 5472 a
SDict begin 12 H.A end
-128 5472 a -128 5472 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-142) cvn H.B /DEST pdfmark end
-128 5472 a 0.95
TeXcolorgray 55 5487 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 5578
25 92 v Black 0.95 TeXcolorgray 80 5578 4045 92 v Black
0.95 TeXcolorgray 4124 5578 25 92 v Black 0.95 TeXcolorgray
Black 80 5551 a
SDict begin H.S end
80 5551 a 80 5551 a
SDict begin 11 H.A end
80 5551 a 80 5551
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-142.1) cvn H.B /DEST pdfmark end
80 5551 a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb
45 w(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(o)p Black
0 0 0 TeXcolorrgb 44 w(myprog)p Black 0 0 0 TeXcolorrgb
44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0
TeXcolorrgb 44 w(Main)p Black(.)p 0 0 0 TeXcolorrgb -1
w(o)p Black 45 w(-)p 0 0 0 TeXcolorrgb(package)p Black
0 0 0 TeXcolorrgb 44 w(network)p Black 0.95 TeXcolorgray
55 5603 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 5759 a FA(The)f(same)g(\003ag)h(is)g(necessary)e(e)n(v)o(en)g
(if)i(we)f(compiled)f(the)h(modules)f(from)h(source,)f(because)g(GHC)i
(still)h(reck)o(ons)d(it')-5 b(s)21 b(in)f(batch)g(mode:)p
Black -128 6084 4252 5 v Black eop end
%%Page: 56 71
TeXDict begin 56 70 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.56) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(56)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-143) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray 55
173 4095 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 265 25 92 v Black 0.95 TeXcolorgray
80 265 4045 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black 80 237 a
SDict begin H.S end
80 237 a
80 237 a
SDict begin 11 H.A end
80 237 a 80 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-143.1) cvn H.B /DEST pdfmark end
80 237 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghc)p Black 44 w(-)p
0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(myprog)p
Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(hs)p
Black 0 0 0 TeXcolorrgb 44 w(Main)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black 45 w(-)p 0 0 0 TeXcolorrgb(package)p
Black 0 0 0 TeXcolorrgb 43 w(network)p Black 0.95 TeXcolorgray
55 289 4095 25 v Black 0.95 TeXcolorgray Black Black
Black Black -128 474 a Fh(-hide-all-packages)p Black
59 w FA(Ignore)d(the)h(e)o(xposed)f(\003ag)h(on)g(installed)g
(packages,)f(and)h(hide)g(them)g(all)h(by)f(def)o(ault.)23
b(If)18 b(you)g(use)g(this)h(\003ag,)f(then)80 574 y(an)o(y)h(packages)
g(you)h(require)f(\(including)f Ft(base)p FA(\))h(need)h(to)g(be)g(e)o
(xplicitly)f(e)o(xposed)g(using)h Ft(-package)f FA(options.)80
705 y(This)k(is)h(a)f(good)f(w)o(ay)h(to)g(insulate)f(your)g(program)f
(from)g(dif)n(ferences)h(in)h(the)f(globally)g(e)o(xposed)f(packages,)h
(and)h(being)f(e)o(xplicit)g(about)80 804 y(package)e(dependencies)f
(is)j(a)g(Good)e(Thing.)27 b(Cabal)22 b(al)o(w)o(ays)f(passes)h(the)f
Ft(-hide-all-packages)e FA(\003ag)i(to)h(GHC,)f(for)g(e)o(xactly)f
(this)80 904 y(reason.)p Black -128 1067 a Fh(-hide-package)f
Ff(P)p Black 65 w FA(This)i(option)f(does)h(the)g(opposite)f(of)h
Ft(-package)p FA(:)26 b(it)21 b(causes)h(the)f(speci\002ed)f(package)g
(to)h(be)g Fq(hidden)p FA(,)f(which)g(means)80 1167 y(that)g(none)f(of)
h(its)i(modules)d(will)i(be)f(a)n(v)n(ailable)f(for)h(import)f(by)h
(Hask)o(ell)h Ft(import)e FA(directi)n(v)o(es.)80 1298
y(Note)25 b(that)h(the)f(package)f(might)h(still)h(end)f(up)g(being)f
(link)o(ed)h(into)g(the)h(\002nal)f(program,)f(if)i(it)g(is)g(a)g
(dependenc)o(y)c(\(direct)j(or)g(indirect\))f(of)80 1397
y(another)19 b(e)o(xposed)f(package.)p Black -128 1560
a Fh(-ignore-package)g Ff(P)p Black 66 w FA(Causes)i(the)f(compiler)f
(to)h(beha)n(v)o(e)f(as)i(if)f(package)f Fr(P)s FA(,)i(and)e(an)o(y)h
(packages)f(that)h(depend)e(on)i Ft(P)p FA(,)g(are)h(not)e(installed)h
(at)80 1660 y(all.)80 1791 y(Saying)26 b Ft(-ignore-package)47
b(P)27 b FA(is)h(the)e(same)h(as)h(gi)n(ving)d Ft(-hide-package)g
FA(\003ags)i(for)f Ft(P)h FA(and)f(all)i(the)e(packages)g(that)h
(depend)80 1891 y(on)h Ft(P)p FA(.)g(Sometimes)g(we)h(don')o(t)d(kno)n
(w)h(ahead)h(of)g(time)g(which)g(packages)f(will)i(be)f(installed)g
(that)h(depend)d(on)i Ft(P)p FA(,)g(which)g(is)h(when)f(the)80
1990 y Ft(-ignore-package)18 b FA(\003ag)i(can)g(be)g(useful.)p
Black -128 2153 a Fh(-package-name)f Ff(foo)p Black 63
w FA(T)-6 b(ells)26 b(GHC)f(the)f(the)h(module)e(being)h(compiled)f
(forms)h(part)g(of)g(package)f Fr(foo)p FA(.)38 b(If)25
b(this)g(\003ag)f(is)i(omitted)e(\(a)g(v)o(ery)80 2253
y(common)18 b(case\))j(then)e(the)i(def)o(ault)e(package)g
Ft(main)h FA(is)h(assumed.)80 2384 y(Note:)34 b(the)25
b(ar)o(gument)d(to)j Ft(-package-name)d FA(should)i(be)g(the)h(full)f
(package)f(identi\002er)h(for)g(the)h(package,)f(that)h(is)g(it)g
(should)f(include)80 2484 y(the)c(v)o(ersion)f(number)-5
b(.)24 b(F)o(or)c(e)o(xample:)j Ft(-package)49 b(mypkg-1.2)p
FA(.)-128 2616 y
SDict begin H.S end
-128 2616 a -128 2616 a
SDict begin 12 H.A end
-128 2616 a
-128 2616 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.2) cvn H.B /DEST pdfmark end
-128 2616 a Black 145 x Fp(4.8.2)p Black
90 w(The)24 b(main)g(pac)n(ka)o(g)q(e)-128 2850 y
SDict begin H.S end
-128
2850 a -128 2850 a
SDict begin 12 H.A end
-128 2850 a -128 2850 a
SDict begin [ /View [/XYZ H.V] /Dest (package-main) cvn H.B /DEST pdfmark end
-128 2850
a 111 x FA(Ev)o(ery)e(complete)f(Hask)o(ell)i(program)e(must)i
(de\002ne)f Ft(main)g FA(in)h(module)f Ft(Main)g FA(in)h(package)e
Ft(main)p FA(.)33 b(\(Omitting)21 b(the)i Ft(-package-name)e
FA(\003ag)-128 3061 y(compiles)f(code)f(for)h(package)f
Ft(main)p FA(.\))24 b(F)o(ailure)c(to)g(do)g(so)h(leads)f(to)g(a)h
(some)n(what)e(obscure)g(link-time)g(error)g(of)h(the)h(form:)-128
3125 y
SDict begin H.S end
-128 3125 a -128 3125 a
SDict begin 12 H.A end
-128 3125 a -128 3125
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-144) cvn H.B /DEST pdfmark end
-128 3125 a 0.95 TeXcolorgray -153 3141 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3232 25 92 v Black 0.95 TeXcolorgray
-128 3232 4252 92 v Black 0.95 TeXcolorgray 4124 3232
25 92 v Black 0.95 TeXcolorgray Black -128 3204 a
SDict begin H.S end
-128
3204 a -128 3204 a
SDict begin 11 H.A end
-128 3204 a -128 3204 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-144.1) cvn H.B /DEST pdfmark end
-128 3204
a Fo(/)p 0 0 0 TeXcolorrgb(usr)p Black(/)p 0 0 0 TeXcolorrgb(bin)p
Black -1 w(/)p 0 0 0 TeXcolorrgb(ld)p Black(:)p 0 0 0
TeXcolorrgb 44 w(Undefined)p Black 0 0 0 TeXcolorrgb
44 w(symbols)p Black -2 w(:)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3323 25 92 v Black 0.95 TeXcolorgray
-128 3323 4252 92 v Black 0.95 TeXcolorgray 4124 3323
25 92 v Black 0.95 TeXcolorgray Black -128 3296 a
SDict begin H.S end
-128
3296 a -128 3296 a
SDict begin 11 H.A end
-128 3296 a -128 3296 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-144.2) cvn H.B /DEST pdfmark end
-128 3296
a 0 0 0 TeXcolorrgb Fo(_ZCMain_main_closure)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3415 25 92
v Black 0.95 TeXcolorgray -128 3415 4252 92 v Black 0.95
TeXcolorgray 4124 3415 25 92 v Black 0.95 TeXcolorgray
Black -128 3387 a
SDict begin H.S end
-128 3387 a -128 3387 a
SDict begin 11 H.A end
-128 3387 a
-128 3387 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-144.3) cvn H.B /DEST pdfmark end
-128 3387 a 0 0 0 TeXcolorrgb Fo(___stginit_ZCMain)p
Black 0.95 TeXcolorgray -153 3439 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3601 a
SDict begin H.S end
-128 3601
a -128 3601 a
SDict begin 12 H.A end
-128 3601 a -128 3601 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.3) cvn H.B /DEST pdfmark end
-128 3601 a Black
138 x Fp(4.8.3)p Black 90 w(Consequences)h(of)j(pac)n(ka)o(g)q(es)-128
3827 y
SDict begin H.S end
-128 3827 a -128 3827 a
SDict begin 12 H.A end
-128 3827 a -128 3827
a
SDict begin [ /View [/XYZ H.V] /Dest (package-overlaps) cvn H.B /DEST pdfmark end
-128 3827 a 112 x FA(It)e(is)g(possible)f(that)g(by)g(using)g
(packages)f(you)g(might)h(end)f(up)h(with)g(a)h(program)d(that)i
(contains)g(tw)o(o)g(modules)g(with)g(the)g(same)h(name:)28
b(perhaps)-128 4038 y(you)21 b(used)g(a)g(package)f(P)i(that)g(has)f(a)
h Fq(hidden)e FA(module)f(M,)j(and)e(there)h(is)h(also)g(a)g(module)e
(M)h(in)h(your)e(program.)25 b(Or)d(perhaps)e(the)h(dependencies)-128
4138 y(of)h(packages)e(that)h(you)g(used)g(contain)f(some)h(o)o(v)o
(erlapping)d(modules.)27 b(Perhaps)21 b(the)h(program)d(e)n(v)o(en)h
(contains)h(multiple)f(v)o(ersions)h(of)g(a)h(certain)-128
4237 y(package,)d(due)h(to)g(dependencies)e(from)h(other)g(packages.)
-128 4384 y(None)g(of)g(these)g(scenarios)g(gi)n(v)o(es)g(rise)g(to)h
(an)f(error)f(on)h(its)h(o)n(wn)1718 4354 y Fn(2)1752
4384 y FA(,)g(b)n(ut)f(the)o(y)f(may)h(ha)n(v)o(e)g(some)g(interesting)
f(consequences.)23 b(F)o(or)c(instance,)f(if)i(you)-128
4483 y(ha)n(v)o(e)h(a)h(type)f Ft(M.T)h FA(from)f(v)o(ersion)f(1)h(of)h
(package)e Ft(P)p FA(,)i(then)f(this)h(is)g Fq(not)h
FA(the)e(same)h(as)g(the)g(type)f Ft(M.T)h FA(from)e(v)o(ersion)g(2)i
(of)f(package)f Ft(P)p FA(,)i(and)f(GHC)-128 4583 y(will)g(report)e(an)
i(error)e(if)h(you)f(try)h(to)h(use)f(one)g(where)f(the)i(other)e(is)i
(e)o(xpected.)-128 4729 y(F)o(ormally)e(speaking,)f(in)i(Hask)o(ell)f
(98,)g(an)h(entity)f(\(function,)e(type)i(or)h(class\))g(in)g(a)f
(program)f(is)i(uniquely)e(identi\002ed)h(by)g(the)g(pair)h(of)f(the)g
(module)-128 4829 y(name)h(in)g(which)g(it)h(is)g(de\002ned)e(and)h
(its)h(name.)j(In)c(GHC,)h(an)f(entity)g(is)h(uniquely)e(de\002ned)g
(by)g(a)i(triple:)k(package,)19 b(module,)f(and)i(name.)-128
4962 y
SDict begin H.S end
-128 4962 a -128 4962 a
SDict begin 12 H.A end
-128 4962 a -128 4962
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.4) cvn H.B /DEST pdfmark end
-128 4962 a Black 144 x Fp(4.8.4)p Black 90 w(P)m(ac)n(ka)o(g)q(e)k
(Databases)-128 5195 y
SDict begin H.S end
-128 5195 a -128 5195 a
SDict begin 12 H.A end
-128 5195
a -128 5195 a
SDict begin [ /View [/XYZ H.V] /Dest (package-databases) cvn H.B /DEST pdfmark end
-128 5195 a 111 x FA(A)e(package)d(database)h(is)i(a)f
(\002le,)h(normally)d(called)h Ft(package.conf)f FA(which)i(contains)f
(descriptions)f(of)i(installed)f(packages.)26 b(GHC)c(usually)-128
5406 y(kno)n(ws)e(about)f(tw)o(o)i(package)d(databases:)p
Black -128 5612 a(\225)p Black 42 w(The)i(global)f(package)g(database,)
g(which)h(comes)g(with)g(your)f(GHC)i(installation.)p
Black -128 5680 1701 4 v -7 5735 a Fm(2)22 5759 y Fl(it)c(used)h(to)f
(in)g(GHC)g(6.4,)f(b)o(ut)h(not)h(since)g(6.6)p Black
Black -128 6084 4252 5 v Black eop end
%%Page: 57 72
TeXDict begin 57 71 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.57) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(57)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(A)26 b(package)e(database)h(pri)n(v)n(ate)g(to)h(each)f(user)-5
b(.)42 b(On)25 b(Unix)g(systems)i(this)f(will)g(be)g
Ft($HOME/.ghc/arch-)t(os-)t(version/package.)-57 273
y(conf)p FA(,)33 b(and)d(on)g(W)m(indo)n(ws)g(it)h(will)g(be)f
(something)f(lik)o(e)i Ft(C:\\Documents~And~Settings\\user\\ghc)p
FA(.)50 b(The)30 b Ft(ghc-pkg)g FA(tool)-57 372 y(kno)n(ws)19
b(where)h(this)h(\002le)g(should)e(be)h(located,)f(and)h(will)h(create)
f(it)h(if)f(it)h(doesn')o(t)e(e)o(xist)h(\(see)g(Section)p
1 0 0 TeXcolorrgb 2871 373 a
SDict begin H.S end
2871 373 a 1 0 0 TeXcolorrgb
-1 x FA(4.8.6)p 1 0 0 TeXcolorrgb 3037 316 a
SDict begin H.R end
3037 316
a 3037 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.6) cvn H.B /ANN pdfmark end
3037 372 a Black FA(\).)-128 588 y(When)j(GHC)h(starts)g
(up,)f(it)g(reads)g(the)g(contents)f(of)h(these)g(tw)o(o)g(package)f
(databases,)h(and)f(b)n(uilds)h(up)g(a)g(list)h(of)f(the)g(packages)e
(it)j(kno)n(ws)e(about.)-128 688 y(Y)-9 b(ou)20 b(can)g(see)h(GHC')-5
b(s)21 b(package)e(table)h(by)g(running)e(GHC)j(with)f(the)g
Ft(-v)h FA(\003ag.)-128 837 y(P)o(ackage)h(databases)h(may)g(o)o(v)o
(erlap:)29 b(for)22 b(e)o(xample,)g(packages)g(in)h(the)g(user)g
(database)g(will)h(o)o(v)o(erride)c(those)j(of)g(the)g(same)g(name)g
(in)g(the)g(global)-128 937 y(database.)-128 1086 y(Y)-9
b(ou)20 b(can)g(control)f(the)h(loading)f(of)h(package)f(databases)h
(using)f(the)h(follo)n(wing)f(GHC)i(options:)p Black
-107 1302 a Fh(-package-conf)48 b Ff(file)p Black 61
w FA(Read)18 b(in)g(the)g(package)e(con\002guration)f(\002le)j
Fr(file)g FA(in)g(addition)e(to)i(the)f(system)h(def)o(ault)f(\002le)h
(and)f(the)h(user')-5 b(s)18 b(local)80 1402 y(\002le.)26
b(P)o(ackages)19 b(in)h(additional)f(\002les)i(read)f(this)h(w)o(ay)f
(will)h(o)o(v)o(erride)d(those)i(in)g(the)g(global)g(and)f(user)h
(databases.)p Black -128 1568 a Fh(-no-user-package-conf)p
Black 59 w FA(Pre)n(v)o(ent)f(loading)g(of)h(the)g(user')-5
b(s)20 b(local)g(package)f(database.)-128 1784 y(T)-7
b(o)21 b(create)g(a)g(ne)n(w)g(package)e(database,)i(just)g(create)f(a)
i(ne)n(w)e(\002le)i(and)e(put)h(the)g(string)f(`)p Ft([])p
FA(')g(in)h(it.)28 b(P)o(ackages)20 b(can)h(be)g(added)e(to)i(the)g
(\002le)h(using)e(the)-128 1883 y Ft(ghc-pkg)g FA(tool,)g(described)e
(in)j(Section)p 1 0 0 TeXcolorrgb 1107 1884 a
SDict begin H.S end
1107 1884
a 1 0 0 TeXcolorrgb -1 x FA(4.8.6)p 1 0 0 TeXcolorrgb
1273 1827 a
SDict begin H.R end
1273 1827 a 1273 1883 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.6) cvn H.B /ANN pdfmark end
1273 1883 a Black
FA(.)-128 2012 y
SDict begin H.S end
-128 2012 a -128 2012 a
SDict begin 12 H.A end
-128 2012 a
-128 2012 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.8.4.1) cvn H.B /DEST pdfmark end
-128 2012 a Black 137 x Fx(4.8.4.1)p Black
73 w(The)e Fh(GHC_PACKAGE_PATH)f Fx(en)m(vir)o(onment)g(v)o(ariab)o(le)
-128 2233 y
SDict begin H.S end
-128 2233 a -128 2233 a
SDict begin 12 H.A end
-128 2233 a -128
2233 a
SDict begin [ /View [/XYZ H.V] /Dest (ghc-package-path) cvn H.B /DEST pdfmark end
-128 2233 a 119 x FA(The)j Ft(GHC_PACKAGE_PATH)d
FA(en)m(vironment)f(v)n(ariable)i(may)h(be)h(set)g(to)g(a)g
Ft(:)p FA(-separated)e(\()p Ft(;)p FA(-separated)f(on)i(W)m(indo)n
(ws\))g(list)h(of)f(\002les)i(containing)-128 2452 y(package)d
(databases.)25 b(This)20 b(list)h(of)f(package)e(databases)i(is)h(used)
f(by)g(GHC)h(and)e(ghc-pkg,)f(with)i(earlier)g(databases)f(in)i(the)f
(list)h(o)o(v)o(erriding)c(later)-128 2551 y(ones.)26
b(This)21 b(order)e(w)o(as)j(chosen)d(to)i(match)f(the)h(beha)n(viour)d
(of)i(the)h Ft(PATH)f FA(en)m(vironment)e(v)n(ariable;)i(think)f(of)i
(it)g(as)g(a)g(list)h(of)e(package)f(databases)-128 2651
y(that)i(are)f(searched)f(left-to-right)f(for)i(packages.)-128
2800 y(If)25 b Ft(GHC_PACKAGE_PATH)d FA(ends)i(in)g(a)h(separator)m(,)f
(then)f(the)i(def)o(ault)e(user)i(and)e(system)i(package)e(databases)h
(are)g(appended,)f(in)i(that)f(order)-5 b(.)-128 2900
y(e.g.)25 b(to)20 b(augment)f(the)h(usual)g(set)h(of)f(packages)f(with)
i(a)f(database)g(of)g(your)f(o)n(wn,)g(you)g(could)h(say)g(\(on)f
(Unix\):)-128 2968 y
SDict begin H.S end
-128 2968 a -128 2968 a
SDict begin 12 H.A end
-128 2968
a -128 2968 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-145) cvn H.B /DEST pdfmark end
-128 2968 a 0.95 TeXcolorgray -153 2983
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3074 25 92 v Black 0.95
TeXcolorgray -128 3074 4252 92 v Black 0.95 TeXcolorgray
4124 3074 25 92 v Black 0.95 TeXcolorgray Black -128
3047 a
SDict begin H.S end
-128 3047 a -128 3047 a
SDict begin 11 H.A end
-128 3047 a -128 3047
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-145.1) cvn H.B /DEST pdfmark end
-128 3047 a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb
45 w(export)p Black 0 0 0 TeXcolorrgb 44 w(GHC_PACKAGE_PATH)p
Black -3 w(=)p 0 0 0 TeXcolorrgb($HOME)p Black -1 w(/.)p
0 0 0 TeXcolorrgb(my)p Black(-)p 0 0 0 TeXcolorrgb -1
w(ghc)p Black(-)p 0 0 0 TeXcolorrgb(packages)p Black
-2 w(.)p 0 0 0 TeXcolorrgb(conf)p Black(:)p 0.95 TeXcolorgray
-153 3099 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3274 a FA(\(use)i Ft(;)f FA(instead)g(of)g
Ft(:)25 b FA(on)20 b(W)m(indo)n(ws\).)-128 3423 y(T)-7
b(o)26 b(check)f(whether)f(your)h Ft(GHC_PACKAGE_PATH)e
FA(setting)i(is)i(doing)d(the)h(right)g(thing,)h Ft(ghc-pkg)49
b(list)25 b FA(will)h(list)h(all)f(the)g(databases)f(in)-128
3523 y(use,)c(in)f(the)g(re)n(v)o(erse)f(order)g(the)o(y)h(are)g
(searched.)-128 3657 y
SDict begin H.S end
-128 3657 a -128 3657 a
SDict begin 12 H.A end
-128 3657
a -128 3657 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.5) cvn H.B /DEST pdfmark end
-128 3657 a Black 148 x Fp(4.8.5)p Black
90 w(Building)j(a)i(pac)n(ka)o(g)q(e)f(fr)n(om)g(Haskell)g(sour)n(ce)
-128 3893 y
SDict begin H.S end
-128 3893 a -128 3893 a
SDict begin 12 H.A end
-128 3893 a -128
3893 a
SDict begin [ /View [/XYZ H.V] /Dest (building-packages) cvn H.B /DEST pdfmark end
-128 3893 a 115 x FA(W)-7 b(e)32 b(don')o(t)c(recommend)g(b)n
(uilding)h(packages)g(the)h(hard)f(w)o(ay)-5 b(.)54 b(Instead,)32
b(use)e(the)p 0 1 0 0 TeXcolorcmyk 2365 4009 a
SDict begin H.S end
2365 4009
a 0 1 0 0 TeXcolorcmyk -1 x FA(Cabal)p 0 1 0 0 TeXcolorcmyk
2559 3952 a
SDict begin H.R end
2559 3952 a 2559 4008 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../Cabal/index.html) >> /Subtype /Link H.B /ANN pdfmark end
2559 4008 a Black
31 w FA(infrastructure)e(if)i(possible.)55 b(If)30 b(your)e(package)h
(is)-128 4108 y(particularly)23 b(complicated)g(or)i(requires)f(a)h
(lot)g(of)f(con\002guration,)f(then)h(you)g(might)g(ha)n(v)o(e)g(to)h
(f)o(all)g(back)f(to)h(the)f(lo)n(w-le)n(v)o(el)g(mechanisms,)g(so)i(a)
-128 4207 y(fe)n(w)21 b(hints)f(for)f(those)h(bra)n(v)o(e)g(souls)g
(follo)n(w)-5 b(.)-128 4357 y(Y)c(ou)24 b(need)f(to)h(b)n(uild)f(an)h
("installed)g(package)e(info")h(\002le)i(for)e(passing)g(to)h
Ft(ghc-pkg)f FA(when)h(installing)f(your)g(package.)34
b(The)24 b(contents)f(of)g(this)-128 4456 y(\002le)e(are)f(described)f
(in)i(Section)p 1 0 0 TeXcolorrgb 815 4457 a
SDict begin H.S end
815 4457
a 1 0 0 TeXcolorrgb -1 x FA(4.8.7)p 1 0 0 TeXcolorrgb
982 4400 a
SDict begin H.R end
982 4400 a 982 4456 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.7) cvn H.B /ANN pdfmark end
982 4456 a Black FA(.)-128
4606 y(The)k(Hask)o(ell)g(code)f(in)h(a)g(package)f(may)g(be)h(b)n
(uilt)g(into)f(one)h(or)f(more)g(archi)n(v)o(e)f(libraries)i(\(e.g.)38
b Ft(libHSfoo.a)p FA(\),)24 b(or)h(a)g(single)f(shared)h(object)-128
4705 y(\(e.g.)34 b Ft(libHSfoo.dll/.so/.dylib)p FA(\).)29
b(The)23 b(restriction)f(to)i(a)f(single)g(shared)g(object)f(is)i
(because)f(the)g(package)f(system)h(is)h(used)f(to)g(tell)-128
4805 y(the)c(compiler)f(when)g(it)i(should)d(mak)o(e)i(an)f(inter)n
(-shared-object)e(call)k(rather)d(than)i(an)g(intra-shared-object-call)
c(call)k(\(inter)n(-shared-object)c(calls)-128 4905 y(require)k(an)h(e)
o(xtra)g(indirection\).)p Black -128 5120 a(\225)p Black
42 w(Building)f(a)i(static)g(library)e(is)i(done)e(by)h(using)g(the)g
Ft(ar)g FA(tool,)g(lik)o(e)h(so:)-128 5188 y
SDict begin H.S end
-128 5188
a -128 5188 a
SDict begin 12 H.A end
-128 5188 a -128 5188 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-146) cvn H.B /DEST pdfmark end
-128 5188 a 0.95
TeXcolorgray -82 5203 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 5295
25 92 v Black 0.95 TeXcolorgray -57 5295 4182 92 v Black
0.95 TeXcolorgray 4124 5295 25 92 v Black 0.95 TeXcolorgray
Black -57 5267 a
SDict begin H.S end
-57 5267 a -57 5267 a
SDict begin 11 H.A end
-57 5267 a -57
5267 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-146.1) cvn H.B /DEST pdfmark end
-57 5267 a 0 0 0 TeXcolorrgb Fo(ar)p Black 0 0 0
TeXcolorrgb 45 w(cqs)p Black 0 0 0 TeXcolorrgb 44 w(libHSfoo)p
Black -2 w(-1.0.)p 0 0 0 TeXcolorrgb(a)p Black 0 0 0
TeXcolorrgb 44 w(A)p Black(.)p 0 0 0 TeXcolorrgb(o)p
Black 0 0 0 TeXcolorrgb 45 w(B)p Black -1 w(.)p 0 0 0
TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 45 w(C)p Black(.)p
0 0 0 TeXcolorrgb(o)p Black 44 w(...)p 0.95 TeXcolorgray
-82 5320 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 5477 a FA(where)d Ft(A.o)p FA(,)h Ft(B.o)f
FA(and)g(so)h(on)f(are)h(the)f(compiled)g(Hask)o(ell)g(modules,)g(and)g
Ft(libHSfoo.a)f FA(is)j(the)e(library)g(you)g(wish)h(to)f(create.)24
b(The)19 b(syntax)-57 5577 y(may)h(dif)n(fer)f(slightly)h(on)f(your)g
(system,)i(so)f(check)f(the)i(documentation)c(if)j(you)g(run)f(into)h
(dif)n(\002culties.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 58 73
TeXDict begin 58 72 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.58) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(58)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(V)-9 b(ersions)21 b(of)g(the)g(Hask)o(ell)h(libraries)f(for)f(use)
i(with)f(GHCi)i(may)d(also)i(abe)f(included:)26 b(GHCi)c(cannot)e(load)
h Ft(.a)h FA(\002les)g(directly)-5 b(,)20 b(instead)h(it)h(will)-57
273 y(look)d(for)h(an)g(object)f(\002le)i(called)f Ft(HSfoo.o)g
FA(and)f(load)h(that.)25 b(On)20 b(some)g(systems,)g(the)g
Ft(ghc-pkg)g FA(tool)g(can)g(automatically)e(b)n(uild)i(the)g(GHCi)-57
372 y(v)o(ersion)f(of)h(each)g(library)-5 b(,)18 b(see)j(Section)p
1 0 0 TeXcolorrgb 1124 373 a
SDict begin H.S end
1124 373 a 1 0 0 TeXcolorrgb
-1 x FA(4.8.6)p 1 0 0 TeXcolorrgb 1290 316 a
SDict begin H.R end
1290 316
a 1290 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.6) cvn H.B /ANN pdfmark end
1290 372 a Black FA(.)26 b(T)-7 b(o)20 b(b)n(uild)g(these)
h(libraries)f(by)g(hand)f(from)g(the)h Ft(.a)h FA(archi)n(v)o(e,)d(it)j
(is)h(possible)e(to)g(use)h(GNU)f Fu(ld)h FA(as)-57 472
y(follo)n(ws:)-128 523 y
SDict begin H.S end
-128 523 a -128 523 a
SDict begin 12 H.A end
-128 523
a -128 523 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-147) cvn H.B /DEST pdfmark end
-128 523 a 0.95 TeXcolorgray -82 555 4232
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 646 25 92 v Black 0.95 TeXcolorgray
-57 646 4182 92 v Black 0.95 TeXcolorgray 4124 646 25
92 v Black 0.95 TeXcolorgray Black -57 619 a
SDict begin H.S end
-57 619
a -57 619 a
SDict begin 11 H.A end
-57 619 a -57 619 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-147.1) cvn H.B /DEST pdfmark end
-57 619 a 0 0 0 TeXcolorrgb
Fo(ld)p Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(r)p Black
45 w(--)p 0 0 0 TeXcolorrgb(whole)p Black -1 w(-)p 0 0 0
TeXcolorrgb(archive)p Black 43 w(-)p 0 0 0 TeXcolorrgb(o)p
Black 0 0 0 TeXcolorrgb 45 w(HSfoo)p Black -1 w(.)p 0 0 0
TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(libHSfoo)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(a)p Black 0.95 TeXcolorgray
-82 671 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 829 a FA(\(replace)e Ft(--whole-archive)f FA(with)i
Ft(-all_load)f FA(on)h(MacOS)h(X\))p Black -128 995 a(\225)p
Black 42 w(When)j(b)n(uilding)g(the)g(package)f(as)i(shared)f(object,)h
(GHC)g(wraps)g(out)f(the)g(underlying)e(link)o(er)i(so)h(that)g(the)f
(user)g(gets)h(a)g(common)e(interf)o(ace)-57 1095 y(to)h(all)g(shared)f
(object)g(v)n(ariants)g(that)g(are)h(supported)d(by)i(GHC)i(\(DLLs,)f
(ELF)f(DSOs,)i(and)e(Mac)h(OS)g(dylibs\).)34 b(The)24
b(shared)e(object)h(must)h(be)-57 1194 y(named)18 b(in)h(speci\002c)g
(w)o(ay)g(for)f(tw)o(o)h(reasons:)24 b(\(1\))19 b(the)f(name)h(must)g
(contain)f(the)g(GHC)i(compiler)e(v)o(ersion,)f(so)j(that)f(tw)o(o)g
(library)e(v)n(ariants)i(don')o(t)-57 1294 y(collide)j(that)g(are)g
(compiled)f(by)h(dif)n(ferent)e(v)o(ersions)h(of)h(GHC)h(and)f(that)g
(therefore)e(are)i(most)h(lik)o(ely)f(incompatible)e(with)i(respect)g
(to)g(calling)-57 1394 y(con)m(v)o(entions,)e(\(2\))h(it)i(must)f(be)g
(dif)n(ferent)e(from)h(the)h(static)h(name)f(otherwise)f(we)i(w)o(ould)
e(not)h(be)g(able)g(to)g(control)f(the)h(link)o(er)f(as)i(precisely)e
(as)-57 1493 y(necessary)e(to)i(mak)o(e)f(the)g Ft(-static)p
FA(/)p Ft(-dynamic)e FA(\003ags)i(w)o(ork,)g(see)g(Section)p
1 0 0 TeXcolorrgb 2270 1494 a
SDict begin H.S end
2270 1494 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.7)p 1 0 0 TeXcolorrgb 2478 1437 a
SDict begin H.R end
2478 1437
a 2478 1493 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
2478 1493 a Black FA(.)-128 1561 y
SDict begin H.S end
-128
1561 a -128 1561 a
SDict begin 12 H.A end
-128 1561 a -128 1561 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-148) cvn H.B /DEST pdfmark end
-128 1561
a 0.95 TeXcolorgray -82 1576 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1668
25 92 v Black 0.95 TeXcolorgray -57 1668 4182 92 v Black
0.95 TeXcolorgray 4124 1668 25 92 v Black 0.95 TeXcolorgray
Black -57 1640 a
SDict begin H.S end
-57 1640 a -57 1640 a
SDict begin 11 H.A end
-57 1640 a -57
1640 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-148.1) cvn H.B /DEST pdfmark end
-57 1640 a 0 0 0 TeXcolorrgb Fo(ghc)p Black 44
w(-)p 0 0 0 TeXcolorrgb(shared)p Black 0 0 0 TeXcolorrgb
44 w(libHSfoo)p Black -1 w(-1.0-)p 0 0 0 TeXcolorrgb
-1 w(ghcGHCVersion)p Black -2 w(.)p 0 0 0 TeXcolorrgb
-1 w(so)p Black 0 0 0 TeXcolorrgb 45 w(A)p Black(.)p
0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(B)p
Black(.)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb
45 w(C)p Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p Black 0.95
TeXcolorgray -82 1693 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 1850 a FA(Using)h(GHC')-5 b(s)22
b(v)o(ersion)e(number)f(in)j(the)f(shared)f(object)h(name)f(allo)n(ws)i
(dif)n(ferent)d(library)h(v)o(ersions)g(compiled)g(by)h(dif)n(ferent)e
(GHC)j(v)o(ersions)-57 1950 y(to)e(be)g(installed)f(in)h(standard)f
(system)h(locations,)f(e.g.)24 b(under)18 b(*nix)h(/usr/lib)m(.)25
b(T)-7 b(o)19 b(obtain)g(the)h(v)o(ersion)e(number)g(of)i(GHC)g(in)m(v)
n(ok)o(e)f Ft(ghc)49 b(--n-)-57 2049 y(umeric-version)17
b FA(and)i(use)g(its)h(output)e(in)h(place)g(of)g Fr(GHCVersion)p
FA(.)k(See)d(also)f(Section)p 1 0 0 TeXcolorrgb 2684
2050 a
SDict begin H.S end
2684 2050 a 1 0 0 TeXcolorrgb -1 x FA(4.10.6)p
1 0 0 TeXcolorrgb 2891 1993 a
SDict begin H.R end
2891 1993 a 2891 2049 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.6) cvn H.B /ANN pdfmark end
2891 2049 a Black 20 w FA(on)g(ho)n(w)f(object)h(\002les)h(must)f(be)g
(prepared)-57 2149 y(for)h(shared)f(object)h(linking.)-128
2365 y(GHC)g(does)f(not)g(maintain)g(detailed)f(cross-package)f
(dependenc)o(y)f(information.)23 b(It)c(does)g(remember)e(which)i
(modules)f(in)i(other)e(packages)g(the)-128 2465 y(current)h(module)g
(depends)g(on,)g(b)n(ut)i(not)f(which)f(things)h(within)g(those)g
(imported)e(things.)-128 2614 y(T)-7 b(o)27 b(compile)e(a)h(module)f
(which)g(is)i(to)f(be)g(part)g(of)f(a)i(ne)n(w)f(package,)f(use)h(the)g
Ft(-package-name)f FA(option)f(\(Section)p 1 0 0 TeXcolorrgb
3405 2615 a
SDict begin H.S end
3405 2615 a 1 0 0 TeXcolorrgb -1 x FA(4.8.1)p
1 0 0 TeXcolorrgb 3571 2558 a
SDict begin H.R end
3571 2558 a 3571 2614 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.1) cvn H.B /ANN pdfmark end
3571 2614 a Black FA(\).)42 b(F)o(ailure)26 b(to)g(use)-128
2714 y(the)d Ft(-package-name)d FA(option)h(when)g(compiling)g(a)h
(package)f(will)i(probably)d(result)i(in)g(disaster)m(,)g(b)n(ut)g(you)
g(will)h(only)e(disco)o(v)o(er)f(later)j(when)-128 2813
y(you)f(attempt)g(to)h(import)e(modules)h(from)f(the)h(package.)31
b(At)23 b(this)g(point)e(GHC)j(will)f(complain)e(that)i(the)f(package)f
(name)h(it)h(w)o(as)g(e)o(xpecting)e(the)-128 2913 y(module)e(to)i
(come)e(from)g(is)i(not)f(the)h(same)f(as)h(the)f(package)f(name)g
(stored)h(in)g(the)h Ft(.hi)f FA(\002le.)-128 3062 y(It)27
b(is)h(w)o(orth)e(noting)f(with)i(shared)e(objects,)j(when)e(each)g
(package)f(is)i(b)n(uilt)g(as)g(a)g(single)g(shared)e(object)h(\002le,)
j(since)d(a)h(reference)e(to)i(a)g(shared)-128 3162 y(object)d(costs)h
(an)e(e)o(xtra)h(indirection,)f(intra-package)e(references)i(are)h
(cheaper)e(than)i(inter)n(-package)d(references.)35 b(Of)25
b(course,)f(this)g(applies)g(to)-128 3262 y(the)d Ft(main)f
FA(package)e(as)j(well.)-128 3396 y
SDict begin H.S end
-128 3396 a -128
3396 a
SDict begin 12 H.A end
-128 3396 a -128 3396 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.6) cvn H.B /DEST pdfmark end
-128 3396 a Black 148
x Fp(4.8.6)p Black 90 w(P)m(ac)n(ka)o(g)q(e)j(mana)o(g)q(ement)f(\(the)
h Fi(ghc-pkg)f Fp(command\))-128 3632 y
SDict begin H.S end
-128 3632 a -128
3632 a
SDict begin 12 H.A end
-128 3632 a -128 3632 a
SDict begin [ /View [/XYZ H.V] /Dest (package-management) cvn H.B /DEST pdfmark end
-128 3632 a 115 x FA(The)k
Ft(ghc-pkg)f FA(tool)g(allo)n(ws)h(packages)f(to)h(be)f(added)g(or)g
(remo)o(v)o(ed)e(from)i(a)h(package)e(database.)44 b(By)27
b(def)o(ault,)h(the)e(system-wide)g(package)-128 3846
y(database)20 b(is)h(modi\002ed,)e(b)n(ut)h(alternati)n(v)o(ely)f(the)h
(user')-5 b(s)20 b(local)g(package)f(database)h(or)g(another)e
(speci\002ed)i(\002le)h(can)f(be)g(used.)-128 3996 y(T)-7
b(o)27 b(see)g(what)f(package)f(databases)h(are)g(in)h(use,)g(say)g
Ft(ghc-pkg)48 b(list)p FA(.)c(The)26 b(stack)g(of)g(databases)g(that)g
Ft(ghc-pkg)g FA(kno)n(ws)g(about)f(can)h(be)-128 4096
y(modi\002ed)17 b(using)g(the)h Ft(GHC_PACKAGE_PATH)e
FA(en)m(vironment)f(v)n(ariable)h(\(see)i(Section)p 1 0 0
TeXcolorrgb 2458 4097 a
SDict begin H.S end
2458 4097 a 1 0 0 TeXcolorrgb
-1 x FA(4.8.4.1)p 1 0 0 TeXcolorrgb 2686 4039 a
SDict begin H.R end
2686
4039 a 2686 4096 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.4.8.4.1) cvn H.B /ANN pdfmark end
2686 4096 a Black FA(,)h(and)e(using)h
Ft(--package-conf)d FA(options)i(on)-128 4195 y(the)k
Ft(ghc-pkg)e FA(command)f(line.)-128 4345 y(When)h(ask)o(ed)f(to)h
(modify)e(a)h(database,)g Ft(ghc-pkg)g FA(modi\002es)g(the)h(global)e
(database)h(by)g(def)o(ault.)24 b(Specifying)17 b Ft(--user)h
FA(causes)g(it)h(to)g(act)g(on)f(the)-128 4444 y(user)i(database,)e(or)
h Ft(--package-conf)f FA(can)h(be)g(used)g(to)h(act)f(on)g(another)f
(database)h(entirely)-5 b(.)23 b(When)d(multiple)e(of)h(these)h
(options)e(are)i(gi)n(v)o(en,)-128 4544 y(the)h(rightmost)e(one)g(is)i
(used)f(as)h(the)g(database)e(to)h(act)h(upon.)-128 4693
y(Commands)26 b(that)h(query)f(the)h(package)e(database)i(\(list,)i
(latest,)g(describe,)f(\002eld\))f(operate)e(on)i(the)g(list)h(of)f
(databases)f(speci\002ed)h(by)g(the)g(\003ags)-128 4793
y Ft(--user)p FA(,)20 b Ft(--global)p FA(,)f(and)g Ft(--package-conf)p
FA(.)k(If)d(none)g(of)f(these)i(\003ags)f(are)h(gi)n(v)o(en,)d(the)i
(def)o(ault)g(is)h Ft(--global)e(--user)p FA(.)-128 4942
y(If)i(the)f(en)m(vironment)e(v)n(ariable)h Ft(GHC_PACKAGE_PATH)f
FA(is)j(set,)g(and)f(its)i(v)n(alue)e(does)g(not)g(end)g(in)g(a)h
(separator)f(\()p Ft(:)25 b FA(on)20 b(Unix,)g Ft(;)h
FA(on)f(W)m(indo)n(ws\),)-128 5042 y(then)i(the)g(last)g(database)f(is)
i(considered)d(to)i(be)g(the)g(global)e(database,)i(and)f(will)i(be)e
(modi\002ed)g(by)g(def)o(ault)g(by)h Ft(ghc-pkg)p FA(.)29
b(The)21 b(intention)g(here)-128 5142 y(is)j(that)f Ft
(GHC_PACKAGE_PATH)d FA(can)j(be)g(used)f(to)h(create)f(a)i(virtual)e
(package)f(en)m(vironment)f(into)i(which)g(Cabal)h(packages)f(can)g(be)
h(installed)-128 5241 y(without)d(setting)g(an)o(ything)e(other)i(than)
f Ft(GHC_PACKAGE_PATH)p FA(.)-128 5391 y(The)j Ft(ghc-pkg)g
FA(program)e(may)i(be)g(run)g(in)g(the)h(w)o(ays)f(listed)h(belo)n(w)-5
b(.)30 b(Where)23 b(a)f(package)f(name)h(is)h(required,)e(the)h
(package)f(can)h(be)h(named)e(in)-128 5490 y(full)g(including)d(the)j
(v)o(ersion)e(number)g(\(e.g.)25 b Ft(network-1.0)p FA(\),)18
b(or)j(without)e(the)i(v)o(ersion)e(number)-5 b(.)25
b(Naming)19 b(a)i(package)e(without)h(the)g(v)o(ersion)-128
5590 y(number)15 b(matches)i(all)g(v)o(ersions)f(of)g(the)h(package;)g
(the)f(speci\002ed)h(action)f(will)h(be)g(applied)f(to)h(all)g(the)g
(matching)e(packages.)23 b(A)17 b(package)e(speci\002er)-128
5690 y(that)21 b(matches)f(all)g(v)o(ersion)f(of)h(the)g(package)f(can)
h(also)h(be)f(written)g Fr(pkg)t Ft(-)2018 5705 y(*)2068
5690 y FA(,)g(to)g(mak)o(e)g(it)h(clearer)e(that)h(multiple)g(packages)
f(are)h(being)f(matched.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 59 74
TeXDict begin 59 73 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.59) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(59)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fh(ghc-pkg)49
b(register)f Ff(file)p Black 41 w FA(Reads)28 b(a)f(package)f
(speci\002cation)g(from)g Fr(file)h FA(\(which)g(may)f(be)h(\223)p
Ft(-)p FA(\224)g(to)h(indicate)e(standard)g(input\),)i(and)80
273 y(adds)20 b(it)h(to)f(the)g(database)g(of)g(installed)g(packages.)k
(The)c(syntax)f(of)h Fr(file)g FA(is)h(gi)n(v)o(en)e(in)i(Section)p
1 0 0 TeXcolorrgb 2887 274 a
SDict begin H.S end
2887 274 a 1 0 0 TeXcolorrgb
-1 x FA(4.8.7)p 1 0 0 TeXcolorrgb 3053 217 a
SDict begin H.R end
3053 217
a 3053 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.7) cvn H.B /ANN pdfmark end
3053 273 a Black FA(.)80 404 y(The)f(package)f
(speci\002cation)g(must)h(be)g(a)h(package)e(that)h(isn')o(t)g(already)
f(installed.)p Black -128 568 a Fh(ghc-pkg)49 b(update)g
Ff(file)p Black 41 w FA(The)15 b(same)h(as)g Ft(register)p
FA(,)f(e)o(xcept)f(that)i(if)g(a)g(package)e(of)h(the)g(same)h(name)f
(is)h(already)f(installed,)h(it)g(is)g(replaced)80 667
y(by)k(the)g(ne)n(w)g(one.)p Black -128 830 a Fh(ghc-pkg)49
b(unregister)f Ff(P)p Black 44 w FA(Remo)o(v)o(e)19 b(the)i
(speci\002ed)e(package)g(from)g(the)i(database.)p Black
-128 994 a Fh(ghc-pkg)49 b(expose)g Ff(P)p Black 44 w
FA(Sets)21 b(the)f Ft(exposed)g FA(\003ag)g(for)g(package)f
Fr(P)k FA(to)e Ft(True)p FA(.)p Black -128 1157 a Fh(ghc-pkg)49
b(check)p Black 41 w FA(Check)21 b(consistenc)o(y)g(of)h(dependencies)e
(in)i(the)h(package)d(database,)i(and)g(report)f(packages)g(that)h(ha)n
(v)o(e)f(missing)i(depen-)80 1257 y(dencies.)p Black
-128 1420 a Fh(ghc-pkg)49 b(hide)g Ff(P)p Black 44 w
FA(Sets)22 b(the)e Ft(exposed)f FA(\003ag)i(for)e(package)g
Fr(P)24 b FA(to)c Ft(False)p FA(.)p Black -128 1583 a
Fh(ghc-pkg)49 b(list)g([)p Ff(P)s Fh(])g([--simple-output])p
Black 39 w FA(This)15 b(option)f(displays)h(the)g(currently)f
(installed)h(packages,)g(for)f(each)h(of)g(the)g(databases)80
1683 y(kno)n(wn)20 b(to)h Ft(ghc-pkg)p FA(.)27 b(That)21
b(includes)g(the)g(global)f(database,)h(the)g(user')-5
b(s)22 b(local)f(database,)f(and)h(an)o(y)g(further)e(\002les)j
(speci\002ed)f(using)g(the)80 1782 y Ft(-f)f FA(option)f(on)h(the)g
(command)f(line.)80 1914 y(Hidden)g(packages)g(\(those)h(for)f(which)h
(the)g Ft(exposed)g FA(\003ag)g(is)h Ft(False)p FA(\))f(are)g(sho)n(wn)
f(in)i(parentheses)e(in)h(the)g(list)h(of)f(packages.)80
2045 y(If)g(an)g(optional)f(package)g(identi\002er)g
Fr(P)24 b FA(is)d(gi)n(v)o(en,)e(then)h(only)f(packages)g(matching)g
(that)h(identi\002er)g(are)g(sho)n(wn.)80 2177 y(If)28
b(the)f(option)g Ft(--simple-output)f FA(is)i(gi)n(v)o(en,)h(then)e
(the)h(packages)e(are)i(listed)g(on)g(a)g(single)g(line)g(separated)f
(by)g(spaces,)j(and)d(the)80 2276 y(database)19 b(names)h(are)g(not)g
(included.)j(This)e(is)g(intended)d(to)i(mak)o(e)g(it)h(easier)f(to)g
(parse)g(the)g(output)f(of)h Ft(ghc-pkg)48 b(list)20
b FA(using)g(a)g(script.)p Black -128 2440 a Fh(ghc-pkg)49
b(find-module)f Ff(M)58 b Fh([--simple-output])p Black
39 w FA(This)20 b(option)f(lists)j(re)o(gistered)c(packages)i(e)o
(xposing)e(module)h Fr(M)9 b FA(.)20 b(Examples:)-128
2505 y
SDict begin H.S end
-128 2505 a -128 2505 a
SDict begin 12 H.A end
-128 2505 a -128 2505
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-149) cvn H.B /DEST pdfmark end
-128 2505 a 0.95 TeXcolorgray 55 2520 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2611 25 92 v Black 0.95 TeXcolorgray
80 2611 4045 92 v Black 0.95 TeXcolorgray 4124 2611 25
92 v Black 0.95 TeXcolorgray Black 80 2584 a
SDict begin H.S end
80 2584
a 80 2584 a
SDict begin 11 H.A end
80 2584 a 80 2584 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.1) cvn H.B /DEST pdfmark end
80 2584 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghc)p Black -1 w(-)p
0 0 0 TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb 44 w(find)p
Black(-)p 0 0 0 TeXcolorrgb -1 w(module)p Black 0 0 0
TeXcolorrgb 44 w(Var)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 2703 25 92 v Black 0.95 TeXcolorgray
80 2703 4045 92 v Black 0.95 TeXcolorgray 4124 2703 25
92 v Black 0.95 TeXcolorgray Black 80 2675 a
SDict begin H.S end
80 2675
a 80 2675 a
SDict begin 11 H.A end
80 2675 a 80 2675 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.2) cvn H.B /DEST pdfmark end
80 2675 a 0 0 0 TeXcolorrgb
Fo(c)p Black(:/)p 0 0 0 TeXcolorrgb -1 w(fptools)p Black
-1 w(/)p 0 0 0 TeXcolorrgb(validate)p Black -1 w(/)p
0 0 0 TeXcolorrgb(ghc)p Black -1 w(/)p 0 0 0 TeXcolorrgb(driver)p
Black -1 w(/)p 0 0 0 TeXcolorrgb(package)p Black -1 w(.)p
0 0 0 TeXcolorrgb -1 w(conf)p Black(.)p 0 0 0 TeXcolorrgb(inplace)p
Black -2 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 2794 25 92 v Black 0.95 TeXcolorgray 80 2794 4045
92 v Black 0.95 TeXcolorgray 4124 2794 25 92 v Black
0.95 TeXcolorgray Black 80 2767 a
SDict begin H.S end
80 2767 a 80 2767 a
SDict begin 11 H.A end
80 2767 a 80 2767 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.3) cvn H.B /DEST pdfmark end
80 2767 a 179 w Fo(\()p 0 0 0 TeXcolorrgb(ghc)p
Black(-6.9.20080428\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2885 25 92 v Black 0.95 TeXcolorgray
80 2885 4045 92 v Black 0.95 TeXcolorgray 4124 2885 25
92 v Black 0.95 TeXcolorgray Black 80 2858 a
SDict begin H.S end
80 2858
a 80 2858 a
SDict begin 11 H.A end
80 2858 a 80 2858 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.4) cvn H.B /DEST pdfmark end
80 2858 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2977 25 92 v Black 0.95 TeXcolorgray
80 2977 4045 92 v Black 0.95 TeXcolorgray 4124 2977 25
92 v Black 0.95 TeXcolorgray Black 80 2949 a
SDict begin H.S end
80 2949
a 80 2949 a
SDict begin 11 H.A end
80 2949 a 80 2949 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.5) cvn H.B /DEST pdfmark end
80 2949 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(ghc)p Black -1 w(-)p
0 0 0 TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb 44 w(find)p
Black(-)p 0 0 0 TeXcolorrgb -1 w(module)p Black 0 0 0
TeXcolorrgb 44 w(Data)p Black(.)p 0 0 0 TeXcolorrgb -1
w(Sequence)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3068 25 92 v Black 0.95 TeXcolorgray 80 3068 4045
92 v Black 0.95 TeXcolorgray 4124 3068 25 92 v Black
0.95 TeXcolorgray Black 80 3041 a
SDict begin H.S end
80 3041 a 80 3041 a
SDict begin 11 H.A end
80 3041 a 80 3041 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.6) cvn H.B /DEST pdfmark end
80 3041 a 0 0 0 TeXcolorrgb Fo(c)p
Black(:/)p 0 0 0 TeXcolorrgb -1 w(fptools)p Black -1
w(/)p 0 0 0 TeXcolorrgb(validate)p Black -1 w(/)p 0 0 0
TeXcolorrgb(ghc)p Black -1 w(/)p 0 0 0 TeXcolorrgb(driver)p
Black -1 w(/)p 0 0 0 TeXcolorrgb(package)p Black -1 w(.)p
0 0 0 TeXcolorrgb -1 w(conf)p Black(.)p 0 0 0 TeXcolorrgb(inplace)p
Black -2 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3159 25 92 v Black 0.95 TeXcolorgray 80 3159 4045
92 v Black 0.95 TeXcolorgray 4124 3159 25 92 v Black
0.95 TeXcolorgray Black 80 3132 a
SDict begin H.S end
80 3132 a 80 3132 a
SDict begin 11 H.A end
80 3132 a 80 3132 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-149.7) cvn H.B /DEST pdfmark end
80 3132 a 0 0 0 TeXcolorrgb 179 w
Fo(containers)p Black -1 w(-0.1)p 0.95 TeXcolorgray 55
3184 4095 25 v Black 0.95 TeXcolorgray Black Black Black
80 3338 a FA(Otherwise,)g(it)h(beha)n(v)o(es)e(lik)o(e)h
Ft(ghc-pkg)49 b(list)p FA(,)20 b(including)e(options.)p
Black -128 3501 a Fh(ghc-pkg)49 b(latest)g Ff(P)p Black
44 w FA(Prints)21 b(the)f(latest)h(a)n(v)n(ailable)f(v)o(ersion)f(of)g
(package)g Fr(P)s FA(.)p Black -128 3664 a Fh(ghc-pkg)49
b(describe)f Ff(P)p Black 45 w FA(Emit)20 b(the)g(full)g(description)e
(of)i(the)g(speci\002ed)f(package.)24 b(The)19 b(description)g(is)i(in)
f(the)g(form)f(of)g(an)h Ft(Installe-)80 3764 y(dPackageInfo)p
FA(,)e(the)i(same)h(as)g(the)f(input)f(\002le)i(format)e(for)h
Ft(ghc-pkg)48 b(register)p FA(.)24 b(See)d(Section)p
1 0 0 TeXcolorrgb 3177 3765 a
SDict begin H.S end
3177 3765 a 1 0 0 TeXcolorrgb
-1 x FA(4.8.7)p 1 0 0 TeXcolorrgb 3343 3708 a
SDict begin H.R end
3343 3708
a 3343 3764 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.7) cvn H.B /ANN pdfmark end
3343 3764 a Black 21 w FA(for)e(details.)80
3895 y(If)g(the)f(pattern)g(matches)g(multiple)g(packages,)g(the)h
(description)e(for)h(each)g(package)g(is)h(emitted,)g(separated)e(by)i
(the)f(string)h Ft(---)f FA(on)h(a)g(line)80 3995 y(by)h(itself.)p
Black -128 4158 a Fh(ghc-pkg)49 b(field)g Ff(P)k(field)s
Fh([,)p Ff(field)s Fh(])1274 4171 y(*)p Black 1363 4158
a FA(Sho)n(w)26 b(just)g(a)h(single)f(\002eld)g(of)g(the)g(installed)f
(package)g(description)f(for)i Ft(P)p FA(.)g(Multiple)g(\002elds)80
4258 y(can)20 b(be)g(selected)g(by)g(separating)f(them)h(with)g(commas)
p Black -128 4421 a Fh(ghc-pkg)49 b(dump)p Black 41 w
FA(Emit)18 b(the)h(full)f(description)f(of)h(e)n(v)o(ery)f(package,)g
(in)i(the)f(form)g(of)g(an)g Ft(InstalledPackageInfo)p
FA(.)j(Multiple)d(package)80 4521 y(descriptions)h(are)h(separated)f
(by)h(the)g(string)g Ft(---)g FA(on)g(a)h(line)f(by)g(itself.)80
4652 y(This)25 b(is)h(almost)e(the)h(same)g(as)h Ft(ghc-pkg)48
b(describe)g(')1894 4667 y(*)1944 4652 y(')p FA(,)26
b(e)o(xcept)e(that)h Ft(ghc-pkg)48 b(dump)25 b FA(is)g(intended)f(for)g
(use)h(by)f(tools)h(that)80 4752 y(parse)e(the)g(results,)h(so)f(for)g
(e)o(xample)e(where)i Ft(ghc-pkg)48 b(describe)h(')2311
4767 y(*)2361 4752 y(')23 b FA(will)g(emit)h(an)f(error)f(if)h(it)h
(can')o(t)e(\002nd)h(an)o(y)f(packages)g(that)80 4851
y(match)e(the)g(pattern,)f Ft(ghc-pkg)48 b(dump)20 b
FA(will)h(simply)f(emit)h(nothing.)-128 5059 y(Substring)h(matching)f
(is)i(supported)d(for)i Fr(M)31 b FA(in)23 b Ft(find-module)d
FA(and)i(for)g Fr(P)k FA(in)c Ft(list)p FA(,)h Ft(describe)p
FA(,)e(and)h Ft(field)p FA(,)g(where)g(a)h Ft(')3707
5074 y(*)3757 5059 y(')f FA(indicates)-128 5159 y(open)e(substring)f
(ends)h(\()p Ft(prefix)881 5174 y(*)931 5159 y FA(,)971
5174 y Ft(*)1021 5159 y(suffix)p FA(,)1361 5174 y Ft(*)1411
5159 y(infix)1661 5174 y(*)1711 5159 y FA(\).)k(Examples)19
b(\(output)f(omitted\):)-128 5224 y
SDict begin H.S end
-128 5224 a -128
5224 a
SDict begin 12 H.A end
-128 5224 a -128 5224 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-150) cvn H.B /DEST pdfmark end
-128 5224 a 0.95 TeXcolorgray
-153 5239 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5330 25 92
v Black 0.95 TeXcolorgray -128 5330 4252 92 v Black 0.95
TeXcolorgray 4124 5330 25 92 v Black 0.95 TeXcolorgray
Black -128 5303 a
SDict begin H.S end
-128 5303 a -128 5303 a
SDict begin 11 H.A end
-128 5303 a
-128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.1) cvn H.B /DEST pdfmark end
-128 5303 a 180 w Fo(--)p 0 0 0 TeXcolorrgb
44 w(list)p Black 0 0 0 TeXcolorrgb 44 w(all)p Black
0 0 0 TeXcolorrgb 45 w(regex)p Black -1 w(-)p 0 0 0 TeXcolorrgb
(related)p Black 0 0 0 TeXcolorrgb 43 w(packages)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5422 25
92 v Black 0.95 TeXcolorgray -128 5422 4252 92 v Black
0.95 TeXcolorgray 4124 5422 25 92 v Black 0.95 TeXcolorgray
Black -128 5394 a
SDict begin H.S end
-128 5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a
-128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.2) cvn H.B /DEST pdfmark end
-128 5394 a 0 0 0 TeXcolorrgb 180 w Fo(ghc)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb
44 w(list)p Black 45 w(')680 5407 y(*)p 0 0 0 TeXcolorrgb
724 5394 a(regex)p Black 948 5407 a(*)993 5394 y(')45
b(--)p 0 0 0 TeXcolorrgb(ignore)p Black -1 w(-)p 0 0 0
TeXcolorrgb -1 w(case)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5513 25 92 v Black 0.95 TeXcolorgray
-128 5513 4252 92 v Black 0.95 TeXcolorgray 4124 5513
25 92 v Black 0.95 TeXcolorgray Black -128 5485 a
SDict begin H.S end
-128
5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a -128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.3) cvn H.B /DEST pdfmark end
-128 5485
a 180 w Fo(--)p 0 0 0 TeXcolorrgb 44 w(list)p Black 0 0 0
TeXcolorrgb 44 w(all)p Black 0 0 0 TeXcolorrgb 45 w(string)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(related)p Black 0 0 0
TeXcolorrgb 43 w(packages)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5604 25 92 v Black 0.95 TeXcolorgray
-128 5604 4252 92 v Black 0.95 TeXcolorgray 4124 5604
25 92 v Black 0.95 TeXcolorgray Black -128 5577 a
SDict begin H.S end
-128
5577 a -128 5577 a
SDict begin 11 H.A end
-128 5577 a -128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.4) cvn H.B /DEST pdfmark end
-128 5577
a 0 0 0 TeXcolorrgb 180 w Fo(ghc)p Black -1 w(-)p 0 0 0
TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb 44 w(list)p
Black 45 w(')680 5590 y(*)p 0 0 0 TeXcolorrgb 724 5577
a(string)p Black 993 5590 a(*)1038 5577 y(')g(--)p 0 0 0
TeXcolorrgb -1 w(ignore)p Black -1 w(-)p 0 0 0 TeXcolorrgb(case)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5696 25 92 v Black 0.95 TeXcolorgray -128 5696 4252 92
v Black 0.95 TeXcolorgray 4124 5696 25 92 v Black 0.95
TeXcolorgray Black -128 5668 a
SDict begin H.S end
-128 5668 a -128 5668
a
SDict begin 11 H.A end
-128 5668 a -128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.5) cvn H.B /DEST pdfmark end
-128 5668 a 180 w Fo(--)p 0 0 0
TeXcolorrgb 44 w(list)p Black 0 0 0 TeXcolorrgb 44 w(OpenGL)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(related)p Black 0 0 0
TeXcolorrgb 44 w(packages)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5787 25 92 v Black 0.95 TeXcolorgray
-128 5787 4252 92 v Black 0.95 TeXcolorgray 4124 5787
25 92 v Black 0.95 TeXcolorgray Black -128 5759 a
SDict begin H.S end
-128
5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.6) cvn H.B /DEST pdfmark end
-128 5759
a 0 0 0 TeXcolorrgb 180 w Fo(ghc)p Black -1 w(-)p 0 0 0
TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb 44 w(list)p
Black 45 w(')680 5772 y(*)p 0 0 0 TeXcolorrgb 724 5759
a(gl)p Black 13 x(*)859 5759 y(')f(--)p 0 0 0 TeXcolorrgb(ignore)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(case)p Black Black -128
6084 4252 5 v Black eop end
%%Page: 60 75
TeXDict begin 60 74 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.60) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(60)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.7) cvn H.B /DEST pdfmark end
-128 173 a 180 w Fo(--)p
0 0 0 TeXcolorrgb 44 w(list)p Black 0 0 0 TeXcolorrgb
44 w(packages)p Black 0 0 0 TeXcolorrgb 44 w(exporting)p
Black 0 0 0 TeXcolorrgb 43 w(modules)p Black 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0
TeXcolorrgb 45 w(Data)p Black 0 0 0 TeXcolorrgb 44 w(hierarchy)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
292 25 92 v Black 0.95 TeXcolorgray -128 292 4252 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.8) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb 180 w Fo(ghc)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb
44 w(find)p Black(-)p 0 0 0 TeXcolorrgb(module)p Black
43 w(')p 0 0 0 TeXcolorrgb(Data)p Black(.)1218 278 y(*)1263
265 y(')p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
383 25 92 v Black 0.95 TeXcolorgray -128 383 4252 92
v Black 0.95 TeXcolorgray 4124 383 25 92 v Black 0.95
TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128
356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.9) cvn H.B /DEST pdfmark end
-128 356 a 180 w Fo(--)p 0 0 0 TeXcolorrgb
44 w(list)p Black 0 0 0 TeXcolorrgb 44 w(packages)p Black
0 0 0 TeXcolorrgb 44 w(exporting)p Black 0 0 0 TeXcolorrgb
43 w(Monad)p Black 0 0 0 TeXcolorrgb 44 w(modules)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 475 25
92 v Black 0.95 TeXcolorgray -128 475 4252 92 v Black
0.95 TeXcolorgray 4124 475 25 92 v Black 0.95 TeXcolorgray
Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128 447 a -128
447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.10) cvn H.B /DEST pdfmark end
-128 447 a 0 0 0 TeXcolorrgb 180 w Fo(ghc)p Black
-1 w(-)p 0 0 0 TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb
44 w(find)p Black(-)p 0 0 0 TeXcolorrgb(module)p Black
43 w(')993 460 y(*)p 0 0 0 TeXcolorrgb -13 x(Monad)p
Black 1262 460 a(*)1307 447 y(')p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.11) cvn H.B /DEST pdfmark end
-128 538 a 180 w Fo(--)p
0 0 0 TeXcolorrgb 44 w(list)p Black 0 0 0 TeXcolorrgb
44 w(names)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black
0 0 0 TeXcolorrgb 45 w(maintainers)p Black 0 0 0 TeXcolorrgb
43 w(for)p Black 0 0 0 TeXcolorrgb 44 w(all)p Black 0 0 0
TeXcolorrgb 44 w(packages)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 657 25 92 v Black 0.95 TeXcolorgray
-128 657 4252 92 v Black 0.95 TeXcolorgray 4124 657 25
92 v Black 0.95 TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630
a -128 630 a
SDict begin 11 H.A end
-128 630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.12) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb
180 w Fo(ghc)p Black -1 w(-)p 0 0 0 TeXcolorrgb(pkg)p
Black 0 0 0 TeXcolorrgb 44 w(field)p Black 44 w(')724
643 y(*)769 630 y(')p 0 0 0 TeXcolorrgb 45 w(name)p Black
-1 w(,)p 0 0 0 TeXcolorrgb(maintainer)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 749 25 92 v Black 0.95 TeXcolorgray
-128 749 4252 92 v Black 0.95 TeXcolorgray 4124 749 25
92 v Black 0.95 TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721
a -128 721 a
SDict begin 11 H.A end
-128 721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.13) cvn H.B /DEST pdfmark end
-128 721 a 180 w Fo(--)p
0 0 0 TeXcolorrgb 44 w(list)p Black 0 0 0 TeXcolorrgb
44 w(location)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black
0 0 0 TeXcolorrgb 44 w(haddock)p Black 0 0 0 TeXcolorrgb
44 w(htmls)p Black 0 0 0 TeXcolorrgb 44 w(for)p Black
0 0 0 TeXcolorrgb 44 w(all)p Black 0 0 0 TeXcolorrgb
45 w(packages)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 840 25 92 v Black 0.95 TeXcolorgray -128 840 4252
92 v Black 0.95 TeXcolorgray 4124 840 25 92 v Black 0.95
TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812 a -128 812 a
SDict begin 11 H.A end
-128
812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.14) cvn H.B /DEST pdfmark end
-128 812 a 0 0 0 TeXcolorrgb 180 w Fo(ghc)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(pkg)p Black 0 0 0 TeXcolorrgb
44 w(field)p Black 44 w(')724 825 y(*)769 812 y(')p 0 0 0
TeXcolorrgb 45 w(haddock)p Black -1 w(-)p 0 0 0 TeXcolorrgb
-1 w(html)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 931 25 92 v Black 0.95 TeXcolorgray -128 931 4252
92 v Black 0.95 TeXcolorgray 4124 931 25 92 v Black 0.95
TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904 a -128 904 a
SDict begin 11 H.A end
-128
904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.15) cvn H.B /DEST pdfmark end
-128 904 a 180 w Fo(--)p 0 0 0 TeXcolorrgb
44 w(dump)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 45 w(whole)p Black 0 0 0 TeXcolorrgb
44 w(database)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1023 25 92 v Black 0.95 TeXcolorgray -128 1023 4252
92 v Black 0.95 TeXcolorgray 4124 1023 25 92 v Black
0.95 TeXcolorgray Black -128 995 a
SDict begin H.S end
-128 995 a -128 995
a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-150.16) cvn H.B /DEST pdfmark end
-128 995 a 0 0 0 TeXcolorrgb
180 w Fo(ghc)p Black -1 w(-)p 0 0 0 TeXcolorrgb(pkg)p
Black 0 0 0 TeXcolorrgb 44 w(describe)p Black 44 w(')859
1008 y(*)904 995 y(')p 0.95 TeXcolorgray -152 1047 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 1221
a FA(Additionally)-5 b(,)18 b(the)j(follo)n(wing)d(\003ags)j(are)f
(accepted)f(by)h Ft(ghc-pkg)p FA(:)p Black -107 1436
a Fh(--auto-ghci-libs)p Black 59 w FA(Automatically)28
b(generate)g(the)i(GHCi)g Ft(.o)f FA(v)o(ersion)g(of)g(each)f
Ft(.a)i FA(Hask)o(ell)g(library)-5 b(,)29 b(using)g(GNU)h(ld)f(\(if)h
(that)f(is)80 1536 y(a)n(v)n(ailable\).)24 b(W)m(ithout)c(this)g
(option,)f Ft(ghc-pkg)h FA(will)g(w)o(arn)g(if)h(GHCi)g(v)o(ersions)e
(of)h(an)o(y)f(Hask)o(ell)i(libraries)f(in)g(the)g(package)f(don')o(t)g
(e)o(xist.)80 1669 y(GHCi)29 b Ft(.o)f FA(libraries)g(don')o(t)e
(necessarily)i(ha)n(v)o(e)f(to)h(li)n(v)o(e)g(in)g(the)g(same)h
(directory)d(as)j(the)f(corresponding)c Ft(.a)29 b FA(library)-5
b(.)47 b(Ho)n(we)n(v)o(er)m(,)27 b(this)80 1768 y(option)19
b(will)i(cause)f(the)g(GHCi)h(library)e(to)i(be)f(created)f(in)i(the)f
(same)g(directory)f(as)i(the)f Ft(.a)g FA(library)-5
b(.)p Black -107 1934 a Fh(-f)21 b Ff(file)f Fu(,)g Fh(-package-conf)f
Ff(file)p Black 62 w FA(Adds)d Fr(file)g FA(to)g(the)h(stack)f(of)g
(package)f(databases.)23 b(Additionally)-5 b(,)15 b Fr(file)h
FA(will)h(also)g(be)f(the)h(database)80 2034 y(modi\002ed)j(by)g(a)h
Ft(register)p FA(,)f Ft(unregister)p FA(,)g Ft(expose)g
FA(or)h Ft(hide)g FA(command,)d(unless)j(it)h(is)g(o)o(v)o(erridden)17
b(by)k(a)g(later)g Ft(--package-)80 2133 y(-conf)p FA(,)f
Ft(--user)f FA(or)h Ft(--global)f FA(option.)p Black
-107 2299 a Fh(--force)p Black 61 w FA(Causes)i Ft(ghc-pkg)e
FA(to)h(ignore)e(missing)i(dependencies,)d(directories)i(and)g
(libraries)g(when)g(re)o(gistering)g(a)h(package,)e(and)h(just)h(go)80
2399 y(ahead)d(and)h(add)f(it)i(an)o(yw)o(ay)-5 b(.)23
b(This)18 b(might)f(be)h(useful)g(if)g(your)f(package)f(installation)i
(system)g(needs)g(to)g(add)g(the)g(package)e(to)i(GHC)h(before)80
2498 y(b)n(uilding)g(and)h(installing)f(the)i(\002les.)p
Black -107 2664 a Fh(--global)p Black 61 w FA(Operate)f(on)g(the)h
(global)e(package)h(database)g(\(this)g(is)i(the)f(def)o(ault\).)k
(This)20 b(\003ag)h(af)n(fects)f(the)h Ft(register)p
FA(,)f Ft(update)p FA(,)g Ft(unreg-)80 2764 y(ister)p
FA(,)g Ft(expose)p FA(,)f(and)h Ft(hide)g FA(commands.)p
Black -107 2930 a Fh(--help)g Fu(,)g Fh(-?)p Black 67
w FA(Outputs)g(the)g(command-line)d(syntax.)p Black -107
3095 a Fh(--user)p Black 61 w FA(Operate)26 b(on)h(the)f(current)g
(user')-5 b(s)27 b(local)g(package)e(database.)44 b(This)27
b(\003ag)g(af)n(fects)f(the)h Ft(register)p FA(,)g Ft(update)p
FA(,)h Ft(unregister)p FA(,)80 3195 y Ft(expose)p FA(,)19
b(and)h Ft(hide)g FA(commands.)p Black -107 3361 a Fh(-V)h
Fu(,)f Fh(--version)p Black 61 w FA(Output)f(the)h Ft(ghc-pkg)g
FA(v)o(ersion)f(number)-5 b(.)-128 3576 y(When)28 b(modifying)d(the)i
(package)f(database)h Fr(file)p FA(,)i(a)f(cop)o(y)f(of)g(the)g
(original)g(\002le)h(is)g(sa)n(v)o(ed)f(in)h Fr(file)p
Ft(.old)p FA(,)g(so)g(in)g(an)f(emer)o(genc)o(y)e(you)h(can)-128
3676 y(al)o(w)o(ays)21 b(restore)f(the)g(old)g(settings)g(by)g(cop)o
(ying)e(the)j(old)f(\002le)g(back)g(again.)-128 3810
y
SDict begin H.S end
-128 3810 a -128 3810 a
SDict begin 12 H.A end
-128 3810 a -128 3810 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.8.7) cvn H.B /DEST pdfmark end
-128
3810 a Black 147 x Fp(4.8.7)p Black 114 w Fi(InstalledPackageInfo)p
Fp(:)27 b(a)d(pac)n(ka)o(g)q(e)g(speci\002cation)-128
4046 y
SDict begin H.S end
-128 4046 a -128 4046 a
SDict begin 12 H.A end
-128 4046 a -128 4046
a
SDict begin [ /View [/XYZ H.V] /Dest (installed-pkg-info) cvn H.B /DEST pdfmark end
-128 4046 a 114 x FA(A)16 b(package)e(speci\002cation)g(is)i(a)g
(Hask)o(ell)g(record;)f(in)h(particular)m(,)e(it)i(is)g(the)f(record)p
0 1 0 0 TeXcolorcmyk 2227 4178 a
SDict begin H.S end
2227 4178 a 0 1 0 0
TeXcolorcmyk -18 x FA(InstalledP)o(ackageInfo)p 0 1 0 0
TeXcolorcmyk 2927 4104 a
SDict begin H.R end
2927 4104 a 2927 4160 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/Cabal/Distribution-InstalledPackageInfo.html#%tInstalledPackageInfo) >> /Subtype /Link H.B /ANN pdfmark end
2927
4160 a Black 15 w FA(in)h(the)f(module)f(Distrib)n(ution.InstalledP)o
(ackageInfo,)-128 4260 y(which)20 b(is)h(part)f(of)g(the)g(Cabal)h
(package)d(distrib)n(uted)i(with)g(GHC.)-128 4409 y(An)29
b Ft(InstalledPackageInfo)c FA(has)k(a)g(human)e(readable/writable)g
(syntax.)49 b(The)28 b(functions)f Ft(parseInstalledPackageInfo)-128
4509 y FA(and)19 b Ft(showInstalledPackageInfo)c FA(read)j(and)h(write)
g(this)h(syntax)e(respecti)n(v)o(ely)-5 b(.)23 b(Here')-5
b(s)19 b(an)g(e)o(xample)e(of)i(the)g Ft(InstalledPacka-)-128
4608 y(geInfo)h FA(for)g(the)g Ft(unix)g FA(package:)-128
4676 y
SDict begin H.S end
-128 4676 a -128 4676 a
SDict begin 12 H.A end
-128 4676 a -128 4676
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-151) cvn H.B /DEST pdfmark end
-128 4676 a 0.95 TeXcolorgray -153 4691 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4782 25 92 v Black 0.95 TeXcolorgray
-128 4782 4252 92 v Black 0.95 TeXcolorgray 4124 4782
25 92 v Black 0.95 TeXcolorgray Black -128 4755 a
SDict begin H.S end
-128
4755 a -128 4755 a
SDict begin 11 H.A end
-128 4755 a -128 4755 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.1) cvn H.B /DEST pdfmark end
-128 4755
a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb 45
w(ghc)p Black(-)p 0 0 0 TeXcolorrgb -1 w(pkg)p Black
0 0 0 TeXcolorrgb 45 w(describe)p Black 0 0 0 TeXcolorrgb
43 w(unix)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4874 25 92 v Black 0.95 TeXcolorgray -128 4874 4252
92 v Black 0.95 TeXcolorgray 4124 4874 25 92 v Black
0.95 TeXcolorgray Black -128 4846 a
SDict begin H.S end
-128 4846 a -128
4846 a
SDict begin 11 H.A end
-128 4846 a -128 4846 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.2) cvn H.B /DEST pdfmark end
-128 4846 a 0 0 0 TeXcolorrgb
Fo(name)p Black(:)p 0 0 0 TeXcolorrgb 44 w(unix)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4965 25
92 v Black 0.95 TeXcolorgray -128 4965 4252 92 v Black
0.95 TeXcolorgray 4124 4965 25 92 v Black 0.95 TeXcolorgray
Black -128 4938 a
SDict begin H.S end
-128 4938 a -128 4938 a
SDict begin 11 H.A end
-128 4938 a
-128 4938 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.3) cvn H.B /DEST pdfmark end
-128 4938 a 0 0 0 TeXcolorrgb Fo(version)p
Black -1 w(:)45 b(1.0)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5056 25 92 v Black 0.95 TeXcolorgray
-128 5056 4252 92 v Black 0.95 TeXcolorgray 4124 5056
25 92 v Black 0.95 TeXcolorgray Black -128 5029 a
SDict begin H.S end
-128
5029 a -128 5029 a
SDict begin 11 H.A end
-128 5029 a -128 5029 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.4) cvn H.B /DEST pdfmark end
-128 5029
a 0 0 0 TeXcolorrgb Fo(license)p Black -1 w(:)p 0 0 0
TeXcolorrgb 45 w(BSD3)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5148 25 92 v Black 0.95 TeXcolorgray
-128 5148 4252 92 v Black 0.95 TeXcolorgray 4124 5148
25 92 v Black 0.95 TeXcolorgray Black -128 5120 a
SDict begin H.S end
-128
5120 a -128 5120 a
SDict begin 11 H.A end
-128 5120 a -128 5120 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.5) cvn H.B /DEST pdfmark end
-128 5120
a 0 0 0 TeXcolorrgb Fo(copyright)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5239 25 92
v Black 0.95 TeXcolorgray -128 5239 4252 92 v Black 0.95
TeXcolorgray 4124 5239 25 92 v Black 0.95 TeXcolorgray
Black -128 5212 a
SDict begin H.S end
-128 5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a
-128 5212 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.6) cvn H.B /DEST pdfmark end
-128 5212 a 0 0 0 TeXcolorrgb Fo(maintainer)p
Black -1 w(:)p 0 0 0 TeXcolorrgb 44 w(libraries@haskell)p
Black -2 w(.)p 0 0 0 TeXcolorrgb -1 w(org)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5330 25 92
v Black 0.95 TeXcolorgray -128 5330 4252 92 v Black 0.95
TeXcolorgray 4124 5330 25 92 v Black 0.95 TeXcolorgray
Black -128 5303 a
SDict begin H.S end
-128 5303 a -128 5303 a
SDict begin 11 H.A end
-128 5303 a
-128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.7) cvn H.B /DEST pdfmark end
-128 5303 a 0 0 0 TeXcolorrgb Fo(stability)p
Black -1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5422 25 92 v Black 0.95 TeXcolorgray -128 5422 4252
92 v Black 0.95 TeXcolorgray 4124 5422 25 92 v Black
0.95 TeXcolorgray Black -128 5394 a
SDict begin H.S end
-128 5394 a -128
5394 a
SDict begin 11 H.A end
-128 5394 a -128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.8) cvn H.B /DEST pdfmark end
-128 5394 a 0 0 0 TeXcolorrgb
Fo(homepage)p Black -1 w(:)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5513 25 92 v Black 0.95 TeXcolorgray
-128 5513 4252 92 v Black 0.95 TeXcolorgray 4124 5513
25 92 v Black 0.95 TeXcolorgray Black -128 5485 a
SDict begin H.S end
-128
5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a -128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.9) cvn H.B /DEST pdfmark end
-128 5485
a 0 0 0 TeXcolorrgb Fo(package)p Black -1 w(-)p 0 0 0
TeXcolorrgb(url)p Black(:)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5604 25 92 v Black 0.95 TeXcolorgray
-128 5604 4252 92 v Black 0.95 TeXcolorgray 4124 5604
25 92 v Black 0.95 TeXcolorgray Black -128 5577 a
SDict begin H.S end
-128
5577 a -128 5577 a
SDict begin 11 H.A end
-128 5577 a -128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.10) cvn H.B /DEST pdfmark end
-128 5577
a 0 0 0 TeXcolorrgb Fo(description)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5696 25 92
v Black 0.95 TeXcolorgray -128 5696 4252 92 v Black 0.95
TeXcolorgray 4124 5696 25 92 v Black 0.95 TeXcolorgray
Black -128 5668 a
SDict begin H.S end
-128 5668 a -128 5668 a
SDict begin 11 H.A end
-128 5668 a
-128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.11) cvn H.B /DEST pdfmark end
-128 5668 a 0 0 0 TeXcolorrgb Fo(category)p
Black -1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5787 25 92 v Black 0.95 TeXcolorgray -128 5787 4252
92 v Black 0.95 TeXcolorgray 4124 5787 25 92 v Black
0.95 TeXcolorgray Black -128 5759 a
SDict begin H.S end
-128 5759 a -128
5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.12) cvn H.B /DEST pdfmark end
-128 5759 a 0 0 0 TeXcolorrgb
Fo(author)p Black -1 w(:)p Black -128 6084 4252 5 v Black
eop end
%%Page: 61 76
TeXDict begin 61 75 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.61) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(61)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.13) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
Fo(exposed)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(True)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
292 25 92 v Black 0.95 TeXcolorgray -128 292 4252 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.14) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb Fo(exposed)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(modules)p Black -1 w(:)p
0 0 0 TeXcolorrgb 45 w(System)p Black -1 w(.)p 0 0 0
TeXcolorrgb -1 w(Posix)p Black(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.15) cvn H.B /DEST pdfmark end
-128 356 a 0 0 0 TeXcolorrgb
763 w Fo(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(Posix)p Black(.)p 0 0 0 TeXcolorrgb -1 w(DynamicLinker)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(Module)p Black -1 w(,)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 475 25
92 v Black 0.95 TeXcolorgray -128 475 4252 92 v Black
0.95 TeXcolorgray 4124 475 25 92 v Black 0.95 TeXcolorgray
Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128 447 a -128
447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.16) cvn H.B /DEST pdfmark end
-128 447 a 0 0 0 TeXcolorrgb 763 w Fo(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p
0 0 0 TeXcolorrgb -1 w(DynamicLinker)p Black -2 w(.)p
0 0 0 TeXcolorrgb(Prim)p Black -1 w(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.17) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb
763 w Fo(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(Posix)p Black(.)p 0 0 0 TeXcolorrgb -1 w(Directory)p
Black -1 w(,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 657 25 92 v Black 0.95 TeXcolorgray -128 657 4252
92 v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.18) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb 763 w Fo(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p
0 0 0 TeXcolorrgb -1 w(DynamicLinker)p Black -2 w(,)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 749 25
92 v Black 0.95 TeXcolorgray -128 749 4252 92 v Black
0.95 TeXcolorgray 4124 749 25 92 v Black 0.95 TeXcolorgray
Black -128 721 a
SDict begin H.S end
-128 721 a -128 721 a
SDict begin 11 H.A end
-128 721 a -128
721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.19) cvn H.B /DEST pdfmark end
-128 721 a 0 0 0 TeXcolorrgb 763 w Fo(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p
0 0 0 TeXcolorrgb -1 w(Env)p Black(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 840 25 92 v Black 0.95 TeXcolorgray
-128 840 4252 92 v Black 0.95 TeXcolorgray 4124 840 25
92 v Black 0.95 TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812
a -128 812 a
SDict begin 11 H.A end
-128 812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.20) cvn H.B /DEST pdfmark end
-128 812 a 0 0 0 TeXcolorrgb
763 w Fo(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(Posix)p Black(.)p 0 0 0 TeXcolorrgb -1 w(Error)p Black(,)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 931 25
92 v Black 0.95 TeXcolorgray -128 931 4252 92 v Black
0.95 TeXcolorgray 4124 931 25 92 v Black 0.95 TeXcolorgray
Black -128 904 a
SDict begin H.S end
-128 904 a -128 904 a
SDict begin 11 H.A end
-128 904 a -128
904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.21) cvn H.B /DEST pdfmark end
-128 904 a 0 0 0 TeXcolorrgb 763 w Fo(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p
0 0 0 TeXcolorrgb -1 w(Files)p Black(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1023 25 92 v Black 0.95
TeXcolorgray -128 1023 4252 92 v Black 0.95 TeXcolorgray
4124 1023 25 92 v Black 0.95 TeXcolorgray Black -128
995 a
SDict begin H.S end
-128 995 a -128 995 a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.22) cvn H.B /DEST pdfmark end
-128
995 a 0 0 0 TeXcolorrgb 763 w Fo(System)p Black -1 w(.)p
0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p 0 0 0 TeXcolorrgb
-1 w(IO)p Black(,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1114 25 92 v Black 0.95 TeXcolorgray -128 1114 4252
92 v Black 0.95 TeXcolorgray 4124 1114 25 92 v Black
0.95 TeXcolorgray Black -128 1086 a
SDict begin H.S end
-128 1086 a -128
1086 a
SDict begin 11 H.A end
-128 1086 a -128 1086 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.23) cvn H.B /DEST pdfmark end
-128 1086 a 0 0 0 TeXcolorrgb
763 w Fo(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(Posix)p Black(.)p 0 0 0 TeXcolorrgb -1 w(Process)p
Black -1 w(,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1205 25 92 v Black 0.95 TeXcolorgray -128 1205 4252
92 v Black 0.95 TeXcolorgray 4124 1205 25 92 v Black
0.95 TeXcolorgray Black -128 1178 a
SDict begin H.S end
-128 1178 a -128
1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.24) cvn H.B /DEST pdfmark end
-128 1178 a 0 0 0 TeXcolorrgb
763 w Fo(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(Posix)p Black(.)p 0 0 0 TeXcolorrgb -1 w(Resource)p
Black -1 w(,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1296 25 92 v Black 0.95 TeXcolorgray -128 1296 4252
92 v Black 0.95 TeXcolorgray 4124 1296 25 92 v Black
0.95 TeXcolorgray Black -128 1269 a
SDict begin H.S end
-128 1269 a -128
1269 a
SDict begin 11 H.A end
-128 1269 a -128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.25) cvn H.B /DEST pdfmark end
-128 1269 a 0 0 0 TeXcolorrgb
763 w Fo(System)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(Posix)p Black(.)p 0 0 0 TeXcolorrgb -1 w(Temp)p Black(,)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 1388 25
92 v Black 0.95 TeXcolorgray -128 1388 4252 92 v Black
0.95 TeXcolorgray 4124 1388 25 92 v Black 0.95 TeXcolorgray
Black -128 1360 a
SDict begin H.S end
-128 1360 a -128 1360 a
SDict begin 11 H.A end
-128 1360 a
-128 1360 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.26) cvn H.B /DEST pdfmark end
-128 1360 a 0 0 0 TeXcolorrgb 763 w Fo(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p
0 0 0 TeXcolorrgb -1 w(Terminal)p Black -1 w(,)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1479 25 92
v Black 0.95 TeXcolorgray -128 1479 4252 92 v Black 0.95
TeXcolorgray 4124 1479 25 92 v Black 0.95 TeXcolorgray
Black -128 1452 a
SDict begin H.S end
-128 1452 a -128 1452 a
SDict begin 11 H.A end
-128 1452 a
-128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.27) cvn H.B /DEST pdfmark end
-128 1452 a 0 0 0 TeXcolorrgb 763 w Fo(System)p
Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p
0 0 0 TeXcolorrgb -1 w(Time)p Black(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1570 25 92 v Black 0.95
TeXcolorgray -128 1570 4252 92 v Black 0.95 TeXcolorgray
4124 1570 25 92 v Black 0.95 TeXcolorgray Black -128
1543 a
SDict begin H.S end
-128 1543 a -128 1543 a
SDict begin 11 H.A end
-128 1543 a -128 1543
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.28) cvn H.B /DEST pdfmark end
-128 1543 a 0 0 0 TeXcolorrgb 763 w Fo(System)p Black
-1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p 0 0 0
TeXcolorrgb -1 w(Unistd)p Black -1 w(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1662 25 92 v Black 0.95
TeXcolorgray -128 1662 4252 92 v Black 0.95 TeXcolorgray
4124 1662 25 92 v Black 0.95 TeXcolorgray Black -128
1634 a
SDict begin H.S end
-128 1634 a -128 1634 a
SDict begin 11 H.A end
-128 1634 a -128 1634
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.29) cvn H.B /DEST pdfmark end
-128 1634 a 0 0 0 TeXcolorrgb 763 w Fo(System)p Black
-1 w(.)p 0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p 0 0 0
TeXcolorrgb -1 w(User)p Black(,)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1753 25 92 v Black 0.95 TeXcolorgray
-128 1753 4252 92 v Black 0.95 TeXcolorgray 4124 1753
25 92 v Black 0.95 TeXcolorgray Black -128 1726 a
SDict begin H.S end
-128
1726 a -128 1726 a
SDict begin 11 H.A end
-128 1726 a -128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.30) cvn H.B /DEST pdfmark end
-128 1726
a 0 0 0 TeXcolorrgb 763 w Fo(System)p Black -1 w(.)p
0 0 0 TeXcolorrgb -1 w(Posix)p Black(.)p 0 0 0 TeXcolorrgb
-1 w(Signals)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Exts)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1844 25 92 v Black 0.95 TeXcolorgray -128 1844 4252 92
v Black 0.95 TeXcolorgray 4124 1844 25 92 v Black 0.95
TeXcolorgray Black -128 1817 a
SDict begin H.S end
-128 1817 a -128 1817
a
SDict begin 11 H.A end
-128 1817 a -128 1817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.31) cvn H.B /DEST pdfmark end
-128 1817 a 0 0 0 TeXcolorrgb
Fo(import)p Black -1 w(-)p 0 0 0 TeXcolorrgb(dirs)p Black(:)44
b(/)p 0 0 0 TeXcolorrgb(usr)p Black(/)p 0 0 0 TeXcolorrgb
-1 w(lib)p Black(/)p 0 0 0 TeXcolorrgb(ghc)p Black -1
w(-6.4/)p 0 0 0 TeXcolorrgb -1 w(libraries)p Black -1
w(/)p 0 0 0 TeXcolorrgb(unix)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1936 25 92 v Black 0.95
TeXcolorgray -128 1936 4252 92 v Black 0.95 TeXcolorgray
4124 1936 25 92 v Black 0.95 TeXcolorgray Black -128
1908 a
SDict begin H.S end
-128 1908 a -128 1908 a
SDict begin 11 H.A end
-128 1908 a -128 1908
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.32) cvn H.B /DEST pdfmark end
-128 1908 a 0 0 0 TeXcolorrgb Fo(library)p Black -1
w(-)p 0 0 0 TeXcolorrgb(dirs)p Black -1 w(:)h(/)p 0 0 0
TeXcolorrgb(usr)p Black -1 w(/)p 0 0 0 TeXcolorrgb(lib)p
Black(/)p 0 0 0 TeXcolorrgb(ghc)p Black -1 w(-6.4/)p
0 0 0 TeXcolorrgb -1 w(libraries)p Black -1 w(/)p 0 0 0
TeXcolorrgb(unix)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 2027 25 92 v Black 0.95 TeXcolorgray
-128 2027 4252 92 v Black 0.95 TeXcolorgray 4124 2027
25 92 v Black 0.95 TeXcolorgray Black -128 2000 a
SDict begin H.S end
-128
2000 a -128 2000 a
SDict begin 11 H.A end
-128 2000 a -128 2000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.33) cvn H.B /DEST pdfmark end
-128 2000
a 0 0 0 TeXcolorrgb Fo(hs)p Black(-)p 0 0 0 TeXcolorrgb(libraries)p
Black -2 w(:)p 0 0 0 TeXcolorrgb 45 w(HSunix)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 2118 25
92 v Black 0.95 TeXcolorgray -128 2118 4252 92 v Black
0.95 TeXcolorgray 4124 2118 25 92 v Black 0.95 TeXcolorgray
Black -128 2091 a
SDict begin H.S end
-128 2091 a -128 2091 a
SDict begin 11 H.A end
-128 2091 a
-128 2091 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.34) cvn H.B /DEST pdfmark end
-128 2091 a 0 0 0 TeXcolorrgb Fo(extra)p
Black(-)p 0 0 0 TeXcolorrgb -1 w(libraries)p Black -1
w(:)p 0 0 0 TeXcolorrgb 45 w(HSunix_cbits)p Black -2
w(,)p 0 0 0 TeXcolorrgb 44 w(dl)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2210 25 92 v Black 0.95
TeXcolorgray -128 2210 4252 92 v Black 0.95 TeXcolorgray
4124 2210 25 92 v Black 0.95 TeXcolorgray Black -128
2182 a
SDict begin H.S end
-128 2182 a -128 2182 a
SDict begin 11 H.A end
-128 2182 a -128 2182
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.35) cvn H.B /DEST pdfmark end
-128 2182 a 0 0 0 TeXcolorrgb Fo(include)p Black -1
w(-)p 0 0 0 TeXcolorrgb(dirs)p Black -1 w(:)g(/)p 0 0 0
TeXcolorrgb(usr)p Black -1 w(/)p 0 0 0 TeXcolorrgb(lib)p
Black(/)p 0 0 0 TeXcolorrgb(ghc)p Black -1 w(-6.4/)p
0 0 0 TeXcolorrgb -1 w(libraries)p Black -1 w(/)p 0 0 0
TeXcolorrgb(unix)p Black -1 w(/)p 0 0 0 TeXcolorrgb(include)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
2301 25 92 v Black 0.95 TeXcolorgray -128 2301 4252 92
v Black 0.95 TeXcolorgray 4124 2301 25 92 v Black 0.95
TeXcolorgray Black -128 2274 a
SDict begin H.S end
-128 2274 a -128 2274
a
SDict begin 11 H.A end
-128 2274 a -128 2274 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.36) cvn H.B /DEST pdfmark end
-128 2274 a 0 0 0 TeXcolorrgb
Fo(includes)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(HsUnix)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(h)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2392 25 92 v Black 0.95
TeXcolorgray -128 2392 4252 92 v Black 0.95 TeXcolorgray
4124 2392 25 92 v Black 0.95 TeXcolorgray Black -128
2365 a
SDict begin H.S end
-128 2365 a -128 2365 a
SDict begin 11 H.A end
-128 2365 a -128 2365
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-151.37) cvn H.B /DEST pdfmark end
-128 2365 a 0 0 0 TeXcolorrgb Fo(depends)p Black -1
w(:)p 0 0 0 TeXcolorrgb 45 w(base)p Black -1 w(-1.0)p
0.95 TeXcolorgray -152 2417 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2587 a FA(The)27 b(full)p 0 1 0 0
TeXcolorcmyk 172 2588 a
SDict begin H.S end
172 2588 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Cabal)21 b(documentation)p 0 1 0 0 TeXcolorcmyk
880 2531 a
SDict begin H.R end
880 2531 a 880 2587 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../Cabal/index.html) >> /Subtype /Link H.B /ANN pdfmark end
880 2587 a Black 28
w FA(is)28 b(still)h(in)e(preparation)e(\(at)i(time)h(of)f(writing\),)h
(so)f(in)h(the)f(meantime)f(here)h(is)h(a)g(brief)e(description)g(of)h
(the)-128 2687 y(syntax)20 b(of)g(this)h(\002le:)-128
2834 y(A)c(package)e(description)g(consists)i(of)f(a)g(number)f(of)h
(\002eld/v)n(alue)f(pairs.)24 b(A)17 b(\002eld)f(starts)h(with)g(the)f
(\002eld)g(name)g(in)h(the)f(left-hand)e(column)h(follo)n(wed)-128
2934 y(by)20 b(a)h(\223)p Ft(:)p FA(\224,)f(and)g(the)g(v)n(alue)f
(continues)g(until)h(the)g(ne)o(xt)g(line)g(that)g(be)o(gins)g(in)g
(the)g(left-hand)f(column,)f(or)i(the)g(end)g(of)g(\002le.)-128
3081 y(The)g(syntax)g(of)g(the)g(v)n(alue)f(depends)g(on)h(the)g
(\002eld.)25 b(The)20 b(v)n(arious)f(\002eld)i(types)f(are:)p
Black -128 3291 a Fu(fr)o(eef)n(orm)p Black 40 w FA(An)o(y)f(arbitrary)
g(string,)g(no)h(interpretation)e(or)i(parsing)f(is)j(done.)p
Black -128 3455 a Fu(string)p Black 42 w FA(A)e(sequence)f(of)h
(non-space)e(characters,)h(or)h(a)h(sequence)e(of)h(arbitrary)f
(characters)g(surrounded)e(by)j(quotes)f Ft("....")p
FA(.)p Black -128 3618 a Fu(string)i(list)p Black 41
w FA(A)g(sequence)e(of)h(strings,)g(separated)f(by)h(commas.)k(The)c
(sequence)f(may)h(be)g(empty)-5 b(.)-128 3828 y(In)20
b(addition,)f(there)h(are)g(some)g(\002elds)h(with)f(special)g(syntax)g
(\(e.g.)k(package)19 b(names,)g(v)o(ersion,)g(dependencies\).)-128
3975 y(The)h(allo)n(wed)g(\002elds,)g(with)h(their)f(types,)f(are:)p
Black -107 4185 a Fh(name)p Black 62 w FA(The)h(package')-5
b(s)19 b(name)g(\(without)g(the)i(v)o(ersion\).)p Black
-107 4349 a Fh(version)p Black 61 w FA(The)f(package')-5
b(s)19 b(v)o(ersion,)g(usually)g(in)i(the)f(form)f Ft(A.B)h
FA(\(an)o(y)f(number)g(of)h(components)e(are)i(allo)n(wed\).)p
Black -107 4512 a Fh(license)p Black 61 w FA(\(string\))f(The)h(type)g
(of)g(license)g(under)f(which)h(this)g(package)f(is)i(distrib)n(uted.)j
(This)d(\002eld)f(is)h(a)g(v)n(alue)e(of)h(the)p 0 1 0 0
TeXcolorcmyk 3448 4513 a
SDict begin H.S end
3448 4513 a 0 1 0 0 TeXcolorcmyk
-1 x FA(License)p 0 1 0 0 TeXcolorcmyk 3706 4456 a
SDict begin H.R end
3706
4456 a 3706 4512 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/Cabal/Distribution-License.html#t:License) >> /Subtype /Link H.B /ANN pdfmark end
3706 4512 a Black 21 w FA(type.)p
Black -107 4676 a Fh(license-file)p Black 60 w FA(\(optional)f
(string\))g(The)h(name)g(of)g(a)g(\002le)h(gi)n(ving)e(detailed)h
(license)g(information)e(for)h(this)i(package.)p Black
-107 4840 a Fh(copyright)p Black 61 w FA(\(optional)d(freeform\))g(The)
i(cop)o(yright)e(string.)p Black -107 5004 a Fh(maintainer)p
Black 61 w FA(\(optinoal)g(freeform\))g(The)i(email)g(address)g(of)g
(the)g(package')-5 b(s)19 b(maintainer)-5 b(.)p Black
-107 5168 a Fh(stability)p Black 61 w FA(\(optional)18
b(freeform\))g(A)j(string)f(describing)e(the)j(stability)f(of)g(the)g
(package)f(\(e)o(g.)24 b(stable,)c(pro)o(visional)e(or)i(e)o
(xperimental\).)p Black -107 5332 a Fh(homepage)p Black
61 w FA(\(optional)f(freeform\))e(URL)k(of)f(the)g(package')-5
b(s)19 b(home)h(page.)p Black -107 5496 a Fh(package-url)p
Black 60 w FA(\(optional)g(freeform\))f(URL)j(of)f(a)h(do)n(wnloadable)
c(distrib)n(ution)j(for)f(this)i(package.)27 b(The)21
b(distrib)n(ution)f(should)h(be)g(a)h(Cabal)80 5596 y(package.)p
Black -107 5759 a Fh(description)p Black 60 w FA(\(optional)d
(freeform\))f(Description)h(of)h(the)g(package.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 62 77
TeXDict begin 62 76 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.62) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(62)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(category)p
Black 61 w FA(\(optinoal)28 b(freeform\))f(Which)i(cate)o(gory)e(the)j
(package)e(belongs)g(to.)53 b(This)29 b(\002eld)h(is)g(for)f(use)g(in)h
(conjunction)d(with)i(a)h(future)80 273 y(centralised)19
b(package)g(distrib)n(ution)g(frame)n(w)o(ork,)f(tentati)n(v)o(ely)h
(titled)h(Hackage.)p Black -107 439 a Fh(author)p Black
61 w FA(\(optional)f(freeform\))f(Author)h(of)h(the)g(package.)p
Black -107 605 a Fh(exposed)p Black 61 w FA(\(bool\))f(Whether)g(the)i
(package)d(is)j(e)o(xposed)e(or)h(not.)p Black -107 771
a Fh(exposed-modules)p Black 60 w FA(\(string)f(list\))i(modules)e(e)o
(xposed)g(by)h(this)g(package.)p Black -107 937 a Fh(hidden-modules)p
Black 60 w FA(\(string)d(list\))h(modules)f(pro)o(vided)e(by)i(this)h
(package,)e(b)n(ut)i(not)f(e)o(xposed)f(to)i(the)g(programmer)-5
b(.)21 b(These)d(modules)e(cannot)80 1037 y(be)22 b(imported,)e(b)n(ut)
h(the)o(y)g(are)h(still)h(subject)e(to)h(the)g(o)o(v)o(erlapping)c
(constraint:)27 b(no)22 b(other)f(package)f(in)i(the)f(same)h(program)e
(may)h(pro)o(vide)f(a)80 1136 y(module)f(of)h(the)g(same)g(name.)p
Black -107 1302 a Fh(import-dirs)p Black 60 w FA(\(string)g(list\))h(A)
g(list)g(of)f(directories)f(containing)f(interf)o(ace)i(\002les)h(\()p
Ft(.hi)f FA(\002les\))g(for)g(this)h(package.)80 1435
y(If)f(the)h(package)e(contains)h(pro\002ling)f(libraries,)h(then)g
(the)g(interf)o(ace)g(\002les)h(for)f(those)h(library)e(modules)h
(should)f(ha)n(v)o(e)h(the)g(suf)n(\002x)h Ft(.p_hi)p
FA(.)80 1535 y(So)g(the)f(package)f(can)h(contain)g(both)g(normal)f
(and)h(pro\002ling)f(v)o(ersions)g(of)h(the)h(same)f(library)g(without)
g(con\003ict)g(\(see)g(also)h Ft(library_-)80 1634 y(dirs)f
FA(belo)n(w\).)p Black -107 1800 a Fh(library-dirs)p
Black 60 w FA(\(string)g(list\))h(A)f(list)i(of)e(directories)f
(containing)f(libraries)i(for)f(this)i(package.)p Black
-107 1966 a Fh(hs-libraries)p Black 60 w FA(\(string)f(list\))h(A)g
(list)g(of)f(libraries)g(containing)e(Hask)o(ell)j(code)e(for)h(this)g
(package,)f(with)h(the)h Ft(.a)f FA(or)g Ft(.dll)g FA(suf)n(\002x)g
(omitted.)80 2066 y(When)g(packages)f(are)h(b)n(uilt)h(as)f(libraries,)
g(the)g Ft(lib)g FA(pre\002x)g(is)h(also)f(omitted.)80
2199 y(F)o(or)e(use)h(with)g(GHCi,)h(each)e(library)f(should)h(ha)n(v)o
(e)g(an)h(object)f(\002le)h(too.)24 b(The)18 b(name)g(of)h(the)f
(object)g(\002le)i(does)e Fq(not)i FA(ha)n(v)o(e)e(a)h
Ft(lib)g FA(pre\002x,)f(and)80 2299 y(has)i(the)h(normal)e(object)g
(suf)n(\002x)h(for)g(your)f(platform.)80 2431 y(F)o(or)i(e)o(xample,)f
(if)i(we)g(specify)f(a)h(Hask)o(ell)g(library)f(as)h
Ft(HSfoo)f FA(in)h(the)f(package)f(spec,)i(then)f(the)h(v)n(arious)e
(\003a)n(v)n(ours)i(of)f(library)f(that)i(GHC)80 2531
y(actually)e(uses)g(will)h(be)f(called:)p Black 80 2697
a Fh(libHSfoo.a)p Black 40 w FA(The)27 b(name)g(of)g(the)h(library)f
(on)g(Unix)g(and)g(W)m(indo)n(ws)g(\(mingw\))g(systems.)48
b(Note)27 b(that)h(we)g(don')o(t)e(support)g(b)n(uilding)263
2797 y(dynamic)18 b(libraries)i(of)g(Hask)o(ell)h(code)e(on)h(Unix)g
(systems.)p Black 80 2930 a Fh(HSfoo.dll)p Black 40 w
FA(The)g(name)f(of)h(the)g(dynamic)f(library)g(on)h(W)m(indo)n(ws)g
(systems)g(\(optional\).)p Black 80 3062 a Fh(HSfoo.o)p
Fu(,)f Fh(HSfoo.obj)p Black 40 w FA(The)h(object)g(v)o(ersion)e(of)i
(the)h(library)e(used)h(by)f(GHCi.)p Black -107 3228
a Fh(extra-libraries)p Black 60 w FA(\(string)28 b(list\))i(A)g(list)g
(of)f(e)o(xtra)g(libraries)g(for)g(this)g(package.)51
b(The)29 b(dif)n(ference)e(between)i Ft(hs-libraries)f
FA(and)80 3328 y Ft(extra-libraries)e FA(is)j(that)f
Ft(hs-libraries)f FA(normally)f(ha)n(v)o(e)i(se)n(v)o(eral)g(v)o
(ersions,)h(to)f(support)f(pro\002ling,)h(parallel)g(and)g(other)80
3428 y(b)n(uild)18 b(options.)23 b(The)18 b(v)n(arious)g(v)o(ersions)f
(are)i(gi)n(v)o(en)e(dif)n(ferent)f(suf)n(\002x)o(es)i(to)h
(distinguish)e(them,)h(for)g(e)o(xample)f(the)i(pro\002ling)e(v)o
(ersion)g(of)h(the)80 3527 y(standard)j(prelude)f(library)g(is)j(named)
e Ft(libHSbase_p.a)p FA(,)e(with)j(the)g Ft(_p)g FA(indicating)e(that)i
(this)g(is)h(a)f(pro\002ling)e(v)o(ersion.)28 b(The)22
b(suf)n(\002x)f(is)80 3627 y(added)e(automatically)g(by)h(GHC)h(for)e
Ft(hs-libraries)g FA(only)-5 b(,)18 b(no)i(suf)n(\002x)g(is)h(added)e
(for)h(libraries)f(in)i Ft(extra-libraries)p FA(.)80
3760 y(The)j(libraries)h(listed)g(in)g Ft(extra-libraries)d
FA(may)j(be)f(an)o(y)g(libraries)h(supported)e(by)h(your)f(system')-5
b(s)26 b(link)o(er)m(,)f(including)d(dynamic)80 3859
y(libraries)e(\()p Ft(.so)g FA(on)f(Unix,)h Ft(.DLL)g
FA(on)g(W)m(indo)n(ws\).)80 3992 y(Also,)25 b Ft(extra-libraries)d
FA(are)h(placed)g(on)h(the)g(link)o(er)f(command)f(line)i(after)f(the)h
Ft(hs-libraries)e FA(for)i(the)g(same)g(package.)34 b(If)80
4092 y(your)21 b(package)g(has)i(dependencies)d(in)j(the)f(other)g
(direction)f(\(i.e.)31 b Ft(extra-libraries)20 b FA(depends)h(on)h
Ft(hs-libraries)p FA(\),)f(and)h(the)80 4191 y(libraries)e(are)g
(static,)h(you)e(might)h(need)f(to)h(mak)o(e)g(tw)o(o)h(separate)e
(packages.)p Black -107 4358 a Fh(include-dirs)p Black
60 w FA(\(string)h(list\))h(A)f(list)i(of)e(directories)f(containing)f
(C)j(includes)f(for)f(this)i(package.)p Black -107 4524
a Fh(includes)p Black 61 w FA(\(string)j(list\))h(A)g(list)g(of)g
(\002les)g(to)f(include)g(for)g(via-C)g(compilations)f(using)h(this)h
(package.)36 b(T)-7 b(ypically)24 b(the)g(include)g(\002le\(s\))g(will)
80 4623 y(contain)18 b(function)g(prototypes)f(for)h(an)o(y)h(C)h
(functions)e(used)h(in)g(the)g(package,)f(in)h(case)h(the)o(y)e(end)h
(up)g(being)f(called)h(as)h(a)f(result)h(of)f(Hask)o(ell)80
4723 y(functions)g(from)g(the)h(package)f(being)g(inlined.)p
Black -107 4889 a Fh(depends)p Black 61 w FA(\(package)k(name)g(list\))
i(P)o(ackages)f(on)g(which)g(this)g(package)f(depends.)36
b(This)25 b(\002eld)f(contains)g(packages)f(with)h(e)o(xplicit)g(v)o
(ersions)80 4988 y(are)h(required,)f(e)o(xcept)h(that)g(when)g
(submitting)e(a)j(package)e(to)h Ft(ghc-pkg)49 b(register)p
FA(,)25 b(the)g(v)o(ersions)f(will)i(be)f(\002lled)h(in)f(if)h(the)o(y)
e(are)80 5088 y(unambiguous.)p Black -107 5254 a Fh(hugs-options)p
Black 60 w FA(\(string)c(list\))h(Options)e(to)i(pass)f(to)h(Hugs)f
(for)f(this)i(package.)p Black -107 5420 a Fh(cc-options)p
Black 61 w FA(\(string)j(list\))i(Extra)f(ar)o(guments)e(to)i(be)h
(added)e(to)h(the)g(gcc)g(command)f(line)h(when)g(this)g(package)f(is)i
(being)f(used)g(\(only)f(for)80 5520 y(via-C)c(compilations\).)p
Black -107 5686 a Fh(ld-options)p Black 61 w FA(\(string)d(list\))i
(Extra)e(ar)o(guments)f(to)j(be)f(added)e(to)j(the)f
Fu(gcc)g FA(command)e(line)i(\(for)f(linking\))g(when)g(this)i(package)
d(is)j(being)e(used.)p Black -128 6084 V Black eop end
%%Page: 63 78
TeXDict begin 63 77 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.63) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(63)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(framework-dirs)p
Black 60 w FA(\(string)30 b(list\))h(On)f(Darwin/MacOS)g(X,)g(a)h(list)
h(of)e(directories)f(containing)g(frame)n(w)o(orks)f(for)i(this)h
(package.)54 b(This)80 273 y(corresponds)18 b(to)i(the)g
Ft(-framework-path)e FA(option.)24 b(It)d(is)g(ignored)d(on)i(all)h
(other)e(platforms.)p Black -107 439 a Fh(frameworks)p
Black 61 w FA(\(string)29 b(list\))j(On)e(Darwin/MacOS)g(X,)h(a)g(list)
h(of)e(frame)n(w)o(orks)f(to)h(link)h(to.)56 b(This)31
b(corresponds)d(to)j(the)f Ft(-framework)80 538 y FA(option.)23
b(T)-7 b(ak)o(e)19 b(a)h(look)e(at)h(Apple')-5 b(s)19
b(de)n(v)o(eloper)e(documentation)f(to)j(\002nd)g(out)f(what)h(frame)n
(w)o(orks)e(actually)i(are.)24 b(This)19 b(entry)f(is)i(ignored)d(on)80
638 y(all)k(other)e(platforms.)p Black -107 804 a Fh
(haddock-interfaces)p Black 59 w FA(\(string)i(list\))h(A)g(list)g(of)f
(\002lenames)g(containing)p 0 1 0 0 TeXcolorcmyk 2250
805 a
SDict begin H.S end
2250 805 a 0 1 0 0 TeXcolorcmyk -1 x FA(Haddock)p
0 1 0 0 TeXcolorcmyk 2550 748 a
SDict begin H.R end
2550 748 a 2550 804 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/haddock/) >> /Subtype /Link H.B /ANN pdfmark end
2550 804 a Black 22 w FA(interf)o(ace)f(\002les)j(\()p
Ft(.haddock)d FA(\002les\))i(for)e(this)i(pack-)80 904
y(age.)p Black -107 1070 a Fh(haddock-html)p Black 60
w FA(\(optional)d(string\))g(The)h(directory)f(containing)f(the)i
(Haddock-generated)c(HTML)k(for)f(this)i(package.)-128
1213 y
SDict begin H.S end
-128 1213 a -128 1213 a
SDict begin 12 H.A end
-128 1213 a -128 1213
a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.9) cvn H.B /DEST pdfmark end
-128 1213 a Black 181 x Fs(4.9)p Black 108 w(Optimisation)27
b(\(code)i(impr)n(o)n(vement\))-128 1521 y
SDict begin H.S end
-128 1521
a -128 1521 a
SDict begin 12 H.A end
-128 1521 a -128 1521 a
SDict begin [ /View [/XYZ H.V] /Dest (options-optimise) cvn H.B /DEST pdfmark end
-128 1521 a 115
x FA(The)f Ft(-O)130 1651 y(*)209 1636 y FA(options)f(specify)h(con)m
(v)o(enient)e(\223packages\224)g(of)i(optimisation)g(\003ags;)k(the)d
Ft(-f)2532 1651 y(*)2610 1636 y FA(options)f(described)f(later)h(on)g
(specify)g Fq(individual)-128 1735 y FA(optimisations)20
b(to)g(be)g(turned)f(on/of)n(f;)g(the)h Ft(-m)1225 1750
y(*)1295 1735 y FA(options)f(specify)h Fq(mac)o(hine-speci\002c)d
FA(optimisations)j(to)g(be)g(turned)f(on/of)n(f.)-128
1869 y
SDict begin H.S end
-128 1869 a -128 1869 a
SDict begin 12 H.A end
-128 1869 a -128 1869
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.9.1) cvn H.B /DEST pdfmark end
-128 1869 a Black 148 x Fp(4.9.1)p Black 90 w Fi(-O)282
2033 y(*)342 2017 y Fp(:)30 b(con)l(venient)23 b(\223pac)n(ka)o(g)q
(es\224)h(of)g(optimisation)f(\003a)o(gs.)-128 2106 y
SDict begin H.S end
-128 2106 a -128 2106 a
SDict begin 12 H.A end
-128 2106 a -128 2106 a
SDict begin [ /View [/XYZ H.V] /Dest (optimise-pkgs) cvn H.B /DEST pdfmark end
-128
2106 a 114 x FA(There)28 b(are)h Fq(many)g FA(options)e(that)i(af)n
(fect)g(the)g(quality)f(of)g(code)h(produced)d(by)i(GHC.)i(Most)f
(people)f(only)g(ha)n(v)o(e)g(a)h(general)f(goal,)i(something)-128
2320 y(lik)o(e)25 b(\223Compile)e(quickly\224)g(or)h(\223Mak)o(e)f(my)h
(program)e(run)h(lik)o(e)i(greased)e(lightning.)-6 b(\224)22
b(The)i(follo)n(wing)e(\223packages\224)h(of)h(optimisations)f(\(or)g
(lack)-128 2420 y(thereof\))c(should)g(suf)n(\002ce.)-128
2569 y(Note)k(that)g(higher)f(optimisation)f(le)n(v)o(els)i(cause)g
(more)f(cross-module)e(optimisation)i(to)h(be)f(performed,)f(which)h
(can)h(ha)n(v)o(e)f(an)h(impact)f(on)h(ho)n(w)-128 2669
y(much)d(of)g(your)f(program)f(needs)i(to)g(be)g(recompiled)f(when)g
(you)h(change)f(something.)k(This)e(is)g(one)f(reason)f(to)i(stick)f
(to)h(no-optimisation)d(when)-128 2768 y(de)n(v)o(eloping)g(code.)p
Black -107 2984 a Fu(No)i Fh(-O)115 2997 y(*)165 2984
y Fu(-type)f(option)h(speci\002ed:)p Black 68 w FA(This)k(is)h(tak)o
(en)f(to)h(mean:)32 b(\223Please)25 b(compile)f(quickly;)h(I'm)e(not)h
(o)o(v)o(er)n(-bothered)d(about)i(compiled-code)80 3084
y(quality)-5 b(.)f(\224)19 b(So,)h(for)g(e)o(xample:)j
Fu(ghc)e(-c)f(F)n(oo.hs)p Black -107 3250 a Fh(-O0)p
Fu(:)p Black 67 w FA(Means)g(\223turn)f(of)n(f)h(all)h
(optimisation\224,)d(re)n(v)o(erting)h(to)h(the)g(same)h(settings)g(as)
g(if)f(no)g Ft(-O)h FA(options)e(had)h(been)f(speci\002ed.)25
b(Saying)20 b Ft(-O0)g FA(can)80 3350 y(be)g(useful)g(if)g(e)o(g.)25
b Fu(mak)o(e)20 b FA(has)h(inserted)f(a)g Ft(-O)h FA(on)e(the)i
(command)d(line)i(already)-5 b(.)p Black -107 3516 a
Fh(-O)21 b Fu(or)f Fh(-O1)p Fu(:)p Black 92 w FA(Means:)25
b(\223Generate)19 b(good-quality)e(code)j(without)f(taking)h(too)f
(long)h(about)f(it.)-6 b(\224)21 b(Thus,)e(for)h(e)o(xample:)k
Fu(ghc)c(-c)g(-O)g(Main.lhs)p Black -107 3682 a Fh(-O2)p
Fu(:)p Black 92 w FA(Means:)25 b(\223Apply)20 b(e)n(v)o(ery)e
(non-dangerous)f(optimisation,)h(e)n(v)o(en)h(if)i(it)g(means)f
(signi\002cantly)f(longer)g(compile)g(times.)-6 b(\224)80
3814 y(The)31 b(a)n(v)n(oided)g(\223dangerous\224)e(optimisations)h
(are)i(those)f(that)h(can)f(mak)o(e)g(runtime)g(or)g(space)g
Fq(wor)o(se)i FA(if)f(you')l(re)d(unluck)o(y)-5 b(.)57
b(The)o(y)30 b(are)80 3914 y(normally)19 b(turned)f(on)i(or)g(of)n(f)g
(indi)n(vidually)-5 b(.)80 4047 y(At)21 b(the)f(moment,)f
Ft(-O2)h FA(is)h Fq(unlik)o(ely)f FA(to)g(produce)e(better)i(code)g
(than)f Ft(-O)p FA(.)p Black -107 4213 a Fh(-Ofile)49
b()p Fu(:)p Black 91 w FA(\(NO)m(TE:)20 b(not)g(supported)e
(since)i(GHC)h(4.x.)k(Please)20 b(ask)h(if)f(you')l(re)f(interested)g
(in)i(this.\))80 4346 y(F)o(or)26 b(those)h(who)f(need)g
Fq(absolute)g FA(control)g(o)o(v)o(er)f Fq(e)n(xactly)i
FA(what)g(options)e(are)i(used)g(\(e.g.,)g(compiler)e(writers,)k
(sometimes)d(:-\),)i(a)f(list)h(of)80 4445 y(options)19
b(can)h(be)g(put)g(in)h(a)f(\002le)h(and)f(then)f(slurped)h(in)g(with)g
Ft(-Ofile)p FA(.)80 4578 y(In)g(that)g(\002le,)h(comments)e(are)h(of)g
(the)g Ft(#)p FA(-to-end-of-line)c(v)n(ariety;)k(blank)f(lines)i(and)e
(most)h(whitespace)g(is)h(ignored.)80 4711 y(Please)g(ask)f(if)h(you)e
(are)h(baf)n(\003ed)f(and)h(w)o(ould)g(lik)o(e)g(an)g(e)o(xample)f(of)h
Ft(-Ofile)p FA(!)-128 4927 y(W)-7 b(e)25 b(don')o(t)d(use)i(a)g
Ft(-O)499 4942 y(*)572 4927 y FA(\003ag)g(for)f(day-to-day)e(w)o(ork.)
34 b(W)-7 b(e)25 b(use)f Ft(-O)f FA(to)h(get)g(respectable)e(speed;)j
(e.g.,)f(when)f(we)h(w)o(ant)f(to)h(measure)f(something.)-128
5027 y(When)d(we)h(w)o(ant)f(to)h(go)e(for)h(brok)o(e,)f(we)h(tend)g
(to)g(use)h Ft(-O2)49 b(-fvia-C)19 b FA(\(and)h(we)g(go)g(for)g(lots)g
(of)g(cof)n(fee)f(breaks\).)-128 5176 y(The)h(easiest)h(w)o(ay)g(to)f
(see)h(what)f Ft(-O)g FA(\(etc.\))25 b(\223really)20
b(mean\224)f(is)i(to)f(run)g(with)g Ft(-v)p FA(,)g(then)g(stand)g(back)
g(in)g(amazement.)p Black -128 6084 4252 5 v Black eop
end
%%Page: 64 79
TeXDict begin 64 78 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.64) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(64)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.9.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.9.2)p
Black 90 w Fi(-f)282 188 y(*)342 173 y Fp(:)30 b(platf)n
(orm-independent)21 b(\003a)o(gs)-128 262 y
SDict begin H.S end
-128 262
a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (options-f) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(These)f(\003ags)
g(turn)f(on)g(and)h(of)n(f)f(indi)n(vidual)f(optimisations.)23
b(The)o(y)c(are)h(normally)e(set)i(via)g(the)g Ft(-O)g
FA(options)f(described)f(abo)o(v)o(e,)g(and)h(as)i(such,)e(you)-128
476 y(shouldn')o(t)i(need)h(to)h(set)h(an)o(y)e(of)g(them)g(e)o
(xplicitly)g(\(indeed,)g(doing)f(so)i(could)f(lead)h(to)g(une)o
(xpected)d(results\).)33 b(Ho)n(we)n(v)o(er)m(,)21 b(there)h(are)h(one)
f(or)h(tw)o(o)-128 575 y(that)e(may)e(be)i(of)e(interest:)p
Black -128 791 a Fh(-fexcess-precision)p Fu(:)p Black
38 w FA(When)e(this)g(option)f(is)i(gi)n(v)o(en,)e(intermediate)f
(\003oating)i(point)f(v)n(alues)g(can)h(ha)n(v)o(e)f(a)h
Fq(gr)m(eater)i FA(precision/range)14 b(than)80 891 y(the)k(\002nal)g
(type.)24 b(Generally)17 b(this)h(is)h(a)f(good)f(thing,)g(b)n(ut)h
(some)g(programs)e(may)i(rely)f(on)h(the)g(e)o(xact)f(precision/range)f
(of)h Ft(Float)p FA(/)p Ft(Double)80 991 y FA(v)n(alues)j(and)f(should)
h(not)f(use)i(this)g(option)e(for)g(their)h(compilation.)p
Black -128 1157 a Fh(-fignore-asserts)p Fu(:)p Black
39 w FA(Causes)27 b(GHC)h(to)g(ignore)e(uses)h(of)g(the)g(function)f
Ft(Exception.assert)e FA(in)k(source)e(code)g(\(in)h(other)g(w)o(ords,)
80 1256 y(re)n(writing)19 b Ft(Exception.assert)47 b(p)i(e)21
b FA(to)f Ft(e)h FA(\(see)f(Section)p 1 0 0 TeXcolorrgb
2000 1257 a
SDict begin H.S end
2000 1257 a 1 0 0 TeXcolorrgb -1 x FA(7.12)p
1 0 0 TeXcolorrgb 2145 1200 a
SDict begin H.R end
2145 1200 a 2145 1256 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.12) cvn H.B /ANN pdfmark end
2145 1256 a Black FA(\).)26 b(This)20 b(\003ag)g(is)h(turned)e(on)h(by)
g Ft(-O)p FA(.)p Black -107 1422 a Fh(-fno-cse)p Black
61 w FA(T)l(urns)h(of)n(f)f(the)h(common-sub-e)o(xpression)16
b(elimination)j(optimisation.)27 b(Can)21 b(be)g(useful)g(if)g(you)f
(ha)n(v)o(e)h(some)f Ft(unsafePerf-)80 1522 y(ormIO)g
FA(e)o(xpressions)f(that)h(you)f(don')o(t)g(w)o(ant)h(commoned-up.)p
Black -107 1688 a Fh(-fno-strictness)p Black 60 w FA(T)l(urns)f(of)n(f)
h(the)g(strictness)h(analyser;)e(sometimes)h(it)h(eats)g(too)f(man)o(y)
f(c)o(ycles.)p Black -107 1854 a Fh(-fno-full-laziness)p
Black 59 w FA(T)l(urns)g(of)n(f)f(the)h(full)g(laziness)g(optimisation)
f(\(also)h(kno)n(wn)e(as)j(let-\003oating\).)j(Full)c(laziness)g
(increases)g(sharing,)80 1954 y(which)h(can)g(lead)g(to)g(increased)f
(memory)g(residenc)o(y)-5 b(.)80 2086 y(NO)m(TE:)24 b(GHC)h(doesn')o(t)
e(implement)g(complete)h(full-laziness.)37 b(When)24
b(optimisation)f(in)i(on,)f(and)g Ft(-fno-full-laziness)e
FA(is)j(not)80 2186 y(gi)n(v)o(en,)g(some)g(transformations)e(that)i
(increase)g(sharing)f(are)i(performed,)d(such)i(as)h(e)o(xtracting)e
(repeated)g(computations)f(from)h(a)i(loop.)80 2286 y(These)21
b(are)g(the)h(same)f(transformations)e(that)j(a)f(fully)g(lazy)g
(implementation)e(w)o(ould)i(do,)g(the)g(dif)n(ference)f(is)i(that)f
(GHC)h(doesn')o(t)e(consis-)80 2385 y(tently)g(apply)f(full-laziness,)g
(so)i(don')o(t)d(rely)i(on)g(it.)p Black -107 2551 a
Fh(-fspec-constr)p Black 60 w FA(T)l(urn)f(on)h(call-pattern)f
(specialisation.)p Black -107 2717 a Fh(-fliberate-case)p
Black 60 w FA(T)l(urn)g(on)h(the)g(liberate-case)f(transformation.)p
Black -107 2884 a Fh(-fstatic-argument-transformation)p
Black 56 w FA(T)l(urn)h(on)g(the)g(static)h(ar)o(gument)d
(transformation.)p Black -107 3050 a Fh(-fno-state-hack)p
Black 60 w FA(T)l(urn)24 b(of)n(f)g(the)h("state)h(hack")e(whereby)g
(an)o(y)g(lambda)g(with)i(a)f Ft(State#)g FA(tok)o(en)f(as)i(ar)o
(gument)c(is)k(considered)e(to)h(be)80 3149 y(single-entry)-5
b(,)17 b(hence)h(it)i(is)h(considered)c(OK)j(to)f(inline)g(things)g
(inside)g(it.)25 b(This)20 b(can)f(impro)o(v)o(e)e(performance)f(of)j
(IO)h(and)e(ST)i(monad)e(code,)80 3249 y(b)n(ut)i(it)h(runs)f(the)g
(risk)g(of)g(reducing)e(sharing.)p Black -107 3415 a
Fh(-fomit-interface-pragmas)p Black 58 w FA(T)-6 b(ells)32
b(GHC)g(to)g(omit)f(all)h(inessential)g(information)d(from)h(the)i
(interf)o(ace)e(\002le)i(generated)e(for)h(the)80 3514
y(module)24 b(being)g(compiled)f(\(say)i(M\).)g(This)g(means)g(that)g
(a)g(module)f(importing)f(M)i(will)h(see)g(only)e(the)h
Fq(types)g FA(of)g(the)g(functions)f(that)h(M)80 3614
y(e)o(xports,)17 b(b)n(ut)h(not)f(their)h(unfoldings,)e(strictness)j
(info,)e(etc.)25 b(Hence,)17 b(for)h(e)o(xample,)e(no)i(function)e(e)o
(xported)g(by)h(M)i(will)f(be)g(inlined)f(into)h(an)80
3714 y(importing)f(module.)22 b(The)d(bene\002t)f(is)h(that)f(modules)g
(that)g(import)g(M)h(will)g(need)e(to)i(be)f(recompiled)f(less)i(often)
f(\(only)f(when)h(M')-5 b(s)19 b(e)o(xports)80 3813 y(change)g(their)h
(type,)f(not)h(when)g(the)o(y)f(change)g(their)h(implementation\).)p
Black -107 3979 a Fh(-fignore-interface-pragmas)p Black
58 w FA(T)-6 b(ells)26 b(GHC)g(to)g(ignore)f(all)h(inessential)g
(information)d(when)i(reading)f(interf)o(ace)h(\002les.)42
b(That)25 b(is,)80 4079 y(e)n(v)o(en)19 b(if)i Ft(M.hi)f
FA(contains)f(unfolding)f(or)i(strictness)g(information)e(for)i(a)g
(function,)f(GHC)i(will)g(ignore)d(that)j(information.)p
Black -107 4245 a Fh(-funbox-strict-fields)p Fu(:)p Black
89 w FA(This)j(option)f(causes)h(all)g(constructor)e(\002elds)i(which)g
(are)f(mark)o(ed)g(strict)h(\(i.e.)36 b(\223!\224\))23
b(to)h(be)g(unbox)o(ed)d(or)80 4345 y(unpack)o(ed)d(if)j(possible.)j
(It)d(is)g(equi)n(v)n(alent)d(to)j(adding)d(an)i Ft(UNPACK)g
FA(pragma)f(to)h(e)n(v)o(ery)f(strict)i(constructor)d(\002eld)i(\(see)h
(Section)p 1 0 0 TeXcolorrgb 3800 4346 a
SDict begin H.S end
3800 4346 a
1 0 0 TeXcolorrgb -1 x FA(7.13.10)p 1 0 0 TeXcolorrgb
4049 4288 a
SDict begin H.R end
4049 4288 a 4049 4345 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.10) cvn H.B /ANN pdfmark end
4049 4345 a Black
FA(\).)80 4478 y(This)29 b(option)f(is)j(a)e(bit)h(of)f(a)h
(sledgehammer:)41 b(it)30 b(might)e(sometimes)h(mak)o(e)g(things)g(w)o
(orse.)52 b(Selecti)n(v)o(ely)28 b(unboxing)f(\002elds)j(by)f(using)80
4577 y Ft(UNPACK)20 b FA(pragmas)f(might)g(be)h(better)-5
b(.)p Black -107 4743 a Fh(-funfolding-creation-threshold=)p
Ff(n)q Fu(:)p Black 87 w FA(\(Def)o(ault:)42 b(45\))29
b(Go)o(v)o(erns)e(the)i(maximum)f(size)h(that)g(GHC)h(will)g(allo)n(w)f
(a)h(function)80 4843 y(unfolding)18 b(to)i(be.)25 b(\(An)19
b(unfolding)f(has)i(a)h(\223size\224)f(that)h(re\003ects)f(the)g(cost)h
(in)f(terms)g(of)g(\223code)f(bloat\224)h(of)g(e)o(xpanding)d(that)j
(unfolding)e(at)i(at)80 4942 y(a)h(call)f(site.)26 b(A)21
b(bigger)e(function)f(w)o(ould)i(be)g(assigned)f(a)i(bigger)e(cost.\))
80 5075 y(Consequences:)29 b(\(a\))23 b(nothing)e(lar)o(ger)h(than)g
(this)h(will)h(be)f(inlined)f(\(unless)h(it)g(has)g(an)g(INLINE)f
(pragma\);)h(\(b\))f(nothing)f(lar)o(ger)h(than)g(this)80
5175 y(will)f(be)f(spe)n(wed)g(into)g(an)g(interf)o(ace)f(\002le.)80
5308 y(Increasing)g(this)h(\002gure)g(is)h(more)e(lik)o(ely)h(to)h
(result)f(in)g(longer)f(compile)g(times)i(than)f(f)o(aster)g(code.)k
(The)c(ne)o(xt)g(option)e(is)k(more)d(useful:)p Black
-128 5474 a Fh(-funfolding-use-threshold=)p Ff(n)p Black
38 w FA(\(Def)o(ault:)31 b(8\))23 b(This)g(is)h(the)f(magic)g(cut-of)n
(f)f(\002gure)g(for)h(unfolding:)28 b(belo)n(w)23 b(this)h(size,)g(a)g
(function)80 5573 y(de\002nition)j(will)i(be)f(unfolded)d(at)k(the)f
(call-site,)i(an)o(y)d(bigger)g(and)h(it)g(w)o(on')o(t.)48
b(The)27 b(size)i(computed)d(for)i(a)g(function)e(depends)h(on)h(tw)o
(o)80 5673 y(things:)d(the)20 b(actual)g(size)h(of)f(the)g(e)o
(xpression)f(minus)g(an)o(y)h(discounts)f(that)h(apply)g(\(see)g
Ft(-funfolding-con-discount)p FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 65 80
TeXDict begin 65 79 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.65) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(65)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.10) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(4.10)p
Black 107 w(Options)29 b(related)g(to)g(a)h(par)r(ticular)e(phase)-128
322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (options-phases) cvn H.B /DEST pdfmark end
-128
322 a -128 322 a
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128
322 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.1) cvn H.B /DEST pdfmark end
-128 322 a Black 139 x Fp(4.10.1)p Black 89 w(Replacing)c(the)g
(pr)n(ogram)g(f)n(or)h(one)f(or)h(more)f(phases)-128
550 y
SDict begin H.S end
-128 550 a -128 550 a
SDict begin 12 H.A end
-128 550 a -128 550 a
SDict begin [ /View [/XYZ H.V] /Dest (replacing-phases) cvn H.B /DEST pdfmark end
-128
550 a 114 x FA(Y)-9 b(ou)22 b(may)f(specify)g(that)h(a)g(dif)n(ferent)e
(program)g(be)i(used)f(for)h(one)f(of)g(the)h(phases)g(of)g(the)f
(compilation)f(system,)j(in)f(place)f(of)h(whate)n(v)o(er)e(the)i
Fu(ghc)-128 764 y FA(has)28 b(wired)g(into)f(it.)48 b(F)o(or)27
b(e)o(xample,)h(you)f(might)g(w)o(ant)h(to)g(try)f(a)h(dif)n(ferent)e
(assembler)-5 b(.)47 b(The)28 b(follo)n(wing)e(options)g(allo)n(w)i
(you)f(to)h(change)e(the)-128 864 y(e)o(xternal)19 b(program)f(used)i
(for)g(a)h(gi)n(v)o(en)d(compilation)h(phase:)p Black
-107 1079 a Fh(-pgmL)h Ff(cmd)p Black 65 w FA(Use)h Fr(cmd)i
FA(as)e(the)f(literate)h(pre-processor)-5 b(.)p Black
-107 1245 a Fh(-pgmP)20 b Ff(cmd)p Black 65 w FA(Use)h
Fr(cmd)i FA(as)e(the)f(C)h(pre-processor)d(\(with)i Ft(-cpp)g
FA(only\).)p Black -107 1412 a Fh(-pgmc)g Ff(cmd)p Black
65 w FA(Use)h Fr(cmd)i FA(as)e(the)f(C)h(compiler)-5
b(.)p Black -107 1578 a Fh(-pgmm)20 b Ff(cmd)p Black
65 w FA(Use)h Fr(cmd)i FA(as)e(the)f(mangler)-5 b(.)p
Black -107 1744 a Fh(-pgms)20 b Ff(cmd)p Black 65 w FA(Use)h
Fr(cmd)i FA(as)e(the)f(splitter)-5 b(.)p Black -107 1910
a Fh(-pgma)20 b Ff(cmd)p Black 65 w FA(Use)h Fr(cmd)i
FA(as)e(the)f(assembler)-5 b(.)p Black -107 2076 a Fh(-pgml)20
b Ff(cmd)p Black 65 w FA(Use)h Fr(cmd)i FA(as)e(the)f(link)o(er)-5
b(.)p Black -107 2242 a Fh(-pgmdll)20 b Ff(cmd)p Black
65 w FA(Use)h Fr(cmd)i FA(as)e(the)f(DLL)g(generator)-5
b(.)p Black -107 2408 a Fh(-pgmF)20 b Ff(cmd)p Black
65 w FA(Use)h Fr(cmd)i FA(as)e(the)f(pre-processor)e(\(with)i
Ft(-F)g FA(only\).)p Black -107 2574 a Fh(-pgmwindres)f
Ff(cmd)p Black 65 w FA(Use)29 b Fr(cmd)j FA(as)e(the)f(program)d(to)j
(use)g(for)f(embedding)f(manifests)h(on)h(W)m(indo)n(ws.)50
b(Normally)27 b(this)j(is)f(the)g(program)80 2673 y Ft(windres)p
FA(,)19 b(which)h(is)h(supplied)e(with)h(a)h(GHC)g(installation.)k(See)
20 b Ft(-fno-embed-manifest)d FA(in)k(Section)p 1 0 0
TeXcolorrgb 3373 2674 a
SDict begin H.S end
3373 2674 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.7)p 1 0 0 TeXcolorrgb 3580 2617 a
SDict begin H.R end
3580 2617
a 3580 2673 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
3580 2673 a Black FA(.)-128 2808 y
SDict begin H.S end
-128
2808 a -128 2808 a
SDict begin 12 H.A end
-128 2808 a -128 2808 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.2) cvn H.B /DEST pdfmark end
-128 2808
a Black 148 x Fp(4.10.2)p Black 89 w(For)n(cing)j(options)g(to)h(a)f
(par)r(ticular)g(phase)-128 3044 y
SDict begin H.S end
-128 3044 a -128 3044
a
SDict begin 12 H.A end
-128 3044 a -128 3044 a
SDict begin [ /View [/XYZ H.V] /Dest (forcing-options-through) cvn H.B /DEST pdfmark end
-128 3044 a 115 x FA(Options)c(can)g(be)g
(forced)f(through)f(to)i(a)h(particular)e(compilation)f(phase,)i(using)
g(the)g(follo)n(wing)e(\003ags:)p Black -107 3375 a Fh(-optL)i
Ff(option)p Black 62 w FA(P)o(ass)h Fr(option)f FA(to)h(the)f(literate)
g(pre-processor)p Black -107 3541 a Fh(-optP)g Ff(option)p
Black 62 w FA(P)o(ass)h Fr(option)f FA(to)h(CPP)g(\(mak)o(es)f(sense)g
(only)g(if)g Ft(-cpp)g FA(is)h(also)g(on\).)p Black -107
3707 a Fh(-optF)f Ff(option)p Black 62 w FA(P)o(ass)h
Fr(option)f FA(to)h(the)f(custom)f(pre-processor)f(\(see)i(Section)p
1 0 0 TeXcolorrgb 2317 3708 a
SDict begin H.S end
2317 3708 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.4)p 1 0 0 TeXcolorrgb 2525 3650 a
SDict begin H.R end
2525 3650
a 2525 3707 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.4) cvn H.B /ANN pdfmark end
2525 3707 a Black FA(\).)p Black -107 3873
a Fh(-optc)g Ff(option)p Black 62 w FA(P)o(ass)h Fr(option)f
FA(to)h(the)f(C)h(compiler)-5 b(.)p Black -107 4039 a
Fh(-optm)20 b Ff(option)p Black 62 w FA(P)o(ass)h Fr(option)f
FA(to)h(the)f(mangler)-5 b(.)p Black -107 4205 a Fh(-opta)20
b Ff(option)p Black 62 w FA(P)o(ass)h Fr(option)f FA(to)h(the)f
(assembler)-5 b(.)p Black -107 4371 a Fh(-optl)20 b Ff(option)p
Black 62 w FA(P)o(ass)h Fr(option)f FA(to)h(the)f(link)o(er)-5
b(.)p Black -107 4537 a Fh(-optdll)20 b Ff(option)p Black
62 w FA(P)o(ass)h Fr(option)f FA(to)g(the)g(DLL)h(generator)-5
b(.)p Black -107 4703 a Fh(-optwindres)19 b Ff(option)p
Black 62 w FA(P)o(ass)h Fr(option)f FA(to)g Ft(windres)f
FA(when)h(embedding)d(manifests)j(on)f(W)m(indo)n(ws.)24
b(See)c Ft(-fno-embed-manife-)80 4803 y(st)g FA(in)h(Section)p
1 0 0 TeXcolorrgb 556 4804 a
SDict begin H.S end
556 4804 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.7)p 1 0 0 TeXcolorrgb 763 4746 a
SDict begin H.R end
763 4746
a 763 4803 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
763 4803 a Black FA(.)-128 5018 y(So,)i(for)e(e)o(xample,)
g(to)i(force)e(an)h Ft(-Ewurble)f FA(option)g(to)h(the)g(assembler)m(,)
g(you)f(w)o(ould)g(tell)i(the)f(dri)n(v)o(er)f Ft(-opta-Ewurble)f
FA(\(the)i(dash)f(before)-128 5118 y(the)g(E)f(is)h(required\).)-128
5267 y(GHC)f(is)g(itself)g(a)f(Hask)o(ell)g(program,)e(so)j(if)f(you)f
(need)g(to)h(pass)h(options)e(directly)g(to)h(GHC')-5
b(s)20 b(runtime)e(system)h(you)f(can)h(enclose)f(them)h(in)g
Ft(+RTS)-128 5367 y(...)100 b(-RTS)20 b FA(\(see)g(Section)p
1 0 0 TeXcolorrgb 766 5368 a
SDict begin H.S end
766 5368 a 1 0 0 TeXcolorrgb
-1 x FA(4.14)p 1 0 0 TeXcolorrgb 911 5311 a
SDict begin H.R end
911 5311
a 911 5367 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.14) cvn H.B /ANN pdfmark end
911 5367 a Black FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 66 81
TeXDict begin 66 80 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.66) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(66)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.10.3)p
Black 89 w(Options)k(aff)o(ecting)g(the)g(C)h(pre-pr)n(ocessor)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (c-pre-processor) cvn H.B /DEST pdfmark end
-128
262 a Black -107 408 a Fh(-cpp)p Black 62 w FA(The)18
b(C)i(pre-processor)c Fu(cpp)k FA(is)g(run)e(o)o(v)o(er)g(your)f(Hask)o
(ell)j(code)e(only)g(if)h(the)g Ft(-cpp)g FA(option)f(is)h(gi)n(v)o
(en.)24 b(Unless)19 b(you)f(are)h(b)n(uilding)f(a)h(lar)o(ge)80
508 y(system)h(with)h(signi\002cant)e(doses)i(of)f(conditional)e
(compilation,)g(you)h(really)h(shouldn')o(t)e(need)i(it.)p
Black -107 662 a Fh(-D)p Ff(symbol)p Fu([=)p Ff(value)p
Fu(])p Black 60 w FA(De\002ne)j(macro)g Fr(symbol)f FA(in)i(the)f
(usual)g(w)o(ay)-5 b(.)34 b(NB:)24 b(does)f Fq(not)h
FA(af)n(fect)f Ft(-D)g FA(macros)g(passed)g(to)g(the)h(C)g(compiler)e
(when)80 762 y(compiling)c(via)j(C!)f(F)o(or)g(those,)g(use)g(the)h
Ft(-optc-Dfoo)e FA(hack.)12 b(.)g(.)37 b(\(see)20 b(Section)p
1 0 0 TeXcolorrgb 2494 763 a
SDict begin H.S end
2494 763 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.2)p 1 0 0 TeXcolorrgb 2701 705 a
SDict begin H.R end
2701 705
a 2701 762 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.2) cvn H.B /ANN pdfmark end
2701 762 a Black FA(\).)p Black -107 916
a Fh(-U)p Ff(symbol)p Black 61 w FA(Unde\002ne)f(macro)g
Fr(symbol)h FA(in)h(the)f(usual)g(w)o(ay)-5 b(.)p Black
-107 1071 a Fh(-I)p Ff(dir)p Black 66 w FA(Specify)19
b(a)i(directory)d(in)i(which)g(to)g(look)g(for)f Ft(#include)h
FA(\002les,)h(in)f(the)g(usual)g(C)h(w)o(ay)-5 b(.)-128
1252 y(The)20 b(GHC)h(dri)n(v)o(er)e(pre-de\002nes)g(se)n(v)o(eral)g
(macros)h(when)f(processing)g(Hask)o(ell)i(source)e(code)h(\()p
Ft(.hs)f FA(or)h Ft(.lhs)g FA(\002les\).)-128 1390 y(The)d(symbols)f
(de\002ned)g(by)h(GHC)g(are)g(listed)h(belo)n(w)-5 b(.)22
b(T)-7 b(o)18 b(check)e(which)g(symbols)g(are)h(de\002ned)f(by)h(your)e
(local)i(GHC)h(installation,)f(the)g(follo)n(wing)-128
1489 y(trick)j(is)i(useful:)-128 1529 y
SDict begin H.S end
-128 1529 a -128
1529 a
SDict begin 12 H.A end
-128 1529 a -128 1529 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-152) cvn H.B /DEST pdfmark end
-128 1529 a 0.95 TeXcolorgray
-153 1561 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1652 25 92
v Black 0.95 TeXcolorgray -128 1652 4252 92 v Black 0.95
TeXcolorgray 4124 1652 25 92 v Black 0.95 TeXcolorgray
Black -128 1625 a
SDict begin H.S end
-128 1625 a -128 1625 a
SDict begin 11 H.A end
-128 1625 a
-128 1625 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-152.1) cvn H.B /DEST pdfmark end
-128 1625 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(E)p
Black 45 w(-)p 0 0 0 TeXcolorrgb(optP)p Black -1 w(-)p
0 0 0 TeXcolorrgb(dM)p Black 44 w(-)p 0 0 0 TeXcolorrgb(cpp)p
Black 0 0 0 TeXcolorrgb 45 w(foo)p Black -1 w(.)p 0 0 0
TeXcolorrgb(hs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1744 25 92 v Black 0.95 TeXcolorgray -128 1744 4252
92 v Black 0.95 TeXcolorgray 4124 1744 25 92 v Black
0.95 TeXcolorgray Black -128 1716 a
SDict begin H.S end
-128 1716 a -128
1716 a
SDict begin 11 H.A end
-128 1716 a -128 1716 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-152.2) cvn H.B /DEST pdfmark end
-128 1716 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(cat)p Black 0 0 0
TeXcolorrgb 44 w(foo)p Black(.)p 0 0 0 TeXcolorrgb(hspp)p
Black 0.95 TeXcolorgray -153 1768 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 1920 a FA(\(you)d(need)h(a)g
(\002le)h Ft(foo.hs)p FA(,)f(b)n(ut)g(it)h(isn')o(t)f(actually)f
(used\).)p Black -107 2101 a Fh(__HASKELL98__)p Black
60 w FA(If)h(de\002ned,)f(this)i(means)f(that)g(GHC)h(supports)e(the)h
(language)f(de\002ned)g(by)h(the)g(Hask)o(ell)g(98)g(report.)p
Black -107 2255 a Fh(__HASKELL__=98)p Black 60 w FA(In)g(GHC)h(4.04)e
(and)g(later)m(,)h(the)g Ft(__HASKELL__)f FA(macro)g(is)i(de\002ned)f
(as)h(ha)n(ving)e(the)h(v)n(alue)f Ft(98)p FA(.)p Black
-107 2410 a Fh(__HASKELL1__)p Black 60 w FA(If)27 b(de\002ned)e(to)i
Fr(n)p FA(,)i(that)e(means)f(GHC)h(supports)f(the)h(Hask)o(ell)g
(language)e(de\002ned)g(in)i(the)g(Hask)o(ell)g(report)e(v)o(ersion)h
Fq(1.n)p FA(.)80 2510 y(Currently)19 b(5.)25 b(This)20
b(macro)g(is)h(deprecated,)d(and)h(will)i(probably)d(disappear)h(in)h
(future)f(v)o(ersions.)p Black -107 2664 a Fh(__GLASGOW_HASKELL__)p
Black 59 w FA(F)o(or)j(v)o(ersion)g Fr(x)t Ft(.)p Fr(y)6
b Ft(.)p Fr(z)22 b FA(of)h(GHC,)g(the)g(v)n(alue)f(of)g
Ft(__GLASGOW_HASKELL__)e FA(is)k(the)e(inte)o(ger)g Fr(xyy)29
b FA(\(if)23 b Fr(y)29 b FA(is)80 2764 y(a)c(single)f(digit,)h(then)e
(a)i(leading)e(zero)h(is)h(added,)f(so)g(for)g(e)o(xample)f(in)h(v)o
(ersion)f(6.2)h(of)g(GHC,)g Ft(__GLASGOW_HASKELL__==602)p
FA(\).)80 2863 y(More)c(information)d(in)k(Section)p
1 0 0 TeXcolorrgb 1049 2864 a
SDict begin H.S end
1049 2864 a 1 0 0 TeXcolorrgb
-1 x FA(1.4)p 1 0 0 TeXcolorrgb 1152 2807 a
SDict begin H.R end
1152 2807
a 1152 2863 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.1.4) cvn H.B /ANN pdfmark end
1152 2863 a Black FA(.)80 2990 y(W)m(ith)35
b(an)o(y)f(luck,)k Ft(__GLASGOW_HASKELL__)32 b FA(will)j(be)g
(unde\002ned)e(in)i(all)g(other)f(implementations)f(that)i(support)f
(C-style)h(pre-)80 3090 y(processing.)80 3217 y(\(F)o(or)18
b(reference:)23 b(the)c(comparable)d(symbols)j(for)f(other)g(systems)h
(are:)24 b Ft(__HUGS__)18 b FA(for)g(Hugs,)h Ft(__NHC__)f
FA(for)g(nhc98,)f(and)i Ft(__HBC__)80 3317 y FA(for)h(hbc.\))80
3444 y(NB.)26 b(This)g(macro)f(is)h(set)h(when)e(pre-processing)e(both)
i(Hask)o(ell)h(source)e(and)i(C)g(source,)g(including)e(the)i(C)g
(source)f(generated)f(from)h(a)80 3543 y(Hask)o(ell)c(module)d(\(i.e.)
25 b Ft(.hs)p FA(,)20 b Ft(.lhs)p FA(,)g Ft(.c)g FA(and)g
Ft(.hc)g FA(\002les\).)p Black -107 3698 a Fh(__CONCURRENT_HASKELL__)p
Black 58 w FA(This)f(symbol)f(is)i(de\002ned)e(when)g(pre-processing)e
(Hask)o(ell)k(\(input\))d(and)h(pre-processing)f(C)i(\(GHC)h(out-)80
3797 y(put\).)k(Since)c(GHC)h(from)f(v)o(ersion)f(4.00)g(no)n(w)g
(supports)g(concurrent)f(hask)o(ell)i(by)g(def)o(ault,)f(this)i(symbol)
e(is)i(al)o(w)o(ays)g(de\002ned.)p Black -107 3952 a
Fh(__PARALLEL_HASKELL__)p Black 59 w FA(Only)e(de\002ned)f(when)g
Ft(-parallel)g FA(is)j(in)e(use!)25 b(This)19 b(symbol)f(is)i
(de\002ned)f(when)f(pre-processing)f(Hask)o(ell)80 4052
y(\(input\))i(and)g(pre-processing)f(C)j(\(GHC)g(output\).)p
Black -107 4206 a Ff(os)q Fh(_HOST_OS=1)p Black 60 w
FA(This)31 b(de\002ne)f(allo)n(ws)h(conditional)e(compilation)h(based)g
(on)h(the)f(Operating)g(System,)j(where)p Fr(os)d FA(is)i(the)f(name)f
(of)h(the)80 4306 y(current)19 b(Operating)g(System)h(\(e)o(g.)k
Ft(linux)p FA(,)c Ft(mingw32)f FA(for)h(W)m(indo)n(ws,)f
Ft(solaris)p FA(,)g(etc.\).)p Black -107 4460 a Ff(arch)q
Fh(_HOST_ARCH=1)p Black 60 w FA(This)24 b(de\002ne)f(allo)n(ws)h
(conditional)e(compilation)g(based)i(on)f(the)h(host)g(architecture,)f
(where)p Fr(arch)f FA(is)j(the)f(name)f(of)80 4560 y(the)d(current)f
(architecture)g(\(e)o(g.)24 b Ft(i386)p FA(,)c Ft(x86_64)p
FA(,)f Ft(powerpc)p FA(,)g Ft(sparc)p FA(,)h(etc.\).)-128
4689 y
SDict begin H.S end
-128 4689 a -128 4689 a
SDict begin 12 H.A end
-128 4689 a -128 4689
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.10.3.1) cvn H.B /DEST pdfmark end
-128 4689 a Black 120 x Fx(4.10.3.1)p Black 72 w(CPP)h(and)e(string)h
(gaps)-128 4892 y
SDict begin H.S end
-128 4892 a -128 4892 a
SDict begin 12 H.A end
-128 4892 a
-128 4892 a
SDict begin [ /View [/XYZ H.V] /Dest (cpp-string-gaps) cvn H.B /DEST pdfmark end
-128 4892 a 108 x FA(A)h(small)g(w)o(ord)e(of)h(w)o
(arning:)k Ft(-cpp)c FA(is)h(not)f(friendly)f(to)h(\223string)g
(gaps\224..)k(In)c(other)f(w)o(ords,)h(strings)g(such)g(as)h(the)f
(follo)n(wing:)-128 5057 y
SDict begin H.S end
-128 5057 a -128 5057 a
SDict begin 12 H.A end
-128
5057 a -128 5057 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-153) cvn H.B /DEST pdfmark end
-128 5057 a 0.95 TeXcolorgray -153
5072 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5163 25 92 v Black 0.95
TeXcolorgray -128 5163 4252 92 v Black 0.95 TeXcolorgray
4124 5163 25 92 v Black 0.95 TeXcolorgray Black -128
5136 a
SDict begin H.S end
-128 5136 a -128 5136 a
SDict begin 11 H.A end
-128 5136 a -128 5136
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-153.1) cvn H.B /DEST pdfmark end
-128 5136 a 0 0 0 TeXcolorrgb Fo(strmod)p Black 44
w(=)45 b("\\)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5254 25 92 v Black 0.95 TeXcolorgray -128 5254 4252
92 v Black 0.95 TeXcolorgray 4124 5254 25 92 v Black
0.95 TeXcolorgray Black -128 5227 a
SDict begin H.S end
-128 5227 a -128
5227 a
SDict begin 11 H.A end
-128 5227 a -128 5227 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-153.2) cvn H.B /DEST pdfmark end
-128 5227 a Fo(\\)p 0 0 0
TeXcolorrgb 45 w(p)p Black 45 w(\\)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5346 25 92 v Black 0.95
TeXcolorgray -128 5346 4252 92 v Black 0.95 TeXcolorgray
4124 5346 25 92 v Black 0.95 TeXcolorgray Black -128
5318 a
SDict begin H.S end
-128 5318 a -128 5318 a
SDict begin 11 H.A end
-128 5318 a -128 5318
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-153.3) cvn H.B /DEST pdfmark end
-128 5318 a Fo(\\)g(")p 0.95 TeXcolorgray -153 5371
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5522 a FA(don')o(t)19 b(w)o(ork)g(with)i Ft(-cpp)p FA(;)f
Ft(/usr/bin/cpp)e FA(elides)j(the)f(backslash-ne)n(wline)e(pairs.)-128
5660 y(Ho)n(we)n(v)o(er)m(,)g(it)i(appears)e(that)h(if)h(you)e(add)h(a)
g(space)h(at)f(the)g(end)g(of)g(the)g(line,)h(then)e
Fu(cpp)i FA(\(at)g(least)g(GNU)f Fu(cpp)h FA(and)f(possibly)f(other)h
Fu(cpp)p FA(s\))h(lea)n(v)o(es)f(the)-128 5759 y(backslash-space)g
(pairs)h(alone)g(and)f(the)i(string)e(gap)h(w)o(orks)g(as)g(e)o
(xpected.)p Black -128 6084 4252 5 v Black eop end
%%Page: 67 82
TeXDict begin 67 81 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.67) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(67)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.10.4)p
Black 89 w(Options)k(aff)o(ecting)g(a)g(Haskell)g(pre-pr)n(ocessor)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (pre-processor) cvn H.B /DEST pdfmark end
-128
262 a Black -107 443 a Fh(-F)p Black 62 w FA(A)d(custom)e
(pre-processor)f(is)j(run)e(o)o(v)o(er)g(your)g(Hask)o(ell)i(source)e
(\002le)i(only)e(if)i(the)f Ft(-F)h FA(option)d(is)k(gi)n(v)o(en.)80
575 y(Running)30 b(a)i(custom)f(pre-processor)e(at)k(compile-time)d(is)
i(in)g(some)g(settings)f(appropriate)f(and)h(useful.)59
b(The)31 b Ft(-F)h FA(option)e(lets)j(you)80 675 y(run)c(a)h
(pre-processor)d(as)j(part)f(of)h(the)f(o)o(v)o(erall)g(GHC)h
(compilation)e(pipeline,)j(which)e(has)h(the)f(adv)n(antage)f(o)o(v)o
(er)g(running)g(a)i(Hask)o(ell)80 775 y(pre-processor)c(separately)i
(in)h(that)g(it)h(w)o(orks)f(in)g(interpreted)e(mode)h(and)g(you)g(can)
h(continue)e(to)i(tak)o(e)g(reap)f(the)h(bene\002ts)g(of)g(GHC')-5
b(s)80 874 y(recompilation)18 b(check)o(er)-5 b(.)80
1007 y(The)21 b(pre-processor)e(is)j(run)e(just)i(before)e(the)h(Hask)o
(ell)h(compiler)e(proper)f(processes)i(the)h(Hask)o(ell)f(input,)g(b)n
(ut)g(after)g(the)g(literate)h(markup)80 1107 y(has)e(been)g(stripped)f
(a)o(w)o(ay)h(and)g(\(possibly\))f(the)h(C)h(pre-processor)c(has)k(w)o
(ashed)f(the)g(Hask)o(ell)g(input.)80 1240 y(Use)j Ft(-pgmF)48
b Fr(cmd)25 b FA(to)e(select)f(the)g(program)e(to)i(use)g(as)h(the)f
(preprocessor)-5 b(.)28 b(When)22 b(in)m(v)n(ok)o(ed,)e(the)i
Fr(cmd)j FA(pre-processor)19 b(is)k(gi)n(v)o(en)e(at)h(least)80
1339 y(three)f(ar)o(guments)f(on)i(its)h(command-line:)j(the)c(\002rst)
h(ar)o(gument)c(is)k(the)f(name)f(of)h(the)g(original)f(source)g
(\002le,)i(the)f(second)f(is)i(the)f(name)f(of)80 1439
y(the)f(\002le)h(holding)e(the)h(input,)f(and)h(the)g(third)f(is)i(the)
g(name)e(of)h(the)g(\002le)h(where)f Fr(cmd)j FA(should)c(write)i(its)g
(output)e(to.)80 1572 y(Additional)d(ar)o(guments)f(to)j(the)f
(pre-processor)e(can)i(be)g(passed)g(in)h(using)f(the)g
Ft(-optF)g FA(option.)23 b(These)17 b(are)g(fed)g(to)g
Fr(cmd)k FA(on)c(the)g(command)80 1671 y(line)j(after)g(the)g(three)g
(standard)f(input)h(and)f(output)g(ar)o(guments.)80 1804
y(An)k(e)o(xample)e(of)i(a)g(pre-processor)d(is)k(to)f(con)m(v)o(ert)e
(your)h(source)g(\002les)i(to)f(the)g(input)f(encoding)f(that)i(GHC)g
(e)o(xpects,)g(i.e.)33 b(create)23 b(a)g(script)80 1904
y Ft(convert.sh)c FA(containing)f(the)i(lines:)-128 1972
y
SDict begin H.S end
-128 1972 a -128 1972 a
SDict begin 12 H.A end
-128 1972 a -128 1972 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-154) cvn H.B /DEST pdfmark end
-128
1972 a 0.95 TeXcolorgray 55 1987 4095 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 2078 25 92 v Black 0.95 TeXcolorgray 80 2078 4045
92 v Black 0.95 TeXcolorgray 4124 2078 25 92 v Black
0.95 TeXcolorgray Black 80 2051 a
SDict begin H.S end
80 2051 a 80 2051 a
SDict begin 11 H.A end
80 2051 a 80 2051 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-154.1) cvn H.B /DEST pdfmark end
80 2051 a Fo(#!/)p 0 0 0 TeXcolorrgb
-1 w(bin)p Black(/)p 0 0 0 TeXcolorrgb(sh)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 2170 25 92 v
Black 0.95 TeXcolorgray 80 2170 4045 92 v Black 0.95
TeXcolorgray 4124 2170 25 92 v Black 0.95 TeXcolorgray
Black 80 2142 a
SDict begin H.S end
80 2142 a 80 2142 a
SDict begin 11 H.A end
80 2142 a 80 2142
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-154.2) cvn H.B /DEST pdfmark end
80 2142 a Fo(\()p 0 0 0 TeXcolorrgb 45 w(echo)p Black
44 w("{-#)p 0 0 0 TeXcolorrgb 44 w(LINE)p Black 44 w(1)45
b(\\")p 0 0 0 TeXcolorrgb -1 w($2)p Black(\\")g(#-}")f(;)p
0 0 0 TeXcolorrgb 44 w(iconv)p Black 44 w(-)p 0 0 0 TeXcolorrgb(f)p
Black 0 0 0 TeXcolorrgb 45 w(l1)p Black 44 w(-)p 0 0 0
TeXcolorrgb(t)p Black 0 0 0 TeXcolorrgb 45 w(utf)p Black
-1 w(-8)p 0 0 0 TeXcolorrgb 45 w($2)p Black 44 w(\))h(>)p
0 0 0 TeXcolorrgb 45 w($3)p Black 0.95 TeXcolorgray 55
2194 4095 25 v Black 0.95 TeXcolorgray Black Black Black
80 2352 a FA(and)29 b(pass)h Ft(-F)50 b(-pgmF)f(convert.sh)28
b FA(to)i(GHC.)g(The)f Ft(-f)50 b(l1)30 b FA(option)e(tells)j(icon)m(v)
d(to)i(con)m(v)o(ert)e(your)g(Latin-1)h(\002le,)j(supplied)d(in)80
2452 y(ar)o(gument)19 b Ft($2)p FA(,)i(while)h(the)f("-t)g(utf-8")f
(options)h(tell)g(icon)m(v)f(to)i(return)e(a)h(UTF-8)g(encoded)f
(\002le.)28 b(The)21 b(result)g(is)i(redirected)c(into)i(ar)o(gument)80
2551 y Ft($3)p FA(.)26 b(The)20 b Ft(echo)49 b("{-#)g(LINE)g(1)h
(\\"$2\\")f(#-}")20 b FA(just)h(mak)o(es)f(sure)h(that)f(your)f(error)h
(positions)g(are)g(reported)f(as)i(in)g(the)f(original)80
2651 y(source)f(\002le.)-128 2768 y
SDict begin H.S end
-128 2768 a -128
2768 a
SDict begin 12 H.A end
-128 2768 a -128 2768 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.5) cvn H.B /DEST pdfmark end
-128 2768 a Black 165
x Fp(4.10.5)p Black 89 w(Options)24 b(aff)o(ecting)g(the)g(C)h
(compiler)e(\(if)i(applicab)o(le\))-128 3022 y
SDict begin H.S end
-128 3022
a -128 3022 a
SDict begin 12 H.A end
-128 3022 a -128 3022 a
SDict begin [ /View [/XYZ H.V] /Dest (options-C-compiler) cvn H.B /DEST pdfmark end
-128 3022 a 114
x FA(If)19 b(you)f(are)h(compiling)f(with)h(lots)g(of)g(foreign)f
(calls,)h(you)f(may)h(need)f(to)i(tell)f(the)g(C)h(compiler)e(about)g
(some)h Ft(#include)f FA(\002les.)25 b(The)19 b(Right)g(W)-7
b(ay)-128 3236 y(to)21 b(do)f(this)g(is)h(to)g(add)e(an)i
Ft(INCLUDE)e FA(pragma)g(to)h(the)g(top)g(of)g(your)f(source)g(\002le)i
(\(Section)p 1 0 0 TeXcolorrgb 2502 3237 a
SDict begin H.S end
2502 3237
a 1 0 0 TeXcolorrgb -1 x FA(7.13.3)p 1 0 0 TeXcolorrgb
2709 3180 a
SDict begin H.R end
2709 3180 a 2709 3236 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.3) cvn H.B /ANN pdfmark end
2709 3236 a Black
FA(\):)-128 3304 y
SDict begin H.S end
-128 3304 a -128 3304 a
SDict begin 12 H.A end
-128 3304
a -128 3304 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-155) cvn H.B /DEST pdfmark end
-128 3304 a 0.95 TeXcolorgray -153 3319
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3410 25 92 v Black 0.95
TeXcolorgray -128 3410 4252 92 v Black 0.95 TeXcolorgray
4124 3410 25 92 v Black 0.95 TeXcolorgray Black -128
3383 a
SDict begin H.S end
-128 3383 a -128 3383 a
SDict begin 11 H.A end
-128 3383 a -128 3383
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-155.1) cvn H.B /DEST pdfmark end
-128 3383 a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(INCLUDE)p
Black 43 w(<)p 0 0 0 TeXcolorrgb(X)p Black(/)p 0 0 0
TeXcolorrgb(Xlib)p Black -1 w(.)p 0 0 0 TeXcolorrgb(h)p
Black(>)45 b(#-})p 0.95 TeXcolorgray -153 3435 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3610
a FA(Sometimes)20 b(this)h(isn')o(t)f(con)m(v)o(enient.)i(In)e(those)g
(cases)h(there')-5 b(s)20 b(an)g(equi)n(v)n(alent)f(command-line)e
(option:)-128 3677 y
SDict begin H.S end
-128 3677 a -128 3677 a
SDict begin 12 H.A end
-128 3677
a -128 3677 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-156) cvn H.B /DEST pdfmark end
-128 3677 a 0.95 TeXcolorgray -153 3693
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3784 25 92 v Black 0.95
TeXcolorgray -128 3784 4252 92 v Black 0.95 TeXcolorgray
4124 3784 25 92 v Black 0.95 TeXcolorgray Black -128
3756 a
SDict begin H.S end
-128 3756 a -128 3756 a
SDict begin 11 H.A end
-128 3756 a -128 3756
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-156.1) cvn H.B /DEST pdfmark end
-128 3756 a Fo(\045)p 0 0 0 TeXcolorrgb 45 w(ghc)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(c)p Black 45 w('-#)p
0 0 0 TeXcolorrgb -1 w(include)p Black 44 w(<)p 0 0 0
TeXcolorrgb(X)p Black(/)p 0 0 0 TeXcolorrgb(Xlib)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(h)p Black(>')p 0 0 0 TeXcolorrgb
44 w(Xstuff)p Black -1 w(.)p 0 0 0 TeXcolorrgb(lhs)p
Black 0.95 TeXcolorgray -153 3809 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3975 a
SDict begin H.S end
-128 3975
a -128 3975 a
SDict begin 12 H.A end
-128 3975 a -128 3975 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.6) cvn H.B /DEST pdfmark end
-128 3975 a Black
141 x Fp(4.10.6)p Black 89 w(Options)24 b(aff)o(ecting)g(code)g(g)q
(eneration)-128 4204 y
SDict begin H.S end
-128 4204 a -128 4204 a
SDict begin 12 H.A end
-128 4204
a -128 4204 a
SDict begin [ /View [/XYZ H.V] /Dest (options-codegen) cvn H.B /DEST pdfmark end
-128 4204 a Black -107 4385 a Fh(-fasm)p
Black 62 w FA(Use)f(GHC')-5 b(s)24 b(nati)n(v)o(e)f(code)f(generator)f
(rather)h(than)h(compiling)e(via)i(C.)h(This)f(will)h(compile)e(f)o
(aster)h(\(up)f(to)i(twice)f(as)h(f)o(ast\),)f(b)n(ut)g(may)80
4485 y(produce)18 b(code)i(that)g(is)h(slightly)f(slo)n(wer)g(than)g
(compiling)e(via)i(C.)h Ft(-fasm)f FA(is)h(the)f(def)o(ault.)p
Black -107 4651 a Fh(-fvia-C)p Black 61 w FA(Compile)d(via)g(C)i
(instead)e(of)g(using)f(the)i(nati)n(v)o(e)e(code)h(generator)-5
b(.)22 b(This)c(is)g(the)f(def)o(ault)g(on)g(architectures)f(for)h
(which)f(GHC)i(doesn')o(t)80 4751 y(ha)n(v)o(e)i(a)g(nati)n(v)o(e)g
(code)f(generator)-5 b(.)p Black -107 4917 a Fh(-fno-code)p
Black 61 w FA(Omit)19 b(code)f(generation)f(\(and)h(all)h(later)g
(phases\))f(altogether)-5 b(.)24 b(Might)18 b(be)h(of)f(some)h(use)g
(if)g(you)f(just)h(w)o(ant)g(to)g(see)h(dumps)d(of)i(the)80
5016 y(intermediate)g(compilation)f(phases.)p Black -107
5182 a Fh(-fobject-code)p Black 60 w FA(Generate)f(object)h(code.)23
b(This)18 b(is)h(the)f(def)o(ault)f(outside)h(of)f(GHCi,)i(and)f(can)g
(be)g(used)f(with)h(GHCi)h(to)f(cause)g(object)g(code)80
5282 y(to)i(be)g(generated)f(in)h(preference)e(to)j(bytecode.)p
Black -107 5448 a Fh(-fbyte-code)p Black 60 w FA(Generate)e(byte-code)e
(instead)i(of)g(object-code.)k(This)c(is)i(the)e(def)o(ault)g(in)g
(GHCi.)26 b(Byte-code)18 b(can)h(currently)e(only)i(be)g(used)80
5548 y(in)h(the)h(interacti)n(v)o(e)d(interpreter)m(,)g(not)i(sa)n(v)o
(ed)g(to)g(disk.)25 b(This)c(option)e(is)i(only)e(useful)h(for)f(re)n
(v)o(ersing)g(the)h(ef)n(fect)g(of)g Ft(-fobject-code)p
FA(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 68 83
TeXDict begin 68 82 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.68) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(68)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(-fPIC)p
Black 62 w FA(Generate)f(position-independent)c(code)k(\(code)g(that)h
(can)f(be)h(put)g(into)f(shared)g(libraries\).)24 b(This)c(currently)f
(w)o(orks)g(on)g(Mac)h(OS)h(X;)f(it)80 273 y(w)o(orks)f(on)h(Po)n
(werPC)g(Linux)f(when)g(using)g(the)h(nati)n(v)o(e)f(code)g(generator)f
(\(-f)o(asm\).)24 b(It)c(is)h(not)f(quite)f(ready)g(to)h(be)g(used)f
(yet)h(for)f(x86)g(Linux.)80 372 y(On)27 b(W)m(indo)n(ws,)g
(position-independent)22 b(code)k(is)h(ne)n(v)o(er)e(used,)j(and)e(on)g
(Po)n(werPC64)f(Linux,)i(position-independent)22 b(code)k(is)i(al)o(w)o
(ays)80 472 y(used,)20 b(so)g(the)g(\003ag)h(is)g(a)f(no-op)f(on)h
(those)g(platforms.)p Black -107 636 a Fh(-dynamic)p
Black 61 w FA(When)27 b(generating)f(code,)i(assume)g(that)g(entities)g
(imported)e(from)g(a)i(dif)n(ferent)e(package)g(will)j(reside)e(in)h(a)
g(dif)n(ferent)e(shared)80 736 y(library)19 b(or)h(binary)-5
b(.)80 868 y(Note)20 b(that)g(this)h(option)e(also)i(causes)f(GHC)h(to)
f(use)h(shared)e(libraries)h(when)g(linking.)-128 1002
y
SDict begin H.S end
-128 1002 a -128 1002 a
SDict begin 12 H.A end
-128 1002 a -128 1002 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.10.7) cvn H.B /DEST pdfmark end
-128
1002 a Black 146 x Fp(4.10.7)p Black 89 w(Options)k(aff)o(ecting)g
(linking)-128 1236 y
SDict begin H.S end
-128 1236 a -128 1236 a
SDict begin 12 H.A end
-128 1236
a -128 1236 a
SDict begin [ /View [/XYZ H.V] /Dest (options-linker) cvn H.B /DEST pdfmark end
-128 1236 a 113 x FA(GHC)g(has)f(to)g(link)f(your)g(code)
g(with)h(v)n(arious)e(libraries,)i(possibly)f(including:)29
b(user)n(-supplied,)21 b(GHC-supplied,)h(and)g(system-supplied)f(\()p
Ft(-lm)-128 1449 y FA(math)f(library)-5 b(,)19 b(for)g(e)o(xample\).)p
Black -107 1660 a Fh(-l)p Ff(lib)p Black 64 w FA(Link)29
b(in)h(the)g Fr(lib)i FA(library)-5 b(.)52 b(On)30 b(Unix)f(systems,)j
(this)f(will)f(be)g(in)g(a)g(\002le)g(called)g Ft(liblib.a)f
FA(or)g Ft(liblib.so)g FA(which)g(resides)80 1759 y(some)n(where)19
b(on)h(the)g(library)f(directories)g(path.)80 1891 y(Because)j(of)f
(the)g(sad)h(state)g(of)f(most)h(UNIX)f(link)o(ers,)g(the)h(order)e(of)
h(such)g(options)g(does)g(matter)-5 b(.)29 b(If)21 b(library)f
Fr(foo)i FA(requires)e(library)g Fr(bar)s FA(,)80 1991
y(then)g(in)g(general)f Ft(-l)p Fr(foo)h FA(should)f(come)h
Fq(befor)m(e)g Ft(-l)p Fr(bar)i FA(on)e(the)g(command)e(line.)80
2123 y(There')-5 b(s)24 b(one)h(other)f(gotcha)f(to)i(bear)g(in)g(mind)
f(when)g(using)g(e)o(xternal)g(libraries:)34 b(if)25
b(the)g(library)f(contains)g(a)h Ft(main\(\))f FA(function,)g(then)80
2223 y(this)19 b(will)f(be)g(link)o(ed)g(in)g(preference)e(to)i(GHC')-5
b(s)19 b(o)n(wn)e Ft(main\(\))h FA(function)e(\(e)o(g.)24
b Ft(libf2c)17 b FA(and)h Ft(libl)g FA(ha)n(v)o(e)f(their)h(o)n(wn)f
Ft(main\(\))p FA(s\).)24 b(This)80 2322 y(is)f(because)d(GHC')-5
b(s)23 b Ft(main\(\))e FA(comes)h(from)e(the)i Ft(HSrts)f
FA(library)-5 b(,)20 b(which)h(is)i(normally)d(included)g
Fq(after)k FA(all)e(the)g(other)f(libraries)g(on)g(the)80
2422 y(link)o(er')-5 b(s)22 b(command)f(line.)31 b(T)-7
b(o)23 b(force)e(GHC')-5 b(s)24 b Ft(main\(\))e FA(to)g(be)g(used)h(in)
f(preference)e(to)j(an)o(y)e(other)h Ft(main\(\))p FA(s)g(from)f(e)o
(xternal)h(libraries,)80 2522 y(just)f(add)e(the)i(option)e
Ft(-lHSrts)g FA(before)g(an)o(y)g(other)h(libraries)f(on)h(the)g
(command)f(line.)p Black -107 2686 a Fh(-c)p Black 62
w FA(Omits)24 b(the)g(link)f(step.)35 b(This)24 b(option)e(can)h(be)g
(used)h(with)f Ft(--make)g FA(to)h(a)n(v)n(oid)f(the)h(automatic)e
(linking)g(that)i(tak)o(es)g(place)f(if)h(the)f(program)80
2786 y(contains)c(a)i Ft(Main)f FA(module.)p Black -107
2950 a Fh(-package)f Ff(name)p Black 62 w FA(If)24 b(you)e(are)h(using)
g(a)h(Hask)o(ell)g(\223package\224)e(\(see)h(Section)p
1 0 0 TeXcolorrgb 2249 2951 a
SDict begin H.S end
2249 2951 a 1 0 0 TeXcolorrgb
-1 x FA(4.8)p 1 0 0 TeXcolorrgb 2353 2894 a
SDict begin H.R end
2353 2894
a 2353 2950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.8) cvn H.B /ANN pdfmark end
2353 2950 a Black FA(\),)h(don')o(t)e(for)o(get)g(to)h
(add)g(the)h(rele)n(v)n(ant)e Ft(-package)g FA(option)80
3050 y(when)28 b(linking)g(the)h(program)e(too:)42 b(it)30
b(will)f(cause)g(the)g(appropriate)e(libraries)h(to)h(be)g(link)o(ed)f
(in)h(with)g(the)g(program.)49 b(F)o(or)o(getting)27
b(the)80 3149 y Ft(-package)19 b FA(option)g(will)i(lik)o(ely)f(result)
g(in)h(se)n(v)o(eral)e(pages)h(of)g(link)g(errors.)p
Black -107 3314 a Fh(-framework)f Ff(name)p Black 62
w FA(On)k(Darwin/MacOS)f(X)h(only)-5 b(,)22 b(link)h(in)g(the)g(frame)n
(w)o(ork)d Fr(name)p FA(.)33 b(This)23 b(option)f(corresponds)e(to)j
(the)g Ft(-framework)80 3413 y FA(option)e(for)g(Apple')-5
b(s)22 b(Link)o(er)-5 b(.)30 b(Please)22 b(note)g(that)g(frame)n(w)o
(orks)e(and)i(packages)e(are)i(tw)o(o)h(dif)n(ferent)d(things)h(-)i
(frame)n(w)o(orks)d(don')o(t)g(contain)80 3513 y(an)o(y)30
b(hask)o(ell)g(code.)54 b(Rather)m(,)33 b(the)o(y)c(are)i(Apple')-5
b(s)30 b(w)o(ay)g(of)g(packaging)e(shared)i(libraries.)55
b(T)-7 b(o)30 b(link)g(to)h(Apple')-5 b(s)30 b(\223Carbon\224)f(API,)i
(for)80 3613 y(e)o(xample,)19 b(you')l(d)f(use)i Ft(-framework)48
b(Carbon)p FA(.)p Black -107 3777 a Fh(-L)p Ff(dir)p
Black 66 w FA(Where)20 b(to)g(\002nd)g(user)n(-supplied)e(libraries.)12
b(.)g(.)38 b(Prepend)19 b(the)h(directory)e Fr(dir)23
b FA(to)e(the)f(library)f(directories)g(path.)p Black
-107 3941 a Fh(-framework-path)p Ff(dir)p Black 63 w
FA(On)31 b(Darwin/MacOS)f(X)i(only)-5 b(,)32 b(prepend)d(the)i
(directory)e Fr(dir)k FA(to)f(the)e(frame)n(w)o(ork)f(directories)h
(path.)57 b(This)80 4041 y(option)19 b(corresponds)f(to)i(the)g
Ft(-F)h FA(option)e(for)g(Apple')-5 b(s)20 b(Link)o(er)g(\()p
Ft(-F)g FA(already)f(means)h(something)e(else)j(for)f(GHC\).)p
Black -107 4205 a Fh(-split-objs)p Black 60 w FA(T)-6
b(ell)26 b(the)f(link)o(er)g(to)g(split)g(the)g(single)g(object)g
(\002le)h(that)f(w)o(ould)f(normally)g(be)h(generated)e(into)i
(multiple)f(object)h(\002les,)i(one)80 4305 y(per)21
b(top-le)n(v)o(el)f(Hask)o(ell)h(function)f(or)h(type)g(in)g(the)g
(module.)27 b(This)22 b(only)e(mak)o(es)h(sense)h(for)f(libraries,)g
(where)f(it)i(means)f(that)h(e)o(x)o(ecutables)80 4405
y(link)o(ed)f(against)g(the)g(library)g(are)g(smaller)h(as)g(the)o(y)f
(only)g(link)g(against)g(the)h(object)f(\002les)h(that)g(the)o(y)f
(need.)28 b(Ho)n(we)n(v)o(er)m(,)20 b(assembling)h(all)h(the)80
4504 y(sections)17 b(separately)g(is)h(e)o(xpensi)n(v)o(e,)e(so)h(this)
h(is)g(slo)n(wer)g(than)e(compiling)g(normally)-5 b(.)22
b(W)-7 b(e)18 b(use)g(this)g(feature)e(for)h(b)n(uilding)f(GHC')-5
b(s)18 b(libraries)80 4604 y(\(w)o(arning:)24 b(don')o(t)18
b(use)j(it)g(unless)f(you)f(kno)n(w)g(what)h(you')l(re)f(doing!\).)p
Black -107 4768 a Fh(-static)p Black 61 w FA(T)-6 b(ell)21
b(the)f(link)o(er)g(to)g(a)n(v)n(oid)g(shared)f(Hask)o(ell)i
(libraries,)e(if)i(possible.)k(This)20 b(is)h(the)f(def)o(ault.)p
Black -107 4933 a Fh(-dynamic)p Black 61 w FA(This)g(\003ag)h(switches)
f(to)h(shared)e(Hask)o(ell)i(libraries)e(for)h(linking.)k(See)c
(Section)p 1 0 0 TeXcolorrgb 2673 4934 a
SDict begin H.S end
2673 4934 a
1 0 0 TeXcolorrgb -1 x FA(4.8.5)p 1 0 0 TeXcolorrgb 2839
4876 a
SDict begin H.R end
2839 4876 a 2839 4933 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.8.5) cvn H.B /ANN pdfmark end
2839 4933 a Black 21 w
FA(on)g(ho)n(w)f(to)i(create)f(them.)80 5065 y(Note)g(that)g(this)h
(option)e(also)i(has)f(an)g(ef)n(fect)g(on)g(code)f(generation)f(\(see)
j(abo)o(v)o(e\).)p Black -107 5229 a Fh(-shared)p Black
61 w FA(Instead)g(of)h(creating)f(an)h(e)o(x)o(ecutable,)e(GHC)j
(produces)e(a)h(shared)f(object)h(with)g(this)g(link)o(er)g(\003ag.)30
b(Depending)20 b(on)i(the)g(operating)80 5329 y(system)h(tar)o(get,)g
(this)h(might)e(be)h(an)g(ELF)g(DSO,)h(a)f(W)m(indo)n(ws)g(DLL,)f(or)h
(a)h(Mac)f(OS)h(dylib)m(.)32 b(GHC)24 b(hides)f(the)g(operating)e
(system)j(details)80 5428 y(beneath)19 b(this)i(uniform)d(\003ag.)80
5560 y(The)29 b(\003ags)g Ft(-dynamic)p FA(/)p Ft(-static)e
FA(control)h(whether)g(the)h(resulting)g(shared)f(object)h(links)g
(statically)g(or)g(dynamically)e(to)j(Hask)o(ell)80 5660
y(package)d(libraries)h(gi)n(v)o(en)f(as)i Ft(-package)f
FA(option.)48 b(Non-Hask)o(ell)28 b(libraries)g(are)g(link)o(ed)g(as)h
(gcc)g(w)o(ould)e(re)o(gularly)g(link)h(it)h(on)f(your)80
5759 y(system,)20 b(e.g.)25 b(on)20 b(most)g(ELF)g(system)h(the)f(link)
o(er)f(uses)i(the)f(dynamic)f(libraries)h(when)f(found.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 69 84
TeXDict begin 69 83 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.69) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(69)20 b(/)g(224)p
-128 -179 4252 5 v Black 80 173 a FA(Object)g(\002les)h(link)o(ed)f
(into)g(shared)f(objects)h(must)g(be)g(compiled)f(with)i
Ft(-fPIC)p FA(,)e(see)i(Section)p 1 0 0 TeXcolorrgb 2819
174 a
SDict begin H.S end
2819 174 a 1 0 0 TeXcolorrgb -1 x FA(4.10.6)p 1 0 0
TeXcolorrgb 3026 117 a
SDict begin H.R end
3026 117 a 3026 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.6) cvn H.B /ANN pdfmark end
3026 173
a Black 80 306 a FA(When)d(creating)g(shared)f(objects)i(for)f(Hask)o
(ell)g(packages,)g(the)g(shared)g(object)g(must)g(be)h(named)e
(properly)-5 b(,)16 b(so)j(that)g(GHC)g(recognizes)e(the)80
406 y(shared)i(object)h(when)g(link)o(ed)f(against)h(this)g(package.)k
(See)d(shared)e(object)h(name)f(mangling.)p Black -107
572 a Fh(-main-is)49 b Ff(thing)p Black 87 w FA(The)23
b(normal)f(rule)h(in)h(Hask)o(ell)g(is)g(that)f(your)g(program)e(must)i
(supply)g(a)g Ft(main)h FA(function)d(in)j(module)e Ft(Main)p
FA(.)34 b(When)80 671 y(testing,)26 b(it)f(is)h(often)e(con)m(v)o
(enient)e(to)j(change)e(which)h(function)f(is)j(the)f("main")f(one,)h
(and)f(the)h Ft(-main-is)f FA(\003ag)h(allo)n(ws)g(you)f(to)h(do)f(so.)
80 771 y(The)c Fr(thing)k FA(can)c(be)g(one)g(of:)p Black
80 937 a(\225)p Black 42 w(A)g(lo)n(wer)n(-case)g(identi\002er)f
Ft(foo)p FA(.)25 b(GHC)c(assumes)g(that)f(the)g(main)g(function)f(is)i
Ft(Main.foo)p FA(.)p Black 80 1070 a(\225)p Black 42
w(An)f(module)f(name)g Ft(A)p FA(.)h(GHC)i(assumes)e(that)g(the)g(main)
g(function)f(is)i Ft(A.main)p FA(.)p Black 80 1203 a(\225)p
Black 42 w(An)f(quali\002ed)f(name)h Ft(A.foo)p FA(.)k(GHC)d(assumes)g
(that)f(the)g(main)g(function)e(is)k Ft(A.foo)p FA(.)80
1369 y(Strictly)j(speaking,)f Ft(-main-is)f FA(is)i(not)g(a)f
(link-phase)f(\003ag)i(at)g(all;)i(it)e(has)g(no)f(ef)n(fect)g(on)g
(the)g(link)h(step.)38 b(The)24 b(\003ag)g(must)h(be)f(speci\002ed)80
1468 y(when)g(compiling)e(the)i(module)f(containing)f(the)i
(speci\002ed)g(main)g(function)e(\(e.g.)36 b(module)23
b Ft(A)i FA(in)f(the)g(latter)h(tw)o(o)f(items)h(abo)o(v)o(e\).)34
b(It)25 b(has)80 1568 y(no)e(ef)n(fect)h(for)f(other)g(modules,)g(and)h
(hence)f(can)g(safely)h(be)g(gi)n(v)o(en)e(to)i Ft(ghc)50
b(--make)p FA(.)35 b(Ho)n(we)n(v)o(er)m(,)23 b(if)h(all)g(the)g
(modules)f(are)h(otherwise)80 1668 y(up)g(to)h(date,)g(you)f(may)g
(need)g(to)h(force)f(recompilation)e(both)i(of)h(the)f(module)f(where)i
(the)f(ne)n(w)h("main")f(is,)i(and)e(of)h(the)f(module)g(where)80
1767 y(the)i("main")g(function)e(used)i(to)h(be;)i Ft(ghc)d
FA(is)h(not)f(cle)n(v)o(er)g(enough)e(to)i(\002gure)g(out)g(that)g(the)
o(y)f(both)h(need)f(recompiling.)41 b(Y)-9 b(ou)26 b(can)g(force)80
1867 y(recompilation)18 b(by)i(remo)o(ving)d(the)k(object)e(\002le,)i
(or)f(by)g(using)f(the)h Ft(-fforce-recomp)f FA(\003ag.)p
Black -107 2033 a Fh(-no-hs-main)p Black 81 w FA(In)j(the)g(e)n(v)o
(ent)g(you)f(w)o(ant)i(to)f(include)f(ghc-compiled)f(code)h(as)i(part)f
(of)g(another)f(\(non-Hask)o(ell\))f(program,)h(the)h(R)-5
b(TS)23 b(will)80 2133 y(not)e(be)h(supplying)d(its)k(de\002nition)d
(of)i Ft(main\(\))f FA(at)h(link-time,)f(you)f(will)j(ha)n(v)o(e)e(to.)
29 b(T)-7 b(o)21 b(signal)h(that)g(to)f(the)h(compiler)e(when)h
(linking,)g(use)80 2232 y Ft(-no-hs-main)p FA(.)i(See)e(also)g(Section)
p 1 0 0 TeXcolorrgb 1239 2233 a
SDict begin H.S end
1239 2233 a 1 0 0 TeXcolorrgb
-1 x FA(8.2.1.1)p 1 0 0 TeXcolorrgb 1468 2176 a
SDict begin H.R end
1468
2176 a 1468 2232 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.8.2.1.1) cvn H.B /ANN pdfmark end
1468 2232 a Black FA(.)80 2365 y(Notice)k(that)g
(since)g(the)g(command-line)d(passed)j(to)g(the)g(link)o(er)f(is)i
(rather)e(in)m(v)n(olv)o(ed,)g(you)g(probably)e(w)o(ant)j(to)g(use)g
Fu(ghc)g FA(to)g(do)g(the)g(\002nal)80 2465 y(link)c(of)h(your)e(`mix)o
(ed-language')d(application.)27 b(This)22 b(is)h(not)e(a)h(requirement)
d(though,)h(just)i(try)f(linking)g(once)g(with)g Ft(-v)h
FA(on)f(to)h(see)g(what)80 2564 y(options)d(the)h(dri)n(v)o(er)f
(passes)i(through)d(to)i(the)h(link)o(er)-5 b(.)80 2697
y(The)20 b Ft(-no-hs-main)f FA(\003ag)i(can)f(also)h(be)f(used)g(to)h
(persuade)e(the)i(compiler)e(to)h(do)h(the)f(link)g(step)h(in)g
Ft(--make)f FA(mode)f(when)h(there)g(is)h(no)80 2797
y(Hask)o(ell)g Ft(Main)f FA(module)e(present)i(\(normally)e(the)i
(compiler)f(will)i(not)f(attempt)g(linking)f(when)g(there)h(is)h(no)f
Ft(Main)p FA(\).)p Black -107 2963 a Fh(-debug)p Black
61 w FA(Link)32 b(the)h(program)d(with)j(a)g(deb)n(ugging)d(v)o(ersion)
i(of)g(the)h(runtime)e(system.)63 b(The)32 b(deb)n(ugging)e(runtime)i
(turns)g(on)g(numerous)80 3062 y(assertions)20 b(and)g(sanity)h
(checks,)e(and)h(pro)o(vides)f(e)o(xtra)h(options)f(for)h(producing)e
(deb)n(ugging)f(output)j(at)h(runtime)e(\(run)g(the)i(program)d(with)80
3162 y Ft(+RTS)49 b(-?)25 b FA(to)c(see)g(a)f(list\).)p
Black -107 3328 a Fh(-threaded)p Black 61 w FA(Link)j(the)g(program)e
(with)j(the)g("threaded")d(v)o(ersion)h(of)i(the)f(runtime)f(system.)35
b(The)23 b(threaded)f(runtime)h(system)g(is)i(so-called)80
3428 y(because)20 b(it)g(manages)g(multiple)f(OS)i(threads,)e(as)i
(opposed)e(to)h(the)g(def)o(ault)g(runtime)f(system)h(which)g(is)h
(purely)e(single-threaded.)80 3560 y(Note)26 b(that)g(you)f(do)h
Fq(not)h FA(need)f Ft(-threaded)f FA(in)h(order)f(to)h(use)g
(concurrenc)o(y;)g(the)g(single-threaded)d(runtime)i(supports)g
(concurrenc)o(y)80 3660 y(between)19 b(Hask)o(ell)i(threads)e(just)i
(\002ne.)80 3793 y(The)f(threaded)e(runtime)h(system)i(pro)o(vides)d
(the)j(follo)n(wing)d(bene\002ts:)p Black 80 3959 a(\225)p
Black 42 w(P)o(arallelism)i(on)f(a)i(multiprocessor)d(or)i(multicore)f
(machine.)24 b(See)d(Section)p 1 0 0 TeXcolorrgb 2386
3960 a
SDict begin H.S end
2386 3960 a 1 0 0 TeXcolorrgb -1 x FA(4.12)p 1 0 0
TeXcolorrgb 2532 3903 a
SDict begin H.R end
2532 3903 a 2532 3959 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.12) cvn H.B /ANN pdfmark end
2532
3959 a Black FA(.)151 4075 y(The)e(ability)h(to)h(mak)o(e)e(a)i
(foreign)e(call)h(that)h(does)e(not)h(block)g(all)g(other)g(Hask)o(ell)
g(threads.)151 4191 y(The)f(ability)h(to)h(in)m(v)n(ok)o(e)e(foreign)f
(e)o(xported)g(Hask)o(ell)j(functions)d(from)i(multiple)f(OS)i
(threads.)80 4358 y(W)m(ith)g Ft(-threaded)p FA(,)e(calls)i(to)g
(foreign)e(functions)g(are)h(made)g(using)g(the)h(same)f(OS)i(thread)d
(that)i(created)f(the)g(Hask)o(ell)h(thread)e(\(if)i(it)g(w)o(as)80
4457 y(created)k(by)f(a)i(call)g(to)f(a)h(foreign)e(e)o(xported)f(Hask)
o(ell)i(function\),)g(or)g(an)g(arbitrary)f(OS)i(thread)e(otherwise)h
(\(if)g(the)g(Hask)o(ell)h(thread)e(w)o(as)80 4557 y(created)19
b(by)h Ft(forkIO)p FA(\).)80 4690 y(More)g(details)g(on)g(the)g(use)h
(of)e("bound)g(threads")g(in)h(the)h(threaded)d(runtime)h(can)h(be)g
(found)f(in)h(the)p 0 1 0 0 TeXcolorcmyk 2972 4691 a
SDict begin H.S end
2972 4691 a 0 1 0 0 TeXcolorcmyk -1 x FA(Control.Concurrent)p
0 1 0 0 TeXcolorcmyk 3620 4633 a
SDict begin H.R end
3620 4633 a 3620 4690
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Concurrent.html) >> /Subtype /Link H.B /ANN pdfmark end
3620 4690 a Black 21 w FA(module.)p Black -107 4856
a Fh(-fno-gen-manifest)p Black 59 w FA(On)h(W)m(indo)n(ws,)f(GHC)i
(normally)d(generates)h(a)h Fq(manifest)q FA(\002le)h(when)e(linking)g
(a)h(binary)-5 b(.)25 b(The)c(manifest)f(is)i(placed)80
4955 y(in)e(the)g(\002le)g Fr(prog)t Ft(.exe.manifest)e
FA(where)h Fr(prog.exe)g FA(is)i(the)f(name)f(of)h(the)f(e)o(x)o
(ecutable.)k(The)d(manifest)f(\002le)i(currently)d(serv)o(es)h(just)80
5055 y(one)j(purpose:)29 b(it)24 b(disables)f(the)f("installer)h
(detection"in)e(W)m(indo)n(ws)h(V)-5 b(ista)24 b(that)f(attempts)g(to)g
(ele)n(v)n(ate)f(pri)n(vile)o(ges)f(for)i(e)o(x)o(ecutables)e(with)80
5155 y(certain)e(names)g(\(e.g.)24 b(names)19 b(containing)e
("install",)i("setup")g(or)g("patch"\).)24 b(W)m(ithout)18
b(the)i(manifest)e(\002le)i(to)g(turn)e(of)n(f)h(installer)g
(detection,)80 5254 y(attempting)j(to)h(run)f(an)g(e)o(x)o(ecutable)f
(that)i(W)m(indo)n(ws)f(deems)h(to)g(be)g(an)g(installer)f(will)i
(return)e(a)h(permission)f(error)f(code)i(to)g(the)f(in)m(v)n(ok)o(er)
-5 b(.)80 5354 y(Depending)19 b(on)h(the)h(in)m(v)n(ok)o(er)m(,)d(the)j
(result)g(might)f(be)g(a)h(dialog)f(box)g(asking)g(the)h(user)f(for)g
(ele)n(v)n(ated)g(permissions,)g(or)g(it)i(might)e(simply)g(be)80
5453 y(a)h(permission)e(denied)g(error)-5 b(.)80 5586
y(Installer)28 b(detection)g(can)h(be)g(also)g(turned)e(of)n(f)h
(globally)g(for)g(the)h(system)g(using)f(the)h(security)f(control)g
(panel,)i(b)n(ut)f(GHC)g(by)g(def)o(ault)80 5686 y(generates)19
b(binaries)h(that)g(don')o(t)f(depend)f(on)i(the)g(user)g(ha)n(ving)f
(disabled)h(installer)g(detection.)p Black -128 6084
4252 5 v Black eop end
%%Page: 70 85
TeXDict begin 70 84 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.70) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(70)20 b(/)g(224)p
-128 -179 4252 5 v Black 80 173 a FA(The)d Ft(-fno-gen-manifest)d
FA(disables)j(generation)e(of)i(the)g(manifest)g(\002le.)24
b(One)17 b(reason)f(to)i(do)e(this)i(w)o(ould)e(be)h(if)g(you)g(had)f
(a)h(manifest)80 273 y(\002le)k(of)f(your)f(o)n(wn,)g(for)h(e)o
(xample.)80 405 y(In)g(the)g(future,)f(GHC)i(might)e(use)i(the)f
(manifest)g(\002le)h(for)e(more)h(things,)f(such)h(as)h(supplying)d
(the)i(location)g(of)f(dependent)f(DLLs.)80 538 y Ft(-fno-gen-manifest)
g FA(also)i(implies)g Ft(-fno-embed-manifest)p FA(,)d(see)k(belo)n(w)-5
b(.)p Black -107 703 a Fh(-fno-embed-manifest)p Black
59 w FA(The)20 b(manifest)f(\002le)i(that)g(GHC)g(generates)e(when)g
(linking)g(a)i(binary)e(on)h(W)m(indo)n(ws)f(is)i(also)g(embedded)d(in)
i(the)80 803 y(e)o(x)o(ecutable)g(itself,)j(by)f(def)o(ault.)30
b(This)23 b(means)f(that)g(the)g(binary)f(can)h(be)g(distrib)n(uted)g
(without)f(ha)n(ving)g(to)i(supply)e(the)h(manifest)g(\002le)h(too.)80
903 y(The)g(embedding)d(is)k(done)e(by)h(running)d Ft(windres)p
FA(;)k(to)f(see)h(e)o(xactly)e(what)h(GHC)h(does)f(to)g(embed)f(the)h
(manifest,)g(use)g(the)g Ft(-v)g FA(\003ag.)33 b(A)80
1002 y(GHC)21 b(installation)f(comes)g(with)g(its)h(o)n(wn)f(cop)o(y)f
(of)h Ft(windres)g FA(for)f(this)i(reason.)80 1135 y(See)g(also)f
Ft(-pgmwindres)f FA(\(Section)p 1 0 0 TeXcolorrgb 1241
1136 a
SDict begin H.S end
1241 1136 a 1 0 0 TeXcolorrgb -1 x FA(4.10.1)p
1 0 0 TeXcolorrgb 1449 1078 a
SDict begin H.R end
1449 1078 a 1449 1135 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.1) cvn H.B /ANN pdfmark end
1449 1135 a Black FA(\))h(and)g Ft(-optwindres)f FA(\(Section)p
1 0 0 TeXcolorrgb 2504 1136 a
SDict begin H.S end
2504 1136 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.2)p 1 0 0 TeXcolorrgb 2712 1078 a
SDict begin H.R end
2712 1078
a 2712 1135 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.2) cvn H.B /ANN pdfmark end
2712 1135 a Black FA(\).)-128 1274 y
SDict begin H.S end
-128
1274 a -128 1274 a
SDict begin 12 H.A end
-128 1274 a -128 1274 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.11) cvn H.B /DEST pdfmark end
-128 1274
a Black 184 x Fs(4.11)p Black 107 w(Using)29 b(Concurrent)f(Haskell)
-128 1585 y
SDict begin H.S end
-128 1585 a -128 1585 a
SDict begin 12 H.A end
-128 1585 a -128
1585 a
SDict begin [ /View [/XYZ H.V] /Dest (using-concurrent) cvn H.B /DEST pdfmark end
-128 1585 a 114 x FA(GHC)d(supports)e(Concurrent)f(Hask)o(ell)j
(by)e(def)o(ault,)h(without)g(requiring)d(a)k(special)f(option)f(or)g
(libraries)h(compiled)f(in)h(a)g(certain)g(w)o(ay)-5
b(.)36 b(T)-7 b(o)24 b(get)-128 1799 y(access)d(to)g(the)f(support)f
(libraries)h(for)f(Concurrent)g(Hask)o(ell,)h(just)h(import)p
0 1 0 0 TeXcolorcmyk 2065 1800 a
SDict begin H.S end
2065 1800 a 0 1 0 0
TeXcolorcmyk -1 x FA(Control.Concurrent)p 0 1 0 0 TeXcolorcmyk
2713 1742 a
SDict begin H.R end
2713 1742 a 2713 1799 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Concurrent.html) >> /Subtype /Link H.B /ANN pdfmark end
2713 1799 a Black
FA(.)26 b(More)20 b(information)d(on)j(Concurrent)f(Hask)o(ell)-128
1898 y(is)j(pro)o(vided)17 b(in)k(the)f(documentation)d(for)j(that)g
(module.)-128 2047 y(The)g(follo)n(wing)f(R)-5 b(TS)21
b(option\(s\))d(af)n(fect)i(the)g(beha)n(viour)e(of)i(Concurrent)f
(Hask)o(ell)h(programs:)p Black -128 2261 a Fh(-C)p Ff(s)p
Black 42 w FA(Sets)j(the)f(conte)o(xt)f(switch)i(interv)n(al)e(to)h
Fr(s)h FA(seconds.)30 b(A)23 b(conte)o(xt)e(switch)i(will)g(occur)e(at)
h(the)h(ne)o(xt)e(heap)h(block)f(allocation)g(after)h(the)g(timer)80
2361 y(e)o(xpires)h(\(a)g(heap)g(block)g(allocation)f(occurs)h(e)n(v)o
(ery)f(4k)h(of)h(allocation\).)33 b(W)m(ith)24 b Ft(-C0)f
FA(or)h Ft(-C)p FA(,)f(conte)o(xt)f(switches)j(will)f(occur)e(as)j
(often)d(as)80 2460 y(possible)e(\(at)g(e)n(v)o(ery)f(heap)h(block)f
(allocation\).)k(By)e(def)o(ault,)e(conte)o(xt)g(switches)i(occur)e(e)n
(v)o(ery)g(20ms.)-128 2603 y
SDict begin H.S end
-128 2603 a -128 2603 a
SDict begin 12 H.A end
-128 2603 a -128 2603 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.12) cvn H.B /DEST pdfmark end
-128 2603 a Black 181 x Fs(4.12)p
Black 107 w(Using)29 b(SMP)g(parallelism)-128 2911 y
SDict begin H.S end
-128 2911 a -128 2911 a
SDict begin 12 H.A end
-128 2911 a -128 2911 a
SDict begin [ /View [/XYZ H.V] /Dest (using-smp) cvn H.B /DEST pdfmark end
-128
2911 a 114 x FA(GHC)21 b(supports)f(running)e(Hask)o(ell)i(programs)e
(in)j(parallel)f(on)f(an)h(SMP)h(\(symmetric)e(multiprocessor\).)-128
3173 y(There')-5 b(s)29 b(a)h(\002ne)g(distinction)e(between)h
Fq(concurr)m(ency)f FA(and)h Fq(par)o(allelism)p FA(:)43
b(parallelism)29 b(is)h(all)g(about)e(making)g(your)h(program)e(run)h
Fq(faster)k FA(by)-128 3273 y(making)21 b(use)h(of)f(multiple)g
(processors)g(simultaneously)-5 b(.)27 b(Concurrenc)o(y)-5
b(,)19 b(on)i(the)h(other)f(hand,)g(is)h(a)g(means)g(of)f(abstraction:)
27 b(it)c(is)g(a)f(con)m(v)o(enient)-128 3373 y(w)o(ay)f(to)f
(structure)f(a)i(program)d(that)i(must)g(respond)f(to)h(multiple)g
(asynchronous)d(e)n(v)o(ents.)-128 3521 y(Ho)n(we)n(v)o(er)m(,)g(the)i
(tw)o(o)g(terms)g(are)g(certainly)f(related.)24 b(By)19
b(making)e(use)i(of)g(multiple)f(CPUs)i(it)g(is)g(possible)e(to)h(run)f
(concurrent)f(threads)h(in)h(parallel,)-128 3621 y(and)30
b(this)h(is)g(e)o(xactly)e(what)h(GHC')-5 b(s)31 b(SMP)g(parallelism)f
(support)f(does.)54 b(But)31 b(it)g(is)g(also)f(possible)g(to)g(obtain)
g(performance)d(impro)o(v)o(ements)-128 3721 y(with)d(parallelism)f(on)
h(programs)d(that)j(do)f(not)g(use)h(concurrenc)o(y)-5
b(.)32 b(This)24 b(section)f(describes)g(ho)n(w)g(to)h(use)g(GHC)g(to)g
(compile)f(and)g(run)f(parallel)-128 3820 y(programs,)d(in)h(Section)p
1 0 0 TeXcolorrgb 583 3821 a
SDict begin H.S end
583 3821 a 1 0 0 TeXcolorrgb
-1 x FA(7.18)p 1 0 0 TeXcolorrgb 728 3764 a
SDict begin H.R end
728 3764
a 728 3820 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.18) cvn H.B /ANN pdfmark end
728 3820 a Black 21 w FA(we)g(describe)g(the)g(language)e
(features)i(that)g(af)n(fect)g(parallelism.)-128 3954
y
SDict begin H.S end
-128 3954 a -128 3954 a
SDict begin 12 H.A end
-128 3954 a -128 3954 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.12.1) cvn H.B /DEST pdfmark end
-128
3954 a Black 148 x Fp(4.12.1)p Black 89 w(Options)k(f)n(or)h(SMP)f
(parallelism)-128 4190 y
SDict begin H.S end
-128 4190 a -128 4190 a
SDict begin 12 H.A end
-128
4190 a -128 4190 a
SDict begin [ /View [/XYZ H.V] /Dest (parallel-options) cvn H.B /DEST pdfmark end
-128 4190 a 114 x FA(In)f(order)e(to)i(mak)o(e)f
(use)h(of)f(multiple)g(CPUs,)i(your)e(program)e(must)j(be)f(link)o(ed)g
(with)h(the)f Ft(-threaded)g FA(option)f(\(see)i(Section)p
1 0 0 TeXcolorrgb 3644 4305 a
SDict begin H.S end
3644 4305 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.7)p 1 0 0 TeXcolorrgb 3852 4248 a
SDict begin H.R end
3852 4248
a 3852 4304 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
3852 4304 a Black FA(\).)32 b(Then,)-128
4404 y(to)21 b(run)e(a)i(program)d(on)i(multiple)f(CPUs,)i(use)g(the)f
(R)-5 b(TS)21 b Ft(-N)g FA(option:)p Black -128 4618
a Fh(-N)p Ff(x)p Black 47 w FA(Use)h Fr(x)27 b FA(simultaneous)21
b(threads)g(when)g(running)f(the)i(program.)28 b(Normally)21
b Fr(x)27 b FA(should)21 b(be)h(chosen)f(to)h(match)f(the)h(number)e
(of)i(CPU)h(cores)80 4717 y(on)d(the)g(machine)589 4687
y Fn(3)622 4717 y FA(.)26 b(F)o(or)19 b(e)o(xample,)g(on)h(a)g
(dual-core)f(machine)g(we)h(w)o(ould)g(probably)e(use)i
Ft(+RTS)49 b(-N2)g(-RTS)p FA(.)80 4850 y(Setting)20 b
Ft(-N)g FA(also)h(has)f(the)h(ef)n(fect)e(of)h(setting)g
Ft(-g)h FA(\(the)e(number)g(of)h(OS)h(threads)e(to)i(use)f(for)g
(garbage)e(collection\))g(to)j(the)f(same)g(v)n(alue.)80
4982 y(There)f(is)i(no)f(means)g(\(currently\))e(by)i(which)f(this)i(v)
n(alue)f(may)f(v)n(ary)g(after)h(the)h(program)d(has)i(started.)-128
5196 y(The)g(follo)n(wing)f(options)g(af)n(fect)h(the)g(w)o(ay)g(the)g
(runtime)f(schedules)h(threads)f(on)h(CPUs:)p Black -128
5410 a Fh(-qm)p Black 41 w FA(Disable)g(automatic)e(migration)f(for)h
(load)h(balancing.)k(Normally)18 b(the)h(runtime)e(will)j
(automatically)e(try)g(to)i(schedule)e(threads)g(across)h(the)80
5510 y(a)n(v)n(ailable)e(CPUs)i(to)e(mak)o(e)g(use)g(of)g(idle)h(CPUs;)
i(this)d(option)g(disables)g(that)g(beha)n(viour)-5 b(.)23
b(It)17 b(is)i(probably)c(only)h(of)h(use)h(if)f(you)g(are)g(e)o
(xplicitly)80 5610 y(scheduling)h(threads)i(onto)f(CPUs)j(with)e
Ft(GHC.Conc.forkOnIO)p FA(.)p Black -128 5680 1701 4
v -7 5735 a Fm(3)22 5759 y Fl(Whether)e(hyperthreading)i(cores)e
(should)g(be)f(counted)i(or)e(not)h(is)e(an)i(open)f(question;)j
(please)e(feel)g(free)g(to)f(e)o(xperiment)j(and)d(let)h(us)f(kno)n(w)h
(what)f(results)h(you)g(\002nd.)p Black Black -128 6084
4252 5 v Black eop end
%%Page: 71 86
TeXDict begin 71 85 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.71) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(71)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fh(-qw)p Black
41 w FA(Migrate)h(a)h(thread)e(to)i(the)f(current)f(CPU)j(when)e(it)h
(is)g(w)o(ok)o(en)f(up.)28 b(Normally)20 b(when)h(a)g(thread)g(is)h(w)o
(ok)o(en)f(up)g(after)g(being)f(block)o(ed)g(it)i(will)80
273 y(be)27 b(scheduled)f(on)i(the)f(CPU)i(it)f(w)o(as)g(running)d(on)j
(last;)k(this)c(option)e(allo)n(ws)i(the)f(thread)g(to)g(immediately)g
(migrate)f(to)i(the)f(CPU)i(that)80 372 y(unblock)o(ed)18
b(it.)80 505 y(The)26 b(rationale)g(for)g(allo)n(wing)g(this)h(eager)f
(migration)f(is)i(that)g(it)g(tends)g(to)g(mo)o(v)o(e)e(threads)h(that)
g(are)h(communicating)d(with)j(each)f(other)80 605 y(onto)d(the)g(same)
g(CPU;)i(ho)n(we)n(v)o(er)c(there)i(are)g(pathalogical)f(situations)h
(where)g(it)h(turns)f(out)g(to)h(be)f(a)h(poor)e(strate)o(gy)-5
b(.)33 b(Depending)21 b(on)i(the)80 705 y(communication)17
b(pattern)j(in)g(your)f(program,)f(it)j(may)e(or)h(may)g(not)g(be)g(a)h
(good)d(idea.)-128 839 y
SDict begin H.S end
-128 839 a -128 839 a
SDict begin 12 H.A end
-128 839
a -128 839 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.12.2) cvn H.B /DEST pdfmark end
-128 839 a Black 148 x Fp(4.12.2)p Black
89 w(Hints)24 b(f)n(or)h(using)f(SMP)g(parallelism)-128
1190 y FA(Add)i(the)h Ft(-s)f FA(R)-5 b(TS)28 b(option)d(when)h
(running)e(the)i(program)e(to)j(see)g(timing)f(stats,)j(which)c(will)j
(help)d(to)i(tell)g(you)f(whether)f(your)g(program)f(got)-128
1289 y(f)o(aster)f(by)f(using)g(more)f(CPUs)j(or)e(not.)32
b(If)22 b(the)g(user)g(time)h(is)g(greater)f(than)g(the)g(elapsed)g
(time,)h(then)f(the)g(program)f(used)h(more)f(than)h(one)g(CPU.)-128
1389 y(Y)-9 b(ou)20 b(should)f(also)i(run)e(the)h(program)e(without)i
Ft(-N)g FA(for)g(comparison.)-128 1538 y(GHC')-5 b(s)23
b(parallelism)e(support)e(is)k(ne)n(w)e(and)f(e)o(xperimental.)26
b(It)c(may)e(mak)o(e)h(your)f(program)f(go)i(f)o(aster)m(,)g(or)g(it)h
(might)f(slo)n(w)g(it)h(do)n(wn)e(-)i(either)f(w)o(ay)-5
b(,)-128 1638 y(we')l(d)20 b(be)g(interested)g(to)g(hear)g(from)f(you.)
-128 1788 y(One)i(signi\002cant)g(limitation)g(with)g(the)g(current)f
(implementation)f(is)j(that)f(the)h(garbage)d(collector)h(is)i(still)g
(single-threaded,)d(and)h(all)i(e)o(x)o(ecution)-128
1887 y(must)f(stop)g(when)f(GC)i(tak)o(es)f(place.)26
b(This)21 b(can)g(be)g(a)g(signi\002cant)f(bottleneck)f(in)i(a)h
(parallel)e(program,)e(especially)j(if)g(your)e(program)g(does)i(a)g
(lot)-128 1987 y(of)f(GC.)h(If)f(this)h(happens)d(to)j(you,)e(then)g
(try)h(reducing)f(the)h(cost)g(of)g(GC)h(by)f(tweaking)f(the)h(GC)h
(settings)f(\(Section)p 1 0 0 TeXcolorrgb 3229 1988 a
SDict begin H.S end
3229 1988 a 1 0 0 TeXcolorrgb -1 x FA(4.14.3)p 1 0 0
TeXcolorrgb 3436 1930 a
SDict begin H.R end
3436 1930 a 3436 1987 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.3) cvn H.B /ANN pdfmark end
3436
1987 a Black FA(\):)26 b(enlar)o(ging)18 b(the)i(heap)-128
2086 y(or)g(the)h(allocation)e(area)h(size)h(is)g(a)f(good)f(start.)
-128 2229 y
SDict begin H.S end
-128 2229 a -128 2229 a
SDict begin 12 H.A end
-128 2229 a -128
2229 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.13) cvn H.B /DEST pdfmark end
-128 2229 a Black 182 x Fs(4.13)p Black 107 w(Platf)n
(orm-speci\002c)27 b(Fla)o(gs)-128 2538 y
SDict begin H.S end
-128 2538 a
-128 2538 a
SDict begin 12 H.A end
-128 2538 a -128 2538 a
SDict begin [ /View [/XYZ H.V] /Dest (options-platform) cvn H.B /DEST pdfmark end
-128 2538 a 114 x
FA(Some)20 b(\003ags)h(only)e(mak)o(e)h(sense)h(for)e(particular)g(tar)
o(get)g(platforms.)p Black -128 2868 a Fh(-monly-[32]-regs)p
Fu(:)p Black 39 w FA(\(iX86)28 b(machines\))f(GHC)j(tries)f(to)g
(\223steal\224)g(four)f(re)o(gisters)g(from)g(GCC,)i(for)e(performance)
e(reasons;)32 b(it)e(almost)80 2968 y(al)o(w)o(ays)21
b(w)o(orks.)j(Ho)n(we)n(v)o(er)m(,)18 b(when)i(GCC)h(is)g(compiling)e
(some)h(modules)f(with)h(four)f(stolen)i(re)o(gisters,)e(it)i(will)g
(crash,)f(probably)e(saying:)-128 3035 y
SDict begin H.S end
-128 3035 a
-128 3035 a
SDict begin 12 H.A end
-128 3035 a -128 3035 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-157) cvn H.B /DEST pdfmark end
-128 3035 a 0.95
TeXcolorgray 55 3051 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3142
25 92 v Black 0.95 TeXcolorgray 80 3142 4045 92 v Black
0.95 TeXcolorgray 4124 3142 25 92 v Black 0.95 TeXcolorgray
Black 80 3115 a
SDict begin H.S end
80 3115 a 80 3115 a
SDict begin 11 H.A end
80 3115 a 80 3115
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-157.1) cvn H.B /DEST pdfmark end
80 3115 a 0 0 0 TeXcolorrgb Fo(Foo)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hc)p Black(:533:)p 0 0 0 TeXcolorrgb
44 w(fixed)p Black 0 0 0 TeXcolorrgb 44 w(or)p Black
0 0 0 TeXcolorrgb 44 w(forbidden)p Black 0 0 0 TeXcolorrgb
44 w(register)p Black 0 0 0 TeXcolorrgb 43 w(was)p Black
0 0 0 TeXcolorrgb 45 w(spilled)p Black -2 w(.)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 3233 25 92 v
Black 0.95 TeXcolorgray 80 3233 4045 92 v Black 0.95
TeXcolorgray 4124 3233 25 92 v Black 0.95 TeXcolorgray
Black 80 3206 a
SDict begin H.S end
80 3206 a 80 3206 a
SDict begin 11 H.A end
80 3206 a 80 3206
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-157.2) cvn H.B /DEST pdfmark end
80 3206 a 0 0 0 TeXcolorrgb Fo(This)p Black 0 0 0 TeXcolorrgb
44 w(may)p Black 0 0 0 TeXcolorrgb 44 w(be)p Black 0 0 0
TeXcolorrgb 45 w(due)p Black 0 0 0 TeXcolorrgb 44 w(to)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb
44 w(compiler)p Black 0 0 0 TeXcolorrgb 44 w(bug)p Black
0 0 0 TeXcolorrgb 44 w(or)p Black 0 0 0 TeXcolorrgb 45
w(to)p Black 0 0 0 TeXcolorrgb 44 w(impossible)p Black
0 0 0 TeXcolorrgb 43 w(asm)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3325 25 92 v Black 0.95 TeXcolorgray
80 3325 4045 92 v Black 0.95 TeXcolorgray 4124 3325 25
92 v Black 0.95 TeXcolorgray Black 80 3297 a
SDict begin H.S end
80 3297
a 80 3297 a
SDict begin 11 H.A end
80 3297 a 80 3297 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-157.3) cvn H.B /DEST pdfmark end
80 3297 a 0 0 0 TeXcolorrgb
Fo(statements)p Black 0 0 0 TeXcolorrgb 43 w(or)p Black
0 0 0 TeXcolorrgb 45 w(clauses)p Black -2 w(.)p 0.95
TeXcolorgray 55 3350 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 3507 a FA(Just)k(gi)n(v)o(e)e(some)h(re)o(gisters)
f(back)g(with)h Ft(-monly-N-regs)p FA(.)26 b(T)m(ry)20
b(`3')g(\002rst,)i(then)f(`2'.)26 b(If)21 b(`2')f(doesn')o(t)g(w)o
(ork,)g(please)h(report)f(the)g(b)n(ug)h(to)80 3607 y(us.)-128
3733 y
SDict begin H.S end
-128 3733 a -128 3733 a
SDict begin 12 H.A end
-128 3733 a -128 3733
a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.14) cvn H.B /DEST pdfmark end
-128 3733 a Black 198 x Fs(4.14)p Black 107 w(Running)29
b(a)g(compiled)g(pr)n(ogram)-128 4058 y
SDict begin H.S end
-128 4058 a -128
4058 a
SDict begin 12 H.A end
-128 4058 a -128 4058 a
SDict begin [ /View [/XYZ H.V] /Dest (runtime-control) cvn H.B /DEST pdfmark end
-128 4058 a 115 x FA(T)-7
b(o)21 b(mak)o(e)f(an)h(e)o(x)o(ecutable)d(program,)h(the)h(GHC)i
(system)e(compiles)g(your)g(code)g(and)g(then)g(links)g(it)i(with)e(a)h
(non-tri)n(vial)e(runtime)g(system)i(\(R)-5 b(TS\),)-128
4272 y(which)20 b(handles)f(storage)h(management,)e(pro\002ling,)g
(etc.)-128 4422 y(Y)-9 b(ou)20 b(ha)n(v)o(e)g(some)g(control)f(o)o(v)o
(er)f(the)j(beha)n(viour)d(of)i(the)g(R)-5 b(TS,)21 b(by)e(gi)n(ving)g
(special)i(command-line)c(ar)o(guments)h(to)i(your)f(program.)-128
4571 y(When)g(your)f(Hask)o(ell)i(program)d(starts)j(up,)f(its)h(R)-5
b(TS)20 b(e)o(xtracts)f(command-line)d(ar)o(guments)h(brack)o(eted)h
(between)g Ft(+RTS)h FA(and)g Ft(-RTS)g FA(as)h(its)g(o)n(wn.)-128
4671 y(F)o(or)g(e)o(xample:)-128 4739 y
SDict begin H.S end
-128 4739 a -128
4739 a
SDict begin 12 H.A end
-128 4739 a -128 4739 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-158) cvn H.B /DEST pdfmark end
-128 4739 a 0.95 TeXcolorgray
-153 4754 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4845 25 92
v Black 0.95 TeXcolorgray -128 4845 4252 92 v Black 0.95
TeXcolorgray 4124 4845 25 92 v Black 0.95 TeXcolorgray
Black -128 4818 a
SDict begin H.S end
-128 4818 a -128 4818 a
SDict begin 11 H.A end
-128 4818 a
-128 4818 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-158.1) cvn H.B /DEST pdfmark end
-128 4818 a Fo(\045)45 b(./)p 0 0 0 TeXcolorrgb(a)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(out)p Black 45 w(-)p
0 0 0 TeXcolorrgb(f)p Black 44 w(+)p 0 0 0 TeXcolorrgb(RTS)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(p)p Black 45 w(-)p 0 0 0
TeXcolorrgb(S)p Black 44 w(-)p 0 0 0 TeXcolorrgb(RTS)p
Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(h)p Black 0 0 0
TeXcolorrgb 45 w(foo)p Black 0 0 0 TeXcolorrgb 44 w(bar)p
Black 0.95 TeXcolorgray -153 4870 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5044 a FA(The)20
b(R)-5 b(TS)21 b(will)g(snaf)n(\003e)f Ft(-p)h(-S)f FA(for)g(itself,)h
(and)e(the)i(remaining)d(ar)o(guments)g Ft(-f)50 b(-h)f(foo)g(bar)21
b FA(will)g(be)f(handed)e(to)j(your)e(program)f(if/when)-128
5144 y(it)j(calls)g Ft(System.getArgs)p FA(.)-128 5293
y(No)g Ft(-RTS)f FA(option)f(is)i(required)d(if)j(the)f(runtime-system)
e(options)h(e)o(xtend)g(to)i(the)f(end)f(of)h(the)h(command)d(line,)i
(as)h(in)f(this)h(e)o(xample:)-128 5361 y
SDict begin H.S end
-128 5361 a
-128 5361 a
SDict begin 12 H.A end
-128 5361 a -128 5361 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-159) cvn H.B /DEST pdfmark end
-128 5361 a 0.95
TeXcolorgray -153 5377 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5468 25 92 v Black 0.95 TeXcolorgray -128 5468 4252 92
v Black 0.95 TeXcolorgray 4124 5468 25 92 v Black 0.95
TeXcolorgray Black -128 5440 a
SDict begin H.S end
-128 5440 a -128 5440
a
SDict begin 11 H.A end
-128 5440 a -128 5440 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-159.1) cvn H.B /DEST pdfmark end
-128 5440 a Fo(\045)p 0 0 0
TeXcolorrgb 45 w(hls)p Black 44 w(-)p 0 0 0 TeXcolorrgb(ltr)p
Black 45 w(/)p 0 0 0 TeXcolorrgb -1 w(usr)p Black(/)p
0 0 0 TeXcolorrgb(etc)p Black 44 w(+)p 0 0 0 TeXcolorrgb(RTS)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(A5m)p Black 0.95 TeXcolorgray
-153 5493 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 72 87
TeXDict begin 72 86 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.72) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(72)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(If)27 b(you)f(absolutely)f
(positi)n(v)o(ely)h(w)o(ant)g(all)i(the)e(rest)h(of)g(the)f(options)g
(in)h(a)g(command)d(line)j(to)g(go)f(to)h(the)g(program)d(\(and)i(not)g
(the)h(R)-5 b(TS\),)27 b(use)g(a)-128 273 y Ft(--RTS)p
FA(.)-128 422 y(As)j(al)o(w)o(ays,)i(for)c(R)-5 b(TS)30
b(options)e(that)h(tak)o(e)g Fr(size)p FA(s:)43 b(If)29
b(the)g(last)h(character)d(of)i Fr(size)g FA(is)h(a)f(K)h(or)e(k,)j
(multiply)d(by)h(1000;)j(if)d(an)g(M)h(or)e(m,)j(by)-128
522 y(1,000,000;)17 b(if)k(a)f(G)h(or)f(G,)h(by)e(1,000,000,000.)h
(\(And)g(an)o(y)f(wraparound)e(in)k(the)f(counters)f(is)i
Fq(your)h FA(f)o(ault!\))-128 671 y(Gi)n(ving)d(a)h Ft(+RTS)49
b(-f)19 b FA(option)f(will)i(print)f(out)g(the)g(R)-5
b(TS)21 b(options)d(actually)h(a)n(v)n(ailable)f(in)i(your)e(program)f
(\(which)i(v)n(ary)-5 b(,)17 b(depending)g(on)i(ho)n(w)g(you)-128
771 y(compiled\).)-128 920 y(NO)m(TE:)i(since)h(GHC)g(is)g(itself)g
(compiled)d(by)i(GHC,)h(you)e(can)h(change)f(R)-5 b(TS)22
b(options)e(in)i(the)f(compiler)f(using)g(the)i(normal)e
Ft(+RTS)49 b(...)99 b(--)-128 1020 y(RTS)21 b FA(combination.)h(e)o(g.)
j(to)20 b(increase)f(the)i(maximum)d(heap)h(size)i(for)e(a)i
(compilation)d(to)i(128M,)f(you)g(w)o(ould)h(add)f Ft(+RTS)49
b(-M128m)g(-RTS)20 b FA(to)-128 1120 y(the)h(command)d(line.)-128
1237 y
SDict begin H.S end
-128 1237 a -128 1237 a
SDict begin 12 H.A end
-128 1237 a -128 1237
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.1) cvn H.B /DEST pdfmark end
-128 1237 a Black 165 x Fp(4.14.1)p Black 89 w(Setting)24
b(global)g(R)n(TS)h(options)-128 1490 y
SDict begin H.S end
-128 1490 a -128
1490 a
SDict begin 12 H.A end
-128 1490 a -128 1490 a
SDict begin [ /View [/XYZ H.V] /Dest (rts-optinos-environment) cvn H.B /DEST pdfmark end
-128 1490 a 115 x FA(R)-5
b(TS)22 b(options)d(are)i(also)g(tak)o(en)f(from)f(the)i(en)m
(vironment)c(v)n(ariable)j Ft(GHCRTS)p FA(.)g(F)o(or)g(e)o(xample,)f
(to)h(set)i(the)e(maximum)f(heap)h(size)h(to)g(128M)e(for)h(all)-128
1705 y(GHC-compiled)f(programs)f(\(using)i(an)g Ft(sh)p
FA(-lik)o(e)g(shell\):)-128 1772 y
SDict begin H.S end
-128 1772 a -128 1772
a
SDict begin 12 H.A end
-128 1772 a -128 1772 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-160) cvn H.B /DEST pdfmark end
-128 1772 a 0.95 TeXcolorgray
-153 1788 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1879 25 92
v Black 0.95 TeXcolorgray -128 1879 4252 92 v Black 0.95
TeXcolorgray 4124 1879 25 92 v Black 0.95 TeXcolorgray
Black -128 1851 a
SDict begin H.S end
-128 1851 a -128 1851 a
SDict begin 11 H.A end
-128 1851 a
-128 1851 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-160.1) cvn H.B /DEST pdfmark end
-128 1851 a 0 0 0 TeXcolorrgb 135 w Fo(GHCRTS)p
Black -1 w(='-)p 0 0 0 TeXcolorrgb -1 w(M128m)p Black(')p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1970 25
92 v Black 0.95 TeXcolorgray -128 1970 4252 92 v Black
0.95 TeXcolorgray 4124 1970 25 92 v Black 0.95 TeXcolorgray
Black -128 1943 a
SDict begin H.S end
-128 1943 a -128 1943 a
SDict begin 11 H.A end
-128 1943 a
-128 1943 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-160.2) cvn H.B /DEST pdfmark end
-128 1943 a 0 0 0 TeXcolorrgb 135 w Fo(export)p
Black 0 0 0 TeXcolorrgb 44 w(GHCRTS)p Black 0.95 TeXcolorgray
-153 1995 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2169 a FA(R)-5 b(TS)21 b(options)f(tak)o(en)f(from)h(the)g
Ft(GHCRTS)f FA(en)m(vironment)f(v)n(ariable)h(can)h(be)g(o)o(v)o
(erridden)d(by)i(options)h(gi)n(v)o(en)f(on)g(the)i(command)d(line.)
-128 2304 y
SDict begin H.S end
-128 2304 a -128 2304 a
SDict begin 12 H.A end
-128 2304 a -128
2304 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.2) cvn H.B /DEST pdfmark end
-128 2304 a Black 148 x Fp(4.14.2)p Black 89 w(Miscellaneous)23
b(R)n(TS)i(options)-128 2540 y
SDict begin H.S end
-128 2540 a -128 2540
a
SDict begin 12 H.A end
-128 2540 a -128 2540 a
SDict begin [ /View [/XYZ H.V] /Dest (rts-options-misc) cvn H.B /DEST pdfmark end
-128 2540 a Black 181 x Fh(-V)p
Ff(secs)p Black 62 w FA(Sets)e(the)g(interv)n(al)e(that)h(the)g(R)-5
b(TS)24 b(clock)d(ticks)i(at.)31 b(The)22 b(runtime)f(uses)i(a)g
(single)f(timer)g(signal)g(to)g(count)f(ticks;)j(this)f(timer)f(signal)
g(is)80 2821 y(used)h(to)g(control)f(the)h(conte)o(xt)f(switch)h(timer)
g(\(Section)p 1 0 0 TeXcolorrgb 1734 2822 a
SDict begin H.S end
1734 2822
a 1 0 0 TeXcolorrgb -1 x FA(4.11)p 1 0 0 TeXcolorrgb
1879 2764 a
SDict begin H.R end
1879 2764 a 1879 2821 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.11) cvn H.B /ANN pdfmark end
1879 2821 a Black
FA(\))h(and)e(the)h(heap)g(pro\002ling)e(timer)i(Section)p
1 0 0 TeXcolorrgb 3161 2822 a
SDict begin H.S end
3161 2822 a 1 0 0 TeXcolorrgb
-1 x FA(5.4.1)p 1 0 0 TeXcolorrgb 3327 2764 a
SDict begin H.R end
3327 2764
a 3327 2821 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.5.4.1) cvn H.B /ANN pdfmark end
3327 2821 a Black FA(.)34 b(Also,)24 b(the)f(time)g
(pro\002ler)80 2920 y(uses)e(the)f(R)-5 b(TS)21 b(timer)f(signal)g
(directly)f(to)i(record)e(time)h(pro\002ling)f(samples.)80
3053 y(Normally)-5 b(,)26 b(setting)g(the)g Ft(-V)g FA(option)f
(directly)g(is)i(not)e(necessary:)36 b(the)26 b(resolution)f(of)h(the)g
(R)-5 b(TS)27 b(timer)f(is)g(adjusted)g(automatically)e(if)j(a)80
3153 y(short)19 b(interv)n(al)f(is)i(requested)e(with)i(the)f
Ft(-C)h FA(or)f Ft(-i)g FA(options.)24 b(Ho)n(we)n(v)o(er)m(,)17
b(setting)i Ft(-V)h FA(is)g(required)d(in)j(order)e(to)h(increase)g
(the)g(resolution)f(of)80 3252 y(the)i(time)h(pro\002ler)-5
b(.)80 3385 y(Using)16 b(a)h(v)n(alue)e(of)h(zero)g(disables)g(the)h(R)
-5 b(TS)17 b(clock)e(completely)-5 b(,)15 b(and)h(has)h(the)f(ef)n
(fect)g(of)g(disabling)f(timers)h(that)h(depend)d(on)i(it:)24
b(the)16 b(conte)o(xt)80 3485 y(switch)j(timer)f(and)f(the)h(heap)g
(pro\002ling)f(timer)-5 b(.)24 b(Conte)o(xt)18 b(switches)g(will)h
(still)h(happen,)c(b)n(ut)j(deterministically)d(and)i(at)h(a)f(rate)h
(much)e(f)o(aster)80 3585 y(than)26 b(normal.)41 b(Disabling)25
b(the)h(interv)n(al)f(timer)h(is)h(useful)e(for)h(deb)n(ugging,)e
(because)i(it)g(eliminates)g(a)h(source)e(of)h(non-determinism)c(at)80
3684 y(runtime.)p Black -128 3850 a Fh(--install-signal-handlers=)p
Ff(yes|no)p Black 58 w FA(If)h(yes)g(\(the)g(def)o(ault\),)f(the)h(R)-5
b(TS)24 b(installs)g(signal)f(handlers)f(to)h(catch)f(things)h(lik)o(e)
g(ctrl-C.)80 3950 y(This)17 b(option)f(is)i(primarily)e(useful)g(for)h
(when)f(you)g(are)h(using)g(the)g(Hask)o(ell)g(code)f(as)i(a)g(DLL,)e
(and)h(w)o(ant)g(to)g(set)h(your)e(o)n(wn)g(signal)h(handlers.)p
Black -128 4116 a Fh(-xm)p Ff(address)p Black 61 w FA(W)-10
b(ARNING:)34 b(this)e(option)f(is)i(for)f(w)o(orking)f(around)f(memory)
g(allocation)i(problems)e(only)-5 b(.)60 b(Do)32 b(not)g(use)h(unless)f
(GHCi)80 4215 y(f)o(ails)24 b(with)f(a)h(message)f(lik)o(e)g(\223)p
Ft(failed)49 b(to)g(mmap\(\))g(memory)f(below)h(2Gb)p
FA(\224.)34 b(If)23 b(you)f(need)g(to)i(use)f(this)h(option)e(to)h(get)
g(GHCi)80 4315 y(w)o(orking)c(on)g(your)g(machine,)g(please)h(\002le)h
(a)g(b)n(ug.)80 4448 y(On)30 b(64-bit)e(machines,)j(the)f(R)-5
b(TS)30 b(needs)f(to)h(allocate)f(memory)f(in)i(the)g(lo)n(w)f(2Gb)g
(of)h(the)f(address)h(space.)53 b(Support)28 b(for)h(this)h(across)80
4548 y(dif)n(ferent)16 b(operating)h(systems)h(is)h(patchy)-5
b(,)17 b(and)g(sometimes)h(f)o(ails.)25 b(This)19 b(option)d(is)k
(there)d(to)h(gi)n(v)o(e)g(the)g(R)-5 b(TS)19 b(a)g(hint)e(about)h
(where)f(it)i(should)80 4647 y(be)i(able)g(to)g(allocate)g(memory)e(in)
j(the)f(lo)n(w)g(2Gb)g(of)f(the)h(address)g(space.)28
b(F)o(or)20 b(e)o(xample,)g Ft(+RTS)49 b(-xm20000000)f(-RTS)21
b FA(w)o(ould)f(hint)80 4747 y(that)29 b(the)g(R)-5 b(TS)30
b(should)e(allocate)h(starting)g(at)g(the)h(0.5Gb)d(mark.)51
b(The)29 b(def)o(ault)f(is)i(to)g(use)f(the)g(OS')-5
b(s)30 b(b)n(uilt-in)f(support)f(for)g(allocating)80
4846 y(memory)18 b(in)j(the)f(lo)n(w)g(2Gb)g(if)g(a)n(v)n(ailable)g
(\(e.g.)k Ft(mmap)c FA(with)h Ft(MAP_32BIT)e FA(on)h(Linux\),)e(or)i
(otherwise)g Ft(-xm40000000)p FA(.)-128 4981 y
SDict begin H.S end
-128 4981
a -128 4981 a
SDict begin 12 H.A end
-128 4981 a -128 4981 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.3) cvn H.B /DEST pdfmark end
-128 4981 a Black
148 x Fp(4.14.3)p Black 89 w(R)n(TS)25 b(options)f(to)g(contr)n(ol)g
(the)h(garba)o(g)q(e)e(collector)-128 5217 y
SDict begin H.S end
-128 5217
a -128 5217 a
SDict begin 12 H.A end
-128 5217 a -128 5217 a
SDict begin [ /View [/XYZ H.V] /Dest (rts-options-gc) cvn H.B /DEST pdfmark end
-128 5217 a 115
x FA(There)e(are)g(se)n(v)o(eral)g(options)f(to)h(gi)n(v)o(e)g(you)f
(precise)h(control)f(o)o(v)o(er)g(garbage)f(collection.)27
b(Hopefully)-5 b(,)19 b(you)h(w)o(on')o(t)h(need)f(an)o(y)g(of)h(these)
h(in)f(normal)-128 5431 y(operation,)e(b)n(ut)h(there)f(are)i(se)n(v)o
(eral)e(things)h(that)g(can)g(be)g(tweak)o(ed)g(for)f(maximum)g
(performance.)p Black -128 6084 4252 5 v Black eop end
%%Page: 73 88
TeXDict begin 73 87 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.73) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(73)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(-A)p Ff(size)p
Black 82 w FA([Def)o(ault:)28 b(256k])20 b(Set)i(the)g(allocation)e
(area)i(size)g(used)f(by)h(the)f(garbage)f(collector)-5
b(.)28 b(The)22 b(allocation)e(area)i(\(actually)e(generation)g(0)80
273 y(step)g(0\))g(is)i(\002x)o(ed)d(and)h(is)h(ne)n(v)o(er)e(resized)h
(\(unless)g(you)f(use)h Ft(-H)p FA(,)g(belo)n(w\).)80
406 y(Increasing)j(the)h(allocation)g(area)g(size)i(may)e(or)g(may)g
(not)g(gi)n(v)o(e)g(better)g(performance)e(\(a)i(bigger)g(allocation)f
(area)i(means)f(w)o(orse)g(cache)80 505 y(beha)n(viour)18
b(b)n(ut)i(fe)n(wer)g(garbage)e(collections)i(and)f(less)i
(promotion\).)80 638 y(W)m(ith)h(only)g(1)g(generation)e(\()p
Ft(-G1)p FA(\))h(the)h Ft(-A)g FA(option)f(speci\002es)i(the)f(minimum)
e(allocation)h(area,)h(since)h(the)f(actual)f(size)i(of)f(the)g
(allocation)80 738 y(area)e(will)h(be)f(resized)g(according)e(to)i(the)
h(amount)d(of)i(data)g(in)h(the)f(heap)f(\(see)i Ft(-F)p
FA(,)f(belo)n(w\).)p Black -107 904 a Fh(-c)p Black 83
w FA(Use)28 b(a)h(compacting)d(algorithm)g(for)i(collecting)f(the)h
(oldest)f(generation.)47 b(By)28 b(def)o(ault,)h(the)f(oldest)g
(generation)e(is)j(collected)e(using)h(a)80 1003 y(cop)o(ying)23
b(algorithm;)j(this)g(option)e(causes)h(it)h(to)f(be)g(compacted)e
(in-place)h(instead.)39 b(The)25 b(compaction)e(algorithm)h(is)i(slo)n
(wer)e(than)h(the)80 1103 y(cop)o(ying)18 b(algorithm,)h(b)n(ut)h(the)g
(sa)n(vings)g(in)h(memory)d(use)j(can)f(be)g(considerable.)80
1236 y(F)o(or)28 b(a)h(gi)n(v)o(en)f(heap)g(size)h(\(using)f(the)h
Ft(-H)g FA(option\),)g(compaction)d(can)j(in)g(f)o(act)f(reduce)g(the)h
(GC)g(cost)g(by)f(allo)n(wing)g(fe)n(wer)g(GCs)i(to)f(be)80
1336 y(performed.)22 b(This)f(is)g(more)e(lik)o(ely)h(when)g(the)g
(ratio)g(of)g(li)n(v)o(e)g(data)g(to)g(heap)g(size)h(is)g(high,)e(say)h
(>30\045.)80 1468 y(NO)m(TE:)g(compaction)e(doesn')o(t)h(currently)f(w)
o(ork)i(when)f(a)i(single)f(generation)e(is)j(requested)e(using)h(the)g
Ft(-G1)g FA(option.)p Black -128 1634 a Fh(-c)p Ff(n)p
Black 42 w FA([Def)o(ault:)30 b(30])22 b(Automatically)g(enable)g
(compacting)f(collection)h(when)g(the)h(li)n(v)o(e)f(data)h(e)o(xceeds)
f Fr(n)p FA(\045)h(of)g(the)g(maximum)e(heap)h(size)i(\(see)80
1734 y(the)c Ft(-M)g FA(option\).)j(Note)d(that)g(the)g(maximum)e(heap)
h(size)h(is)h(unlimited)e(by)g(def)o(ault,)g(so)h(this)h(option)d(has)i
(no)g(ef)n(fect)f(unless)h(the)g(maximum)80 1834 y(heap)f(size)i(is)g
(set)g(with)g Ft(-M)p Fr(size)p FA(.)p Black -107 2000
a Fh(-F)p Ff(factor)p Black 86 w FA([Def)o(ault:)34 b(2])24
b(This)h(option)e(controls)h(the)h(amount)e(of)i(memory)e(reserv)o(ed)g
(for)h(the)h(older)f(generations)f(\(and)g(in)i(the)g(case)g(of)g(a)80
2099 y(tw)o(o)d(space)f(collector)g(the)h(size)g(of)f(the)h(allocation)
e(area\))h(as)h(a)g(f)o(actor)f(of)h(the)f(amount)f(of)i(li)n(v)o(e)f
(data.)29 b(F)o(or)21 b(e)o(xample,)f(if)i(there)f(w)o(as)i(2M)e(of)80
2199 y(li)n(v)o(e)e(data)f(in)h(the)g(oldest)f(generation)f(when)h(we)i
(last)f(collected)f(it,)i(then)e(by)g(def)o(ault)g(we')o(ll)h(w)o(ait)h
(until)e(it)i(gro)n(ws)e(to)h(4M)g(before)e(collecting)80
2299 y(it)k(again.)80 2431 y(The)k(def)o(ault)f(seems)h(to)g(w)o(ork)f
(well)i(here.)38 b(If)25 b(you)f(ha)n(v)o(e)g(plenty)g(of)h(memory)-5
b(,)23 b(it)j(is)g(usually)e(better)g(to)i(use)f Ft(-H)p
Fr(size)f FA(than)g(to)h(increase)80 2531 y Ft(-F)p Fr(factor)s
FA(.)80 2664 y(The)20 b Ft(-F)g FA(setting)g(will)h(be)f(automatically)
f(reduced)g(by)h(the)g(garbage)e(collector)h(when)h(the)g(maximum)e
(heap)i(size)h(\(the)f Ft(-M)p Fr(size)f FA(setting\))80
2763 y(is)i(approaching.)p Black -107 2930 a Fh(-G)p
Ff(generations)p Black 82 w FA([Def)o(ault:)i(2])18 b(Set)h(the)f
(number)e(of)i(generations)e(used)i(by)f(the)h(garbage)e(collector)-5
b(.)24 b(The)18 b(def)o(ault)f(of)h(2)g(seems)g(to)h(be)f(good,)80
3029 y(b)n(ut)h(the)h(garbage)d(collector)i(can)g(support)f(an)o(y)h
(number)e(of)i(generations.)k(An)o(ything)18 b(lar)o(ger)g(than)h
(about)f(4)i(is)g(probably)d(not)i(a)h(good)e(idea)80
3129 y(unless)i(your)f(program)f(runs)i(for)g(a)g Fq(long)g
FA(time,)g(because)f(the)h(oldest)g(generation)f(will)i(hardly)d(e)n(v)
o(er)i(get)g(collected.)80 3262 y(Specifying)15 b(1)j(generation)d
(with)i Ft(+RTS)49 b(-G1)17 b FA(gi)n(v)o(es)g(you)f(a)i(simple)f
(2-space)f(collector)m(,)g(as)i(you)e(w)o(ould)h(e)o(xpect.)23
b(In)17 b(a)g(2-space)f(collector)m(,)80 3361 y(the)22
b Ft(-A)g FA(option)f(\(see)h(abo)o(v)o(e\))e(speci\002es)i(the)g
Fq(minimum)g FA(allocation)f(area)h(size,)h(since)f(the)g(allocation)f
(area)g(will)i(gro)n(w)e(with)h(the)g(amount)80 3461
y(of)g(li)n(v)o(e)f(data)h(in)g(the)g(heap.)30 b(In)22
b(a)g(multi-generational)d(collector)i(the)h(allocation)f(area)h(is)h
(a)f(\002x)o(ed)g(size)g(\(unless)g(you)f(use)h(the)g
Ft(-H)g FA(option,)80 3560 y(see)f(belo)n(w\).)p Black
-107 3727 a Fh(-g)p Ff(threads)p Black 61 w FA([Def)o(ault:)42
b(1])29 b([ne)n(w)f(in)h(GHC)h(6.10])d(Set)j(the)f(number)e(of)h
(threads)g(to)h(use)g(for)g(garbage)d(collection.)50
b(This)29 b(option)f(is)i(only)80 3826 y(accepted)19
b(when)h(the)g(program)e(w)o(as)j(link)o(ed)e(with)i(the)f
Ft(-threaded)f FA(option;)g(see)i(Section)p 1 0 0 TeXcolorrgb
2805 3827 a
SDict begin H.S end
2805 3827 a 1 0 0 TeXcolorrgb -1 x FA(4.10.7)p
1 0 0 TeXcolorrgb 3012 3770 a
SDict begin H.R end
3012 3770 a 3012 3826 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
3012 3826 a Black FA(.)80 3959 y(The)28 b(garbage)f(collector)h(is)i
(able)e(to)h(w)o(ork)f(in)h(parallel)g(when)f(gi)n(v)o(en)f(more)h
(than)g(one)h(OS)g(thread.)50 b(Experiments)27 b(ha)n(v)o(e)h(sho)n(wn)
g(that)80 4059 y(this)e(usually)f(results)h(in)g(a)g(performance)d
(impro)o(v)o(ement)f(gi)n(v)o(en)i(3)i(cores)f(or)h(more;)h(with)f(2)g
(cores)f(it)h(may)g(or)f(may)g(not)g(be)h(bene\002cial,)80
4158 y(depending)c(on)i(the)h(w)o(orkload.)36 b(Bigger)24
b(heaps)g(w)o(ork)g(better)g(with)h(parallel)f(GC,)h(so)g(set)g(your)f
Ft(-H)g FA(v)n(alue)g(high)g(\(3)g(or)g(more)g(times)h(the)80
4258 y(maximum)19 b(residenc)o(y\).)25 b(Look)20 b(at)i(the)f(timing)f
(stats)i(with)f Ft(+RTS)49 b(-s)21 b FA(to)h(see)f(whether)f(you')l(re)
f(getting)h(an)o(y)g(bene\002t)h(from)f(parallel)g(GC)80
4358 y(or)g(not.)25 b(If)20 b(you)f(\002nd)h(parallel)g(GC)h(is)g
(signi\002cantly)e Fq(slower)k FA(\(in)d(elapsed)g(time\))g(than)g
(sequential)f(GC,)i(please)f(report)f(it)i(as)g(a)f(b)n(ug.)80
4490 y(This)25 b(v)n(alue)f(is)i(set)f(automatically)f(when)g(the)h
Ft(-N)f FA(option)g(is)i(used,)f(so)g(the)g(only)f(reason)g(to)h(use)g
Ft(-g)g FA(w)o(ould)f(be)h(if)g(you)f(w)o(anted)g(to)h(use)80
4590 y(a)e(dif)n(ferent)d(number)h(of)h(threads)f(for)h(GC)h(than)f
(for)f(e)o(x)o(ecution.)29 b(F)o(or)22 b(e)o(xample,)f(if)h(your)f
(program)f(is)k(strictly)e(single-threaded)e(b)n(ut)i(you)80
4690 y(still)f(w)o(ant)g(to)f(bene\002t)g(from)f(parallel)h(GC,)g(then)
g(it)h(might)f(mak)o(e)f(sense)i(to)f(use)h Ft(-g)f FA(rather)f(than)h
Ft(-N)p FA(.)p Black -107 4856 a Fh(-H)p Ff(size)p Black
82 w FA([Def)o(ault:)33 b(0])24 b(This)g(option)f(pro)o(vides)g(a)i
(\223suggested)e(heap)g(size\224)i(for)f(the)g(garbage)e(collector)-5
b(.)36 b(The)24 b(garbage)e(collector)i(will)h(use)80
4955 y(about)e(this)h(much)f(memory)f(until)h(the)h(program)e(residenc)
o(y)g(gro)n(ws)h(and)g(the)h(heap)f(size)h(needs)g(to)f(be)h(e)o
(xpanded)d(to)j(retain)f(reasonable)80 5055 y(performance.)80
5188 y(By)h(def)o(ault,)f(the)h(heap)e(will)j(start)f(small,)g(and)f
(gro)n(w)f(and)h(shrink)g(as)h(necessary)-5 b(.)34 b(This)23
b(can)g(be)h(bad)f(for)f(performance,)g(so)h(if)h(you)f(ha)n(v)o(e)80
5287 y(plenty)g(of)h(memory)f(it')-5 b(s)25 b(w)o(orthwhile)f
(supplying)e(a)j(big)f Ft(-H)p Fr(size)p FA(.)36 b(F)o(or)24
b(impro)o(ving)e(GC)j(performance,)d(using)i Ft(-H)p
Fr(size)g FA(is)h(usually)f(a)80 5387 y(better)c(bet)g(than)g
Ft(-A)p Fr(size)p FA(.)p Black -107 5553 a Fh(-I)p Ff(seconds)p
Black 82 w FA(\(def)o(ault:)35 b(0.3\))24 b(In)h(the)g(threaded)f(and)g
(SMP)i(v)o(ersions)f(of)g(the)g(R)-5 b(TS)26 b(\(see)g
Ft(-threaded)p FA(,)f(Section)p 1 0 0 TeXcolorrgb 3363
5554 a
SDict begin H.S end
3363 5554 a 1 0 0 TeXcolorrgb -1 x FA(4.10.7)p
1 0 0 TeXcolorrgb 3570 5497 a
SDict begin H.R end
3570 5497 a 3570 5553 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
3570 5553 a Black FA(\),)i(a)e(major)g(GC)h(is)80 5653
y(automatically)19 b(performed)e(if)k(the)f(runtime)f(has)i(been)e
(idle)h(\(no)g(Hask)o(ell)g(computation)e(has)j(been)e(running\))f(for)
i(a)g(period)f(of)h(time.)25 b(The)p Black -128 6084
4252 5 v Black eop end
%%Page: 74 89
TeXDict begin 74 88 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.74) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(74)20 b(/)g(224)p
-128 -179 4252 5 v Black 80 173 a FA(amount)f(of)h(idle)h(time)f(which)
g(must)h(pass)g(before)e(a)i(GC)g(is)h(performed)17 b(is)22
b(set)f(by)f(the)h Ft(-I)p Fr(seconds)e FA(option.)25
b(Specifying)18 b Ft(-I0)j FA(disables)80 273 y(the)f(idle)g(GC.)80
406 y(F)o(or)k(an)g(interacti)n(v)o(e)f(application,)g(it)i(is)g
(probably)d(a)j(good)e(idea)h(to)g(use)h(the)f(idle)g(GC,)h(because)f
(this)g(will)h(allo)n(w)g(\002nalizers)f(to)g(run)g(and)80
505 y(deadlock)o(ed)f(threads)h(to)h(be)f(detected)g(in)h(the)g(idle)g
(time)g(when)f(no)h(Hask)o(ell)g(computation)d(is)k(happening.)36
b(Also,)26 b(it)g(will)f(mean)g(that)g(a)80 605 y(GC)c(is)g(less)g(lik)
o(ely)f(to)g(happen)e(when)i(the)g(application)e(is)j(b)n(usy)-5
b(,)19 b(and)h(so)g(responsi)n(v)o(eness)e(may)i(be)g(impro)o(v)o(ed.)i
(Ho)n(we)n(v)o(er)m(,)c(if)i(the)g(amount)80 705 y(of)g(li)n(v)o(e)h
(data)f(in)h(the)g(heap)f(is)h(particularly)e(lar)o(ge,)h(then)g(the)g
(idle)h(GC)h(can)e(cause)h(a)g(signi\002cant)f(delay)-5
b(,)19 b(and)h(too)h(small)g(an)f(interv)n(al)g(could)80
804 y(adv)o(ersely)f(af)n(fect)g(interacti)n(v)o(e)g(responsi)n(v)o
(eness.)80 937 y(This)h(is)h(an)g(e)o(xperimental)d(feature,)h(please)h
(let)h(us)f(kno)n(w)f(if)i(it)g(causes)f(problems)f(and/or)g(could)g
(bene\002t)h(from)f(further)g(tuning.)p Black -107 1103
a Fh(-k)p Ff(size)p Black 82 w FA([Def)o(ault:)41 b(1k])28
b(Set)h(the)f(initial)g(stack)h(size)g(for)e(ne)n(w)h(threads.)49
b(Thread)27 b(stacks)h(\(including)f(the)h(main)g(thread')-5
b(s)27 b(stack\))h(li)n(v)o(e)g(on)80 1203 y(the)c(heap,)h(and)f(gro)n
(w)g(as)h(required.)36 b(The)24 b(def)o(ault)f(v)n(alue)h(is)i(good)d
(for)g(concurrent)g(applications)g(with)h(lots)h(of)g(small)f(threads;)
i(if)f(your)80 1302 y(program)18 b(doesn')o(t)h(\002t)i(this)f(model)g
(then)f(increasing)g(this)i(option)e(may)h(help)g(performance.)80
1435 y(The)e(main)g(thread)f(is)i(normally)d(started)j(with)f(a)g
(slightly)g(lar)o(ger)f(heap)h(to)g(cut)g(do)n(wn)f(on)h(unnecessary)f
(stack)h(gro)n(wth)f(while)h(the)g(program)80 1535 y(is)j(starting)f
(up.)p Black -107 1701 a Fh(-K)p Ff(size)p Black 82 w
FA([Def)o(ault:)25 b(8M])20 b(Set)h(the)g(maximum)e(stack)h(size)h(for)
f(an)g(indi)n(vidual)f(thread)g(to)i Fr(size)f FA(bytes.)25
b(This)c(option)e(is)i(there)f(purely)f(to)i(stop)80
1800 y(the)f(program)e(eating)i(up)g(all)g(the)h(a)n(v)n(ailable)e
(memory)g(in)h(the)g(machine)f(if)i(it)g(gets)f(into)g(an)g(in\002nite)
g(loop.)p Black -107 1966 a Fh(-m)p Ff(n)p Black 84 w
FA(Minimum)f(\045)i Fr(n)f FA(of)g(heap)g(which)f(must)h(be)h(a)n(v)n
(ailable)e(for)h(allocation.)k(The)c(def)o(ault)f(is)i(3\045.)p
Black -107 2133 a Fh(-M)p Ff(size)p Black 82 w FA([Def)o(ault:)40
b(unlimited])26 b(Set)i(the)f(maximum)f(heap)h(size)h(to)g
Fr(size)f FA(bytes.)47 b(The)27 b(heap)g(normally)e(gro)n(ws)i(and)g
(shrinks)g(according)80 2232 y(to)d(the)g(memory)e(requirements)g(of)i
(the)g(program.)34 b(The)24 b(only)f(reason)h(for)f(ha)n(ving)g(this)h
(option)f(is)i(to)f(stop)g(the)g(heap)f(gro)n(wing)g(without)80
2332 y(bound)e(and)h(\002lling)h(up)f(all)i(the)e(a)n(v)n(ailable)h(sw)
o(ap)g(space,)g(which)f(at)i(the)e(least)i(will)f(result)g(in)g(the)g
(program)e(being)g(summarily)h(killed)g(by)80 2431 y(the)e(operating)f
(system.)80 2564 y(The)e(maximum)f(heap)h(size)h(also)g(af)n(fects)f
(other)f(garbage)g(collection)g(parameters:)23 b(when)17
b(the)g(amount)f(of)h(li)n(v)o(e)h(data)f(in)h(the)f(heap)g(e)o(xceeds)
80 2664 y(a)h(certain)f(fraction)f(of)i(the)f(maximum)f(heap)h(size,)i
(compacting)c(collection)i(will)h(be)g(automatically)e(enabled)g(for)h
(the)h(oldest)f(generation,)80 2763 y(and)j(the)g Ft(-F)g
FA(parameter)f(will)i(be)f(reduced)e(in)j(order)e(to)h(a)n(v)n(oid)g(e)
o(xceeding)e(the)i(maximum)f(heap)g(size.)p Black -107
2930 a Fh(-t)p Fu([)p Ff(file)p Fu(])g(,)i Fh(-s)p Fu([)p
Ff(file)p Fu(])e(,)i Fh(-S)p Fu([)p Ff(file)p Fu(])e(,)i
Fh(--machine-readable)p Black 59 w FA(These)31 b(options)f(produce)f
(runtime-system)h(statistics,)35 b(such)c(as)h(the)80
3029 y(amount)20 b(of)g(time)i(spent)e(e)o(x)o(ecuting)f(the)i(program)
e(and)i(in)g(the)g(garbage)e(collector)m(,)h(the)h(amount)e(of)i
(memory)e(allocated,)i(the)g(maximum)80 3129 y(size)26
b(of)f(the)g(heap,)g(and)g(so)g(on.)40 b(The)24 b(three)h(v)n(ariants)g
(gi)n(v)o(e)f(dif)n(ferent)f(le)n(v)o(els)i(of)g(detail:)35
b Ft(-t)26 b FA(produces)d(a)j(single)f(line)g(of)g(output)f(in)h(the)
80 3228 y(same)19 b(format)f(as)h(GHC')-5 b(s)20 b Ft(-Rghc-timing)e
FA(option,)f Ft(-s)i FA(produces)f(a)h(more)f(detailed)g(summary)g(at)h
(the)g(end)f(of)h(the)g(program,)d(and)j Ft(-S)80 3328
y FA(additionally)f(produces)h(information)f(about)h(each)h(and)f(e)n
(v)o(ery)g(garbage)f(collection.)80 3461 y(The)i(output)f(is)i(placed)e
(in)i Fr(file)p FA(.)k(If)20 b Fr(file)g FA(is)h(omitted,)e(then)h(the)
g(output)f(is)i(sent)g(to)f Ft(stderr)p FA(.)80 3594
y(If)g(you)f(use)i(the)f Ft(-t)g FA(\003ag)h(then,)e(when)h(your)f
(program)f(\002nishes,)i(you)f(will)i(see)g(something)e(lik)o(e)h
(this:)-128 3661 y
SDict begin H.S end
-128 3661 a -128 3661 a
SDict begin 12 H.A end
-128 3661
a -128 3661 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-161) cvn H.B /DEST pdfmark end
-128 3661 a 0.95 TeXcolorgray 55 3677 4095
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3768 25 92 v Black 0.95 TeXcolorgray
80 3768 4045 92 v Black 0.95 TeXcolorgray 4124 3768 25
92 v Black 0.95 TeXcolorgray Black 80 3741 a
SDict begin H.S end
80 3741
a 80 3741 a
SDict begin 11 H.A end
80 3741 a 80 3741 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-161.1) cvn H.B /DEST pdfmark end
80 3741 a Fo(<<)p 0 0 0
TeXcolorrgb(ghc)p Black -1 w(:)45 b(36169392)p 0 0 0
TeXcolorrgb 43 w(bytes)p Black -1 w(,)g(69)p 0 0 0 TeXcolorrgb
45 w(GCs)p Black -1 w(,)g(603392/1065272)p 0 0 0 TeXcolorrgb
42 w(avg)p Black(/)p 0 0 0 TeXcolorrgb(max)p Black 0 0 0
TeXcolorrgb 44 w(bytes)p Black 0 0 0 TeXcolorrgb 44 w(residency)p
Black 43 w(\(2)p 0 0 0 TeXcolorrgb 45 w(samples)p Black
-1 w(\))o(,)g(3)p 0 0 0 TeXcolorrgb(M)p Black 89 w Fd( )-12
b Fb(-)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55
3859 25 92 v Black 0.95 TeXcolorgray 80 3859 4045 92
v Black 0.95 TeXcolorgray 4124 3859 25 92 v Black 0.95
TeXcolorgray Black 0 0 0 TeXcolorrgb 246 3832 a Fo(in)p
Black 0 0 0 TeXcolorrgb 45 w(use)p Black -1 w(,)45 b(0.00)p
0 0 0 TeXcolorrgb 44 w(INIT)p Black 44 w(\(0.00)p 0 0 0
TeXcolorrgb 44 w(elapsed)p Black -1 w(\),)f(0.02)p 0 0 0
TeXcolorrgb 45 w(MUT)p Black 44 w(\(0.02)p 0 0 0 TeXcolorrgb
44 w(elapsed)p Black -1 w(\))o(,)h(0.07)p 0 0 0 TeXcolorrgb
44 w(GC)p Black 45 w(\(0.07)p 0 0 0 TeXcolorrgb 44 w(elapsed)p
Black -1 w(\))f(:)h Fd( )-12 b Fb(-)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3951 V Black 0.95 TeXcolorgray
80 3951 4045 92 v Black 0.95 TeXcolorgray 4124 3951 25
92 v Black 0.95 TeXcolorgray Black 0 0 0 TeXcolorrgb
246 3923 a Fo(ghc)p Black(>>)p 0.95 TeXcolorgray 55 3976
4095 25 v Black 0.95 TeXcolorgray Black Black Black 80
4133 a FA(This)20 b(tells)i(you:)p Black 80 4316 a(\225)p
Black 42 w(The)d(total)i(bytes)f(allocated)f(by)h(the)g(program.)j
(This)d(may)g(be)g(less)i(than)d(the)h(peak)g(memory)e(use,)j(as)f
(some)h(may)e(be)h(freed.)p Black 80 4449 a(\225)p Black
42 w(The)f(total)i(number)d(of)i(garbage)e(collections)i(that)g
(occurred.)p Black 80 4582 a(\225)p Black 42 w(The)g(a)n(v)o(erage)f
(and)h(maximum)f(space)i(used)f(by)g(your)g(program.)k(This)d(is)g
(only)f(check)o(ed)f(during)g(major)h(garbage)f(collections,)h(so)h(it)
g(is)151 4681 y(only)e(an)h(approximation;)d(the)j(number)f(of)h
(samples)g(tells)h(you)e(ho)n(w)h(man)o(y)f(times)i(it)g(is)g(check)o
(ed.)p Black 80 4814 a(\225)p Black 42 w(The)e(peak)h(memory)e(the)j(R)
-5 b(TS)21 b(has)f(allocated)g(from)f(the)h(OS.)p Black
80 4947 a(\225)p Black 42 w(The)f(amount)f(of)i(CPU)h(time)f(and)f
(elapsed)g(w)o(all)i(clock)e(time)h(while)f(initialising)h(the)g
(runtime)e(system)i(\(INIT\),)f(running)e(the)j(program)151
5047 y(itself)g(\(MUT)-6 b(,)20 b(the)g(mutator\),)e(and)i(garbage)e
(collecting)h(\(GC\).)80 5229 y(Y)-9 b(ou)20 b(can)g(also)g(get)g(this)
h(in)f(a)h(more)e(future-proof,)e(machine)i(readable)g(format,)f(with)j
Ft(-t)49 b(--machine-readable)p FA(:)-128 5297 y
SDict begin H.S end
-128
5297 a -128 5297 a
SDict begin 12 H.A end
-128 5297 a -128 5297 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-162) cvn H.B /DEST pdfmark end
-128 5297
a 0.95 TeXcolorgray 55 5312 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 5404
25 92 v Black 0.95 TeXcolorgray 80 5404 4045 92 v Black
0.95 TeXcolorgray 4124 5404 25 92 v Black 0.95 TeXcolorgray
Black 80 5376 a
SDict begin H.S end
80 5376 a 80 5376 a
SDict begin 11 H.A end
80 5376 a 80 5376
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.1) cvn H.B /DEST pdfmark end
80 5376 a 45 w Fo([\(")p 0 0 0 TeXcolorrgb -1 w(bytes)p
Black 0 0 0 TeXcolorrgb 44 w(allocated)p Black -1 w(",)44
b("36169392"\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5495 25 92 v Black 0.95 TeXcolorgray 80 5495 4045
92 v Black 0.95 TeXcolorgray 4124 5495 25 92 v Black
0.95 TeXcolorgray Black 80 5468 a
SDict begin H.S end
80 5468 a 80 5468 a
SDict begin 11 H.A end
80 5468 a 80 5468 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.2) cvn H.B /DEST pdfmark end
80 5468 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb
-1 w(num_GCs)p Black -1 w(",)h("69"\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 5586 25 92 v Black 0.95 TeXcolorgray
80 5586 4045 92 v Black 0.95 TeXcolorgray 4124 5586 25
92 v Black 0.95 TeXcolorgray Black 80 5559 a
SDict begin H.S end
80 5559
a 80 5559 a
SDict begin 11 H.A end
80 5559 a 80 5559 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.3) cvn H.B /DEST pdfmark end
80 5559 a 45 w Fo(,\(")p
0 0 0 TeXcolorrgb -1 w(average_bytes_used)p Black -3
w(",)g("603392"\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5678 25 92 v Black 0.95 TeXcolorgray 80 5678 4045
92 v Black 0.95 TeXcolorgray 4124 5678 25 92 v Black
0.95 TeXcolorgray Black 80 5650 a
SDict begin H.S end
80 5650 a 80 5650 a
SDict begin 11 H.A end
80 5650 a 80 5650 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.4) cvn H.B /DEST pdfmark end
80 5650 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb
-1 w(max_bytes_used)p Black -2 w(",)f("1065272"\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 5769 25 92 v
Black 0.95 TeXcolorgray 80 5769 4045 92 v Black 0.95
TeXcolorgray 4124 5769 25 92 v Black 0.95 TeXcolorgray
Black 80 5741 a
SDict begin H.S end
80 5741 a 80 5741 a
SDict begin 11 H.A end
80 5741 a 80 5741
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.5) cvn H.B /DEST pdfmark end
80 5741 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb -1 w
(num_byte_usage_samples)p Black -3 w(",)g("2"\))p Black
-128 6084 4252 5 v Black eop end
%%Page: 75 90
TeXDict begin 75 89 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.75) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(75)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 201 25 92 v Black 0.95 TeXcolorgray 80
201 4045 92 v Black 0.95 TeXcolorgray 4124 201 25 92
v Black 0.95 TeXcolorgray Black 80 173 a
SDict begin H.S end
80 173 a 80
173 a
SDict begin 11 H.A end
80 173 a 80 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.6) cvn H.B /DEST pdfmark end
80 173 a 45 w Fo(,\(")p 0 0 0
TeXcolorrgb -1 w(peak_megabytes_allocated)p Black -4
w(",)45 b("3"\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 292 25 92 v Black 0.95 TeXcolorgray 80 292 4045 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black 80 265 a
SDict begin H.S end
80 265 a 80 265 a
SDict begin 11 H.A end
80 265
a 80 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.7) cvn H.B /DEST pdfmark end
80 265 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb
-1 w(init_cpu_seconds)p Black -2 w(",)f("0.00"\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 383 25 92 v Black
0.95 TeXcolorgray 80 383 4045 92 v Black 0.95 TeXcolorgray
4124 383 25 92 v Black 0.95 TeXcolorgray Black 80 356
a
SDict begin H.S end
80 356 a 80 356 a
SDict begin 11 H.A end
80 356 a 80 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.8) cvn H.B /DEST pdfmark end
80 356 a 45 w Fo(,\(")p
0 0 0 TeXcolorrgb -1 w(init_wall_seconds)p Black -3 w(",)h("0.00"\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 475 25 92
v Black 0.95 TeXcolorgray 80 475 4045 92 v Black 0.95
TeXcolorgray 4124 475 25 92 v Black 0.95 TeXcolorgray
Black 80 447 a
SDict begin H.S end
80 447 a 80 447 a
SDict begin 11 H.A end
80 447 a 80 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.9) cvn H.B /DEST pdfmark end
80
447 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb -1 w(mutator_cpu_seconds)p
Black -3 w(",)g("0.02"\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 566 25 92 v Black 0.95 TeXcolorgray 80
566 4045 92 v Black 0.95 TeXcolorgray 4124 566 25 92
v Black 0.95 TeXcolorgray Black 80 538 a
SDict begin H.S end
80 538 a 80
538 a
SDict begin 11 H.A end
80 538 a 80 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.10) cvn H.B /DEST pdfmark end
80 538 a 45 w Fo(,\(")p 0 0 0
TeXcolorrgb -1 w(mutator_wall_seconds)p Black -3 w(",)f("0.02"\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 657 25 92
v Black 0.95 TeXcolorgray 80 657 4045 92 v Black 0.95
TeXcolorgray 4124 657 25 92 v Black 0.95 TeXcolorgray
Black 80 630 a
SDict begin H.S end
80 630 a 80 630 a
SDict begin 11 H.A end
80 630 a 80 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.11) cvn H.B /DEST pdfmark end
80
630 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb -1 w(GC_cpu_seconds)p
Black -2 w(",)g("0.07"\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 749 25 92 v Black 0.95 TeXcolorgray 80
749 4045 92 v Black 0.95 TeXcolorgray 4124 749 25 92
v Black 0.95 TeXcolorgray Black 80 721 a
SDict begin H.S end
80 721 a 80
721 a
SDict begin 11 H.A end
80 721 a 80 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.12) cvn H.B /DEST pdfmark end
80 721 a 45 w Fo(,\(")p 0 0 0
TeXcolorrgb -1 w(GC_wall_seconds)p Black -2 w(",)g("0.07"\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 840 25 92
v Black 0.95 TeXcolorgray 80 840 4045 92 v Black 0.95
TeXcolorgray 4124 840 25 92 v Black 0.95 TeXcolorgray
Black 80 812 a
SDict begin H.S end
80 812 a 80 812 a
SDict begin 11 H.A end
80 812 a 80 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-162.13) cvn H.B /DEST pdfmark end
80
812 a 45 w Fo(])p 0.95 TeXcolorgray 55 865 4095 25 v
Black 0.95 TeXcolorgray Black Black Black 80 1019 a FA(If)29
b(you)g(use)g(the)h Ft(-s)f FA(\003ag)h(then,)h(when)d(your)g(program)g
(\002nishes,)j(you)e(will)h(see)g(something)e(lik)o(e)h(this)h(\(the)f
(e)o(xact)g(details)h(will)g(v)n(ary)80 1118 y(depending)18
b(on)h(what)i(sort)f(of)g(R)-5 b(TS)21 b(you)e(ha)n(v)o(e,)g(e.g.)25
b(you)19 b(will)i(only)f(see)g(pro\002ling)f(data)h(if)h(your)e(R)-5
b(TS)21 b(is)g(compiled)e(for)g(pro\002ling\):)-128 1184
y
SDict begin H.S end
-128 1184 a -128 1184 a
SDict begin 12 H.A end
-128 1184 a -128 1184 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-163) cvn H.B /DEST pdfmark end
-128
1184 a 0.95 TeXcolorgray 55 1199 4095 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 1290 25 92 v Black 0.95 TeXcolorgray 80 1290 4045
92 v Black 0.95 TeXcolorgray 4124 1290 25 92 v Black
0.95 TeXcolorgray Black 80 1263 a
SDict begin H.S end
80 1263 a 80 1263 a
SDict begin 11 H.A end
80 1263 a 80 1263 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.1) cvn H.B /DEST pdfmark end
80 1263 a 269 w Fo(36,169,392)p 0 0 0
TeXcolorrgb 43 w(bytes)p Black 0 0 0 TeXcolorrgb 44 w(allocated)p
Black 0 0 0 TeXcolorrgb 43 w(in)p Black 0 0 0 TeXcolorrgb
45 w(the)p Black 0 0 0 TeXcolorrgb 44 w(heap)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 1382 25
92 v Black 0.95 TeXcolorgray 80 1382 4045 92 v Black
0.95 TeXcolorgray 4124 1382 25 92 v Black 0.95 TeXcolorgray
Black 80 1354 a
SDict begin H.S end
80 1354 a 80 1354 a
SDict begin 11 H.A end
80 1354 a 80 1354
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.2) cvn H.B /DEST pdfmark end
80 1354 a 314 w Fo(4,057,632)p 0 0 0 TeXcolorrgb 43
w(bytes)p Black 0 0 0 TeXcolorrgb 44 w(copied)p Black
0 0 0 TeXcolorrgb 44 w(during)p Black 0 0 0 TeXcolorrgb
44 w(GC)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 1473 25 92 v Black 0.95 TeXcolorgray 80 1473 4045
92 v Black 0.95 TeXcolorgray 4124 1473 25 92 v Black
0.95 TeXcolorgray Black 80 1446 a
SDict begin H.S end
80 1446 a 80 1446 a
SDict begin 11 H.A end
80 1446 a 80 1446 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.3) cvn H.B /DEST pdfmark end
80 1446 a 314 w Fo(1,065,272)p 0 0 0
TeXcolorrgb 43 w(bytes)p Black 0 0 0 TeXcolorrgb 44 w(maximum)p
Black 0 0 0 TeXcolorrgb 44 w(residency)p Black 43 w(\(2)p
0 0 0 TeXcolorrgb 45 w(sample)p Black -1 w(\()p 0 0 0
TeXcolorrgb -1 w(s)p Black(\)\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 1564 25 92 v Black 0.95 TeXcolorgray
80 1564 4045 92 v Black 0.95 TeXcolorgray 4124 1564 25
92 v Black 0.95 TeXcolorgray Black 80 1537 a
SDict begin H.S end
80 1537
a 80 1537 a
SDict begin 11 H.A end
80 1537 a 80 1537 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.4) cvn H.B /DEST pdfmark end
80 1537 a 448 w Fo(54,312)p
0 0 0 TeXcolorrgb 44 w(bytes)p Black 0 0 0 TeXcolorrgb
44 w(maximum)p Black 0 0 0 TeXcolorrgb 44 w(slop)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 1656 25
92 v Black 0.95 TeXcolorgray 80 1656 4045 92 v Black
0.95 TeXcolorgray 4124 1656 25 92 v Black 0.95 TeXcolorgray
Black 80 1628 a
SDict begin H.S end
80 1628 a 80 1628 a
SDict begin 11 H.A end
80 1628 a 80 1628
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.5) cvn H.B /DEST pdfmark end
80 1628 a 672 w Fo(3)p 0 0 0 TeXcolorrgb 45 w(MB)p
Black 0 0 0 TeXcolorrgb 45 w(total)p Black 0 0 0 TeXcolorrgb
44 w(memory)p Black 0 0 0 TeXcolorrgb 43 w(in)p Black
0 0 0 TeXcolorrgb 45 w(use)p Black 44 w(\(0)p 0 0 0 TeXcolorrgb
45 w(MB)p Black 0 0 0 TeXcolorrgb 44 w(lost)p Black 0 0 0
TeXcolorrgb 44 w(due)p Black 0 0 0 TeXcolorrgb 45 w(to)p
Black 0 0 0 TeXcolorrgb 44 w(fragmentation)p Black -2
w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 1747
25 92 v Black 0.95 TeXcolorgray 80 1747 4045 92 v Black
0.95 TeXcolorgray 4124 1747 25 92 v Black 0.95 TeXcolorgray
Black 80 1720 a
SDict begin H.S end
80 1720 a 80 1720 a
SDict begin 11 H.A end
80 1720 a 80 1720
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.6) cvn H.B /DEST pdfmark end
80 1720 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 1838 25 92 v Black 0.95 TeXcolorgray 80 1838 4045
92 v Black 0.95 TeXcolorgray 4124 1838 25 92 v Black
0.95 TeXcolorgray Black 80 1811 a
SDict begin H.S end
80 1811 a 80 1811 a
SDict begin 11 H.A end
80 1811 a 80 1811 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.7) cvn H.B /DEST pdfmark end
80 1811 a 0 0 0 TeXcolorrgb 90 w
Fo(Generation)p Black 43 w(0:)179 b(67)p 0 0 0 TeXcolorrgb
44 w(collections)p Black -2 w(,)224 b(0)p 0 0 0 TeXcolorrgb
45 w(parallel)p Black -1 w(,)89 b(0.04)p 0 0 0 TeXcolorrgb(s)p
Black -1 w(,)h(0.03)p 0 0 0 TeXcolorrgb -1 w(s)p Black
0 0 0 TeXcolorrgb 45 w(elapsed)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 1930 25 92 v Black 0.95 TeXcolorgray
80 1930 4045 92 v Black 0.95 TeXcolorgray 4124 1930 25
92 v Black 0.95 TeXcolorgray Black 80 1902 a
SDict begin H.S end
80 1902
a 80 1902 a
SDict begin 11 H.A end
80 1902 a 80 1902 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.8) cvn H.B /DEST pdfmark end
80 1902 a 0 0 0 TeXcolorrgb
90 w Fo(Generation)p Black 43 w(1:)224 b(2)p 0 0 0 TeXcolorrgb
44 w(collections)p Black -2 w(,)g(0)p 0 0 0 TeXcolorrgb
45 w(parallel)p Black -1 w(,)89 b(0.03)p 0 0 0 TeXcolorrgb(s)p
Black -1 w(,)h(0.04)p 0 0 0 TeXcolorrgb -1 w(s)p Black
0 0 0 TeXcolorrgb 45 w(elapsed)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2021 25 92 v Black 0.95 TeXcolorgray
80 2021 4045 92 v Black 0.95 TeXcolorgray 4124 2021 25
92 v Black 0.95 TeXcolorgray Black 80 1994 a
SDict begin H.S end
80 1994
a 80 1994 a
SDict begin 11 H.A end
80 1994 a 80 1994 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.9) cvn H.B /DEST pdfmark end
80 1994 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2112 25 92 v Black 0.95 TeXcolorgray
80 2112 4045 92 v Black 0.95 TeXcolorgray 4124 2112 25
92 v Black 0.95 TeXcolorgray Black 80 2085 a
SDict begin H.S end
80 2085
a 80 2085 a
SDict begin 11 H.A end
80 2085 a 80 2085 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.10) cvn H.B /DEST pdfmark end
80 2085 a 0 0 0 TeXcolorrgb
90 w Fo(INIT)p Black 0 0 0 TeXcolorrgb 89 w(time)p Black
178 w(0.00)p 0 0 0 TeXcolorrgb(s)p Black 89 w(\()g(0.00)p
0 0 0 TeXcolorrgb -1 w(s)p Black 0 0 0 TeXcolorrgb 45
w(elapsed)p Black -2 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2204 25 92 v Black 0.95 TeXcolorgray
80 2204 4045 92 v Black 0.95 TeXcolorgray 4124 2204 25
92 v Black 0.95 TeXcolorgray Black 80 2176 a
SDict begin H.S end
80 2176
a 80 2176 a
SDict begin 11 H.A end
80 2176 a 80 2176 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.11) cvn H.B /DEST pdfmark end
80 2176 a 0 0 0 TeXcolorrgb
90 w Fo(MUT)p Black 0 0 0 TeXcolorrgb 134 w(time)p Black
178 w(0.01)p 0 0 0 TeXcolorrgb(s)p Black 89 w(\()g(0.02)p
0 0 0 TeXcolorrgb -1 w(s)p Black 0 0 0 TeXcolorrgb 45
w(elapsed)p Black -2 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2295 25 92 v Black 0.95 TeXcolorgray
80 2295 4045 92 v Black 0.95 TeXcolorgray 4124 2295 25
92 v Black 0.95 TeXcolorgray Black 80 2268 a
SDict begin H.S end
80 2268
a 80 2268 a
SDict begin 11 H.A end
80 2268 a 80 2268 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.12) cvn H.B /DEST pdfmark end
80 2268 a 0 0 0 TeXcolorrgb
90 w Fo(GC)p Black 0 0 0 TeXcolorrgb 179 w(time)p Black
178 w(0.07)p 0 0 0 TeXcolorrgb(s)p Black 89 w(\()g(0.07)p
0 0 0 TeXcolorrgb -1 w(s)p Black 0 0 0 TeXcolorrgb 45
w(elapsed)p Black -2 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2386 25 92 v Black 0.95 TeXcolorgray
80 2386 4045 92 v Black 0.95 TeXcolorgray 4124 2386 25
92 v Black 0.95 TeXcolorgray Black 80 2359 a
SDict begin H.S end
80 2359
a 80 2359 a
SDict begin 11 H.A end
80 2359 a 80 2359 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.13) cvn H.B /DEST pdfmark end
80 2359 a 0 0 0 TeXcolorrgb
90 w Fo(EXIT)p Black 0 0 0 TeXcolorrgb 89 w(time)p Black
178 w(0.00)p 0 0 0 TeXcolorrgb(s)p Black 89 w(\()g(0.00)p
0 0 0 TeXcolorrgb -1 w(s)p Black 0 0 0 TeXcolorrgb 45
w(elapsed)p Black -2 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2478 25 92 v Black 0.95 TeXcolorgray
80 2478 4045 92 v Black 0.95 TeXcolorgray 4124 2478 25
92 v Black 0.95 TeXcolorgray Black 80 2450 a
SDict begin H.S end
80 2450
a 80 2450 a
SDict begin 11 H.A end
80 2450 a 80 2450 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.14) cvn H.B /DEST pdfmark end
80 2450 a 0 0 0 TeXcolorrgb
90 w Fo(Total)p Black 0 0 0 TeXcolorrgb 44 w(time)p Black
178 w(0.08)p 0 0 0 TeXcolorrgb(s)p Black 89 w(\()g(0.09)p
0 0 0 TeXcolorrgb -1 w(s)p Black 0 0 0 TeXcolorrgb 45
w(elapsed)p Black -2 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2569 25 92 v Black 0.95 TeXcolorgray
80 2569 4045 92 v Black 0.95 TeXcolorgray 4124 2569 25
92 v Black 0.95 TeXcolorgray Black 80 2542 a
SDict begin H.S end
80 2542
a 80 2542 a
SDict begin 11 H.A end
80 2542 a 80 2542 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.15) cvn H.B /DEST pdfmark end
80 2542 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2660 25 92 v Black 0.95 TeXcolorgray
80 2660 4045 92 v Black 0.95 TeXcolorgray 4124 2660 25
92 v Black 0.95 TeXcolorgray Black 80 2633 a
SDict begin H.S end
80 2633
a 80 2633 a
SDict begin 11 H.A end
80 2633 a 80 2633 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.16) cvn H.B /DEST pdfmark end
80 2633 a 90 w Fo(\045)p
0 0 0 TeXcolorrgb -1 w(GC)p Black 0 0 0 TeXcolorrgb 45
w(time)p Black 268 w(89.5\045)f(\(75.3\045)p 0 0 0 TeXcolorrgb
44 w(elapsed)p Black -1 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 2752 25 92 v Black 0.95 TeXcolorgray
80 2752 4045 92 v Black 0.95 TeXcolorgray 4124 2752 25
92 v Black 0.95 TeXcolorgray Black 80 2724 a
SDict begin H.S end
80 2724
a 80 2724 a
SDict begin 11 H.A end
80 2724 a 80 2724 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.17) cvn H.B /DEST pdfmark end
80 2724 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 2843 25 92 v Black 0.95 TeXcolorgray
80 2843 4045 92 v Black 0.95 TeXcolorgray 4124 2843 25
92 v Black 0.95 TeXcolorgray Black 80 2815 a
SDict begin H.S end
80 2815
a 80 2815 a
SDict begin 11 H.A end
80 2815 a 80 2815 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.18) cvn H.B /DEST pdfmark end
80 2815 a 0 0 0 TeXcolorrgb
90 w Fo(Alloc)p Black 0 0 0 TeXcolorrgb 44 w(rate)p Black
178 w(4,520,608,923)p 0 0 0 TeXcolorrgb 43 w(bytes)p
Black 0 0 0 TeXcolorrgb 44 w(per)p Black 0 0 0 TeXcolorrgb
44 w(MUT)p Black 0 0 0 TeXcolorrgb 45 w(second)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 2934 25
92 v Black 0.95 TeXcolorgray 80 2934 4045 92 v Black
0.95 TeXcolorgray 4124 2934 25 92 v Black 0.95 TeXcolorgray
Black 80 2907 a
SDict begin H.S end
80 2907 a 80 2907 a
SDict begin 11 H.A end
80 2907 a 80 2907
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.19) cvn H.B /DEST pdfmark end
80 2907 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 3026 25 92 v Black 0.95 TeXcolorgray 80 3026 4045
92 v Black 0.95 TeXcolorgray 4124 3026 25 92 v Black
0.95 TeXcolorgray Black 80 2998 a
SDict begin H.S end
80 2998 a 80 2998 a
SDict begin 11 H.A end
80 2998 a 80 2998 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-163.20) cvn H.B /DEST pdfmark end
80 2998 a 0 0 0 TeXcolorrgb 90 w
Fo(Productivity)p Black 87 w(10.5\045)p 0 0 0 TeXcolorrgb
44 w(of)p Black 0 0 0 TeXcolorrgb 45 w(total)p Black
0 0 0 TeXcolorrgb 44 w(user)p Black -1 w(,)45 b(9.1\045)p
0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb 44
w(total)p Black 0 0 0 TeXcolorrgb 44 w(elapsed)p Black
0.95 TeXcolorgray 55 3050 4095 25 v Black 0.95 TeXcolorgray
Black Black Black Black 80 3252 a FA(\225)p Black 42
w(The)24 b("bytes)g(allocated)g(in)h(the)f(heap")g(is)i(the)e(total)h
(bytes)f(allocated)g(by)g(the)h(program.)36 b(This)25
b(may)f(be)g(less)i(than)e(the)h(peak)f(memory)151 3351
y(use,)c(as)h(some)f(may)f(be)i(freed.)p Black 80 3482
a(\225)p Black 42 w(GHC)c(uses)g(a)h(cop)o(ying)d(garbage)f(collector)
-5 b(.)24 b("bytes)16 b(copied)g(during)f(GC")i(tells)h(you)e(ho)n(w)g
(man)o(y)g(bytes)g(it)i(had)e(to)h(cop)o(y)f(during)f(garbage)151
3581 y(collection.)p Black 80 3712 a(\225)p Black 42
w(The)27 b(maximum)f(space)i(actually)f(used)h(by)f(your)g(program)e
(is)k(the)f("bytes)f(maximum)f(residenc)o(y")h(\002gure.)47
b(This)28 b(is)g(only)f(check)o(ed)151 3811 y(during)20
b(major)h(garbage)f(collections,)h(so)i(it)f(is)h(only)e(an)h
(approximation;)e(the)i(number)e(of)i(samples)g(tells)h(you)e(ho)n(w)g
(man)o(y)g(times)h(it)h(is)151 3911 y(check)o(ed.)p Black
80 4042 a(\225)p Black 42 w(The)g("bytes)h(maximum)e(slop")h(tells)i
(you)e(the)h(most)g(space)g(that)g(is)g(e)n(v)o(er)f(w)o(asted)h(due)g
(to)g(the)f(w)o(ay)h(GHC)h(packs)e(data)h(into)g(so-called)151
4141 y("me)o(gablocks".)p Black 80 4272 a(\225)p Black
42 w(The)19 b("total)i(memory)d(in)i(use")h(tells)g(you)e(the)h(peak)g
(memory)e(the)j(R)-5 b(TS)21 b(has)f(allocated)f(from)h(the)g(OS.)p
Black 80 4402 a(\225)p Black 42 w(Ne)o(xt)f(there)h(is)h(information)d
(about)h(the)i(garbage)d(collections)h(done.)24 b(F)o(or)c(each)g
(generation)e(it)j(says)g(ho)n(w)f(man)o(y)f(garbage)f(collections)151
4502 y(were)26 b(done,)h(ho)n(w)f(man)o(y)f(of)h(those)h(collections)f
(used)g(multiple)g(threads,)h(the)g(total)f(CPU)i(time)f(used)f(for)g
(garbage)e(collecting)i(that)151 4601 y(generation,)18
b(and)h(the)h(total)h(w)o(all)g(clock)e(time)i(elapsed)e(while)i
(garbage)d(collecting)h(that)h(generation.)p Black 80
4732 a(\225)p Black 42 w(Ne)o(xt)25 b(there)g(is)i(the)f(CPU)h(time)f
(and)f(w)o(all)h(clock)f(time)h(elapsedm)f(brok)o(en)f(do)n(wn)h(by)g
(what)h(the)g(runtiem)f(system)h(w)o(as)g(doing)f(at)h(the)151
4831 y(time.)f(INIT)20 b(is)h(the)g(runtime)e(system)h(initialisation.)
26 b(MUT)20 b(is)h(the)g(mutator)e(time,)h(i.e.)26 b(the)20
b(time)h(spent)f(actually)g(running)e(your)h(code.)151
4931 y(GC)26 b(is)h(the)f(time)h(spent)e(doing)g(garbage)f(collection.)
41 b(RP)27 b(is)g(the)f(time)h(spent)e(doing)g(retainer)g(pro\002ling.)
41 b(PR)m(OF)27 b(is)g(the)f(time)g(spent)151 5030 y(doing)18
b(other)i(pro\002ling.)j(EXIT)d(is)h(the)f(runtime)f(system)i(shutdo)n
(wn)d(time.)26 b(And)19 b(\002nally)-5 b(,)20 b(T)-7
b(otal)20 b(is,)h(of)f(course,)f(the)h(total.)151 5145
y(\045GC)j(time)g(tells)g(you)f(what)g(percentage)e(GC)k(is)f(of)f(T)-7
b(otal.)32 b("Alloc)22 b(rate")h(tells)g(you)f(the)g("bytes)g
(allocated)g(in)g(the)h(heap")e(di)n(vided)g(by)151 5245
y(the)h(MUT)h(CPU)g(time.)33 b("Producti)n(vity")20 b(tells)k(you)d
(what)i(percentage)e(of)h(the)h(T)-7 b(otal)22 b(CPU)i(and)e(w)o(all)h
(clock)f(elapsed)h(times)g(are)f(spent)151 5345 y(in)e(the)g(mutator)f
(\(MUT\).)80 5524 y(The)h Ft(-S)g FA(\003ag,)g(as)h(well)g(as)g(gi)n
(ving)e(the)h(same)g(output)f(as)i(the)f Ft(-s)h FA(\003ag,)f(prints)g
(information)d(about)j(each)g(GC)h(as)f(it)h(happens:)-128
5589 y
SDict begin H.S end
-128 5589 a -128 5589 a
SDict begin 12 H.A end
-128 5589 a -128 5589
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-164) cvn H.B /DEST pdfmark end
-128 5589 a 0.95 TeXcolorgray 55 5604 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 5696 25 92 v Black 0.95 TeXcolorgray
80 5696 4045 92 v Black 0.95 TeXcolorgray 4124 5696 25
92 v Black 0.95 TeXcolorgray Black 80 5668 a
SDict begin H.S end
80 5668
a 80 5668 a
SDict begin 11 H.A end
80 5668 a 80 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-164.1) cvn H.B /DEST pdfmark end
80 5668 a 0 0 0 TeXcolorrgb
179 w Fo(Alloc)p Black 0 0 0 TeXcolorrgb 179 w(Copied)p
Black 0 0 0 TeXcolorrgb 223 w(Live)p Black 0 0 0 TeXcolorrgb
179 w(GC)p Black 0 0 0 TeXcolorrgb 179 w(GC)p Black 0 0 0
TeXcolorrgb 223 w(TOT)p Black 0 0 0 TeXcolorrgb 224 w(TOT)p
Black 0 0 0 TeXcolorrgb 89 w(Page)p Black 0 0 0 TeXcolorrgb
44 w(Flts)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5787 25 92 v Black 0.95 TeXcolorgray 80 5787 4045
92 v Black 0.95 TeXcolorgray 4124 5787 25 92 v Black
0.95 TeXcolorgray Black 80 5759 a
SDict begin H.S end
80 5759 a 80 5759 a
SDict begin 11 H.A end
80 5759 a 80 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-164.2) cvn H.B /DEST pdfmark end
80 5759 a 0 0 0 TeXcolorrgb 179 w
Fo(bytes)p Black 0 0 0 TeXcolorrgb 224 w(bytes)p Black
0 0 0 TeXcolorrgb 223 w(bytes)p Black 0 0 0 TeXcolorrgb
89 w(user)p Black 0 0 0 TeXcolorrgb 89 w(elap)p Black
0 0 0 TeXcolorrgb 178 w(user)p Black 0 0 0 TeXcolorrgb
179 w(elap)p Black Black -128 6084 4252 5 v Black eop
end
%%Page: 76 91
TeXDict begin 76 90 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.76) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(76)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 201 25 92 v Black 0.95 TeXcolorgray 80
201 4045 92 v Black 0.95 TeXcolorgray 4124 201 25 92
v Black 0.95 TeXcolorgray Black 80 173 a
SDict begin H.S end
80 173 a 80
173 a
SDict begin 11 H.A end
80 173 a 80 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-164.3) cvn H.B /DEST pdfmark end
80 173 a 134 w Fo(528496)224
b(47728)178 b(141512)89 b(0.01)g(0.02)178 b(0.02)h(0.02)g(0)g(0)89
b(\()p 0 0 0 TeXcolorrgb(Gen)p Black(:)g(1\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 292 25 92 v Black 0.95 TeXcolorgray
80 292 4045 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black 80 265 a
SDict begin H.S end
80 265 a
80 265 a
SDict begin 11 H.A end
80 265 a 80 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-164.4) cvn H.B /DEST pdfmark end
80 265 a Fo([...])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 383 25 92 v Black 0.95 TeXcolorgray
80 383 4045 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black 80 356 a
SDict begin H.S end
80 356 a
80 356 a
SDict begin 11 H.A end
80 356 a 80 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-164.5) cvn H.B /DEST pdfmark end
80 356 a 134 w Fo(524944)179
b(175944)133 b(1726384)89 b(0.00)g(0.00)178 b(0.08)h(0.11)g(0)g(0)89
b(\()p 0 0 0 TeXcolorrgb(Gen)p Black(:)g(0\))p 0.95 TeXcolorgray
55 408 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 566 a FA(F)o(or)20 b(each)g(garbage)e(collection,)h(we)h
(print:)p Black 80 749 a(\225)p Black 42 w(Ho)n(w)g(man)o(y)f(bytes)h
(we)g(allocated)g(this)g(garbage)e(collection.)p Black
80 881 a(\225)p Black 42 w(Ho)n(w)i(man)o(y)f(bytes)h(we)g(copied)f
(this)i(garbage)d(collection.)p Black 80 1014 a(\225)p
Black 42 w(Ho)n(w)i(man)o(y)f(bytes)h(are)g(currently)e(li)n(v)o(e.)p
Black 80 1147 a(\225)p Black 42 w(Ho)n(w)i(long)f(this)i(garbage)d
(collection)h(took)g(\(CPU)i(time)g(and)e(elapsed)h(w)o(all)h(clock)e
(time\).)p Black 80 1280 a(\225)p Black 42 w(Ho)n(w)h(long)f(the)h
(program)e(has)j(been)e(running)f(\(CPU)j(time)f(and)g(elapsed)g(w)o
(all)h(clock)e(time\).)p Black 80 1413 a(\225)p Black
42 w(Ho)n(w)h(man)o(y)f(page)g(f)o(aults)i(occured)d(this)j(garbage)d
(collection.)p Black 80 1546 a(\225)p Black 42 w(Ho)n(w)i(man)o(y)f
(page)g(f)o(aults)i(occured)d(since)i(the)h(end)e(of)h(the)g(last)h
(garbage)e(collection.)p Black 80 1678 a(\225)p Black
42 w(Which)h(generation)e(is)j(being)e(garbage)f(collected.)-128
1813 y
SDict begin H.S end
-128 1813 a -128 1813 a
SDict begin 12 H.A end
-128 1813 a -128 1813
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.4) cvn H.B /DEST pdfmark end
-128 1813 a Black 148 x Fp(4.14.4)p Black 89 w(R)n(TS)25
b(options)f(f)n(or)g(concurrenc)o(y)f(and)i(parallelism)-128
2164 y FA(The)20 b(R)-5 b(TS)21 b(options)f(related)f(to)i(concurrenc)o
(y)16 b(are)21 b(described)d(in)j(Section)p 1 0 0 TeXcolorrgb
2034 2165 a
SDict begin H.S end
2034 2165 a 1 0 0 TeXcolorrgb -1 x FA(4.11)p
1 0 0 TeXcolorrgb 2179 2107 a
SDict begin H.R end
2179 2107 a 2179 2164 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.11) cvn H.B /ANN pdfmark end
2179 2164 a Black FA(,)f(and)g(those)g(for)g(parallelism)f(in)i
(Section)p 1 0 0 TeXcolorrgb 3419 2165 a
SDict begin H.S end
3419 2165 a
1 0 0 TeXcolorrgb -1 x FA(4.12.1)p 1 0 0 TeXcolorrgb
3627 2107 a
SDict begin H.R end
3627 2107 a 3627 2164 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.12.1) cvn H.B /ANN pdfmark end
3627 2164 a Black
FA(.)-128 2298 y
SDict begin H.S end
-128 2298 a -128 2298 a
SDict begin 12 H.A end
-128 2298 a
-128 2298 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.5) cvn H.B /DEST pdfmark end
-128 2298 a Black 148 x Fp(4.14.5)p Black
89 w(R)n(TS)k(options)f(f)n(or)g(pr)n(o\002ling)-128
2534 y
SDict begin H.S end
-128 2534 a -128 2534 a
SDict begin 12 H.A end
-128 2534 a -128 2534
a
SDict begin [ /View [/XYZ H.V] /Dest (rts-profiling) cvn H.B /DEST pdfmark end
-128 2534 a 115 x FA(Most)17 b(pro\002ling)d(runtime)h(options)h(are)
g(only)f(a)n(v)n(ailable)g(when)h(you)f(compile)g(your)g(program)f(for)
h(pro\002ling)g(\(see)h(Section)p 1 0 0 TeXcolorrgb 3414
2650 a
SDict begin H.S end
3414 2650 a 1 0 0 TeXcolorrgb -1 x FA(5.2)p 1 0 0
TeXcolorrgb 3518 2593 a
SDict begin H.R end
3518 2593 a 3518 2649 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.2) cvn H.B /ANN pdfmark end
3518
2649 a Black FA(,)h(and)f(Section)p 1 0 0 TeXcolorrgb
3958 2650 a
SDict begin H.S end
3958 2650 a 1 0 0 TeXcolorrgb -1 x FA(5.4.1)p
1 0 0 TeXcolorrgb 4124 2593 a
SDict begin H.R end
4124 2593 a 4124 2649 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.5.4.1) cvn H.B /ANN pdfmark end
4124 2649 a Black -128 2748 a FA(for)k(the)g(runtime)f(options\).)24
b(Ho)n(we)n(v)o(er)m(,)18 b(there)i(is)h(one)e(pro\002ling)g(option)g
(that)h(is)i(a)n(v)n(ailable)d(for)h(ordinary)e(non-pro\002led)f(e)o(x)
o(ecutables:)p Black -107 2964 a Fh(-hT)p Black 62 w
FA(Generates)j(a)h(basic)g(heap)f(pro\002le,)g(in)g(the)h(\002le)g
Fr(prog)t Ft(.hp)p FA(.)26 b(T)-7 b(o)21 b(produce)d(the)j(heap)f
(pro\002le)g(graph,)f(use)i Fu(hp2ps)g FA(\(see)g(Section)p
1 0 0 TeXcolorrgb 3816 2965 a
SDict begin H.S end
3816 2965 a 1 0 0 TeXcolorrgb
-1 x FA(5.5)p 1 0 0 TeXcolorrgb 3920 2908 a
SDict begin H.R end
3920 2908
a 3920 2964 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.5) cvn H.B /ANN pdfmark end
3920 2964 a Black FA(\).)26 b(The)80 3064
y(basic)d(heap)g(pro\002le)f(is)i(brok)o(en)e(do)n(wn)g(by)h(data)g
(constructor)m(,)e(with)i(other)g(types)g(of)f(closures)h(\(functions,)
f(thunks,)h(etc.\))33 b(grouped)21 b(into)80 3164 y(broad)e(cate)o
(gories)g(\(e.g.)24 b Ft(FUN)p FA(,)c Ft(THUNK)p FA(\).)f(T)-7
b(o)21 b(get)f(a)g(more)g(detailed)f(pro\002le,)h(use)g(the)g(full)g
(pro\002ling)f(support)g(\(Chapter)p 1 0 0 TeXcolorrgb
3625 3165 a
SDict begin H.S end
3625 3165 a 1 0 0 TeXcolorrgb -1 x FA(5)p
1 0 0 TeXcolorrgb 3667 3107 a
SDict begin H.R end
3667 3107 a 3667 3164 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end
3667 3164 a Black FA(\).)-128 3298 y
SDict begin H.S end
-128 3298 a -128
3298 a
SDict begin 12 H.A end
-128 3298 a -128 3298 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.6) cvn H.B /DEST pdfmark end
-128 3298 a Black 148
x Fp(4.14.6)p Black 89 w(R)n(TS)25 b(options)f(f)n(or)g(hac)n(ker)o(s,)
g(deb)n(ug)o(g)q(er)o(s,)f(and)h(o)n(ver)n(-interested)f(souls)-128
3534 y
SDict begin H.S end
-128 3534 a -128 3534 a
SDict begin 12 H.A end
-128 3534 a -128 3534
a
SDict begin [ /View [/XYZ H.V] /Dest (rts-options-debugging) cvn H.B /DEST pdfmark end
-128 3534 a 115 x FA(These)g(R)-5 b(TS)24 b(options)e(might)g(be)h
(used)g(\(a\))g(to)g(a)n(v)n(oid)g(a)g(GHC)h(b)n(ug,)f(\(b\))f(to)h
(see)h(\223what')-5 b(s)23 b(really)g(happening\224,)d(or)j(\(c\))g
(because)f(you)g(feel)h(lik)o(e)g(it.)-128 3748 y(Not)e(recommended)c
(for)i(e)n(v)o(eryday)f(use!)p Black -107 3964 a Fh(-B)p
Black 62 w FA(Sound)h(the)h(bell)h(at)f(the)g(start)h(of)f(each)g
(\(major\))f(garbage)f(collection.)80 4097 y(Oddly)26
b(enough,)h(people)g(really)f(do)h(use)h(this)g(option!)45
b(Our)27 b(pal)g(in)h(Durham)d(\(England\),)i(P)o(aul)g(Callaghan,)h
(writes:)40 b(\223Some)27 b(people)80 4197 y(here)17
b(use)i(it)f(for)g(a)g(v)n(ariety)f(of)h
(purposes\227honestly!\227e.g.,)13 b(con\002rmation)j(that)i(the)g
(code/machine)e(is)j(doing)d(something,)h(in\002nite)h(loop)80
4296 y(detection,)25 b(gauging)e(cost)j(of)f(recently)f(added)g(code.)
40 b(Certain)25 b(people)g(can)g(e)n(v)o(en)f(tell)i(what)f(stage)h
([the)f(program])e(is)j(in)f(by)g(the)h(beep)80 4396
y(pattern.)e(But)d(the)f(major)f(use)i(is)g(for)f(anno)o(ying)d(others)
j(in)g(the)h(same)f(of)n(\002ce.)12 b(.)g(.)g(\224)p
Black -107 4562 a Fh(-D)p Ff(num)p Black 65 w FA(An)24
b(R)-5 b(TS)24 b(deb)n(ugging)d(\003ag;)26 b(v)n(arying)21
b(quantities)i(of)h(output)e(depending)f(on)i(which)g(bits)h(are)g(set)
g(in)g Fr(num)q FA(.)35 b(Only)23 b(w)o(orks)h(if)g(the)f(R)-5
b(TS)80 4662 y(w)o(as)21 b(compiled)e(with)h(the)g Ft(DEBUG)g
FA(option.)p Black -107 4828 a Fh(-r)p Ff(file)p Black
82 w FA(Produce)26 b(\223tick)o(y-tick)o(y\224)f(statistics)k(at)f(the)
g(end)e(of)h(the)h(program)d(run.)46 b(The)27 b Fr(file)g
FA(b)n(usiness)h(w)o(orks)f(just)h(lik)o(e)f(on)g(the)h
Ft(-S)f FA(R)-5 b(TS)80 4927 y(option)19 b(\(abo)o(v)o(e\).)80
5060 y(\223T)m(ick)o(y-tick)o(y\224)c(statistics)k(are)f(counts)f(of)g
(v)n(arious)g(program)e(actions)i(\(updates,)g(enters,)h(etc.\))24
b(The)17 b(program)f(must)h(ha)n(v)o(e)g(been)g(compiled)80
5160 y(using)26 b Ft(-ticky)f FA(\(a.k.a.)43 b(\223tick)o(y-tick)o(y)24
b(pro\002ling\224\),)h(and,)i(for)f(it)h(to)f(be)h(really)e(useful,)i
(link)o(ed)f(with)g(suitable)h(system)f(libraries.)43
b(Not)80 5259 y(a)29 b(tri)n(vial)g(undertaking:)39 b(consult)28
b(the)h(installation)g(guide)e(on)i(ho)n(w)f(to)h(set)g(things)g(up)f
(for)g(easy)h(\223tick)o(y-tick)o(y\224)d(pro\002ling.)49
b(F)o(or)29 b(more)80 5359 y(information,)18 b(see)i(Section)p
1 0 0 TeXcolorrgb 910 5360 a
SDict begin H.S end
910 5360 a 1 0 0 TeXcolorrgb
-1 x FA(5.7)p 1 0 0 TeXcolorrgb 1014 5303 a
SDict begin H.R end
1014 5303
a 1014 5359 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.7) cvn H.B /ANN pdfmark end
1014 5359 a Black FA(.)p Black -128 6084
4252 5 v Black eop end
%%Page: 77 92
TeXDict begin 77 91 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.77) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(77)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(-xc)p Black
62 w FA(\(Only)26 b(a)n(v)n(ailable)h(when)g(the)g(program)e(is)j
(compiled)e(for)g(pro\002ling.\))44 b(When)27 b(an)g(e)o(xception)e(is)
k(raised)e(in)g(the)g(program,)g(this)g(option)80 273
y(causes)20 b(the)h(current)e(cost-centre-stack)f(to)i(be)g(dumped)e
(to)j Ft(stderr)p FA(.)80 406 y(This)e(can)f(be)g(particularly)f
(useful)h(for)g(deb)n(ugging:)k(if)d(your)e(program)f(is)j(complaining)
e(about)g(a)i Ft(head)49 b([])19 b FA(error)e(and)h(you)g(ha)n(v)o(en')
o(t)e(got)80 505 y(a)k(clue)f(which)f(bit)i(of)f(code)f(is)j(causing)d
(it,)i(compiling)d(with)j Ft(-prof)49 b(-auto-all)18
b FA(and)g(running)g(with)h Ft(+RTS)49 b(-xc)g(-RTS)19
b FA(will)h(tell)80 605 y(you)f(e)o(xactly)h(the)g(call)g(stack)h(at)f
(the)h(point)e(the)h(error)f(w)o(as)i(raised.)80 738
y(The)16 b(output)f(contains)h(one)g(line)h(for)f(each)g(e)o(xception)e
(raised)j(in)f(the)h(program)d(\(the)i(program)f(might)h(raise)g(and)g
(catch)h(se)n(v)o(eral)f(e)o(xceptions)80 837 y(during)j(its)i(e)o(x)o
(ecution\),)c(where)j(each)g(line)g(is)h(of)f(the)g(form:)-128
905 y
SDict begin H.S end
-128 905 a -128 905 a
SDict begin 12 H.A end
-128 905 a -128 905 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-165) cvn H.B /DEST pdfmark end
-128
905 a 0.95 TeXcolorgray 55 920 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 1012
25 92 v Black 0.95 TeXcolorgray 80 1012 4045 92 v Black
0.95 TeXcolorgray 4124 1012 25 92 v Black 0.95 TeXcolorgray
Black 80 984 a
SDict begin H.S end
80 984 a 80 984 a
SDict begin 11 H.A end
80 984 a 80 984 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-165.1) cvn H.B /DEST pdfmark end
80
984 a Fo(<)p 0 0 0 TeXcolorrgb 45 w(cc1)p Black -1 w(,)45
b(...,)p 0 0 0 TeXcolorrgb 44 w(ccn)p Black 44 w(>)p
0.95 TeXcolorgray 55 1037 4095 25 v Black 0.95 TeXcolorgray
Black Black Black 80 1194 a FA(each)26 b Ft(cc)359 1207
y Fn(i)407 1194 y FA(is)i(a)f(cost)g(centre)f(in)g(the)h(program)d
(\(see)j(Section)p 1 0 0 TeXcolorrgb 1911 1195 a
SDict begin H.S end
1911
1195 a 1 0 0 TeXcolorrgb -1 x FA(5.1)p 1 0 0 TeXcolorrgb
2014 1138 a
SDict begin H.R end
2014 1138 a 2014 1194 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.1) cvn H.B /ANN pdfmark end
2014 1194 a Black
FA(\),)h(and)f(the)f(sequence)g(represents)f(the)i(\223call)g
(stack\224)f(at)h(the)g(point)f(the)80 1294 y(e)o(xception)18
b(w)o(as)i(raised.)25 b(The)19 b(leftmost)g(item)h(is)g(the)g
(innermost)e(function)g(in)h(the)h(call)g(stack,)g(and)f(the)g
(rightmost)g(item)g(is)i(the)e(outermost)80 1394 y(function.)p
Black -107 1560 a Fh(-Z)p Black 62 w FA(T)l(urn)g Fq(of)o(f)32
b FA(\223update-frame)17 b(squeezing\224)h(at)j(garbage-collection)16
b(time.)25 b(\(There')-5 b(s)19 b(no)h(particularly)e(good)g(reason)i
(to)g(turn)f(it)i(of)n(f,)e(e)o(xcept)g(to)80 1659 y(ensure)g(the)i
(accurac)o(y)d(of)i(certain)g(data)g(collected)f(re)o(garding)e(thunk)i
(entry)h(counts.\))-128 1793 y
SDict begin H.S end
-128 1793 a -128 1793
a
SDict begin 12 H.A end
-128 1793 a -128 1793 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.7) cvn H.B /DEST pdfmark end
-128 1793 a Black 148 x Fp(4.14.7)p
Black 89 w(\223Hooks\224)k(to)h(c)o(hang)q(e)e(R)n(TS)i(beha)o(viour)
-128 2030 y
SDict begin H.S end
-128 2030 a -128 2030 a
SDict begin 12 H.A end
-128 2030 a -128
2030 a
SDict begin [ /View [/XYZ H.V] /Dest (rts-hooks) cvn H.B /DEST pdfmark end
-128 2030 a 115 x FA(GHC)d(lets)f(you)f(e)o(x)o(ercise)f
(rudimentary)f(control)h(o)o(v)o(er)g(the)i(R)-5 b(TS)21
b(settings)g(for)e(an)o(y)h(gi)n(v)o(en)f(program,)f(by)i(compiling)f
(in)i(a)f(\223hook\224)f(that)i(is)g(called)-128 2244
y(by)g(the)f(run-time)f(system.)26 b(The)21 b(R)-5 b(TS)21
b(contains)f(stub)g(de\002nitions)g(for)g(all)h(these)g(hooks,)e(b)n
(ut)i(by)f(writing)g(your)f(o)n(wn)h(v)o(ersion)g(and)g(linking)f(it)i
(on)-128 2344 y(the)g(GHC)g(command)d(line,)i(you)f(can)h(o)o(v)o
(erride)e(the)i(def)o(aults.)-128 2493 y(Owing)g(to)h(the)f(v)n
(agaries)f(of)h(DLL)g(linking,)e(these)j(hooks)e(don')o(t)f(w)o(ork)i
(under)f(W)m(indo)n(ws)g(when)h(the)g(program)e(is)j(b)n(uilt)g
(dynamically)-5 b(.)-128 2643 y(The)25 b(hook)e Ft(ghc_rts_opts)p
FA(lets)g(you)g(set)i(R)-5 b(TS)26 b(options)d(permanently)f(for)i(a)h
(gi)n(v)o(en)e(program.)36 b(A)25 b(common)d(use)j(for)f(this)h(is)g
(to)g(gi)n(v)o(e)e(your)-128 2742 y(program)17 b(a)i(def)o(ault)f(heap)
g(and/or)g(stack)h(size)g(that)g(is)g(greater)f(than)g(the)h(def)o
(ault.)24 b(F)o(or)18 b(e)o(xample,)g(to)h(set)g Ft(-H128m)49
b(-K1m)p FA(,)18 b(place)h(the)g(follo)n(wing)-128 2842
y(de\002nition)g(in)i(a)f(C)i(source)d(\002le:)-128 2893
y
SDict begin H.S end
-128 2893 a -128 2893 a
SDict begin 12 H.A end
-128 2893 a -128 2893 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-166) cvn H.B /DEST pdfmark end
-128
2893 a 0.95 TeXcolorgray -153 2925 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3016 25 92 v Black 0.95 TeXcolorgray -128 3016 4252
92 v Black 0.95 TeXcolorgray 4124 3016 25 92 v Black
0.95 TeXcolorgray Black -128 2989 a
SDict begin H.S end
-128 2989 a -128
2989 a
SDict begin 11 H.A end
-128 2989 a -128 2989 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-166.1) cvn H.B /DEST pdfmark end
-128 2989 a 0 0 0 TeXcolorrgb
Fo(char)p Black 97 3002 a(*)p 0 0 0 TeXcolorrgb 141 2989
a(ghc_rts_opts)p Black 43 w(=)45 b("-)p 0 0 0 TeXcolorrgb(H128m)p
Black 44 w(-)p 0 0 0 TeXcolorrgb -1 w(K1m)p Black(";)p
0.95 TeXcolorgray -153 3041 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3216 a FA(Compile)20 b(the)g(C)i(\002le,)e(and)g
(include)f(the)h(object)g(\002le)h(on)e(the)i(command)d(line)i(when)g
(you)f(link)h(your)f(Hask)o(ell)h(program.)-128 3365
y(These)26 b(\003ags)g(are)g(interpreted)e(\002rst,)j(before)e(an)o(y)f
(R)-5 b(TS)27 b(\003ags)f(from)f(the)g Ft(GHCRTS)h FA(en)m(vironment)c
(v)n(ariable)j(and)g(an)o(y)g(\003ags)h(on)f(the)h(command)-128
3465 y(line.)-128 3614 y(Y)-9 b(ou)20 b(can)h(also)g(change)e(the)h
(messages)h(printed)e(when)h(the)h(runtime)e(system)i(\223blo)n(ws)f
(up,)-6 b(\224)20 b(e.g.,)g(on)g(stack)h(o)o(v)o(er\003o)n(w)-5
b(.)24 b(The)c(hooks)f(for)h(these)h(are)-128 3714 y(as)g(follo)n(ws:)p
Black -107 3929 a Fh(void)49 b(OutOfHeapHook)f(\(unsigned)g(long,)h
(unsigned)f(long\))p Black 61 w FA(The)20 b(heap-o)o(v)o(er\003o)n(w)d
(message.)p Black -107 4096 a Fh(void)49 b(StackOverflowHook)e(\(long)i
(int\))p Black 61 w FA(The)20 b(stack-o)o(v)o(er\003o)n(w)e(message.)p
Black -107 4262 a Fh(void)49 b(MallocFailHook)e(\(long)i(int\))p
Black 62 w FA(The)20 b(message)g(printed)f(if)h Ft(malloc)g
FA(f)o(ails.)-128 4477 y(F)o(or)27 b(e)o(xamples)e(of)i(the)f(use)h(of)
g(these)f(hooks,)h(see)h(GHC')-5 b(s)27 b(o)n(wn)g(v)o(ersions)e(in)i
(the)g(\002le)g Ft(ghc/compiler/parser/hschooks.c)22
b FA(in)27 b(a)-128 4577 y(GHC)21 b(source)f(tree.)-128
4694 y
SDict begin H.S end
-128 4694 a -128 4694 a
SDict begin 12 H.A end
-128 4694 a -128 4694
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.14.8) cvn H.B /DEST pdfmark end
-128 4694 a Black 165 x Fp(4.14.8)p Black 89 w(Getting)k(inf)n
(ormation)f(about)h(the)h(R)n(TS)-128 5062 y FA(It)c(is)g(possible)f
(to)g(ask)h(the)f(R)-5 b(TS)21 b(to)f(gi)n(v)o(e)g(some)g(information)d
(about)j(itself.)25 b(T)-7 b(o)21 b(do)e(this,)i(use)f(the)g
Ft(--info)g FA(\003ag,)g(e.g.)-128 5130 y
SDict begin H.S end
-128 5130 a
-128 5130 a
SDict begin 12 H.A end
-128 5130 a -128 5130 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-167) cvn H.B /DEST pdfmark end
-128 5130 a 0.95
TeXcolorgray -153 5145 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5237 25 92 v Black 0.95 TeXcolorgray -128 5237 4252 92
v Black 0.95 TeXcolorgray 4124 5237 25 92 v Black 0.95
TeXcolorgray Black -128 5209 a
SDict begin H.S end
-128 5209 a -128 5209
a
SDict begin 11 H.A end
-128 5209 a -128 5209 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.1) cvn H.B /DEST pdfmark end
-128 5209 a 0 0 0 TeXcolorrgb
Fo($)p Black 45 w(./)p 0 0 0 TeXcolorrgb(a)p Black(.)p
0 0 0 TeXcolorrgb -1 w(out)p Black 45 w(+)p 0 0 0 TeXcolorrgb(RTS)p
Black 44 w(--)p 0 0 0 TeXcolorrgb(info)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5328 25 92 v Black 0.95
TeXcolorgray -128 5328 4252 92 v Black 0.95 TeXcolorgray
4124 5328 25 92 v Black 0.95 TeXcolorgray Black -128
5301 a
SDict begin H.S end
-128 5301 a -128 5301 a
SDict begin 11 H.A end
-128 5301 a -128 5301
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.2) cvn H.B /DEST pdfmark end
-128 5301 a 45 w Fo([\(")p 0 0 0 TeXcolorrgb(GHC)p
Black 0 0 0 TeXcolorrgb 44 w(RTS)p Black(",)44 b(")p
0 0 0 TeXcolorrgb(YES)p Black -1 w("\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5419 25 92 v Black 0.95
TeXcolorgray -128 5419 4252 92 v Black 0.95 TeXcolorgray
4124 5419 25 92 v Black 0.95 TeXcolorgray Black -128
5392 a
SDict begin H.S end
-128 5392 a -128 5392 a
SDict begin 11 H.A end
-128 5392 a -128 5392
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.3) cvn H.B /DEST pdfmark end
-128 5392 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(GHC)p
Black 0 0 0 TeXcolorrgb 44 w(version)p Black -1 w(",)g("6.7"\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5511 25
92 v Black 0.95 TeXcolorgray -128 5511 4252 92 v Black
0.95 TeXcolorgray 4124 5511 25 92 v Black 0.95 TeXcolorgray
Black -128 5483 a
SDict begin H.S end
-128 5483 a -128 5483 a
SDict begin 11 H.A end
-128 5483 a
-128 5483 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.4) cvn H.B /DEST pdfmark end
-128 5483 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(RTS)p
Black 0 0 0 TeXcolorrgb 44 w(way)p Black(",)g(")p 0 0 0
TeXcolorrgb(rts_p)p Black -1 w("\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5602 25 92 v Black 0.95
TeXcolorgray -128 5602 4252 92 v Black 0.95 TeXcolorgray
4124 5602 25 92 v Black 0.95 TeXcolorgray Black -128
5575 a
SDict begin H.S end
-128 5575 a -128 5575 a
SDict begin 11 H.A end
-128 5575 a -128 5575
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.5) cvn H.B /DEST pdfmark end
-128 5575 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Host)p
Black 0 0 0 TeXcolorrgb 44 w(platform)p Black -1 w(",)g(")p
0 0 0 TeXcolorrgb(x86_64)p Black -1 w(-)p 0 0 0 TeXcolorrgb(unknown)p
Black -1 w(-)p 0 0 0 TeXcolorrgb -1 w(linux)p Black("\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5693 25
92 v Black 0.95 TeXcolorgray -128 5693 4252 92 v Black
0.95 TeXcolorgray 4124 5693 25 92 v Black 0.95 TeXcolorgray
Black -128 5666 a
SDict begin H.S end
-128 5666 a -128 5666 a
SDict begin 11 H.A end
-128 5666 a
-128 5666 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.6) cvn H.B /DEST pdfmark end
-128 5666 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Host)p
Black 0 0 0 TeXcolorrgb 44 w(architecture)p Black -2
w(",)g(")p 0 0 0 TeXcolorrgb(x86_64)p Black -1 w("\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5785 25
92 v Black 0.95 TeXcolorgray -128 5785 4252 92 v Black
0.95 TeXcolorgray 4124 5785 25 92 v Black 0.95 TeXcolorgray
Black -128 5757 a
SDict begin H.S end
-128 5757 a -128 5757 a
SDict begin 11 H.A end
-128 5757 a
-128 5757 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.7) cvn H.B /DEST pdfmark end
-128 5757 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Host)p
Black 0 0 0 TeXcolorrgb 44 w(OS)p Black(",)g(")p 0 0 0
TeXcolorrgb(linux)p Black -1 w("\))p Black -128 6084
4252 5 v Black eop end
%%Page: 78 93
TeXDict begin 78 92 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.78) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(78)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.8) cvn H.B /DEST pdfmark end
-128 173 a 45 w Fo(,\(")p
0 0 0 TeXcolorrgb(Host)p Black 0 0 0 TeXcolorrgb 44 w(vendor)p
Black -1 w(",)44 b(")p 0 0 0 TeXcolorrgb(unknown)p Black
-1 w("\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 292 25 92 v Black 0.95 TeXcolorgray -128 292 4252
92 v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.9) cvn H.B /DEST pdfmark end
-128 265 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Build)p
Black 0 0 0 TeXcolorrgb 44 w(platform)p Black -2 w(",)h(")p
0 0 0 TeXcolorrgb(x86_64)p Black -1 w(-)p 0 0 0 TeXcolorrgb(unknown)p
Black -2 w(-)p 0 0 0 TeXcolorrgb(linux)p Black -1 w("\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 383 25
92 v Black 0.95 TeXcolorgray -128 383 4252 92 v Black
0.95 TeXcolorgray 4124 383 25 92 v Black 0.95 TeXcolorgray
Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128 356 a -128
356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.10) cvn H.B /DEST pdfmark end
-128 356 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Build)p
Black 0 0 0 TeXcolorrgb 44 w(architecture)p Black -2
w(",)f(")p 0 0 0 TeXcolorrgb(x86_64)p Black -1 w("\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 475 25
92 v Black 0.95 TeXcolorgray -128 475 4252 92 v Black
0.95 TeXcolorgray 4124 475 25 92 v Black 0.95 TeXcolorgray
Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128 447 a -128
447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.11) cvn H.B /DEST pdfmark end
-128 447 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Build)p
Black 0 0 0 TeXcolorrgb 44 w(OS)p Black -1 w(",)h(")p
0 0 0 TeXcolorrgb(linux)p Black -1 w("\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.12) cvn H.B /DEST pdfmark end
-128 538 a 45 w Fo(,\(")p
0 0 0 TeXcolorrgb(Build)p Black 0 0 0 TeXcolorrgb 44
w(vendor)p Black -1 w(",)f(")p 0 0 0 TeXcolorrgb(unknown)p
Black -1 w("\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 657 25 92 v Black 0.95 TeXcolorgray -128 657 4252
92 v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.13) cvn H.B /DEST pdfmark end
-128 630 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Target)p
Black 0 0 0 TeXcolorrgb 44 w(platform)p Black -2 w(",)h(")p
0 0 0 TeXcolorrgb(x86_64)p Black -1 w(-)p 0 0 0 TeXcolorrgb
-1 w(unknown)p Black -1 w(-)p 0 0 0 TeXcolorrgb(linux)p
Black -1 w("\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 749 25 92 v Black 0.95 TeXcolorgray -128 749 4252
92 v Black 0.95 TeXcolorgray 4124 749 25 92 v Black 0.95
TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721 a -128 721 a
SDict begin 11 H.A end
-128
721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.14) cvn H.B /DEST pdfmark end
-128 721 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Target)p
Black 0 0 0 TeXcolorrgb 44 w(architecture)p Black -2
w(",)f(")p 0 0 0 TeXcolorrgb(x86_64)p Black -1 w("\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 840 25
92 v Black 0.95 TeXcolorgray -128 840 4252 92 v Black
0.95 TeXcolorgray 4124 840 25 92 v Black 0.95 TeXcolorgray
Black -128 812 a
SDict begin H.S end
-128 812 a -128 812 a
SDict begin 11 H.A end
-128 812 a -128
812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.15) cvn H.B /DEST pdfmark end
-128 812 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Target)p
Black 0 0 0 TeXcolorrgb 44 w(OS)p Black -1 w(",)h(")p
0 0 0 TeXcolorrgb(linux)p Black -1 w("\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 931 25 92 v Black 0.95 TeXcolorgray
-128 931 4252 92 v Black 0.95 TeXcolorgray 4124 931 25
92 v Black 0.95 TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904
a -128 904 a
SDict begin 11 H.A end
-128 904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.16) cvn H.B /DEST pdfmark end
-128 904 a 45 w Fo(,\(")p
0 0 0 TeXcolorrgb(Target)p Black 0 0 0 TeXcolorrgb 44
w(vendor)p Black -1 w(",)f(")p 0 0 0 TeXcolorrgb(unknown)p
Black -1 w("\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1023 25 92 v Black 0.95 TeXcolorgray -128 1023 4252
92 v Black 0.95 TeXcolorgray 4124 1023 25 92 v Black
0.95 TeXcolorgray Black -128 995 a
SDict begin H.S end
-128 995 a -128 995
a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.17) cvn H.B /DEST pdfmark end
-128 995 a 45 w Fo(,\(")p 0 0 0
TeXcolorrgb(Word)p Black 0 0 0 TeXcolorrgb 44 w(size)p
Black -1 w(",)h("64"\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 1114 25 92 v Black 0.95 TeXcolorgray
-128 1114 4252 92 v Black 0.95 TeXcolorgray 4124 1114
25 92 v Black 0.95 TeXcolorgray Black -128 1086 a
SDict begin H.S end
-128
1086 a -128 1086 a
SDict begin 11 H.A end
-128 1086 a -128 1086 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.18) cvn H.B /DEST pdfmark end
-128 1086
a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Compiler)p Black 0 0 0
TeXcolorrgb 43 w(unregisterised)p Black -2 w(",)f(")p
0 0 0 TeXcolorrgb(NO)p Black("\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1205 25 92 v Black 0.95
TeXcolorgray -128 1205 4252 92 v Black 0.95 TeXcolorgray
4124 1205 25 92 v Black 0.95 TeXcolorgray Black -128
1178 a
SDict begin H.S end
-128 1178 a -128 1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.19) cvn H.B /DEST pdfmark end
-128 1178 a 45 w Fo(,\(")p 0 0 0 TeXcolorrgb(Tables)p
Black 0 0 0 TeXcolorrgb 44 w(next)p Black 0 0 0 TeXcolorrgb
44 w(to)p Black 0 0 0 TeXcolorrgb 44 w(code)p Black(",)g(")p
0 0 0 TeXcolorrgb(YES)p Black -1 w("\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1296 25 92 v Black 0.95
TeXcolorgray -128 1296 4252 92 v Black 0.95 TeXcolorgray
4124 1296 25 92 v Black 0.95 TeXcolorgray Black -128
1269 a
SDict begin H.S end
-128 1269 a -128 1269 a
SDict begin 11 H.A end
-128 1269 a -128 1269
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-167.20) cvn H.B /DEST pdfmark end
-128 1269 a 45 w Fo(])p 0.95 TeXcolorgray -152 1321
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
1476 a FA(The)22 b(information)e(is)i(formatted)f(such)g(that)h(it)h
(can)f(be)g(read)f(as)i(a)f(of)g(type)f Ft([\(String,)48
b(String\)])p FA(.)30 b(Currently)20 b(the)i(follo)n(wing)f(\002elds)h
(are)-128 1576 y(present:)p Black -128 1762 a Fh(GHC)50
b(RTS)p Black 41 w FA(Is)20 b(this)h(program)d(link)o(ed)i(against)f
(the)h(GHC)h(R)-5 b(TS?)21 b(\(al)o(w)o(ays)g("YES"\).)p
Black -128 1918 a Fh(GHC)50 b(version)p Black 40 w FA(The)20
b(v)o(ersion)f(of)h(GHC)h(used)f(to)g(compile)f(this)i(program.)p
Black -128 2074 a Fh(RTS)50 b(way)p Black 41 w FA(The)23
b(v)n(ariant)g(\(\223w)o(ay\224\))g(of)g(the)h(runtime.)35
b(The)23 b(most)h(common)e(v)n(alues)h(are)h Ft(rts)g
FA(\(v)n(anilla\),)f Ft(rts_thr)g FA(\(threaded)f(runtime,)h(i.e.)80
2174 y(link)o(ed)d(using)h(the)g Ft(-threaded)e FA(option\))h(and)g
Ft(rts_p)h FA(\(pro\002ling)e(runtime,)h(i.e.)27 b(link)o(ed)20
b(using)h(the)g Ft(-prof)f FA(option\).)26 b(Other)21
b(v)n(ariants)80 2274 y(include)f Ft(debug)g FA(\(link)o(ed)f(using)i
Ft(-debug)p FA(\),)e Ft(t)i FA(\(tick)o(y-tick)o(y)d(pro\002ling\))h
(and)h Ft(dyn)h FA(\(the)f(R)-5 b(TS)22 b(is)f(link)o(ed)f(in)h
(dynamically)-5 b(,)18 b(i.e.)27 b(a)21 b(shared)80 2373
y(library)-5 b(,)20 b(rather)g(than)h(statically)h(link)o(ed)e(into)h
(the)h(e)o(x)o(ecutable)d(itself\).)29 b(These)21 b(can)g(be)g
(combined,)e(e.g.)28 b(you)21 b(might)f(ha)n(v)o(e)h
Ft(rts_thr_-)80 2473 y(debug_p)p FA(.)p Black -107 2629
a Fh(Target)49 b(platform)p Fu(,)19 b Fh(Target)49 b(architecture)p
Fu(,)18 b Fh(Target)49 b(OS)p Fu(,)20 b Fh(Target)48
b(vendor)p Black 62 w FA(These)20 b(are)h(the)g(platform)f(the)h
(program)e(is)80 2729 y(compiled)g(to)h(run)g(on.)p Black
-107 2885 a Fh(Build)49 b(platform)p Fu(,)19 b Fh(Build)49
b(architecture)p Fu(,)18 b Fh(Build)49 b(OS)p Fu(,)20
b Fh(Build)49 b(vendor)p Black 61 w FA(These)30 b(are)f(the)h(platform)
e(where)h(the)h(program)80 2985 y(w)o(as)f(b)n(uilt)g(on.)48
b(\(That)28 b(is,)j(the)d(tar)o(get)f(platform)g(of)h(GHC)h(itself.\))
50 b(Ordinarily)26 b(this)j(is)g(identical)f(to)g(the)h(tar)o(get)e
(platform.)48 b(\(It)28 b(could)80 3084 y(potentially)19
b(be)h(dif)n(ferent)f(if)h(cross-compiling.\))p Black
-107 3240 a Fh(Host)49 b(platform)p Fu(,)19 b Fh(Host)49
b(architecture)19 b(Host)49 b(OS)20 b(Host)49 b(vendor)p
Black 62 w FA(These)19 b(are)h(the)g(platform)f(where)g(GHC)i(itself)g
(w)o(as)g(com-)80 3340 y(piled.)k(Again,)19 b(this)h(w)o(ould)g
(normally)e(be)i(identical)g(to)g(the)h(b)n(uild)e(and)h(tar)o(get)f
(platforms.)p Black -128 3496 a Fh(Word)50 b(size)p Black
40 w FA(Either)20 b Ft("32")g FA(or)g Ft("64")p FA(,)g(re\003ecting)f
(the)h(w)o(ord)g(size)h(of)e(the)i(tar)o(get)e(platform.)p
Black -128 3652 a Fh(Compiler)49 b(unregistered)p Black
39 w FA(W)-7 b(as)19 b(this)g(program)c(compiled)i(with)h(an)g
(\223unre)o(gistered\224)d(v)o(ersion)h(of)i(GHC?)h(\(I.e.,)e(a)h(v)o
(ersion)f(of)g(GHC)i(that)80 3752 y(has)k(no)f(platform-speci\002c)e
(optimisations)i(compiled)f(in,)i(usually)f(because)g(this)h(is)g(a)g
(currently)e(unsupported)f(platform.\))30 b(This)23 b(v)n(alue)80
3852 y(will)e(usually)f(be)g(no,)f(unless)i(you')l(re)d(using)h(an)i(e)
o(xperimental)d(b)n(uild)h(of)h(GHC.)p Black -128 4008
a Fh(Tables)49 b(next)g(to)h(code)p Black 40 w FA(Putting)32
b(info)g(tables)g(directly)g(ne)o(xt)g(to)g(entry)g(code)f(is)j(a)e
(useful)g(performance)e(optimisation)h(that)h(is)h(not)80
4108 y(a)n(v)n(ailable)25 b(on)g(all)g(platforms.)39
b(This)26 b(\002eld)f(tells)i(you)d(whether)g(the)h(program)e(has)j
(been)f(compiled)e(with)j(this)g(optimisation.)38 b(\(Usually)80
4207 y(yes,)20 b(e)o(xcept)f(on)h(unusual)f(platforms.\))-128
4346 y
SDict begin H.S end
-128 4346 a -128 4346 a
SDict begin 12 H.A end
-128 4346 a -128 4346
a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.15) cvn H.B /DEST pdfmark end
-128 4346 a Black 171 x Fs(4.15)p Black 107 w(Generating)28
b(and)i(compiling)e(External)g(Core)h(Files)-128 4644
y
SDict begin H.S end
-128 4644 a -128 4644 a
SDict begin 12 H.A end
-128 4644 a -128 4644 a
SDict begin [ /View [/XYZ H.V] /Dest (ext-core) cvn H.B /DEST pdfmark end
-128
4644 a 105 x FA(GHC)g(can)f(dump)e(its)j(optimized)e(intermediate)f
(code)i(\(said)f(to)h(be)g(in)g(\223Core\224)g(format\))e(to)i(a)h
(\002le)f(as)h(a)f(side-ef)n(fect)f(of)h(compilation.)46
b(Non-)-128 4849 y(GHC)36 b(back-end)c(tools)i(can)h(read)e(and)h
(process)g(Core)h(\002les;)42 b(these)35 b(\002les)g(ha)n(v)o(e)f(the)g
(suf)n(\002x)g Ft(.hcr)p FA(.)68 b(The)34 b(Core)g(format)f(is)j
(described)d(in)p 1 0 0 0 TeXcolorcmyk -128 4966 a
SDict begin H.S end
-128
4966 a 1 0 0 0 TeXcolorcmyk -107 4948 a FA(An)20 b(External)f
(Representation)g(for)h(the)g(GHC)h(Core)f(Language)p
1 0 0 0 TeXcolorcmyk 1782 4892 a
SDict begin H.R end
1782 4892 a 1782 4948
a
SDict begin [ /Subtype /Link /H /I /Border [0 0 0] /Color [0 .5 .5] /Action << /S /GoToR /F (../ext-core/core.pdf) /D [0 /FitH ]>> H.B /ANN pdfmark end
1782 4948 a Black FA(,)28 b(and)f(sample)f(tools)h(for)f
(manipulating)f(Core)i(\002les)h(\(in)e(Hask)o(ell\))h(are)g(in)g(the)
-128 5048 y(GHC)i(source)e(distrib)n(ution)f(directory)g(under)g
Ft(utils/ext-core)p FA(.)45 b(Note)28 b(that)f(the)h(format)f(of)g
Ft(.hcr)g FA(\002les)i(is)f Fq(dif)o(fer)m(ent)h FA(from)d(the)i(Core)
-128 5148 y(output)19 b(format)g(that)i(GHC)g(generates)e(for)h(deb)n
(ugging)d(purposes)i(\(Section)p 1 0 0 TeXcolorrgb 2124
5149 a
SDict begin H.S end
2124 5149 a 1 0 0 TeXcolorrgb -1 x FA(4.16)p 1 0 0
TeXcolorrgb 2269 5091 a
SDict begin H.R end
2269 5091 a 2269 5148 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.16) cvn H.B /ANN pdfmark end
2269
5148 a Black FA(\),)h(though)e(the)j(tw)o(o)f(formats)f(appear)g(some)n
(what)h(similar)-5 b(.)-128 5287 y(The)20 b(Core)g(format)g(nati)n(v)o
(ely)e(supports)i(notes)g(which)f(you)h(can)g(add)f(to)i(your)d(source)
i(code)f(using)h(the)g Ft(CORE)g FA(pragma)f(\(see)h(Section)p
1 0 0 TeXcolorrgb 3785 5288 a
SDict begin H.S end
3785 5288 a 1 0 0 TeXcolorrgb
-1 x FA(7.13)p 1 0 0 TeXcolorrgb 3931 5231 a
SDict begin H.R end
3931 5231
a 3931 5287 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.13) cvn H.B /ANN pdfmark end
3931 5287 a Black FA(\).)p Black -107 5473
a Fh(-fext-core)p Black 61 w FA(Generate)f Ft(.hcr)h
FA(\002les.)-128 5660 y(Currently)f(\(as)i(of)e(v)o(ersion)g(6.8.2\),)f
(GHC)j(does)f(not)g(ha)n(v)o(e)f(the)h(ability)g(to)g(read)f(in)i
(External)e(Core)g(\002les)i(as)g(source.)j(If)c(you)f(w)o(ould)h(lik)o
(e)g(GHC)h(to)-128 5759 y(ha)n(v)o(e)f(this)h(ability)-5
b(,)19 b(please)p 0 1 0 0 TeXcolorcmyk 664 5777 a
SDict begin H.S end
664
5777 a 0 1 0 0 TeXcolorcmyk -18 x FA(mak)o(e)h(your)f(wishes)i(kno)n
(wn)d(to)j(the)f(GHC)h(T)-6 b(eam)p 0 1 0 0 TeXcolorcmyk
2115 5703 a
SDict begin H.R end
2115 5703 a 2115 5759 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/MailingListsAndIRC) >> /Subtype /Link H.B /ANN pdfmark end
2115 5759 a Black
FA(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 79 94
TeXDict begin 79 93 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.79) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(79)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.16) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(4.16)p
Black 107 w(Deb)n(ug)o(ging)28 b(the)h(compiler)-128
322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (options-debugging) cvn H.B /DEST pdfmark end
-128
322 a 114 x FA(HA)m(CKER)21 b(TERRIT)o(OR)-5 b(Y)-11
b(.)20 b(HA)m(CKER)h(TERRIT)o(OR)-5 b(Y)-11 b(.)19 b(\(Y)-9
b(ou)20 b(were)g(w)o(arned.\))-128 567 y
SDict begin H.S end
-128 567 a -128
567 a
SDict begin 12 H.A end
-128 567 a -128 567 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.16.1) cvn H.B /DEST pdfmark end
-128 567 a Black 151 x Fp(4.16.1)p
Black 89 w(Dumping)k(out)g(compiler)g(intermediate)f(structures)-128
807 y
SDict begin H.S end
-128 807 a -128 807 a
SDict begin 12 H.A end
-128 807 a -128 807 a
SDict begin [ /View [/XYZ H.V] /Dest (dumping-output) cvn H.B /DEST pdfmark end
-128
807 a Black -107 988 a Fh(-ddump-)p Ff(pass)p Black 61
w FA(Mak)o(e)f(a)g(deb)n(ugging)e(dump)g(after)i(pass)h
Ft()e FA(\(may)g(be)h(common)e(enough)g(to)j(need)e(a)h(short)g
(form.)12 b(.)g(.)g(\).)30 b(Y)-9 b(ou)21 b(can)h(get)80
1087 y(all)f(of)f(these)g(at)h(once)e(\()p Fq(lots)i
FA(of)f(output\))e(by)i(using)g Ft(-v5)p FA(,)g(or)f(most)i(of)f(them)f
(with)i Ft(-v4)p FA(.)k(Some)20 b(of)f(the)i(most)f(useful)g(ones)f
(are:)p Black 101 1254 a Fh(-ddump-parsed)p Fu(:)p Black
64 w FA(parser)h(output)p Black 101 1386 a Fh(-ddump-rn)p
Fu(:)p Black 65 w FA(renamer)f(output)p Black 101 1519
a Fh(-ddump-tc)p Fu(:)p Black 65 w FA(typecheck)o(er)f(output)p
Black 101 1652 a Fh(-ddump-splices)p Fu(:)p Black 64
w FA(Dump)31 b(T)-6 b(emplate)32 b(Hask)o(ell)h(e)o(xpressions)e(that)h
(we)h(splice)g(in,)i(and)d(what)g(Hask)o(ell)h(code)e(the)i(e)o
(xpression)263 1752 y(e)n(v)n(aluates)19 b(to.)p Black
101 1885 a Fh(-ddump-types)p Fu(:)p Black 64 w FA(Dump)31
b(a)i(type)e(signature)g(for)g(each)h(v)n(alue)f(de\002ned)g(at)i(the)f
(top)f(le)n(v)o(el)h(of)f(the)h(module.)59 b(The)32 b(list)h(is)g
(sorted)263 1984 y(alphabetically)-5 b(.)22 b(Using)c
Ft(-dppr-debug)f FA(dumps)g(a)h(type)g(signature)f(for)g(all)i(the)f
(imported)f(and)g(system-de\002ned)g(things)h(as)g(well;)263
2084 y(useful)h(for)h(deb)n(ugging)d(the)k(compiler)-5
b(.)p Black 101 2217 a Fh(-ddump-deriv)p Fu(:)p Black
64 w FA(deri)n(v)o(ed)19 b(instances)p Black 101 2349
a Fh(-ddump-ds)p Fu(:)p Black 65 w FA(desugarer)f(output)p
Black 101 2482 a Fh(-ddump-spec)p Fu(:)p Black 65 w FA(output)h(of)g
(specialisation)h(pass)p Black 101 2615 a Fh(-ddump-rules)p
Fu(:)p Black 64 w FA(dumps)g(all)g(re)n(write)g(rules)g(\(including)e
(those)i(generated)f(by)h(the)g(specialisation)g(pass\))p
Black 101 2748 a Fh(-ddump-simpl)p Fu(:)p Black 64 w
FA(simpli\002er)g(output)f(\(Core-to-Core)f(passes\))p
Black 101 2881 a Fh(-ddump-inlinings)p Fu(:)p Black 64
w FA(inlining)h(info)g(from)g(the)i(simpli\002er)p Black
101 3014 a Fh(-ddump-cpranal)p Fu(:)p Black 64 w FA(CPR)h(analyser)d
(output)p Black 101 3146 a Fh(-ddump-stranal)p Fu(:)p
Black 64 w FA(strictness)i(analyser)e(output)p Black
101 3279 a Fh(-ddump-cse)p Fu(:)p Black 65 w FA(CSE)i(pass)g(output)p
Black 101 3412 a Fh(-ddump-workwrap)p Fu(:)p Black 64
w FA(w)o(ork)o(er/wrapper)c(split)k(output)p Black 101
3545 a Fh(-ddump-occur-anal)p Fu(:)p Black 63 w FA(`occurrence)d
(analysis')i(output)p Black 101 3678 a Fh(-ddump-prep)p
Fu(:)p Black 65 w FA(output)f(of)g(core)h(preparation)e(pass)p
Black 101 3811 a Fh(-ddump-stg)p Fu(:)p Black 65 w FA(output)h(of)h
(STG-to-STG)f(passes)p Black 101 3943 a Fh(-ddump-flatC)p
Fu(:)p Black 59 w Fq(\003attened)i FA(Abstract)f(C)p
Black 101 4076 a Fh(-ddump-cmm)p Fu(:)p Black 65 w FA(Print)g(the)g
(C--)h(code)e(out.)p Black 101 4209 a Fh(-ddump-opt-cmm)p
Fu(:)p Black 64 w FA(Dump)g(the)i(results)f(of)g(C--)g(to)h(C--)f
(optimising)f(passes.)p Black 101 4342 a Fh(-ddump-asm)p
Fu(:)p Black 65 w FA(assembly)h(language)e(from)h(the)h(nati)n(v)o
(e-code)e(generator)p Black 101 4475 a Fh(-ddump-bcos)p
Fu(:)p Black 65 w FA(byte)h(code)h(compiler)f(output)p
Black 101 4608 a Fh(-ddump-foreign)p Fu(:)p Black 64
w FA(dump)g(foreign)f(e)o(xport)h(stubs)p Black -107
4774 a Fh(-ddump-simpl-phases)p Fu(:)p Black 64 w FA(Sho)n(w)25
b(the)h(output)e(of)i(each)f(run)g(of)h(the)f(simpli\002er)-5
b(.)42 b(Used)26 b(when)f(e)n(v)o(en)g Ft(-dverbose-simpl)e
FA(doesn')o(t)80 4873 y(cut)d(it.)p Black -107 5039 a
Fh(-ddump-simpl-iterations)p Fu(:)p Black 63 w FA(Sho)n(w)i(the)h
(output)f(of)g(each)h Fq(iter)o(ation)f FA(of)g(the)h(simpli\002er)g
(\(each)f(run)g(of)h(the)g(simpli\002er)f(has)h(a)h(maxi-)80
5139 y(mum)19 b(number)g(of)h(iterations,)f(normally)g(4\).)24
b(This)d(outputs)e(e)n(v)o(en)g(more)h(information)d(than)j
Ft(-ddump-simpl-phases)p FA(.)p Black -107 5305 a Fh
(-ddump-simpl-stats)p Black 59 w FA(Dump)h(statistics)i(about)e(ho)n(w)
g(man)o(y)g(of)g(each)h(kind)f(of)g(transformation)e(too)j(place.)29
b(If)22 b(you)f(add)g Ft(-dppr-d-)80 5405 y(ebug)f FA(you)f(get)i(more)
e(detailed)g(information.)p Black -107 5571 a Fh(-ddump-if-trace)p
Black 60 w FA(Mak)o(e)h(the)g(interf)o(ace)f(loader)g(be)i(*real*)e
(chatty)g(about)h(what)g(it)h(is)g(upto.)p Black -107
5737 a Fh(-ddump-tc-trace)p Black 60 w FA(Mak)o(e)f(the)g(type)g(check)
o(er)f(be)h(*real*)f(chatty)h(about)f(what)h(it)h(is)g(upto.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 80 95
TeXDict begin 80 94 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.80) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(80)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -107 173 a Fh(-ddump-rn-trace)p
Black 60 w FA(Mak)o(e)g(the)g(renamer)f(be)h(*real*)f(chatty)h(about)f
(what)h(it)h(is)g(upto.)p Black -107 337 a Fh(-ddump-rn-stats)p
Black 60 w FA(Print)f(out)g(summary)f(of)g(what)i(kind)e(of)h
(information)e(the)i(renamer)f(had)g(to)i(bring)e(in.)p
Black -107 501 a Fh(-dverbose-core2core)e Fu(,)k Fh(-dverbose-stg2stg)p
Black 59 w FA(Sho)n(w)28 b(the)g(output)f(of)h(the)h(intermediate)e
(Core-to-Core)f(and)i(STG-to-STG)80 601 y(passes,)21
b(respecti)n(v)o(ely)-5 b(.)23 b(\()p Fq(Lots)d FA(of)g(output!\))j
(So:)j(when)19 b(we')l(re)h(really)g(desperate:)-128
667 y
SDict begin H.S end
-128 667 a -128 667 a
SDict begin 12 H.A end
-128 667 a -128 667 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-168) cvn H.B /DEST pdfmark end
-128
667 a 0.95 TeXcolorgray 55 682 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 773
25 92 v Black 0.95 TeXcolorgray 80 773 4045 92 v Black
0.95 TeXcolorgray 4124 773 25 92 v Black 0.95 TeXcolorgray
Black 80 746 a
SDict begin H.S end
80 746 a 80 746 a
SDict begin 11 H.A end
80 746 a 80 746 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-168.1) cvn H.B /DEST pdfmark end
80
746 a Fo(\045)p 0 0 0 TeXcolorrgb 45 w(ghc)p Black 44
w(-)p 0 0 0 TeXcolorrgb(noC)p Black 44 w(-)p 0 0 0 TeXcolorrgb(O)p
Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(ddump)p Black(-)p
0 0 0 TeXcolorrgb -1 w(simpl)p Black 44 w(-)p 0 0 0 TeXcolorrgb
(dverbose)p Black -1 w(-)p 0 0 0 TeXcolorrgb(simpl)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(dcore)p Black -1 w(-)p
0 0 0 TeXcolorrgb(lint)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black 0.95 TeXcolorgray
55 798 4095 25 v Black 0.95 TeXcolorgray Black Black
Black Black -107 985 a Fh(-dshow-passes)p Black 60 w
FA(Print)g(out)g(each)g(pass)h(name)e(as)i(it)g(happens.)p
Black -107 1149 a Fh(-dfaststring-stats)p Black 59 w
FA(Sho)n(w)f(statistics)i(for)d(the)h(usage)g(of)g(f)o(ast)h(strings)f
(by)g(the)g(compiler)-5 b(.)p Black -107 1313 a Fh(-dppr-debug)p
Black 60 w FA(Deb)n(ugging)17 b(output)g(is)i(in)g(one)f(of)g(se)n(v)o
(eral)g(\223styles.)-6 b(\224)19 b(T)-7 b(ak)o(e)19 b(the)f(printing)f
(of)h(types,)h(for)f(e)o(xample.)23 b(In)18 b(the)g(\223user\224)g
(style)h(\(the)80 1413 y(def)o(ault\),)i(the)h(compiler')-5
b(s)21 b(internal)g(ideas)h(about)f(types)h(are)g(presented)e(in)i
(Hask)o(ell)g(source-le)n(v)o(el)e(syntax,)i(insof)o(ar)f(as)i
(possible.)29 b(In)22 b(the)80 1513 y(\223deb)n(ug\224)e(style)h
(\(which)f(is)i(the)f(def)o(ault)g(for)f(deb)n(ugging)f(output\),)g
(the)i(types)g(are)g(printed)f(in)h(with)h(e)o(xplicit)e(foralls,)h
(and)f(v)n(ariables)h(ha)n(v)o(e)80 1612 y(their)26 b(unique-id)e
(attached)i(\(so)g(you)g(can)g(check)f(for)h(things)g(that)h(look)e
(the)h(same)h(b)n(ut)f(aren')o(t\).)42 b(This)27 b(\003ag)f(mak)o(es)g
(deb)n(ugging)e(output)80 1712 y(appear)19 b(in)h(the)h(more)e(v)o
(erbose)g(deb)n(ug)g(style.)p Black -107 1876 a Fh(-dsuppress-uniques)p
Black 59 w FA(Suppress)g(the)h(printing)e(of)h(uniques)g(in)h(deb)n
(ugging)d(output.)23 b(This)d(may)f(mak)o(e)g(the)h(printout)e
(ambiguous)g(\(e.g.)80 1975 y(unclear)24 b(where)h(an)g(occurrence)d
(of)j('x')g(is)h(bound\),)e(b)n(ut)h(it)h(mak)o(es)f(the)g(output)f(of)
g(tw)o(o)i(compiler)e(runs)g(ha)n(v)o(e)h(man)o(y)f(fe)n(wer)g
(gratuitous)80 2075 y(dif)n(ferences,)19 b(so)h(you)g(can)g
(realistically)h(apply)e Fu(diff)p FA(.)26 b(Once)20
b Fu(diff)h FA(has)g(sho)n(wn)e(you)h(where)g(to)g(look,)g(you)g(can)g
(try)g(again)g(without)f Ft(-dsu-)80 2175 y(ppress-uniques)p
Black -107 2339 a Fh(-dppr-user-length)p Black 59 w FA(In)e(error)f
(messages,)i(e)o(xpressions)e(are)h(printed)f(to)h(a)h(certain)f
(\223depth\224,)f(with)i(sube)o(xpressions)d(be)o(yond)g(the)i(depth)80
2438 y(replaced)i(by)h(ellipses.)25 b(This)c(\003ag)f(sets)h(the)f
(depth.)k(Its)d(def)o(ault)f(v)n(alue)f(is)i(5.)p Black
-107 2602 a Fh(-dno-debug-output)p Black 59 w FA(Suppress)27
b(an)o(y)f(unsolicited)h(deb)n(ugging)d(output.)46 b(When)27
b(GHC)h(has)f(been)g(b)n(uilt)g(with)h(the)f Ft(DEBUG)g
FA(option)f(it)80 2702 y(occasionally)c(emits)h(deb)n(ug)f(output)g(of)
h(interest)g(to)g(de)n(v)o(elopers.)32 b(The)22 b(e)o(xtra)h(output)f
(can)g(confuse)g(the)h(testing)h(frame)n(w)o(ork)c(and)j(cause)80
2802 y(bogus)c(test)i(f)o(ailures,)f(so)g(this)h(\003ag)f(is)i(pro)o
(vided)17 b(to)k(turn)e(it)i(of)n(f.)-128 2935 y
SDict begin H.S end
-128
2935 a -128 2935 a
SDict begin 12 H.A end
-128 2935 a -128 2935 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.16.2) cvn H.B /DEST pdfmark end
-128 2935
a Black 146 x Fp(4.16.2)p Black 89 w(Chec)n(king)j(f)n(or)h(consistenc)
o(y)-128 3169 y
SDict begin H.S end
-128 3169 a -128 3169 a
SDict begin 12 H.A end
-128 3169 a -128
3169 a
SDict begin [ /View [/XYZ H.V] /Dest (checking-consistency) cvn H.B /DEST pdfmark end
-128 3169 a Black -107 3344 a Fh(-dcore-lint)p
Black 60 w FA(T)l(urn)k(on)g(hea)n(vyweight)f(intra-pass)h
(sanity-checking)d(within)j(GHC,)i(at)e(Core)h(le)n(v)o(el.)52
b(\(It)30 b(checks)f(GHC')-5 b(s)30 b(sanity)-5 b(,)31
b(not)80 3444 y(yours.\))p Black -107 3608 a Fh(-dstg-lint)p
Fu(:)p Black 65 w FA(Ditto)21 b(for)e(STG)i(le)n(v)o(el.)j(\(NO)m(TE:)c
(currently)e(doesn')o(t)h(w)o(ork\).)p Black -107 3772
a Fh(-dcmm-lint)p Fu(:)p Black 65 w FA(Ditto)i(for)e(C--)i(le)n(v)o
(el.)-128 3889 y
SDict begin H.S end
-128 3889 a -128 3889 a
SDict begin 12 H.A end
-128 3889 a
-128 3889 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.16.3) cvn H.B /DEST pdfmark end
-128 3889 a Black 163 x Fp(4.16.3)p Black
89 w(Ho)o(w)j(to)h(read)f(Core)g(syntax)g(\(fr)n(om)g(some)h
Fi(-ddump)e Fp(\003a)o(gs\))-128 4253 y FA(Let')-5 b(s)21
b(do)f(this)h(by)f(commenting)d(an)k(e)o(xample.)i(It')-5
b(s)21 b(from)e(doing)g Ft(-ddump-ds)g FA(on)h(this)g(code:)-128
4318 y
SDict begin H.S end
-128 4318 a -128 4318 a
SDict begin 12 H.A end
-128 4318 a -128 4318
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-169) cvn H.B /DEST pdfmark end
-128 4318 a 0.95 TeXcolorgray -153 4334 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4425 25 92 v Black 0.95 TeXcolorgray
-128 4425 4252 92 v Black 0.95 TeXcolorgray 4124 4425
25 92 v Black 0.95 TeXcolorgray Black -128 4398 a
SDict begin H.S end
-128
4398 a -128 4398 a
SDict begin 11 H.A end
-128 4398 a -128 4398 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-169.1) cvn H.B /DEST pdfmark end
-128 4398
a 0 0 0 TeXcolorrgb Fo(skip2)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(m)p Black
44 w(:)p 0 0 0 TeXcolorrgb 45 w(skip2)p Black 44 w(\()p
0 0 0 TeXcolorrgb(m)p Black(+2\))p 0.95 TeXcolorgray
-153 4450 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4620 a FA(Before)33 b(we)g(jump)f(in,)k(a)d(w)o(ord)f(about)
g(names)h(of)f(things.)63 b(W)m(ithin)32 b(GHC,)i(v)n(ariables,)h(type)
d(constructors,)i(etc.,)i(are)d(identi\002ed)f(by)g(their)-128
4720 y(\223Uniques.)-6 b(\224)26 b(These)h(are)g(of)g(the)g(form)f
(`letter')h(plus)g(`number')e(\(both)h(loosely)g(interpreted\).)44
b(The)27 b(`letter')f(gi)n(v)o(es)h(some)g(idea)g(of)f(where)h(the)-128
4819 y(Unique)21 b(came)g(from;)f(e.g.,)h Ft(_)h FA(means)e(\223b)n
(uilt-in)h(type)g(v)n(ariable\224;)f Ft(t)i FA(means)f(\223from)f(the)h
(typecheck)o(er\224;)e Ft(s)j FA(means)f(\223from)f(the)h
(simpli\002er\224;)h(and)-128 4919 y(so)f(on.)k(The)19
b(`number')f(is)j(printed)e(f)o(airly)h(compactly)f(in)h(a)g(`base-62')
f(format,)g(which)g(e)n(v)o(eryone)f(hates)i(e)o(xcept)f(me)i(\(WDP\).)
-128 5067 y(Remember)m(,)e(e)n(v)o(erything)e(has)k(a)f(\223Unique\224)
f(and)h(it)h(is)g(usually)f(printed)f(out)g(when)h(deb)n(ugging,)d(in)k
(some)f(form)f(or)h(another)-5 b(.)24 b(So)c(here)g(we)g(go.)12
b(.)g(.)-128 5132 y
SDict begin H.S end
-128 5132 a -128 5132 a
SDict begin 12 H.A end
-128 5132
a -128 5132 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.-170) cvn H.B /DEST pdfmark end
-128 5132 a 0.95 TeXcolorgray -153 5148
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5239 25 92 v Black 0.95
TeXcolorgray -128 5239 4252 92 v Black 0.95 TeXcolorgray
4124 5239 25 92 v Black 0.95 TeXcolorgray Black -128
5212 a
SDict begin H.S end
-128 5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a -128 5212
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.1) cvn H.B /DEST pdfmark end
-128 5212 a 0 0 0 TeXcolorrgb Fo(Desugared)p Black
-1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5330 25 92 v Black 0.95 TeXcolorgray -128 5330 4252 92
v Black 0.95 TeXcolorgray 4124 5330 25 92 v Black 0.95
TeXcolorgray Black -128 5303 a
SDict begin H.S end
-128 5303 a -128 5303
a
SDict begin 11 H.A end
-128 5303 a -128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.2) cvn H.B /DEST pdfmark end
-128 5303 a 0 0 0 TeXcolorrgb
Fo(Main)p Black(.)p 0 0 0 TeXcolorrgb(skip2)p Black -1
w({-)p 0 0 0 TeXcolorrgb -1 w(r1L6)p Black(-})44 b(::)p
0 0 0 TeXcolorrgb 45 w(_forall_)p Black 0 0 0 TeXcolorrgb
43 w(a$_4)p Black 44 w(=>{{)p 0 0 0 TeXcolorrgb(Num)p
Black 0 0 0 TeXcolorrgb 44 w(a$_4)p Black -1 w(}})h(->)p
0 0 0 TeXcolorrgb 44 w(a$_4)p Black 45 w(->)f([)p 0 0 0
TeXcolorrgb(a$_4)p Black -1 w(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5422 25 92 v Black 0.95 TeXcolorgray
-128 5422 4252 92 v Black 0.95 TeXcolorgray 4124 5422
25 92 v Black 0.95 TeXcolorgray Black -128 5394 a
SDict begin H.S end
-128
5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a -128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.3) cvn H.B /DEST pdfmark end
-128 5394
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5513
25 92 v Black 0.95 TeXcolorgray -128 5513 4252 92 v Black
0.95 TeXcolorgray 4124 5513 25 92 v Black 0.95 TeXcolorgray
Black -128 5485 a
SDict begin H.S end
-128 5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a
-128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.4) cvn H.B /DEST pdfmark end
-128 5485 a Fo(--#)h(`)p 0 0 0 TeXcolorrgb(r1L6)p
Black -1 w(')p 0 0 0 TeXcolorrgb 45 w(is)p Black 0 0 0
TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb 44 w(Unique)p
Black 0 0 0 TeXcolorrgb 44 w(for)p Black 0 0 0 TeXcolorrgb
45 w(Main)p Black -1 w(.)p 0 0 0 TeXcolorrgb(skip2)p
Black -1 w(;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5604 25 92 v Black 0.95 TeXcolorgray -128 5604 4252
92 v Black 0.95 TeXcolorgray 4124 5604 25 92 v Black
0.95 TeXcolorgray Black -128 5577 a
SDict begin H.S end
-128 5577 a -128
5577 a
SDict begin 11 H.A end
-128 5577 a -128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.5) cvn H.B /DEST pdfmark end
-128 5577 a Fo(--#)g(`)p
0 0 0 TeXcolorrgb(_4)p Black -1 w(')p 0 0 0 TeXcolorrgb
45 w(is)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0
TeXcolorrgb 45 w(Unique)p Black 0 0 0 TeXcolorrgb 44
w(for)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0
TeXcolorrgb 44 w(type)p Black(-)p 0 0 0 TeXcolorrgb -1
w(variable)p Black 44 w(\()p 0 0 0 TeXcolorrgb(template)p
Black -2 w(\))g(`)p 0 0 0 TeXcolorrgb(a)p Black(')p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5696 25 92
v Black 0.95 TeXcolorgray -128 5696 4252 92 v Black 0.95
TeXcolorgray 4124 5696 25 92 v Black 0.95 TeXcolorgray
Black -128 5668 a
SDict begin H.S end
-128 5668 a -128 5668 a
SDict begin 11 H.A end
-128 5668 a
-128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.6) cvn H.B /DEST pdfmark end
-128 5668 a Fo(--#)g(`{{)p 0 0 0 TeXcolorrgb
-1 w(Num)p Black 0 0 0 TeXcolorrgb 45 w(a$_4)p Black
-1 w(}}')p 0 0 0 TeXcolorrgb 44 w(is)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 44 w(dictionary)p Black
0 0 0 TeXcolorrgb 44 w(argument)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5787 25 92 v Black 0.95
TeXcolorgray -128 5787 4252 92 v Black 0.95 TeXcolorgray
4124 5787 25 92 v Black 0.95 TeXcolorgray Black -128
5759 a
SDict begin H.S end
-128 5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.7) cvn H.B /DEST pdfmark end
-128 5759 a Black -128 6084 4252 5 v Black eop end
%%Page: 81 96
TeXDict begin 81 95 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.81) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(81)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.8) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
Fo(_NI_)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 292 25 92 v Black 0.95 TeXcolorgray -128 292 4252
92 v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.9) cvn H.B /DEST pdfmark end
-128 265 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.10) cvn H.B /DEST pdfmark end
-128 356 a Fo(--#)45
b(`)p 0 0 0 TeXcolorrgb(_NI_)p Black -1 w(')p 0 0 0 TeXcolorrgb
45 w(means)p Black 44 w(")p 0 0 0 TeXcolorrgb -1 w(no)p
Black 45 w(\()p 0 0 0 TeXcolorrgb(pragmatic)p Black -2
w(\))p 0 0 0 TeXcolorrgb 45 w(information)p Black -2
w(")p 0 0 0 TeXcolorrgb 45 w(yet)p Black -1 w(;)p 0 0 0
TeXcolorrgb 45 w(it)p Black 0 0 0 TeXcolorrgb 44 w(will)p
Black 0 0 0 TeXcolorrgb 45 w(later)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.11) cvn H.B /DEST pdfmark end
-128 447 a Fo(--#)p
0 0 0 TeXcolorrgb 45 w(evolve)p Black 0 0 0 TeXcolorrgb
44 w(into)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 44 w(GHC_PRAGMA)p Black 0 0 0 TeXcolorrgb
43 w(info)p Black 0 0 0 TeXcolorrgb 44 w(that)p Black
0 0 0 TeXcolorrgb 45 w(goes)p Black 0 0 0 TeXcolorrgb
44 w(into)p Black 0 0 0 TeXcolorrgb 44 w(interface)p
Black 0 0 0 TeXcolorrgb 43 w(files)p Black -1 w(.)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 566 25 92 v
Black 0.95 TeXcolorgray -128 566 4252 92 v Black 0.95
TeXcolorgray 4124 566 25 92 v Black 0.95 TeXcolorgray
Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128 538 a -128
538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.12) cvn H.B /DEST pdfmark end
-128 538 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 657 25 92 v Black 0.95 TeXcolorgray -128 657 4252
92 v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.13) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb Fo(Main)p
Black(.)p 0 0 0 TeXcolorrgb(skip2)p Black -1 w({-)p 0 0 0
TeXcolorrgb -1 w(r1L6)p Black(-})f(=)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 749 25 92 v Black 0.95 TeXcolorgray
-128 749 4252 92 v Black 0.95 TeXcolorgray 4124 749 25
92 v Black 0.95 TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721
a -128 721 a
SDict begin 11 H.A end
-128 721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.14) cvn H.B /DEST pdfmark end
-128 721 a 180 w Fo(/\\)p
0 0 0 TeXcolorrgb 44 w(_4)p Black 45 w(->)g(\\)p 0 0 0
TeXcolorrgb 45 w(d)p Black(.)p 0 0 0 TeXcolorrgb(Num)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(t4Gt)p Black 44 w(->)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 840 25
92 v Black 0.95 TeXcolorgray -128 840 4252 92 v Black
0.95 TeXcolorgray 4124 840 25 92 v Black 0.95 TeXcolorgray
Black -128 812 a
SDict begin H.S end
-128 812 a -128 812 a
SDict begin 11 H.A end
-128 812 a -128
812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.15) cvn H.B /DEST pdfmark end
-128 812 a 0 0 0 TeXcolorrgb 359 w Fo(let)p Black
44 w({)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
931 25 92 v Black 0.95 TeXcolorgray -128 931 4252 92
v Black 0.95 TeXcolorgray 4124 931 25 92 v Black 0.95
TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904 a -128 904 a
SDict begin 11 H.A end
-128
904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.16) cvn H.B /DEST pdfmark end
-128 904 a 449 w Fo({-)p 0 0 0 TeXcolorrgb
44 w(CoRec)p Black 44 w(-})p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1023 25 92 v Black 0.95 TeXcolorgray
-128 1023 4252 92 v Black 0.95 TeXcolorgray 4124 1023
25 92 v Black 0.95 TeXcolorgray Black -128 995 a
SDict begin H.S end
-128
995 a -128 995 a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.17) cvn H.B /DEST pdfmark end
-128 995 a 449
w Fo(+.)p 0 0 0 TeXcolorrgb -1 w(t4Hg)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(_4)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(_4)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(_4)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1114 25 92 v Black 0.95 TeXcolorgray -128 1114 4252 92
v Black 0.95 TeXcolorgray 4124 1114 25 92 v Black 0.95
TeXcolorgray Black -128 1086 a
SDict begin H.S end
-128 1086 a -128 1086
a
SDict begin 11 H.A end
-128 1086 a -128 1086 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.18) cvn H.B /DEST pdfmark end
-128 1086 a 0 0 0 TeXcolorrgb
449 w Fo(_NI_)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1205 25 92 v Black 0.95 TeXcolorgray -128 1205 4252
92 v Black 0.95 TeXcolorgray 4124 1205 25 92 v Black
0.95 TeXcolorgray Black -128 1178 a
SDict begin H.S end
-128 1178 a -128
1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.19) cvn H.B /DEST pdfmark end
-128 1178 a 449 w Fo(+.)p
0 0 0 TeXcolorrgb -1 w(t4Hg)p Black 45 w(=)g(\(+{-)p
0 0 0 TeXcolorrgb(r3JH)p Black -1 w(-})p 0 0 0 TeXcolorrgb
44 w(_4)p Black(\))p 0 0 0 TeXcolorrgb 45 w(d)p Black(.)p
0 0 0 TeXcolorrgb -1 w(Num)p Black(.)p 0 0 0 TeXcolorrgb(t4Gt)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1296 25 92 v Black 0.95 TeXcolorgray -128 1296 4252 92
v Black 0.95 TeXcolorgray 4124 1296 25 92 v Black 0.95
TeXcolorgray Black -128 1269 a
SDict begin H.S end
-128 1269 a -128 1269
a
SDict begin 11 H.A end
-128 1269 a -128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.20) cvn H.B /DEST pdfmark end
-128 1269 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1388 25 92 v Black 0.95
TeXcolorgray -128 1388 4252 92 v Black 0.95 TeXcolorgray
4124 1388 25 92 v Black 0.95 TeXcolorgray Black -128
1360 a
SDict begin H.S end
-128 1360 a -128 1360 a
SDict begin 11 H.A end
-128 1360 a -128 1360
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.21) cvn H.B /DEST pdfmark end
-128 1360 a 0 0 0 TeXcolorrgb 449 w Fo(fromInt)p Black
-1 w(.)p 0 0 0 TeXcolorrgb -1 w(t4GS)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(Int)p Black({-2)p 0 0 0 TeXcolorrgb
-1 w(i)p Black(-})g(->)p 0 0 0 TeXcolorrgb 45 w(_4)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1479 25 92 v Black 0.95 TeXcolorgray -128 1479 4252 92
v Black 0.95 TeXcolorgray 4124 1479 25 92 v Black 0.95
TeXcolorgray Black -128 1452 a
SDict begin H.S end
-128 1452 a -128 1452
a
SDict begin 11 H.A end
-128 1452 a -128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.22) cvn H.B /DEST pdfmark end
-128 1452 a 0 0 0 TeXcolorrgb
449 w Fo(_NI_)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1570 25 92 v Black 0.95 TeXcolorgray -128 1570 4252
92 v Black 0.95 TeXcolorgray 4124 1570 25 92 v Black
0.95 TeXcolorgray Black -128 1543 a
SDict begin H.S end
-128 1543 a -128
1543 a
SDict begin 11 H.A end
-128 1543 a -128 1543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.23) cvn H.B /DEST pdfmark end
-128 1543 a 0 0 0 TeXcolorrgb
449 w Fo(fromInt)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1
w(t4GS)p Black 45 w(=)g(\()p 0 0 0 TeXcolorrgb(fromInt)p
Black -1 w({-)p 0 0 0 TeXcolorrgb(r3JX)p Black -1 w(-})p
0 0 0 TeXcolorrgb 44 w(_4)p Black(\))p 0 0 0 TeXcolorrgb
45 w(d)p Black(.)p 0 0 0 TeXcolorrgb -1 w(Num)p Black(.)p
0 0 0 TeXcolorrgb(t4Gt)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1662 25 92 v Black 0.95 TeXcolorgray
-128 1662 4252 92 v Black 0.95 TeXcolorgray 4124 1662
25 92 v Black 0.95 TeXcolorgray Black -128 1634 a
SDict begin H.S end
-128
1634 a -128 1634 a
SDict begin 11 H.A end
-128 1634 a -128 1634 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.24) cvn H.B /DEST pdfmark end
-128 1634
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 1753
25 92 v Black 0.95 TeXcolorgray -128 1753 4252 92 v Black
0.95 TeXcolorgray 4124 1753 25 92 v Black 0.95 TeXcolorgray
Black -128 1726 a
SDict begin H.S end
-128 1726 a -128 1726 a
SDict begin 11 H.A end
-128 1726 a
-128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.25) cvn H.B /DEST pdfmark end
-128 1726 a Fo(--#)p 0 0 0 TeXcolorrgb 45
w(The)p Black 44 w(`+')p 0 0 0 TeXcolorrgb 44 w(class)p
Black 0 0 0 TeXcolorrgb 44 w(method)p Black 44 w(\()p
0 0 0 TeXcolorrgb(Unique)p Black -1 w(:)p 0 0 0 TeXcolorrgb
45 w(r3JH)p Black -1 w(\))p 0 0 0 TeXcolorrgb 45 w(selects)p
Black 0 0 0 TeXcolorrgb 43 w(the)p Black 0 0 0 TeXcolorrgb
45 w(addition)p Black 0 0 0 TeXcolorrgb 43 w(code)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 1844 25
92 v Black 0.95 TeXcolorgray -128 1844 4252 92 v Black
0.95 TeXcolorgray 4124 1844 25 92 v Black 0.95 TeXcolorgray
Black -128 1817 a
SDict begin H.S end
-128 1817 a -128 1817 a
SDict begin 11 H.A end
-128 1817 a
-128 1817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.26) cvn H.B /DEST pdfmark end
-128 1817 a Fo(--#)p 0 0 0 TeXcolorrgb 45
w(from)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(`)p
0 0 0 TeXcolorrgb -1 w(Num)p Black(')p 0 0 0 TeXcolorrgb
45 w(dictionary)p Black 43 w(\()p 0 0 0 TeXcolorrgb(now)p
Black 0 0 0 TeXcolorrgb 44 w(an)p Black 0 0 0 TeXcolorrgb
44 w(explicit)p Black 0 0 0 TeXcolorrgb 44 w(lambda)p
Black -1 w(')p 0 0 0 TeXcolorrgb(d)p Black 0 0 0 TeXcolorrgb
44 w(argument)p Black -1 w(\).)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1936 25 92 v Black 0.95 TeXcolorgray
-128 1936 4252 92 v Black 0.95 TeXcolorgray 4124 1936
25 92 v Black 0.95 TeXcolorgray Black -128 1908 a
SDict begin H.S end
-128
1908 a -128 1908 a
SDict begin 11 H.A end
-128 1908 a -128 1908 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.27) cvn H.B /DEST pdfmark end
-128 1908
a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(Because)p Black 0 0 0
TeXcolorrgb 43 w(Core)p Black 0 0 0 TeXcolorrgb 45 w(is)p
Black 44 w(2)p 0 0 0 TeXcolorrgb(nd)p Black(-)p 0 0 0
TeXcolorrgb -1 w(order)p Black 0 0 0 TeXcolorrgb 44 w(lambda)p
Black -1 w(-)p 0 0 0 TeXcolorrgb(calculus)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(type)p Black 0 0 0 TeXcolorrgb
44 w(applications)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 2027 25 92 v Black 0.95 TeXcolorgray
-128 2027 4252 92 v Black 0.95 TeXcolorgray 4124 2027
25 92 v Black 0.95 TeXcolorgray Black -128 2000 a
SDict begin H.S end
-128
2000 a -128 2000 a
SDict begin 11 H.A end
-128 2000 a -128 2000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.28) cvn H.B /DEST pdfmark end
-128 2000
a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(and)p Black 0 0 0 TeXcolorrgb
44 w(lambdas)p Black 44 w(\(/\\\))p 0 0 0 TeXcolorrgb
44 w(are)p Black 0 0 0 TeXcolorrgb 44 w(explicit)p Black
-1 w(.)p 0 0 0 TeXcolorrgb 89 w(So)p Black 45 w(`+')p
0 0 0 TeXcolorrgb 44 w(is)p Black 0 0 0 TeXcolorrgb 45
w(first)p Black 0 0 0 TeXcolorrgb 44 w(applied)p Black
0 0 0 TeXcolorrgb 43 w(to)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2118 25 92 v Black 0.95 TeXcolorgray -128 2118 4252
92 v Black 0.95 TeXcolorgray 4124 2118 25 92 v Black
0.95 TeXcolorgray Black -128 2091 a
SDict begin H.S end
-128 2091 a -128
2091 a
SDict begin 11 H.A end
-128 2091 a -128 2091 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.29) cvn H.B /DEST pdfmark end
-128 2091 a Fo(--#)p 0 0 0
TeXcolorrgb 45 w(type)p Black 44 w(\(`)p 0 0 0 TeXcolorrgb(_4)p
Black -1 w('\),)p 0 0 0 TeXcolorrgb 45 w(then)p Black
0 0 0 TeXcolorrgb 44 w(to)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black 0 0 0 TeXcolorrgb 45 w(dictionary)p Black
-2 w(,)p 0 0 0 TeXcolorrgb 45 w(yielding)p Black 0 0 0
TeXcolorrgb 43 w(the)p Black 0 0 0 TeXcolorrgb 45 w(actual)p
Black 0 0 0 TeXcolorrgb 44 w(addition)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2210 25 92 v Black 0.95
TeXcolorgray -128 2210 4252 92 v Black 0.95 TeXcolorgray
4124 2210 25 92 v Black 0.95 TeXcolorgray Black -128
2182 a
SDict begin H.S end
-128 2182 a -128 2182 a
SDict begin 11 H.A end
-128 2182 a -128 2182
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.30) cvn H.B /DEST pdfmark end
-128 2182 a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(function)p
Black 0 0 0 TeXcolorrgb 43 w(that)p Black 0 0 0 TeXcolorrgb
44 w(we)p Black 0 0 0 TeXcolorrgb 45 w(will)p Black 0 0 0
TeXcolorrgb 44 w(use)p Black 0 0 0 TeXcolorrgb 44 w(subsequently)p
Black -2 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2301 25 92 v Black 0.95 TeXcolorgray -128 2301 4252
92 v Black 0.95 TeXcolorgray 4124 2301 25 92 v Black
0.95 TeXcolorgray Black -128 2274 a
SDict begin H.S end
-128 2274 a -128
2274 a
SDict begin 11 H.A end
-128 2274 a -128 2274 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.31) cvn H.B /DEST pdfmark end
-128 2274 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2392 25 92 v Black 0.95
TeXcolorgray -128 2392 4252 92 v Black 0.95 TeXcolorgray
4124 2392 25 92 v Black 0.95 TeXcolorgray Black -128
2365 a
SDict begin H.S end
-128 2365 a -128 2365 a
SDict begin 11 H.A end
-128 2365 a -128 2365
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.32) cvn H.B /DEST pdfmark end
-128 2365 a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(We)p Black
0 0 0 TeXcolorrgb 44 w(play)p Black 0 0 0 TeXcolorrgb
44 w(the)p Black 0 0 0 TeXcolorrgb 45 w(exact)p Black
0 0 0 TeXcolorrgb 44 w(same)p Black 0 0 0 TeXcolorrgb
44 w(game)p Black 0 0 0 TeXcolorrgb 44 w(with)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 45 w(\()p 0 0 0 TeXcolorrgb
-1 w(non)p Black(-)p 0 0 0 TeXcolorrgb(standard)p Black
-2 w(\))p 0 0 0 TeXcolorrgb 45 w(class)p Black 0 0 0
TeXcolorrgb 44 w(method)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 2484 25 92 v Black 0.95 TeXcolorgray
-128 2484 4252 92 v Black 0.95 TeXcolorgray 4124 2484
25 92 v Black 0.95 TeXcolorgray Black -128 2456 a
SDict begin H.S end
-128
2456 a -128 2456 a
SDict begin 11 H.A end
-128 2456 a -128 2456 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.33) cvn H.B /DEST pdfmark end
-128 2456
a Fo(--#)h(`)p 0 0 0 TeXcolorrgb(fromInt)p Black -2 w('.)p
0 0 0 TeXcolorrgb 90 w(Unsurprisingly)p Black -3 w(,)p
0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0 TeXcolorrgb
44 w(type)p Black 45 w(`)p 0 0 0 TeXcolorrgb -1 w(Int)p
Black(')p 0 0 0 TeXcolorrgb 45 w(is)p Black 0 0 0 TeXcolorrgb
44 w(wired)p Black 0 0 0 TeXcolorrgb 44 w(into)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2575 25 92 v Black 0.95
TeXcolorgray -128 2575 4252 92 v Black 0.95 TeXcolorgray
4124 2575 25 92 v Black 0.95 TeXcolorgray Black -128
2548 a
SDict begin H.S end
-128 2548 a -128 2548 a
SDict begin 11 H.A end
-128 2548 a -128 2548
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.34) cvn H.B /DEST pdfmark end
-128 2548 a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(compiler)p
Black -2 w(.)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2666 25 92 v Black 0.95 TeXcolorgray -128 2666 4252
92 v Black 0.95 TeXcolorgray 4124 2666 25 92 v Black
0.95 TeXcolorgray Black -128 2639 a
SDict begin H.S end
-128 2639 a -128
2639 a
SDict begin 11 H.A end
-128 2639 a -128 2639 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.35) cvn H.B /DEST pdfmark end
-128 2639 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2758 25 92 v Black 0.95
TeXcolorgray -128 2758 4252 92 v Black 0.95 TeXcolorgray
4124 2758 25 92 v Black 0.95 TeXcolorgray Black -128
2730 a
SDict begin H.S end
-128 2730 a -128 2730 a
SDict begin 11 H.A end
-128 2730 a -128 2730
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.36) cvn H.B /DEST pdfmark end
-128 2730 a 0 0 0 TeXcolorrgb 449 w Fo(lit)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(t4Hb)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(_4)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 2849 25 92 v Black 0.95 TeXcolorgray
-128 2849 4252 92 v Black 0.95 TeXcolorgray 4124 2849
25 92 v Black 0.95 TeXcolorgray Black -128 2822 a
SDict begin H.S end
-128
2822 a -128 2822 a
SDict begin 11 H.A end
-128 2822 a -128 2822 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.37) cvn H.B /DEST pdfmark end
-128 2822
a 0 0 0 TeXcolorrgb 449 w Fo(_NI_)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2940 25 92 v Black 0.95
TeXcolorgray -128 2940 4252 92 v Black 0.95 TeXcolorgray
4124 2940 25 92 v Black 0.95 TeXcolorgray Black -128
2913 a
SDict begin H.S end
-128 2913 a -128 2913 a
SDict begin 11 H.A end
-128 2913 a -128 2913
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.38) cvn H.B /DEST pdfmark end
-128 2913 a 0 0 0 TeXcolorrgb 449 w Fo(lit)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(t4Hb)p Black 44 w(=)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 3032 25 92
v Black 0.95 TeXcolorgray -128 3032 4252 92 v Black 0.95
TeXcolorgray 4124 3032 25 92 v Black 0.95 TeXcolorgray
Black -128 3004 a
SDict begin H.S end
-128 3004 a -128 3004 a
SDict begin 11 H.A end
-128 3004 a
-128 3004 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.39) cvn H.B /DEST pdfmark end
-128 3004 a 0 0 0 TeXcolorrgb 628 w Fo(let)p
Black 44 w({)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 3123 25 92 v Black 0.95 TeXcolorgray -128 3123 4252
92 v Black 0.95 TeXcolorgray 4124 3123 25 92 v Black
0.95 TeXcolorgray Black -128 3096 a
SDict begin H.S end
-128 3096 a -128
3096 a
SDict begin 11 H.A end
-128 3096 a -128 3096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.40) cvn H.B /DEST pdfmark end
-128 3096 a 0 0 0 TeXcolorrgb
718 w Fo(ds)p Black -1 w(.)p 0 0 0 TeXcolorrgb(d4Qz)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p Black -1
w({-2)p 0 0 0 TeXcolorrgb(i)p Black(-})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3214 25 92 v Black 0.95
TeXcolorgray -128 3214 4252 92 v Black 0.95 TeXcolorgray
4124 3214 25 92 v Black 0.95 TeXcolorgray Black -128
3187 a
SDict begin H.S end
-128 3187 a -128 3187 a
SDict begin 11 H.A end
-128 3187 a -128 3187
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.41) cvn H.B /DEST pdfmark end
-128 3187 a 0 0 0 TeXcolorrgb 718 w Fo(_NI_)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 3306 25
92 v Black 0.95 TeXcolorgray -128 3306 4252 92 v Black
0.95 TeXcolorgray 4124 3306 25 92 v Black 0.95 TeXcolorgray
Black -128 3278 a
SDict begin H.S end
-128 3278 a -128 3278 a
SDict begin 11 H.A end
-128 3278 a
-128 3278 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.42) cvn H.B /DEST pdfmark end
-128 3278 a 0 0 0 TeXcolorrgb 718 w Fo(ds)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(d4Qz)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(I)p Black(#!)f(2#)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3397 25 92 v Black 0.95
TeXcolorgray -128 3397 4252 92 v Black 0.95 TeXcolorgray
4124 3397 25 92 v Black 0.95 TeXcolorgray Black -128
3370 a
SDict begin H.S end
-128 3370 a -128 3370 a
SDict begin 11 H.A end
-128 3370 a -128 3370
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.43) cvn H.B /DEST pdfmark end
-128 3370 a 628 w Fo(})p 0 0 0 TeXcolorrgb 45 w(in)p
Black 0 0 0 TeXcolorrgb 89 w(fromInt)p Black -1 w(.)p
0 0 0 TeXcolorrgb(t4GS)p Black 0 0 0 TeXcolorrgb 44 w(ds)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(d4Qz)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3488 25 92 v Black 0.95
TeXcolorgray -128 3488 4252 92 v Black 0.95 TeXcolorgray
4124 3488 25 92 v Black 0.95 TeXcolorgray Black -128
3461 a
SDict begin H.S end
-128 3461 a -128 3461 a
SDict begin 11 H.A end
-128 3461 a -128 3461
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.44) cvn H.B /DEST pdfmark end
-128 3461 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 3580 25 92 v Black 0.95 TeXcolorgray -128 3580 4252
92 v Black 0.95 TeXcolorgray 4124 3580 25 92 v Black
0.95 TeXcolorgray Black -128 3552 a
SDict begin H.S end
-128 3552 a -128
3552 a
SDict begin 11 H.A end
-128 3552 a -128 3552 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.45) cvn H.B /DEST pdfmark end
-128 3552 a Fo(--#)h(`)p
0 0 0 TeXcolorrgb(I)p Black -1 w(#)g(2#')p 0 0 0 TeXcolorrgb
44 w(is)p Black 0 0 0 TeXcolorrgb 45 w(just)p Black 0 0 0
TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb 44 w(literal)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 44 w(`2';)p
0 0 0 TeXcolorrgb 45 w(it)p Black 0 0 0 TeXcolorrgb 44
w(reflects)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 44 w(fact)p Black 0 0 0 TeXcolorrgb
44 w(that)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 3671 25 92 v Black 0.95 TeXcolorgray -128 3671 4252
92 v Black 0.95 TeXcolorgray 4124 3671 25 92 v Black
0.95 TeXcolorgray Black -128 3644 a
SDict begin H.S end
-128 3644 a -128
3644 a
SDict begin 11 H.A end
-128 3644 a -128 3644 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.46) cvn H.B /DEST pdfmark end
-128 3644 a Fo(--#)p 0 0 0
TeXcolorrgb 45 w(GHC)p Black 0 0 0 TeXcolorrgb 44 w(defines)p
Black 44 w(`)p 0 0 0 TeXcolorrgb(data)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(I)p
Black(#)p 0 0 0 TeXcolorrgb 44 w(Int)p Black(#',)p 0 0 0
TeXcolorrgb 44 w(where)p Black 0 0 0 TeXcolorrgb 44 w(Int)p
Black(#)p 0 0 0 TeXcolorrgb 44 w(is)p Black 0 0 0 TeXcolorrgb
45 w(the)p Black 0 0 0 TeXcolorrgb 44 w(primitive)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 3762 25
92 v Black 0.95 TeXcolorgray -128 3762 4252 92 v Black
0.95 TeXcolorgray 4124 3762 25 92 v Black 0.95 TeXcolorgray
Black -128 3735 a
SDict begin H.S end
-128 3735 a -128 3735 a
SDict begin 11 H.A end
-128 3735 a
-128 3735 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.47) cvn H.B /DEST pdfmark end
-128 3735 a Fo(--#)p 0 0 0 TeXcolorrgb 45
w(unboxed)p Black 0 0 0 TeXcolorrgb 43 w(type)p Black(.)89
b(\()p 0 0 0 TeXcolorrgb(see)p Black 0 0 0 TeXcolorrgb
44 w(relevant)p Black 0 0 0 TeXcolorrgb 44 w(info)p Black
0 0 0 TeXcolorrgb 44 w(about)p Black 0 0 0 TeXcolorrgb
44 w(unboxed)p Black 0 0 0 TeXcolorrgb 44 w(types)p Black
0 0 0 TeXcolorrgb 44 w(elsewhere)p Black -2 w(...\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 3854 25
92 v Black 0.95 TeXcolorgray -128 3854 4252 92 v Black
0.95 TeXcolorgray 4124 3854 25 92 v Black 0.95 TeXcolorgray
Black -128 3826 a
SDict begin H.S end
-128 3826 a -128 3826 a
SDict begin 11 H.A end
-128 3826 a
-128 3826 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.48) cvn H.B /DEST pdfmark end
-128 3826 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 3945 25 92 v Black 0.95 TeXcolorgray
-128 3945 4252 92 v Black 0.95 TeXcolorgray 4124 3945
25 92 v Black 0.95 TeXcolorgray Black -128 3917 a
SDict begin H.S end
-128
3917 a -128 3917 a
SDict begin 11 H.A end
-128 3917 a -128 3917 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.49) cvn H.B /DEST pdfmark end
-128 3917
a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(The)p Black 44 w(`!')p
0 0 0 TeXcolorrgb 44 w(after)p Black 44 w(`)p 0 0 0 TeXcolorrgb(I)p
Black(#')p 0 0 0 TeXcolorrgb 45 w(indicates)p Black 0 0 0
TeXcolorrgb 43 w(that)p Black 0 0 0 TeXcolorrgb 44 w(this)p
Black 0 0 0 TeXcolorrgb 44 w(is)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 2024 3930 a(*)p 0 0 0 TeXcolorrgb -13
x(saturated)p Black 2473 3930 a(*)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 4036 25 92 v Black 0.95
TeXcolorgray -128 4036 4252 92 v Black 0.95 TeXcolorgray
4124 4036 25 92 v Black 0.95 TeXcolorgray Black -128
4009 a
SDict begin H.S end
-128 4009 a -128 4009 a
SDict begin 11 H.A end
-128 4009 a -128 4009
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.50) cvn H.B /DEST pdfmark end
-128 4009 a Fo(--#)p 0 0 0 TeXcolorrgb 45 w(application)p
Black 0 0 0 TeXcolorrgb 43 w(of)p Black 0 0 0 TeXcolorrgb
44 w(the)p Black 45 w(`)p 0 0 0 TeXcolorrgb -1 w(I)p
Black(#')p 0 0 0 TeXcolorrgb 45 w(data)p Black 0 0 0
TeXcolorrgb 44 w(constructor)p Black 43 w(\()p 0 0 0
TeXcolorrgb(i)p Black(.)p 0 0 0 TeXcolorrgb -1 w(e)p
Black(.,)p 0 0 0 TeXcolorrgb 45 w(not)p Black 0 0 0 TeXcolorrgb
44 w(partially)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 4128 25 92 v Black 0.95 TeXcolorgray -128 4128 4252
92 v Black 0.95 TeXcolorgray 4124 4128 25 92 v Black
0.95 TeXcolorgray Black -128 4100 a
SDict begin H.S end
-128 4100 a -128
4100 a
SDict begin 11 H.A end
-128 4100 a -128 4100 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.51) cvn H.B /DEST pdfmark end
-128 4100 a Fo(--#)p 0 0 0
TeXcolorrgb 45 w(applied)p Black -1 w(\))o(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 4219 25 92 v Black 0.95
TeXcolorgray -128 4219 4252 92 v Black 0.95 TeXcolorgray
4124 4219 25 92 v Black 0.95 TeXcolorgray Black -128
4191 a
SDict begin H.S end
-128 4191 a -128 4191 a
SDict begin 11 H.A end
-128 4191 a -128 4191
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.52) cvn H.B /DEST pdfmark end
-128 4191 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 4310 25 92 v Black 0.95 TeXcolorgray -128 4310 4252
92 v Black 0.95 TeXcolorgray 4124 4310 25 92 v Black
0.95 TeXcolorgray Black -128 4283 a
SDict begin H.S end
-128 4283 a -128
4283 a
SDict begin 11 H.A end
-128 4283 a -128 4283 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.53) cvn H.B /DEST pdfmark end
-128 4283 a 0 0 0 TeXcolorrgb
449 w Fo(skip2)p Black -1 w(.)p 0 0 0 TeXcolorrgb(t3Ja)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(_4)p Black 45
w(->)44 b([)p 0 0 0 TeXcolorrgb(_4)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 4402 25 92 v Black 0.95
TeXcolorgray -128 4402 4252 92 v Black 0.95 TeXcolorgray
4124 4402 25 92 v Black 0.95 TeXcolorgray Black -128
4374 a
SDict begin H.S end
-128 4374 a -128 4374 a
SDict begin 11 H.A end
-128 4374 a -128 4374
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.54) cvn H.B /DEST pdfmark end
-128 4374 a 0 0 0 TeXcolorrgb 449 w Fo(_NI_)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 4493 25
92 v Black 0.95 TeXcolorgray -128 4493 4252 92 v Black
0.95 TeXcolorgray 4124 4493 25 92 v Black 0.95 TeXcolorgray
Black -128 4465 a
SDict begin H.S end
-128 4465 a -128 4465 a
SDict begin 11 H.A end
-128 4465 a
-128 4465 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.55) cvn H.B /DEST pdfmark end
-128 4465 a 0 0 0 TeXcolorrgb 449 w Fo(skip2)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(t3Ja)p Black 44 w(=)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 4584 25
92 v Black 0.95 TeXcolorgray -128 4584 4252 92 v Black
0.95 TeXcolorgray 4124 4584 25 92 v Black 0.95 TeXcolorgray
Black -128 4557 a
SDict begin H.S end
-128 4557 a -128 4557 a
SDict begin 11 H.A end
-128 4557 a
-128 4557 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.56) cvn H.B /DEST pdfmark end
-128 4557 a 628 w Fo(\\)p 0 0 0 TeXcolorrgb
45 w(m)p Black(.)p 0 0 0 TeXcolorrgb -1 w(r1H4)p Black
45 w(->)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
4675 25 92 v Black 0.95 TeXcolorgray -128 4675 4252 92
v Black 0.95 TeXcolorgray 4124 4675 25 92 v Black 0.95
TeXcolorgray Black -128 4648 a
SDict begin H.S end
-128 4648 a -128 4648
a
SDict begin 11 H.A end
-128 4648 a -128 4648 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.57) cvn H.B /DEST pdfmark end
-128 4648 a 0 0 0 TeXcolorrgb
807 w Fo(let)p Black 45 w({)p 0 0 0 TeXcolorrgb 44 w(ds)p
Black(.)p 0 0 0 TeXcolorrgb(d4QQ)p Black 44 w(::)h([)p
0 0 0 TeXcolorrgb -1 w(_4)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 4767 25 92 v Black 0.95
TeXcolorgray -128 4767 4252 92 v Black 0.95 TeXcolorgray
4124 4767 25 92 v Black 0.95 TeXcolorgray Black -128
4739 a
SDict begin H.S end
-128 4739 a -128 4739 a
SDict begin 11 H.A end
-128 4739 a -128 4739
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.58) cvn H.B /DEST pdfmark end
-128 4739 a 0 0 0 TeXcolorrgb 1076 w Fo(_NI_)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 4858 25
92 v Black 0.95 TeXcolorgray -128 4858 4252 92 v Black
0.95 TeXcolorgray 4124 4858 25 92 v Black 0.95 TeXcolorgray
Black -128 4831 a
SDict begin H.S end
-128 4831 a -128 4831 a
SDict begin 11 H.A end
-128 4831 a
-128 4831 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.59) cvn H.B /DEST pdfmark end
-128 4831 a 0 0 0 TeXcolorrgb 1076 w Fo(ds)p
Black(.)p 0 0 0 TeXcolorrgb(d4QQ)p Black 44 w(=)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 4949 25 92
v Black 0.95 TeXcolorgray -128 4949 4252 92 v Black 0.95
TeXcolorgray 4124 4949 25 92 v Black 0.95 TeXcolorgray
Black -128 4922 a
SDict begin H.S end
-128 4922 a -128 4922 a
SDict begin 11 H.A end
-128 4922 a
-128 4922 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.60) cvn H.B /DEST pdfmark end
-128 4922 a 0 0 0 TeXcolorrgb 897 w Fo(let)p
Black 44 w({)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 5041 25 92 v Black 0.95 TeXcolorgray -128 5041 4252
92 v Black 0.95 TeXcolorgray 4124 5041 25 92 v Black
0.95 TeXcolorgray Black -128 5013 a
SDict begin H.S end
-128 5013 a -128
5013 a
SDict begin 11 H.A end
-128 5013 a -128 5013 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.61) cvn H.B /DEST pdfmark end
-128 5013 a 0 0 0 TeXcolorrgb
987 w Fo(ds)p Black -1 w(.)p 0 0 0 TeXcolorrgb(d4QY)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(_4)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 5132 25 92
v Black 0.95 TeXcolorgray -128 5132 4252 92 v Black 0.95
TeXcolorgray 4124 5132 25 92 v Black 0.95 TeXcolorgray
Black -128 5105 a
SDict begin H.S end
-128 5105 a -128 5105 a
SDict begin 11 H.A end
-128 5105 a
-128 5105 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.62) cvn H.B /DEST pdfmark end
-128 5105 a 0 0 0 TeXcolorrgb 987 w Fo(_NI_)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
5223 25 92 v Black 0.95 TeXcolorgray -128 5223 4252 92
v Black 0.95 TeXcolorgray 4124 5223 25 92 v Black 0.95
TeXcolorgray Black -128 5196 a
SDict begin H.S end
-128 5196 a -128 5196
a
SDict begin 11 H.A end
-128 5196 a -128 5196 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.63) cvn H.B /DEST pdfmark end
-128 5196 a 0 0 0 TeXcolorrgb
987 w Fo(ds)p Black -1 w(.)p 0 0 0 TeXcolorrgb(d4QY)p
Black 44 w(=)g(+.)p 0 0 0 TeXcolorrgb(t4Hg)p Black 0 0 0
TeXcolorrgb 44 w(m)p Black(.)p 0 0 0 TeXcolorrgb(r1H4)p
Black 0 0 0 TeXcolorrgb 44 w(lit)p Black -1 w(.)p 0 0 0
TeXcolorrgb(t4Hb)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 5315 25 92 v Black 0.95 TeXcolorgray
-128 5315 4252 92 v Black 0.95 TeXcolorgray 4124 5315
25 92 v Black 0.95 TeXcolorgray Black -128 5287 a
SDict begin H.S end
-128
5287 a -128 5287 a
SDict begin 11 H.A end
-128 5287 a -128 5287 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.64) cvn H.B /DEST pdfmark end
-128 5287
a 897 w Fo(})p 0 0 0 TeXcolorrgb 45 w(in)p Black 0 0 0
TeXcolorrgb 89 w(skip2)p Black -1 w(.)p 0 0 0 TeXcolorrgb(t3Ja)p
Black 0 0 0 TeXcolorrgb 44 w(ds)p Black(.)p 0 0 0 TeXcolorrgb(d4QY)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
5406 25 92 v Black 0.95 TeXcolorgray -128 5406 4252 92
v Black 0.95 TeXcolorgray 4124 5406 25 92 v Black 0.95
TeXcolorgray Black -128 5379 a
SDict begin H.S end
-128 5379 a -128 5379
a
SDict begin 11 H.A end
-128 5379 a -128 5379 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.65) cvn H.B /DEST pdfmark end
-128 5379 a 807 w Fo(})p 0 0 0
TeXcolorrgb 45 w(in)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 5497 25 92 v Black 0.95 TeXcolorgray
-128 5497 4252 92 v Black 0.95 TeXcolorgray 4124 5497
25 92 v Black 0.95 TeXcolorgray Black -128 5470 a
SDict begin H.S end
-128
5470 a -128 5470 a
SDict begin 11 H.A end
-128 5470 a -128 5470 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.66) cvn H.B /DEST pdfmark end
-128 5470
a 807 w Fo(:!)p 0 0 0 TeXcolorrgb 45 w(_4)p Black 0 0 0
TeXcolorrgb 44 w(m)p Black(.)p 0 0 0 TeXcolorrgb(r1H4)p
Black 0 0 0 TeXcolorrgb 44 w(ds)p Black(.)p 0 0 0 TeXcolorrgb(d4QQ)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
5589 25 92 v Black 0.95 TeXcolorgray -128 5589 4252 92
v Black 0.95 TeXcolorgray 4124 5589 25 92 v Black 0.95
TeXcolorgray Black -128 5561 a
SDict begin H.S end
-128 5561 a -128 5561
a
SDict begin 11 H.A end
-128 5561 a -128 5561 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.67) cvn H.B /DEST pdfmark end
-128 5561 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 5680 25 92 v Black 0.95
TeXcolorgray -128 5680 4252 92 v Black 0.95 TeXcolorgray
4124 5680 25 92 v Black 0.95 TeXcolorgray Black -128
5653 a
SDict begin H.S end
-128 5653 a -128 5653 a
SDict begin 11 H.A end
-128 5653 a -128 5653
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.68) cvn H.B /DEST pdfmark end
-128 5653 a 449 w Fo({-)p 0 0 0 TeXcolorrgb 44 w(end)p
Black 0 0 0 TeXcolorrgb 45 w(CoRec)p Black 44 w(-})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 5771 25
92 v Black 0.95 TeXcolorgray -128 5771 4252 92 v Black
0.95 TeXcolorgray 4124 5771 25 92 v Black 0.95 TeXcolorgray
Black -128 5744 a
SDict begin H.S end
-128 5744 a -128 5744 a
SDict begin 11 H.A end
-128 5744 a
-128 5744 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-170.69) cvn H.B /DEST pdfmark end
-128 5744 a 359 w Fo(})p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 89 w(skip2)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(t3Ja)p Black Black -128 6084
4252 5 v Black eop end
%%Page: 82 97
TeXDict begin 82 96 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.82) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(82)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray -152 198 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 372
a FA(\(\223It')-5 b(s)21 b(just)g(a)f(simple)g(functional)f
(language\224)f(is)j(an)f(unre)o(gisterised)f(trademark)f(of)i(Pe)o
(yton)f(Jones)h(Enterprises,)f(plc.\))-128 507 y
SDict begin H.S end
-128
507 a -128 507 a
SDict begin 12 H.A end
-128 507 a -128 507 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.16.4) cvn H.B /DEST pdfmark end
-128 507 a Black
148 x Fp(4.16.4)p Black 89 w(Unregisterised)k(compilation)-128
743 y
SDict begin H.S end
-128 743 a -128 743 a
SDict begin 12 H.A end
-128 743 a -128 743 a
SDict begin [ /View [/XYZ H.V] /Dest (unreg) cvn H.B /DEST pdfmark end
-128
743 a 115 x FA(The)17 b(term)g("unre)o(gisterised")e(really)h(means)h
("compile)f(via)h(v)n(anilla)f(C",)i(disabling)e(some)h(of)g(the)g
(platform-speci\002c)e(tricks)i(that)g(GHC)h(normally)-128
957 y(uses)j(to)g(mak)o(e)e(programs)g(go)g(f)o(aster)-5
b(.)26 b(When)20 b(compiling)e(unre)o(gisterised,)g(GHC)j(simply)f
(generates)f(a)i(C)g(\002le)g(which)f(is)h(compiled)e(via)h(gcc.)-128
1107 y(Unre)o(gisterised)25 b(compilation)g(can)h(be)h(useful)f(when)g
(porting)f(GHC)i(to)f(a)h(ne)n(w)g(machine,)f(since)h(it)g(reduces)f
(the)g(prerequisite)f(tools)i(to)f Fu(gcc)p FA(,)-128
1206 y Fu(as)p FA(,)33 b(and)c Fu(ld)i FA(and)f(nothing)e(more,)j(and)e
(furthermore)f(the)h(amount)g(of)h(platform-speci\002c)d(code)j(that)g
(needs)f(to)h(be)g(written)g(in)g(order)f(to)h(get)-128
1306 y(unre)o(gisterised)19 b(compilation)f(going)h(is)i(usually)f(f)o
(airly)f(small.)-128 1455 y(Unre)o(gisterised)g(compilation)e(cannot)i
(be)h(selected)f(at)h(compile-time;)f(you)f(ha)n(v)o(e)h(to)h(b)n(uild)
g(GHC)g(with)g(the)f(appropriate)f(options)g(set.)26
b(Consult)-128 1555 y(the)21 b(GHC)g(Building)e(Guide)h(for)f(details.)
-128 1698 y
SDict begin H.S end
-128 1698 a -128 1698 a
SDict begin 12 H.A end
-128 1698 a -128
1698 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4.17) cvn H.B /DEST pdfmark end
-128 1698 a Black 181 x Fs(4.17)p Black 107 w(Fla)o(g)29
b(ref)o(erence)-128 2006 y
SDict begin H.S end
-128 2006 a -128 2006 a
SDict begin 12 H.A end
-128
2006 a -128 2006 a
SDict begin [ /View [/XYZ H.V] /Dest (flag-reference) cvn H.B /DEST pdfmark end
-128 2006 a 115 x FA(This)c(section)g(is)g(a)g
(quick-reference)d(for)i(GHC')-5 b(s)26 b(command-line)21
b(\003ags.)39 b(F)o(or)25 b(each)f(\003ag,)i(we)f(also)g(list)g(its)h
(static/dynamic)e(status)h(\(see)g(Sec-)-128 2220 y(tion)p
1 0 0 TeXcolorrgb 22 2221 a
SDict begin H.S end
22 2221 a 1 0 0 TeXcolorrgb
-1 x FA(4.2)p 1 0 0 TeXcolorrgb 126 2164 a
SDict begin H.R end
126 2164 a
126 2220 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.2) cvn H.B /ANN pdfmark end
126 2220 a Black FA(\),)20 b(and)g(the)g(\003ag')-5
b(s)21 b(opposite)e(\(if)h(a)n(v)n(ailable\).)-128 2355
y
SDict begin H.S end
-128 2355 a -128 2355 a
SDict begin 12 H.A end
-128 2355 a -128 2355 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.1) cvn H.B /DEST pdfmark end
-128
2355 a Black 148 x Fp(4.17.1)p Black 89 w(Help)25 b(and)f(verbosity)f
(options)-128 2706 y FA(Section)p 1 0 0 TeXcolorrgb 142
2707 a
SDict begin H.S end
142 2707 a 1 0 0 TeXcolorrgb -1 x FA(4.5)p 1 0 0
TeXcolorrgb 246 2649 a
SDict begin H.R end
246 2649 a 246 2706 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.5) cvn H.B /ANN pdfmark end
246 2706
a Black -86 2809 4169 4 v -86 2809 V -86 2910 4 101 v
-33 2879 a Fu(Flag)p 955 2910 V 883 w(Description)p 1997
2910 V 631 w(Static/Dynamic)p 3038 2910 V 495 w(Re)o(v)o(erse)p
4080 2910 V -86 2913 1045 4 v 959 2913 1042 4 v 2000
2913 V 3041 2913 V -86 3010 4 101 v -33 2980 a Ft(-?)p
955 3010 V 1008 2979 a FA(help)p 1997 3010 V 898 w(mode)p
3038 3010 V 855 w(-)p 4080 3010 V -86 3014 1045 4 v 959
3014 1042 4 v 2000 3014 V 3041 3014 V -86 3111 4 101
v -33 3080 a Ft(-help)p 955 3111 V 791 w FA(help)p 1997
3111 V 898 w(mode)p 3038 3111 V 855 w(-)p 4080 3111 V
-86 3114 1045 4 v 959 3114 1042 4 v 2000 3114 V 3041
3114 V -86 3211 4 101 v -33 3181 a Ft(-n)p 955 3211 V
1008 3180 a FA(do)d(a)h(dry)e(run)p 1997 3211 V 637 w(dynamic)p
3038 3211 V 753 w(-)p 4080 3211 V -86 3215 1045 4 v 959
3215 1042 4 v 2000 3215 V 3041 3215 V -86 3411 4 200
v -33 3331 a Ft(-v)p 955 3411 V 1008 3281 a FA(v)o(erbose)g(mode)g
(\(equi)n(v)n(alent)g(to)1008 3381 y Ft(-v3)p FA(\))p
1997 3411 V 2050 3331 a(dynamic)p 3038 3411 V 753 w(-)p
4080 3411 V -86 3414 1045 4 v 959 3414 1042 4 v 2000
3414 V 3041 3414 V -86 3511 4 101 v -33 3480 a Ft(-v)p
Fr(n)p 955 3511 V 896 w FA(set)i(v)o(erbosity)e(le)n(v)o(el)p
1997 3511 V 441 w(dynamic)p 3038 3511 V 753 w(-)p 4080
3511 V -86 3514 1045 4 v 959 3514 1042 4 v 2000 3514
V 3041 3514 V -86 3611 4 101 v -33 3581 a Ft(-V)p 955
3611 V 941 w FA(display)h(GHC)h(v)o(ersion)p 1997 3611
V 340 w(mode)p 3038 3611 V 855 w(-)p 4080 3611 V -86
3615 1045 4 v 959 3615 1042 4 v 2000 3615 V 3041 3615
V -86 3811 4 200 v -33 3681 a Ft(--supported-langu-)-33
3781 y(ages)p 955 3811 V 1008 3681 a FA(display)f(the)g(supported)1008
3781 y(language)f(e)o(xtensions)p 1997 3811 V 2050 3731
a(mode)p 3038 3811 V 855 w(-)p 4080 3811 V -86 3814 1045
4 v 959 3814 1042 4 v 2000 3814 V 3041 3814 V -86 4010
4 200 v -33 3930 a Ft(--info)p 955 4010 V 1008 3880 a
FA(display)h(information)e(about)1008 3980 y(the)j(compiler)p
1997 4010 V 2050 3930 a(mode)p 3038 4010 V 855 w(-)p
4080 4010 V -86 4013 1045 4 v 959 4013 1042 4 v 2000
4013 V 3041 4013 V -86 4110 4 101 v -33 4080 a Ft(--version)p
955 4110 V 591 w FA(display)f(GHC)h(v)o(ersion)p 1997
4110 V 340 w(mode)p 3038 4110 V 855 w(-)p 4080 4110 V
-86 4114 1045 4 v 959 4114 1042 4 v 2000 4114 V 3041
4114 V -86 4310 4 200 v -33 4230 a Ft(--numeric-version)p
955 4310 V 1008 4180 a FA(display)f(GHC)h(v)o(ersion)1008
4280 y(\(numeric)e(only\))p 1997 4310 V 2050 4230 a(mode)p
3038 4310 V 855 w(-)p 4080 4310 V -86 4313 1045 4 v 959
4313 1042 4 v 2000 4313 V 3041 4313 V -86 4509 4 200
v -33 4429 a Ft(--print-libdir)p 955 4509 V 1008 4379
a FA(display)h(GHC)h(library)1008 4479 y(directory)p
1997 4509 V 2050 4429 a(mode)p 3038 4509 V 855 w(-)p
4080 4509 V -86 4512 1045 4 v 959 4512 1042 4 v 2000
4512 V 3041 4512 V -86 4708 4 200 v -33 4628 a Ft(-ferror-spans)p
955 4708 V 1008 4579 a FA(output)e(full)i(span)e(in)i(error)1008
4678 y(messages)p 1997 4708 V 2050 4628 a(static)p 3038
4708 V 866 w(-)p 4080 4708 V -86 4712 1045 4 v 959 4712
1042 4 v 2000 4712 V 3041 4712 V -86 4907 4 200 v -33
4828 a Ft(-H)p Fr(size)p 955 4907 V 1008 4778 a FA(Set)g(the)g(minimum)
d(heap)i(size)1008 4878 y(to)h Fr(size)p 1997 4907 V
2050 4828 a FA(static)p 3038 4907 V 866 w(-)p 4080 4907
V -86 4911 1045 4 v 959 4911 1042 4 v 2000 4911 V 3041
4911 V -86 5206 4 299 v -33 5077 a Ft(-Rghc-timing)p
955 5206 V 1008 4977 a FA(Summarise)f(timing)f(stats)j(for)1008
5077 y(GHC)g(\(same)e(as)g Ft(+RTS)1008 5176 y(-tstderr)p
FA(\))p 1997 5206 V 2050 5077 a(static)p 3038 5206 V
866 w(-)p 4080 5206 V -86 5210 4169 4 v -86 5210 V -128
5322 a
SDict begin H.S end
-128 5322 a -128 5322 a
SDict begin 12 H.A end
-128 5322 a -128 5322
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.2) cvn H.B /DEST pdfmark end
-128 5322 a Black 158 x Fp(4.17.2)p Black 89 w(Whic)o(h)k(phases)g
(to)h(run)-128 5675 y FA(Section)p 1 0 0 TeXcolorrgb
142 5676 a
SDict begin H.S end
142 5676 a 1 0 0 TeXcolorrgb -1 x FA(4.4.3)p
1 0 0 TeXcolorrgb 308 5619 a
SDict begin H.R end
308 5619 a 308 5675 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.4.3) cvn H.B /ANN pdfmark end
308
5675 a Black Black -128 6084 4252 5 v Black eop end
%%Page: 83 98
TeXDict begin 83 97 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.83) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(83)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 393 4 200 v -33 314 a Ft(-E)p 955 393
V 1008 264 a FA(Stop)h(after)e(preprocessing)1008 363
y(\()p Ft(.hspp)h FA(\002le\))p 1997 393 V 2050 313 a(mode)p
3038 393 V 855 w(-)p 4080 393 V -86 397 1045 4 v 959
397 1042 4 v 2000 397 V 3041 397 V -86 592 4 200 v -33
513 a Ft(-C)p 955 592 V 1008 463 a FA(Stop)h(after)e(generating)g(C)
1008 563 y(\()p Ft(.hc)h FA(\002le\))p 1997 592 V 2050
513 a(mode)p 3038 592 V 855 w(-)p 4080 592 V -86 596
1045 4 v 959 596 1042 4 v 2000 596 V 3041 596 V -86 792
4 200 v -33 712 a Ft(-S)p 955 792 V 1008 662 a FA(Stop)h(after)e
(generating)1008 762 y(assembly)h(\()p Ft(.s)g FA(\002le\))p
1997 792 V 2050 712 a(mode)p 3038 792 V 855 w(-)p 4080
792 V -86 795 1045 4 v 959 795 1042 4 v 2000 795 V 3041
795 V -86 892 4 101 v -33 861 a Ft(-c)p 955 892 V 941
w FA(Do)h(not)f(link)p 1997 892 V 662 w(dynamic)p 3038
892 V 753 w(-)p 4080 892 V -86 895 1045 4 v 959 895 1042
4 v 2000 895 V 3041 895 V -86 1091 4 200 v -33 1012 a
Ft(-x)g Fr(suffix)p 955 1091 V 1008 962 a FA(Ov)o(erride)f(def)o(ault)h
(beha)n(viour)1008 1062 y(for)g(source)f(\002les)p 1997
1091 V 2050 1012 a(static)p 3038 1091 V 866 w(-)p 4080
1091 V -86 1095 4169 4 v -86 1095 V -128 1211 a
SDict begin H.S end
-128
1211 a -128 1211 a
SDict begin 12 H.A end
-128 1211 a -128 1211 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.3) cvn H.B /DEST pdfmark end
-128 1211
a Black 166 x Fp(4.17.3)p Black 89 w(Alternative)24 b(modes)g(of)g
(operation)-128 1580 y FA(Section)p 1 0 0 TeXcolorrgb
142 1581 a
SDict begin H.S end
142 1581 a 1 0 0 TeXcolorrgb -1 x FA(4.4)p
1 0 0 TeXcolorrgb 246 1524 a
SDict begin H.R end
246 1524 a 246 1580 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
246
1580 a Black -86 1684 4169 4 v -86 1684 V -86 1784 4
101 v -33 1753 a Fu(Flag)p 955 1784 V 883 w(Description)p
1997 1784 V 631 w(Static/Dynamic)p 3038 1784 V 495 w(Re)o(v)o(erse)p
4080 1784 V -86 1788 1045 4 v 959 1788 1042 4 v 2000
1788 V 3041 1788 V -86 2083 4 299 v -33 1954 a Ft(--interactive)p
955 2083 V 1008 1854 a FA(Interacti)n(v)o(e)19 b(mode)g(-)i(normally)
1008 1954 y(used)f(by)g(just)h(running)d Fu(ghci)p FA(;)1008
2053 y(see)j(Chapter)p 1 0 0 TeXcolorrgb 1419 2053 a
SDict begin H.S end
1419 2053 a 1 0 0 TeXcolorrgb FA(2)p 1 0 0 TeXcolorrgb
1460 1997 a
SDict begin H.R end
1460 1997 a 1460 2053 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.2) cvn H.B /ANN pdfmark end
1460 2053 a Black
21 w FA(for)f(details.)p 1997 2083 4 299 v 2050 1953
a(mode)p 3038 2083 V 855 w(-)p 4080 2083 V -86 2086 1045
4 v 959 2086 1042 4 v 2000 2086 V 3041 2086 V -86 2780
4 698 v -33 2452 a Ft(--make)p 955 2780 V 1008 2153 a
FA(Build)h(a)f(multi-module)1008 2252 y(Hask)o(ell)h(program,)1008
2352 y(automatically)e(\002guring)g(out)1008 2452 y(dependencies.)k
(Lik)o(ely)d(to)g(be)1008 2551 y(much)g(easier)m(,)g(and)f(f)o(aster)m
(,)1008 2651 y(than)h(using)g Fu(mak)o(e)p FA(;)h(see)1008
2751 y(Section)p 1 0 0 TeXcolorrgb 1278 2752 a
SDict begin H.S end
1278 2752
a 1 0 0 TeXcolorrgb -1 x FA(4.4.1)p 1 0 0 TeXcolorrgb
1444 2694 a
SDict begin H.R end
1444 2694 a 1444 2751 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.4.1) cvn H.B /ANN pdfmark end
1444 2751 a Black
21 w FA(for)f(details..)p 1997 2780 4 698 v 2050 2452
a(mode)p 3038 2780 V 855 w(-)p 4080 2780 V -86 2784 1045
4 v 959 2784 1042 4 v 2000 2784 V 3041 2784 V -86 2980
4 200 v -33 2900 a Ft(-e)50 b Fr(expr)p 955 2980 V 1008
2850 a FA(Ev)n(aluate)20 b Fr(expr)s FA(;)g(see)1008
2950 y(Section)p 1 0 0 TeXcolorrgb 1278 2951 a
SDict begin H.S end
1278 2951
a 1 0 0 TeXcolorrgb -1 x FA(4.4.2)p 1 0 0 TeXcolorrgb
1444 2894 a
SDict begin H.R end
1444 2894 a 1444 2950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.4.2) cvn H.B /ANN pdfmark end
1444 2950 a Black
21 w FA(for)g(details.)p 1997 2980 4 200 v 2050 2900
a(mode)p 3038 2980 V 855 w(-)p 4080 2980 V -86 2983 1045
4 v 959 2983 1042 4 v 2000 2983 V 3041 2983 V -86 3378
4 399 v -33 3199 a Ft(-M)p 955 3378 V 1008 3049 a FA(Generate)g
(dependenc)o(y)1008 3149 y(information)e(suitable)i(for)g(use)1008
3249 y(in)h(a)f Ft(Makefile)p FA(;)g(see)1008 3348 y(Section)p
1 0 0 TeXcolorrgb 1278 3349 a
SDict begin H.S end
1278 3349 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.11)p 1 0 0 TeXcolorrgb 1486 3292 a
SDict begin H.R end
1486 3292
a 1486 3348 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.11) cvn H.B /ANN pdfmark end
1486 3348 a Black 21 w FA(for)f(details.)p
1997 3378 4 399 v 2050 3199 a(mode)p 3038 3378 V 855
w(-)p 4080 3378 V -86 3382 4169 4 v -86 3382 V -128 3498
a
SDict begin H.S end
-128 3498 a -128 3498 a
SDict begin 12 H.A end
-128 3498 a -128 3498 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.4) cvn H.B /DEST pdfmark end
-128
3498 a Black 166 x Fp(4.17.4)p Black 89 w(Redirecting)24
b(output)-128 3867 y FA(Section)p 1 0 0 TeXcolorrgb 142
3868 a
SDict begin H.S end
142 3868 a 1 0 0 TeXcolorrgb -1 x FA(4.6.4)p 1 0 0
TeXcolorrgb 308 3811 a
SDict begin H.R end
308 3811 a 308 3867 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.4) cvn H.B /ANN pdfmark end
308 3867
a Black -86 3971 4169 4 v -86 3971 V -86 4071 4 101 v
-33 4040 a Fu(Flag)p 955 4071 V 883 w(Description)p 1997
4071 V 631 w(Static/Dynamic)p 3038 4071 V 495 w(Re)o(v)o(erse)p
4080 4071 V -86 4074 1045 4 v 959 4074 1042 4 v 2000
4074 V 3041 4074 V -86 4270 4 200 v -33 4191 a Ft(-hcsuf)c
Fr(suffix)p 955 4270 V 1008 4141 a FA(set)h(the)g(suf)n(\002x)e(to)i
(use)f(for)1008 4240 y(intermediate)f(C)i(\002les)p 1997
4270 V 2050 4190 a(dynamic)p 3038 4270 V 753 w(-)p 4080
4270 V -86 4274 1045 4 v 959 4274 1042 4 v 2000 4274
V 3041 4274 V -86 4470 4 200 v -33 4390 a Ft(-hidir)f
Fr(dir)p 955 4470 V 1008 4340 a FA(set)h(directory)e(for)h(interf)o
(ace)1008 4440 y(\002les)p 1997 4470 V 2050 4390 a(dynamic)p
3038 4470 V 753 w(-)p 4080 4470 V -86 4473 1045 4 v 959
4473 1042 4 v 2000 4473 V 3041 4473 V -86 4669 4 200
v -33 4589 a Ft(-hisuf)g Fr(suffix)p 955 4669 V 1008
4539 a FA(set)h(the)g(suf)n(\002x)e(to)i(use)f(for)1008
4639 y(interf)o(ace)g(\002les)p 1997 4669 V 2050 4589
a(dynamic)p 3038 4669 V 753 w(-)p 4080 4669 V -86 4672
1045 4 v 959 4672 1042 4 v 2000 4672 V 3041 4672 V -86
4769 4 101 v -33 4739 a Ft(-o)g Fr(filename)p 955 4769
V 1008 4738 a FA(set)h(output)e(\002lename)p 1997 4769
V 409 w(dynamic)p 3038 4769 V 753 w(-)p 4080 4769 V -86
4773 1045 4 v 959 4773 1042 4 v 2000 4773 V 3041 4773
V -86 4870 4 101 v -33 4839 a Ft(-odir)h Fr(dir)p 955
4870 V 636 w FA(set)h(directory)e(for)h(object)f(\002les)p
1997 4870 V 129 w(dynamic)p 3038 4870 V 753 w(-)p 4080
4870 V -86 4873 1045 4 v 959 4873 1042 4 v 2000 4873
V 3041 4873 V -86 5069 4 200 v -33 4989 a Ft(-ohi)h Fr(filename)p
955 5069 V 1008 4939 a FA(set)h(the)g(\002lename)e(in)i(which)e(to)1008
5039 y(put)h(the)h(interf)o(ace)p 1997 5069 V 2050 4989
a(dynamic)p 3038 5069 V 4080 5069 V -86 5072 1045 4 v
959 5072 1042 4 v 2000 5072 V 3041 5072 V -86 5169 4
101 v -33 5139 a Ft(-osuf)f Fr(suffix)p 955 5169 V 501
w FA(set)h(the)g(output)e(\002le)i(suf)n(\002x)p 1997
5169 V 258 w(dynamic)p 3038 5169 V 753 w(-)p 4080 5169
V -86 5173 1045 4 v 959 5173 1042 4 v 2000 5173 V 3041
5173 V -86 5270 4 101 v -33 5239 a Ft(-stubdir)e Fr(dir)p
955 5270 V 487 w FA(redirect)h(FFi)h(stub)f(\002les)p
1997 5270 V 334 w(dynamic)p 3038 5270 V 753 w(-)p 4080
5270 V -86 5273 1045 4 v 959 5273 1042 4 v 2000 5273
V 3041 5273 V -86 5370 4 101 v -33 5340 a Ft(-outputdir)f
Fr(dir)p 955 5370 V 1008 5339 a FA(set)i(output)e(directory)p
1997 5370 V 394 w(dynamic)p 3038 5370 V 753 w(-)p 4080
5370 V -86 5374 4169 4 v -86 5374 V Black -128 6084 4252
5 v Black eop end
%%Page: 84 99
TeXDict begin 84 98 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.84) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(84)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.5) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.17.5)p
Black 89 w(K)o(eeping)k(intermediate)f(\002les)-128 376
y FA(Section)p 1 0 0 TeXcolorrgb 142 377 a
SDict begin H.S end
142 377 a
1 0 0 TeXcolorrgb -1 x FA(4.6.5)p 1 0 0 TeXcolorrgb 308
320 a
SDict begin H.R end
308 320 a 308 376 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.5) cvn H.B /ANN pdfmark end
308 376 a Black -86 480 4169
4 v -86 480 V -86 580 4 101 v -33 550 a Fu(Flag)p 955
580 V 883 w(Description)p 1997 580 V 631 w(Static/Dynamic)p
3038 580 V 495 w(Re)o(v)o(erse)p 4080 580 V -86 584 1045
4 v 959 584 1042 4 v 2000 584 V 3041 584 V -86 780 4
200 v -33 650 a Ft(-keep-hc-file)18 b FA(or)-33 750 y
Ft(-keep-hc-files)p 955 780 V 1008 650 a FA(retain)i(intermediate)f
Ft(.hc)1008 750 y FA(\002les)p 1997 780 V 2050 700 a(dynamic)p
3038 780 V 753 w(-)p 4080 780 V -86 783 1045 4 v 959
783 1042 4 v 2000 783 V 3041 783 V -86 979 4 200 v -33
849 a Ft(-keep-s-file)g FA(or)-33 949 y Ft(-keep-s-files)p
955 979 V 1008 899 a FA(retain)h(intermediate)f Ft(.s)h
FA(\002les)p 1997 979 V 138 w(dynamic)p 3038 979 V 753
w(-)p 4080 979 V -86 982 1045 4 v 959 982 1042 4 v 2000
982 V 3041 982 V -86 1178 4 200 v -33 1049 a Ft(-keep-raw-s-file)e
FA(or)-33 1148 y Ft(-keep-raw-s-files)p 955 1178 V 1008
1049 a FA(retain)i(intermediate)1008 1148 y Ft(.raw_s)g
FA(\002les)p 1997 1178 V 2050 1098 a(dynamic)p 3038 1178
V 753 w(-)p 4080 1178 V -86 1182 1045 4 v 959 1182 1042
4 v 2000 1182 V 3041 1182 V -86 1377 4 200 v -33 1298
a Ft(-keep-tmp-files)p 955 1377 V 1008 1248 a FA(retain)g(all)h
(intermediate)1008 1348 y(temporary)d(\002les)p 1997
1377 V 2050 1298 a(dynamic)p 3038 1377 V 753 w(-)p 4080
1377 V -86 1381 4169 4 v -86 1381 V -128 1497 a
SDict begin H.S end
-128
1497 a -128 1497 a
SDict begin 12 H.A end
-128 1497 a -128 1497 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.6) cvn H.B /DEST pdfmark end
-128 1497
a Black 166 x Fp(4.17.6)p Black 89 w(T)-5 b(emporar)q(y)23
b(\002les)-128 1866 y FA(Section)p 1 0 0 TeXcolorrgb
142 1867 a
SDict begin H.S end
142 1867 a 1 0 0 TeXcolorrgb -1 x FA(4.6.6)p
1 0 0 TeXcolorrgb 308 1810 a
SDict begin H.R end
308 1810 a 308 1866 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.6) cvn H.B /ANN pdfmark end
308
1866 a Black -86 1970 4169 4 v -86 1970 V -86 2070 4
101 v -33 2040 a Fu(Flag)p 955 2070 V 1008 2039 a(Description)p
1997 2070 V 631 w(Static/Dynamic)p 3038 2070 V 495 w(Re)o(v)o(erse)p
4080 2070 V -86 2074 1045 4 v 959 2074 1042 4 v 2000
2074 V 3041 2074 V -86 2270 4 200 v -33 2190 a Ft(-tmpdir)p
955 2270 V 1008 2140 a FA(set)e(the)g(directory)d(for)1008
2240 y(temporary)g(\002les)p 1997 2270 V 2050 2190 a(dynamic)p
3038 2270 V 753 w(-)p 4080 2270 V -86 2273 4169 4 v -86
2273 V -128 2389 a
SDict begin H.S end
-128 2389 a -128 2389 a
SDict begin 12 H.A end
-128 2389
a -128 2389 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.7) cvn H.B /DEST pdfmark end
-128 2389 a Black 166 x Fp(4.17.7)p Black
89 w(Finding)24 b(impor)r(ts)-128 2758 y FA(Section)p
1 0 0 TeXcolorrgb 142 2759 a
SDict begin H.S end
142 2759 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.3)p 1 0 0 TeXcolorrgb 308 2702 a
SDict begin H.R end
308 2702
a 308 2758 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.3) cvn H.B /ANN pdfmark end
308 2758 a Black -86 2862 4169 4 v -86 2862
V -86 2962 4 101 v -33 2932 a Fu(Flag)p 955 2962 V 1008
2931 a(Description)p 1997 2962 V 631 w(Static/Dynamic)p
3038 2962 V 495 w(Re)o(v)o(erse)p 4080 2962 V -86 2966
1045 4 v 959 2966 1042 4 v 2000 2966 V 3041 2966 V -86
3162 4 200 v -33 3082 a Ft(-i)p Fr(dir1)p FA(:)p Fr(dir2)p
FA(:...)p 955 3162 V 1008 3032 a(add)c Fr(dir)s FA(,)g
Fr(dir2)p FA(,)g(etc.)25 b(to)1008 3132 y(import)20 b(path)p
1997 3162 V 2050 3082 a(static/)p Ft(:set)p 3038 3162
V 643 w FA(-)p 4080 3162 V -86 3165 1045 4 v 959 3165
1042 4 v 2000 3165 V 3041 3165 V -86 3361 4 200 v -33
3281 a Ft(-i)p 955 3361 V 1008 3231 a FA(Empty)g(the)g(import)f
(directory)1008 3331 y(list)p 1997 3361 V 2050 3281 a(static/)p
Ft(:set)p 3038 3361 V 643 w FA(-)p 4080 3361 V -86 3364
4169 4 v -86 3364 V -128 3480 a
SDict begin H.S end
-128 3480 a -128 3480
a
SDict begin 12 H.A end
-128 3480 a -128 3480 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.8) cvn H.B /DEST pdfmark end
-128 3480 a Black 166 x Fp(4.17.8)p
Black 89 w(Interface)24 b(\002le)g(options)-128 3849
y FA(Section)p 1 0 0 TeXcolorrgb 142 3850 a
SDict begin H.S end
142 3850
a 1 0 0 TeXcolorrgb -1 x FA(4.6.7)p 1 0 0 TeXcolorrgb
308 3793 a
SDict begin H.R end
308 3793 a 308 3849 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.7) cvn H.B /ANN pdfmark end
308 3849 a Black -86
3953 4169 4 v -86 3953 V -86 4054 4 101 v -33 4023 a
Fu(Flag)p 955 4054 V 883 w(Description)p 1997 4054 V
631 w(Static/Dynamic)p 3038 4054 V 495 w(Re)o(v)o(erse)p
4080 4054 V -86 4057 1045 4 v 959 4057 1042 4 v 2000
4057 V 3041 4057 V -86 4253 4 200 v -33 4173 a Ft(-ddump-hi)p
955 4253 V 1008 4123 a FA(Dump)c(the)g(ne)n(w)g(interf)o(ace)f(to)1008
4223 y(stdout)p 1997 4253 V 2050 4173 a(dynamic)p 3038
4253 V 753 w(-)p 4080 4253 V -86 4256 1045 4 v 959 4256
1042 4 v 2000 4256 V 3041 4256 V -86 4452 4 200 v -33
4372 a Ft(-ddump-hi-diffs)p 955 4452 V 1008 4323 a FA(Sho)n(w)h(the)g
(dif)n(ferences)e(vs.)26 b(the)1008 4422 y(old)20 b(interf)o(ace)p
1997 4452 V 2050 4372 a(dynamic)p 3038 4452 V 753 w(-)p
4080 4452 V -86 4455 1045 4 v 959 4455 1042 4 v 2000
4455 V 3041 4455 V -86 4651 4 200 v -33 4522 a Ft(-ddump-minimal-im-)
-33 4621 y(ports)p 955 4651 V 1008 4522 a FA(Dump)g(a)g(minimal)g(set)h
(of)1008 4621 y(imports)p 1997 4651 V 2050 4571 a(dynamic)p
3038 4651 V 753 w(-)p 4080 4651 V -86 4655 1045 4 v 959
4655 1042 4 v 2000 4655 V 3041 4655 V -86 4752 4 101
v -33 4721 a Ft(--show-iface)e Fr(file)p 955 4752 V 242
w FA(See)i(Section)p 1 0 0 TeXcolorrgb 1419 4722 a
SDict begin H.S end
1419
4722 a 1 0 0 TeXcolorrgb -1 x FA(4.4)p 1 0 0 TeXcolorrgb
1523 4665 a
SDict begin H.R end
1523 4665 a 1523 4721 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
1523 4721 a Black
FA(.)p 1997 4752 4 101 v 3038 4752 V 4080 4752 V -86
4755 4169 4 v -86 4755 V -128 4871 a
SDict begin H.S end
-128 4871 a -128
4871 a
SDict begin 12 H.A end
-128 4871 a -128 4871 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.9) cvn H.B /DEST pdfmark end
-128 4871 a Black 166
x Fp(4.17.9)p Black 89 w(Recompilation)i(c)o(hec)n(king)-128
5240 y FA(Section)p 1 0 0 TeXcolorrgb 142 5241 a
SDict begin H.S end
142
5241 a 1 0 0 TeXcolorrgb -1 x FA(4.6.8)p 1 0 0 TeXcolorrgb
308 5184 a
SDict begin H.R end
308 5184 a 308 5240 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.8) cvn H.B /ANN pdfmark end
308 5240 a Black -86
5344 4169 4 v -86 5344 V -86 5445 4 101 v -33 5414 a
Fu(Flag)p 955 5445 V 883 w(Description)p 1997 5445 V
631 w(Static/Dynamic)p 3038 5445 V 495 w(Re)o(v)o(erse)p
4080 5445 V -86 5448 1045 4 v 959 5448 1042 4 v 2000
5448 V 3041 5448 V -86 5743 4 299 v -33 5614 a Ft(-fforce-recomp)p
955 5743 V 1008 5514 a FA(T)l(urn)d(of)n(f)f(recompilation)1008
5614 y(checking;)g(implied)h(by)f(an)o(y)1008 5714 y
Ft(-ddump-X)h FA(option)p 1997 5743 V 2050 5614 a(dynamic)p
3038 5743 V 753 w Ft(-fno-force-recomp)p 4080 5743 V
-86 5747 4169 4 v -86 5747 V Black -128 6084 4252 5 v
Black eop end
%%Page: 85 100
TeXDict begin 85 99 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.85) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(85)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.10) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.17.10)p
Black 89 w(Interactive-mode)j(options)-128 262 y
SDict begin H.S end
-128
262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (interactive-mode-options) cvn H.B /DEST pdfmark end
-128 262 a 114
x FA(Section)p 1 0 0 TeXcolorrgb 142 378 a
SDict begin H.S end
142 378 a
1 0 0 TeXcolorrgb -2 x FA(2.9)p 1 0 0 TeXcolorrgb 246
320 a
SDict begin H.R end
246 320 a 246 376 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.2.9) cvn H.B /ANN pdfmark end
246 376 a Black -86 481 4169
4 v -86 481 V -86 581 4 101 v -33 551 a Fu(Flag)p 955
581 V 883 w(Description)p 1997 581 V 631 w(Static/Dynamic)p
3038 581 V 495 w(Re)o(v)o(erse)p 4080 581 V -86 585 1045
4 v 959 585 1042 4 v 2000 585 V 3041 585 V -86 781 4
200 v -33 701 a Ft(-ignore-dot-ghci)p 955 781 V 1008
651 a FA(Disable)e(reading)e(of)h Ft(.ghci)1008 751 y
FA(\002les)p 1997 781 V 2050 701 a(static)p 3038 781
V 866 w(-)p 4080 781 V -86 784 1045 4 v 959 784 1042
4 v 2000 784 V 3041 784 V -86 980 4 200 v -33 900 a Ft(-read-dot-ghci)p
955 980 V 1008 850 a FA(Enable)g(reading)f(of)g Ft(.ghci)1008
950 y FA(\002les)p 1997 980 V 2050 900 a(static)p 3038
980 V 866 w(-)p 4080 980 V -86 983 1045 4 v 959 983 1042
4 v 2000 983 V 3041 983 V -86 1179 4 200 v -33 1050 a
Ft(-fbreak-on-except-)-33 1149 y(ion)p 955 1179 V 1 0 0
TeXcolorrgb 1008 1118 a
SDict begin H.S end
1008 1118 a 1 0 0 TeXcolorrgb
-19 x FA(Break)i(on)e(an)o(y)h(e)o(xception)e(thro)n(wn)p
1 0 0 TeXcolorrgb 2046 1043 a
SDict begin H.R end
2046 1043 a 2046 1099 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (ghci-debugger-exceptions) cvn H.B /ANN pdfmark end
2046 1099 a Black 1997 1179 4 200 v 4 w FA(dynamic)p
3038 1179 V 3091 1050 a Ft(-fno-break-on-exc-)3091 1149
y(eption)p 4080 1179 V -86 1183 1045 4 v 959 1183 1042
4 v 2000 1183 V 3041 1183 V -86 1378 4 200 v -33 1299
a(-fbreak-on-error)p 955 1378 V 1 0 0 TeXcolorrgb 1008
1317 a
SDict begin H.S end
1008 1317 a 1 0 0 TeXcolorrgb -18 x FA(Break)j(on)e(uncaught)f
(e)o(xceptions)h(and)h(errors)p 1 0 0 TeXcolorrgb 2365
1242 a
SDict begin H.R end
2365 1242 a 2365 1299 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (ghci-debugger-exceptions) cvn H.B /ANN pdfmark end
2365 1299 a Black 1997
1378 4 200 v -315 w FA(dynamic)p 3038 1378 V 3091 1249
a Ft(-fno-break-on-err-)3091 1349 y(or)p 4080 1378 V
-86 1382 1045 4 v 959 1382 1042 4 v 2000 1382 V 3041
1382 V -86 1578 4 200 v -33 1448 a(-fprint-evld-with-)-33
1548 y(-show)p 955 1578 V 1 0 0 TeXcolorrgb 1008 1516
a
SDict begin H.S end
1008 1516 a 1 0 0 TeXcolorrgb -18 x FA(Enable)g(usage)g(of)g(Sho)n(w)
f(instances)h(in)h(:print)p 1 0 0 TeXcolorrgb 2358 1442
a
SDict begin H.R end
2358 1442 a 2358 1498 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (breakpoints) cvn H.B /ANN pdfmark end
2358 1498 a Black 1997 1578
4 200 v -308 w FA(dynamic)p 3038 1578 V 3091 1448 a Ft
(-fno-print-evld-w-)3091 1548 y(ith-show)p 4080 1578
V -86 1581 1045 4 v 959 1581 1042 4 v 2000 1581 V 3041
1581 V -86 1777 4 200 v -33 1647 a(-fprint-bind-resu-)-33
1747 y(lt)p 955 1777 V 1 0 0 TeXcolorrgb 1008 1715 a
SDict begin H.S end
1008 1715 a 1 0 0 TeXcolorrgb -18 x FA(T)l(urn)f(on)g(printing)e(of)i
(binding)f(results)h(in)h(GHCi)p 1 0 0 TeXcolorrgb 2460
1641 a
SDict begin H.R end
2460 1641 a 2460 1697 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (ghci-stmts) cvn H.B /ANN pdfmark end
2460 1697 a Black 1997
1777 4 200 v -410 w FA(dynamic)p 3038 1777 V 3091 1647
a Ft(-fno-print-bind-r-)3091 1747 y(esult)p 4080 1777
V -86 1780 1045 4 v 959 1780 1042 4 v 2000 1780 V 3041
1780 V -86 1976 4 200 v -33 1847 a(-fno-print-bind-c-)-33
1946 y(ontents)p 955 1976 V 1 0 0 TeXcolorrgb 1008 1915
a
SDict begin H.S end
1008 1915 a 1 0 0 TeXcolorrgb -19 x FA(T)l(urn)f(of)n(f)f(printing)g
(of)h(binding)e(contents)i(in)g(GHCi)p 1 0 0 TeXcolorrgb
2532 1840 a
SDict begin H.R end
2532 1840 a 2532 1896 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (breakpoints) cvn H.B /ANN pdfmark end
2532 1896 a Black
1997 1976 4 200 v -482 w FA(dynamic)p 3038 1976 V 753
w(-)p 4080 1976 V -86 1980 1045 4 v 959 1980 1042 4 v
2000 1980 V 3041 1980 V -86 2175 4 200 v -33 2046 a Ft
(-fno-implicit-imp-)-33 2146 y(ort-qualified)p 955 2175
V 1 0 0 TeXcolorrgb 1008 2114 a
SDict begin H.S end
1008 2114 a 1 0 0 TeXcolorrgb
-18 x FA(T)l(urn)g(of)n(f)f(implicit)i(quali\002ed)e(import)g(of)h(e)n
(v)o(erything)d(in)k(GHCi)p 1 0 0 TeXcolorrgb 2881 2040
a
SDict begin H.R end
2881 2040 a 2881 2096 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (ghci-import-qualified) cvn H.B /ANN pdfmark end
2881 2096 a Black 1997 2175
4 200 v -831 w FA(dynamic)p 3038 2175 V 753 w(-)p 4080
2175 V -86 2179 4169 4 v -86 2179 V -128 2295 a
SDict begin H.S end
-128
2295 a -128 2295 a
SDict begin 12 H.A end
-128 2295 a -128 2295 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.11) cvn H.B /DEST pdfmark end
-128 2295
a Black 166 x Fp(4.17.11)p Black 89 w(P)m(ac)n(ka)o(g)q(es)-128
2664 y FA(Section)p 1 0 0 TeXcolorrgb 142 2665 a
SDict begin H.S end
142
2665 a 1 0 0 TeXcolorrgb -1 x FA(4.8)p 1 0 0 TeXcolorrgb
246 2608 a
SDict begin H.R end
246 2608 a 246 2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.8) cvn H.B /ANN pdfmark end
246 2664 a Black -86
2768 4169 4 v -86 2768 V -86 2868 4 101 v -33 2838 a
Fu(Flag)p 955 2868 V 1008 2837 a(Description)p 1997 2868
V 631 w(Static/Dynamic)p 3038 2868 V 495 w(Re)o(v)o(erse)p
4080 2868 V -86 2872 1045 4 v 959 2872 1042 4 v 2000
2872 V 3041 2872 V -86 3068 4 200 v -33 2988 a Ft(-package-name)d
Fr(P)p 955 3068 V 1008 2938 a FA(Compile)i(to)h(be)f(part)g(of)1008
3038 y(package)f Fr(P)p 1997 3068 V 2050 2988 a FA(dynamic)p
3038 3068 V 753 w(-)p 4080 3068 V -86 3071 1045 4 v 959
3071 1042 4 v 2000 3071 V 3041 3071 V -86 3168 4 101
v -33 3137 a Ft(-package)g Fr(P)p 955 3168 V 577 w FA(Expose)h(package)
e Fr(P)p 1997 3168 V 439 w FA(static/)p Ft(:set)p 3038
3168 V 643 w FA(-)p 4080 3168 V -86 3171 1045 4 v 959
3171 1042 4 v 2000 3171 V 3041 3171 V -86 3268 4 101
v -33 3238 a Ft(-hide-all-packages)p 955 3268 V 141 w
FA(Hide)h(all)g(packages)f(by)g(def)o(ault)p 1997 3268
V 102 w(static)p 3038 3268 V 866 w(-)p 4080 3268 V -86
3272 1045 4 v 959 3272 1042 4 v 2000 3272 V 3041 3272
V -86 3369 4 101 v -33 3338 a Ft(-hide-package)g Fr(name)p
955 3369 V 193 w FA(Hide)j(package)d Fr(P)p 1997 3369
V 522 w FA(static/)p Ft(:set)p 3038 3369 V 643 w FA(-)p
4080 3369 V -86 3372 1045 4 v 959 3372 1042 4 v 2000
3372 V 3041 3372 V -86 3568 4 200 v -33 3439 a Ft(-ignore-package)-33
3538 y Fr(name)p 955 3568 V 1008 3488 a FA(Ignore)h(package)g
Fr(P)p 1997 3568 V 466 w FA(static/)p Ft(:set)p 3038
3568 V 643 w FA(-)p 4080 3568 V -86 3571 1045 4 v 959
3571 1042 4 v 2000 3571 V 3041 3571 V -86 3767 4 200
v -33 3688 a Ft(-package-conf)f Fr(file)p 955 3767 V
1008 3638 a FA(Load)i(more)f(packages)g(from)1008 3738
y Fr(file)p 1997 3767 V 2050 3688 a FA(static)p 3038
3767 V 866 w(-)p 4080 3767 V -86 3771 1045 4 v 959 3771
1042 4 v 2000 3771 V 3041 3771 V -86 3967 4 200 v -33
3837 a Ft(-no-user-package--)-33 3937 y(conf)p 955 3967
V 1008 3837 a FA(Don')o(t)g(load)h(the)g(user')-5 b(s)1008
3937 y(package)19 b(con\002g)h(\002le.)p 1997 3967 V
2050 3887 a(static)p 3038 3967 V 866 w(-)p 4080 3967
V -86 3970 4169 4 v -86 3970 V -128 4086 a
SDict begin H.S end
-128 4086
a -128 4086 a
SDict begin 12 H.A end
-128 4086 a -128 4086 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.12) cvn H.B /DEST pdfmark end
-128 4086 a Black
166 x Fp(4.17.12)p Black 89 w(Langua)o(g)q(e)k(options)-128
4455 y FA(Section)p 1 0 0 TeXcolorrgb 142 4456 a
SDict begin H.S end
142
4456 a 1 0 0 TeXcolorrgb -1 x FA(7.1)p 1 0 0 TeXcolorrgb
246 4399 a
SDict begin H.R end
246 4399 a 246 4455 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.1) cvn H.B /ANN pdfmark end
246 4455 a Black -86
4559 4169 4 v -86 4559 V -86 4659 4 101 v -33 4629 a
Fu(Flag)p 955 4659 V 883 w(Description)p 1997 4659 V
631 w(Static/Dynamic)p 3038 4659 V 495 w(Re)o(v)o(erse)p
4080 4659 V -86 4663 1045 4 v 959 4663 1042 4 v 2000
4663 V 3041 4663 V -86 4859 4 200 v -33 4779 a Ft(-fglasgow-exts)p
955 4859 V 1008 4729 a FA(Enable)c(most)g(language)1008
4829 y(e)o(xtensions)p 1997 4859 V 2050 4779 a(dynamic)p
3038 4859 V 753 w Ft(-fno-glasgow-exts)p 4080 4859 V
-86 4862 1045 4 v 959 4862 1042 4 v 2000 4862 V 3041
4862 V -86 5058 4 200 v -33 4928 a(-XOverlappingInst-)-33
5028 y(ances)p 955 5058 V 1008 4928 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 5046 a
SDict begin H.S end
1008 5046 a 1 0 0 TeXcolorrgb
-18 x FA(o)o(v)o(erlapping)d(instances)p 1 0 0 TeXcolorrgb
1728 4972 a
SDict begin H.R end
1728 4972 a 1728 5028 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (instance-overlap) cvn H.B /ANN pdfmark end
1728 5028 a Black
1997 5058 4 200 v 2050 4978 a FA(dynamic)p 3038 5058
V 3091 4928 a Ft(-XNoOverlappingIn-)3091 5028 y(stances)p
4080 5058 V -86 5061 1045 4 v 959 5061 1042 4 v 2000
5061 V 3041 5061 V -86 5456 4 399 v -33 5227 a(-XIncoherentInsta-)-33
5327 y(nces)p 955 5456 V 1008 5128 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 5228 a
SDict begin H.S end
1008 5228 a 1 0 0 TeXcolorrgb
-1 x FA(incoherent)i(instances)p 1 0 0 TeXcolorrgb 1684
5171 a
SDict begin H.R end
1684 5171 a 1684 5227 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (instance-overlap) cvn H.B /ANN pdfmark end
1684 5227 a Black FA(.)1008
5327 y(Implies)h Ft(-XOverlappin-)1008 5427 y(gInstances)p
1997 5456 4 399 v 2050 5277 a FA(dynamic)p 3038 5456
V 3091 5227 a Ft(-XNoIncoherentIns-)3091 5327 y(tances)p
4080 5456 V -86 5460 1045 4 v 959 5460 1042 4 v 2000
5460 V 3041 5460 V -86 5656 4 200 v -33 5526 a(-XUndecidableInst-)-33
5626 y(ances)p 955 5656 V 1008 5526 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 5627 a
SDict begin H.S end
1008 5627 a 1 0 0 TeXcolorrgb
-1 x FA(undecidable)e(instances)p 1 0 0 TeXcolorrgb 1735
5570 a
SDict begin H.R end
1735 5570 a 1735 5626 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (undecidable-instances) cvn H.B /ANN pdfmark end
1735 5626 a Black 1997
5656 4 200 v 2050 5576 a FA(dynamic)p 3038 5656 V 3091
5526 a Ft(-XNoUndecidableIn-)3091 5626 y(stances)p 4080
5656 V -86 5659 1045 4 v 959 5659 1042 4 v 2000 5659
V 3041 5659 V Black -128 6084 4252 5 v Black eop end
%%Page: 86 101
TeXDict begin 86 100 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.86) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(86)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 490 4 299 v -33 360 a Ft(-fcontext-stack=N)p
Fr(n)p 955 490 V 1008 260 a FA(set)h(the)p 1 0 0 TeXcolorrgb
1008 361 a
SDict begin H.S end
1008 361 a 1 0 0 TeXcolorrgb -1 x FA(limit)g(for)f(conte)o
(xt)f(reduction)p 1 0 0 TeXcolorrgb 1881 304 a
SDict begin H.R end
1881 304
a 1881 360 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (undecidable-instances) cvn H.B /ANN pdfmark end
1881 360 a Black FA(.)1008 460 y(Def)o(ault)h(is)i(20.)p
1997 490 4 299 v 2050 360 a(dynamic)p 3038 490 V 4080
490 V -86 493 1045 4 v 959 493 1042 4 v 2000 493 V 3041
493 V -86 689 4 200 v -33 609 a Ft(-XArrows)p 955 689
V 1008 559 a FA(Enable)p 1 0 0 TeXcolorrgb 1260 560 a
SDict begin H.S end
1260 560 a 1 0 0 TeXcolorrgb -1 x FA(arro)n(w)d(notation)p
1 0 0 TeXcolorrgb 1744 503 a
SDict begin H.R end
1744 503 a 1744 559 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (arrow-notation) cvn H.B /ANN pdfmark end
1744
559 a Black 1008 659 a FA(e)o(xtension)p 1997 689 4 200
v 2050 609 a(dynamic)p 3038 689 V 753 w Ft(-XNoArrows)p
4080 689 V -86 692 1045 4 v 959 692 1042 4 v 2000 692
V 3041 692 V -86 888 4 200 v -33 759 a(-XDisambiguateRec-)-33
858 y(ordFields)p 955 888 V 1008 759 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 876 a
SDict begin H.S end
1008 876 a 1 0 0 TeXcolorrgb -18
x FA(record)g(\002eld)i(disambiguation)p 1 0 0 TeXcolorrgb
1922 802 a
SDict begin H.R end
1922 802 a 1922 858 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (disambiguate-fields) cvn H.B /ANN pdfmark end
1922 858 a Black 1997
888 4 200 v 2050 808 a FA(dynamic)p 3038 888 V 3091 759
a Ft(-XNoDisambiguateR-)3091 858 y(ecordFields)p 4080
888 V -86 891 1045 4 v 959 891 1042 4 v 2000 891 V 3041
891 V -86 1287 4 399 v -33 1057 a(-XForeignFunction-)-33
1157 y(Interface)p 955 1287 V 1008 958 a FA(Enable)p
1 0 0 TeXcolorrgb 1008 1075 a
SDict begin H.S end
1008 1075 a 1 0 0 TeXcolorrgb
-18 x FA(foreign)e(function)f(interf)o(ace)p 1 0 0 TeXcolorrgb
1856 1001 a
SDict begin H.R end
1856 1001 a 1856 1057 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (ffi) cvn H.B /ANN pdfmark end
1856 1057 a Black
1008 1157 a FA(\(implied)i(by)1008 1257 y Ft(-fglasgow-exts)p
FA(\))p 1997 1287 4 399 v 2050 1107 a(dynamic)p 3038
1287 V 3091 1057 a Ft(-XNoForeignFuncti-)3091 1157 y(onInterface)p
4080 1287 V -86 1290 1045 4 v 959 1290 1042 4 v 2000
1290 V 3041 1290 V -86 1387 4 101 v -33 1356 a(-XGenerics)p
955 1387 V 541 w FA(Enable)p 1 0 0 TeXcolorrgb 1260 1374
a
SDict begin H.S end
1260 1374 a 1 0 0 TeXcolorrgb -18 x FA(generic)f(classes)p
1 0 0 TeXcolorrgb 1755 1300 a
SDict begin H.R end
1755 1300 a 1755 1356 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (generic-classes) cvn H.B /ANN pdfmark end
1755 1356 a Black 1997 1387 4 101 v 295 w FA(dynamic)p
3038 1387 V 753 w Ft(-XNoGenerics)p 4080 1387 V -86 1390
1045 4 v 959 1390 1042 4 v 2000 1390 V 3041 1390 V -86
1686 4 299 v -33 1556 a(-XImplicitParams)p 955 1686 V
1008 1457 a FA(Enable)p 1 0 0 TeXcolorrgb 1260 1475 a
SDict begin H.S end
1260 1475 a 1 0 0 TeXcolorrgb -18 x FA(Implicit)g(P)o(arameters)p
1 0 0 TeXcolorrgb 1911 1400 a
SDict begin H.R end
1911 1400 a 1911 1457 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (implicit-parameters) cvn H.B /ANN pdfmark end
1911 1457 a Black FA(.)1008 1556 y(Implied)h(by)1008
1656 y Ft(-fglasgow-exts)p FA(.)p 1997 1686 4 299 v 2050
1556 a(dynamic)p 3038 1686 V 753 w Ft(-XNoImplicitParams)p
4080 1686 V -86 1689 1045 4 v 959 1689 1042 4 v 2000
1689 V 3041 1689 V -86 1885 4 200 v -33 1756 a(-firrefutable-tup-)-33
1855 y(les)p 955 1885 V 1008 1756 a FA(Mak)o(e)g(tuple)g(pattern)1008
1855 y(matching)f(irrefutable)p 1997 1885 V 2050 1805
a(dynamic)p 3038 1885 V 3091 1756 a Ft(-fno-irrefutable--)3091
1855 y(tuples)p 4080 1885 V -86 1888 1045 4 v 959 1888
1042 4 v 2000 1888 V 3041 1888 V -86 2084 4 200 v -33
1955 a(-XNoImplicitPrelu-)-33 2054 y(de)p 955 2084 V
1008 1955 a FA(Don')o(t)g(implicitly)h Ft(import)1008
2054 y(Prelude)p 1997 2084 V 2050 2004 a FA(dynamic)p
3038 2084 V 753 w Ft(-XImplicitPrelude)p 4080 2084 V
-86 2088 1045 4 v 959 2088 1042 4 v 2000 2088 V 3041
2088 V -86 2284 4 200 v -33 2154 a(-XNoMonomorphismR-)-33
2254 y(estriction)p 955 2284 V 1008 2154 a FA(Disable)h(the)p
1 0 0 TeXcolorrgb 1008 2272 a
SDict begin H.S end
1008 2272 a 1 0 0 TeXcolorrgb
-18 x FA(monomorphism)c(restriction)p 1 0 0 TeXcolorrgb
1892 2197 a
SDict begin H.R end
1892 2197 a 1892 2254 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (monomorphism) cvn H.B /ANN pdfmark end
1892 2254 a Black
1997 2284 4 200 v 2050 2204 a FA(dynamic)p 3038 2284
V 3091 2154 a Ft(-XMonomorphismRre-)3091 2254 y(striction)p
4080 2284 V -86 2287 1045 4 v 959 2287 1042 4 v 2000
2287 V 3041 2287 V -86 2483 4 200 v -33 2403 a(-XNoMonoPatBinds)p
955 2483 V 1008 2353 a FA(Mak)o(e)p 1 0 0 TeXcolorrgb
1008 2471 a
SDict begin H.S end
1008 2471 a 1 0 0 TeXcolorrgb -18 x FA(pattern)j(bindings)f
(polymorphic)p 1 0 0 TeXcolorrgb 1991 2397 a
SDict begin H.R end
1991 2397
a 1991 2453 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (monomorphism) cvn H.B /ANN pdfmark end
1991 2453 a Black 1997 2483 4 200 v 2050
2403 a FA(dynamic)p 3038 2483 V 753 w Ft(-XMonoPatBinds)p
4080 2483 V -86 2486 1045 4 v 959 2486 1042 4 v 2000
2486 V 3041 2486 V -86 2682 4 200 v -33 2602 a(-XRelaxedPolyRec)p
955 2682 V 1008 2553 a FA(Relax)o(ed)h(checking)f(for)p
1 0 0 TeXcolorrgb 1008 2670 a
SDict begin H.S end
1008 2670 a 1 0 0 TeXcolorrgb
-18 x FA(mutually-recursi)n(v)o(e)e(polymorphic)g(functions)p
1 0 0 TeXcolorrgb 2407 2596 a
SDict begin H.R end
2407 2596 a 2407 2652 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (typing-binds) cvn H.B /ANN pdfmark end
2407 2652 a Black 1997 2682 4 200 v 2050 2602 a FA(dynamic)p
3038 2682 V 753 w Ft(-XNoRelaxedPolyRec)p 4080 2682 V
-86 2685 1045 4 v 959 2685 1042 4 v 2000 2685 V 3041
2685 V -86 2981 4 299 v -33 2802 a(-XExtendedDefault-)-33
2901 y(Rules)p 955 2981 V 1008 2752 a FA(Use)k(GHCi')-5
b(s)p 1 0 0 TeXcolorrgb 1008 2852 a
SDict begin H.S end
1008 2852 a 1 0 0
TeXcolorrgb -1 x FA(e)o(xtended)19 b(def)o(ault)g(rules)p
1 0 0 TeXcolorrgb 1740 2795 a
SDict begin H.R end
1740 2795 a 1740 2851 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (extended-default-rules) cvn H.B /ANN pdfmark end
1740 2851 a Black 20 w FA(in)i(a)1008 2951 y(normal)e(module)p
1997 2981 4 299 v 2050 2851 a(dynamic)p 3038 2981 V 3091
2802 a Ft(-XNoExtendedDefau-)3091 2901 y(ltRules)p 4080
2981 V -86 2984 1045 4 v 959 2984 1042 4 v 2000 2984
V 3041 2984 V -86 3180 4 200 v -33 3051 a(-XOverloadedStrin-)-33
3150 y(gs)p 955 3180 V 1008 3051 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 3168 a
SDict begin H.S end
1008 3168 a 1 0 0 TeXcolorrgb
-18 x FA(o)o(v)o(erloaded)f(string)h(literals)p 1 0 0
TeXcolorrgb 1831 3094 a
SDict begin H.R end
1831 3094 a 1831 3150 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (overloaded-strings) cvn H.B /ANN pdfmark end
1831
3150 a Black FA(.)p 1997 3180 4 200 v 2050 3100 a(dynamic)p
3038 3180 V 3091 3051 a Ft(-XNoOverloadedStr-)3091 3150
y(ings)p 4080 3180 V -86 3184 1045 4 v 959 3184 1042
4 v 2000 3184 V 3041 3184 V -86 3380 4 200 v -33 3300
a(-XGADTs)p 955 3380 V 1008 3250 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 3368 a
SDict begin H.S end
1008 3368 a 1 0 0 TeXcolorrgb
-18 x FA(generalised)g(algebraic)g(data)h(types)p 1 0 0
TeXcolorrgb 2067 3293 a
SDict begin H.R end
2067 3293 a 2067 3350 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (gadt) cvn H.B /ANN pdfmark end
2067
3350 a Black FA(.)p 1997 3380 4 200 v 2050 3300 a(dynamic)p
3038 3380 V 753 w Ft(-XNoGADTs)p 4080 3380 V -86 3383
1045 4 v 959 3383 1042 4 v 2000 3383 V 3041 3383 V -86
3480 4 101 v -33 3449 a(-XTypeFamilies)p 955 3480 V 341
w FA(Enable)p 1 0 0 TeXcolorrgb 1260 3467 a
SDict begin H.S end
1260 3467
a 1 0 0 TeXcolorrgb -18 x FA(type)g(f)o(amilies)p 1 0 0
TeXcolorrgb 1690 3393 a
SDict begin H.R end
1690 3393 a 1690 3449 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (type-families) cvn H.B /ANN pdfmark end
1690
3449 a Black FA(.)p 1997 3480 4 101 v 339 w(dynamic)p
3038 3480 V 753 w Ft(-XNoTypeFamilies)p 4080 3480 V -86
3483 1045 4 v 959 3483 1042 4 v 2000 3483 V 3041 3483
V -86 3878 4 399 v -33 3649 a(-XScopedTypeVaria-)-33
3749 y(bles)p 955 3878 V 1008 3550 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 3667 a
SDict begin H.S end
1008 3667 a 1 0 0 TeXcolorrgb
-18 x FA(le)o(xically-scoped)e(type)i(v)n(ariables)p
1 0 0 TeXcolorrgb 2033 3593 a
SDict begin H.R end
2033 3593 a 2033 3649 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (scoped-type-variables) cvn H.B /ANN pdfmark end
2033 3649 a Black FA(.)1008 3749 y(Implied)g(by)1008
3849 y Ft(-fglasgow-exts)p FA(.)p 1997 3878 4 399 v 2050
3699 a(dynamic)p 3038 3878 V 3091 3649 a Ft(-XNoScopedTypeVar-)3091
3749 y(iables)p 4080 3878 V -86 3882 1045 4 v 959 3882
1042 4 v 2000 3882 V 3041 3882 V -86 4177 4 299 v -33
4048 a(-XTemplateHaskell)p 955 4177 V 1008 3948 a FA(Enable)p
1 0 0 TeXcolorrgb 1260 3966 a
SDict begin H.S end
1260 3966 a 1 0 0 TeXcolorrgb
-18 x FA(T)-6 b(emplate)19 b(Hask)o(ell)p 1 0 0 TeXcolorrgb
1841 3892 a
SDict begin H.R end
1841 3892 a 1841 3948 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (template-haskell) cvn H.B /ANN pdfmark end
1841 3948 a Black
FA(.)1008 4048 y(No)i(longer)e(implied)g(by)1008 4147
y Ft(-fglasgow-exts)p FA(.)p 1997 4177 4 299 v 2050 4048
a(dynamic)p 3038 4177 V 3091 3998 a Ft(-XNoTemplateHaske-)3091
4098 y(ll)p 4080 4177 V -86 4181 1045 4 v 959 4181 1042
4 v 2000 4181 V 3041 4181 V -86 4278 4 101 v -33 4247
a(-XQuasiQuotes)p 955 4278 V 391 w FA(Enable)p 1 0 0
TeXcolorrgb 1260 4265 a
SDict begin H.S end
1260 4265 a 1 0 0 TeXcolorrgb
-18 x FA(quasiquotation)p 1 0 0 TeXcolorrgb 1749 4191
a
SDict begin H.R end
1749 4191 a 1749 4247 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (th-quasiquotation) cvn H.B /ANN pdfmark end
1749 4247 a Black FA(.)p 1997
4278 4 101 v 280 w(dynamic)p 3038 4278 V 753 w Ft(-XNoQuasiQuotes)p
4080 4278 V -86 4281 1045 4 v 959 4281 1042 4 v 2000
4281 V 3041 4281 V -86 4378 4 101 v -33 4348 a(-XBangPatterns)p
955 4378 V 1008 4347 a FA(Enable)p 1 0 0 TeXcolorrgb
1260 4366 a
SDict begin H.S end
1260 4366 a 1 0 0 TeXcolorrgb -19 x FA(bang)g(patterns)p
1 0 0 TeXcolorrgb 1705 4291 a
SDict begin H.R end
1705 4291 a 1705 4347 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (bang-patterns) cvn H.B /ANN pdfmark end
1705 4347 a Black FA(.)p 1997 4378 4 101 v 324 w(dynamic)p
3038 4378 V 753 w Ft(-XNoBangPatterns)p 4080 4378 V -86
4382 1045 4 v 959 4382 1042 4 v 2000 4382 V 3041 4382
V -86 4479 4 101 v -33 4448 a(-XCPP)p 955 4479 V 791
w FA(Enable)h(the)p 1 0 0 TeXcolorrgb 1382 4466 a
SDict begin H.S end
1382
4466 a 1 0 0 TeXcolorrgb -18 x FA(C)h(preprocessor)p
1 0 0 TeXcolorrgb 1882 4392 a
SDict begin H.R end
1882 4392 a 1882 4448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (c-pre-processor) cvn H.B /ANN pdfmark end
1882 4448 a Black FA(.)p 1997 4479 4 101 v 147 w(dynamic)p
3038 4479 V 753 w Ft(-XNoCPP)p 4080 4479 V -86 4482 1045
4 v 959 4482 1042 4 v 2000 4482 V 3041 4482 V -86 4579
4 101 v -33 4548 a(-XPatternGuards)p 955 4579 V 291 w
FA(Enable)p 1 0 0 TeXcolorrgb 1260 4566 a
SDict begin H.S end
1260 4566 a
1 0 0 TeXcolorrgb -18 x FA(pattern)e(guards)p 1 0 0 TeXcolorrgb
1732 4492 a
SDict begin H.R end
1732 4492 a 1732 4548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (pattern-guards) cvn H.B /ANN pdfmark end
1732 4548 a Black
FA(.)p 1997 4579 4 101 v 297 w(dynamic)p 3038 4579 V
753 w Ft(-XNoPatternGuards)p 4080 4579 V -86 4583 1045
4 v 959 4583 1042 4 v 2000 4583 V 3041 4583 V -86 4680
4 101 v -33 4649 a(-XViewPatterns)p 955 4680 V 341 w
FA(Enable)p 1 0 0 TeXcolorrgb 1260 4667 a
SDict begin H.S end
1260 4667 a
1 0 0 TeXcolorrgb -18 x FA(vie)n(w)h(patterns)p 1 0 0
TeXcolorrgb 1703 4593 a
SDict begin H.R end
1703 4593 a 1703 4649 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (view-patterns) cvn H.B /ANN pdfmark end
1703
4649 a Black FA(.)p 1997 4680 4 101 v 326 w(dynamic)p
3038 4680 V 753 w Ft(-XNoViewPatterns)p 4080 4680 V -86
4683 1045 4 v 959 4683 1042 4 v 2000 4683 V 3041 4683
V -86 4780 4 101 v -33 4749 a(-XUnicodeSyntax)p 955 4780
V 291 w FA(Enable)g(unicode)e(syntax.)p 1997 4780 V 268
w(dynamic)p 3038 4780 V 753 w Ft(-XNoUnicodeSyntax)p
4080 4780 V -86 4783 1045 4 v 959 4783 1042 4 v 2000
4783 V 3041 4783 V -86 4979 4 200 v -33 4900 a(-XMagicHash)p
955 4979 V 1008 4850 a FA(Allo)n(w)j("#")f(as)h(a)p 1 0 0
TeXcolorrgb 1008 4967 a
SDict begin H.S end
1008 4967 a 1 0 0 TeXcolorrgb
-18 x FA(post\002x)f(modi\002er)f(on)h(identi\002ers)p
1 0 0 TeXcolorrgb 1993 4893 a
SDict begin H.R end
1993 4893 a 1993 4949 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (magic-hash) cvn H.B /ANN pdfmark end
1993 4949 a Black FA(.)p 1997 4979 4 200 v 2050 4899
a(dynamic)p 3038 4979 V 753 w Ft(-XNoMagicHash)p 4080
4979 V -86 4983 1045 4 v 959 4983 1042 4 v 2000 4983
V 3041 4983 V -86 5179 4 200 v -33 5049 a(-XNewQualifiedOpe-)-33
5149 y(rators)p 955 5179 V 1008 5049 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 5167 a
SDict begin H.S end
1008 5167 a 1 0 0 TeXcolorrgb
-18 x FA(ne)n(w)g(quali\002ed)g(operator)e(syntax)p 1 0 0
TeXcolorrgb 1991 5092 a
SDict begin H.R end
1991 5092 a 1991 5149 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (new-qualified-operators) cvn H.B /ANN pdfmark end
1991
5149 a Black 1997 5179 4 200 v 2050 5099 a FA(dynamic)p
3038 5179 V 3091 5049 a Ft(-XNoNewQualifiedO-)3091 5149
y(perators)p 4080 5179 V -86 5182 1045 4 v 959 5182 1042
4 v 2000 5182 V 3041 5182 V -86 5378 4 200 v -33 5248
a(-XPolymorphicComp-)-33 5348 y(onents)p 955 5378 V 1008
5248 a FA(Enable)p 1 0 0 TeXcolorrgb 1008 5366 a
SDict begin H.S end
1008
5366 a 1 0 0 TeXcolorrgb -18 x FA(polymorphic)g(components)g(for)h
(data)h(constructors)p 1 0 0 TeXcolorrgb 2558 5292 a
SDict begin H.R end
2558 5292 a 2558 5348 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (universal-quantification) cvn H.B /ANN pdfmark end
2558 5348 a Black FA(.)p 1997
5378 4 200 v 2050 5298 a(dynamic)p 3038 5378 V 3091 5248
a Ft(-XNoPolymorphicCo-)3091 5348 y(mponents)p 4080 5378
V -86 5381 1045 4 v 959 5381 1042 4 v 2000 5381 V 3041
5381 V -86 5478 4 101 v -33 5448 a(-XRank2Types)p 955
5478 V 1008 5447 a FA(Enable)p 1 0 0 TeXcolorrgb 1260
5466 a
SDict begin H.S end
1260 5466 a 1 0 0 TeXcolorrgb -19 x FA(rank-2)e(types)p
1 0 0 TeXcolorrgb 1672 5391 a
SDict begin H.R end
1672 5391 a 1672 5447 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (universal-quantification) cvn H.B /ANN pdfmark end
1672 5447 a Black FA(.)p 1997 5478 4 101 v 357 w(dynamic)p
3038 5478 V 753 w Ft(-XNoRank2Types)p 4080 5478 V -86
5482 1045 4 v 959 5482 1042 4 v 2000 5482 V 3041 5482
V -86 5579 4 101 v -33 5548 a(-XRankNTypes)p 955 5579
V 441 w FA(Enable)p 1 0 0 TeXcolorrgb 1260 5566 a
SDict begin H.S end
1260
5566 a 1 0 0 TeXcolorrgb -18 x FA(rank-N)h(types)p 1 0 0
TeXcolorrgb 1691 5492 a
SDict begin H.R end
1691 5492 a 1691 5548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (universal-quantification) cvn H.B /ANN pdfmark end
1691
5548 a Black FA(.)p 1997 5579 4 101 v 338 w(dynamic)p
3038 5579 V 753 w Ft(-XNoRankNTypes)p 4080 5579 V -86
5582 1045 4 v 959 5582 1042 4 v 2000 5582 V 3041 5582
V -86 5778 4 200 v -33 5649 a(-XImpredicativeTy-)-33
5748 y(pes)p 955 5778 V 1008 5698 a FA(Enable)p 1 0 0
TeXcolorrgb 1260 5716 a
SDict begin H.S end
1260 5716 a 1 0 0 TeXcolorrgb
-18 x FA(impredicati)n(v)o(e)f(types)p 1 0 0 TeXcolorrgb
1909 5642 a
SDict begin H.R end
1909 5642 a 1909 5698 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (impredicative-polymorphism) cvn H.B /ANN pdfmark end
1909 5698 a Black
FA(.)p 1997 5778 4 200 v 120 w(dynamic)p 3038 5778 V
3091 5649 a Ft(-XNoImpredicative-)3091 5748 y(Types)p
4080 5778 V Black -128 6084 4252 5 v Black eop end
%%Page: 87 102
TeXDict begin 87 101 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.87) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(87)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 393 4 200 v -33 264 a Ft(-XExistentialQuan-)-33
363 y(tification)p 955 393 V 1008 264 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 381 a
SDict begin H.S end
1008 381 a 1 0 0 TeXcolorrgb -18
x FA(e)o(xistential)g(quanti\002cation)p 1 0 0 TeXcolorrgb
1826 307 a
SDict begin H.R end
1826 307 a 1826 363 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (existential-quantification) cvn H.B /ANN pdfmark end
1826 363 a Black FA(.)p
1997 393 4 200 v 2050 313 a(dynamic)p 3038 393 V 3091
264 a Ft(-XNoExistentialQu-)3091 363 y(antification)p
4080 393 V -86 397 1045 4 v 959 397 1042 4 v 2000 397
V 3041 397 V -86 494 4 101 v -33 463 a(-XKindSignatures)p
955 494 V 241 w FA(Enable)p 1 0 0 TeXcolorrgb 1260 481
a
SDict begin H.S end
1260 481 a 1 0 0 TeXcolorrgb -18 x FA(kind)f(signatures)p
1 0 0 TeXcolorrgb 1765 407 a
SDict begin H.R end
1765 407 a 1765 463 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (kinding) cvn H.B /ANN pdfmark end
1765
463 a Black FA(.)p 1997 494 4 101 v 264 w(dynamic)p 3038
494 V 753 w Ft(-XNoKindSignatures)p 4080 494 V -86 497
1045 4 v 959 497 1042 4 v 2000 497 V 3041 497 V -86 693
4 200 v -33 613 a(-XEmptyDataDecls)p 955 693 V 1008 563
a FA(Enable)h(empty)f(data)1008 663 y(declarations.)p
1997 693 V 2050 613 a(dynamic)p 3038 693 V 753 w Ft(-XNoEmptyDataDecls)
p 4080 693 V -86 696 1045 4 v 959 696 1042 4 v 2000 696
V 3041 696 V -86 892 4 200 v -33 812 a(-XParallelListComp)p
955 892 V 1008 763 a FA(Enable)p 1 0 0 TeXcolorrgb 1008
880 a
SDict begin H.S end
1008 880 a 1 0 0 TeXcolorrgb -18 x FA(parallel)h(list)i
(comprehensions)p 1 0 0 TeXcolorrgb 1940 806 a
SDict begin H.R end
1940 806
a 1940 862 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (parallel-list-comprehensions) cvn H.B /ANN pdfmark end
1940 862 a Black FA(.)p 1997 892 4 200 v
2050 812 a(dynamic)p 3038 892 V 3091 763 a Ft(-XNoParallelListC-)3091
862 y(omp)p 4080 892 V -86 895 1045 4 v 959 895 1042
4 v 2000 895 V 3041 895 V -86 1091 4 200 v -33 962 a
(-XTransformListCo-)-33 1062 y(mp)p 955 1091 V 1008 962
a FA(Enable)p 1 0 0 TeXcolorrgb 1008 1080 a
SDict begin H.S end
1008 1080
a 1 0 0 TeXcolorrgb -18 x FA(transform)d(list)i(comprehensions)p
1 0 0 TeXcolorrgb 2014 1005 a
SDict begin H.R end
2014 1005 a 2014 1062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (generalised-list-comprehensions) cvn H.B /ANN pdfmark end
2014 1062 a Black FA(.)p 1997 1091 4 200 v 2050 1012
a(dynamic)p 3038 1091 V 3091 962 a Ft(-XNoTransformList-)3091
1062 y(Comp)p 4080 1091 V -86 1095 1045 4 v 959 1095
1042 4 v 2000 1095 V 3041 1095 V -86 1291 4 200 v -33
1211 a(-XUnliftedFFITypes)p 955 1291 V 141 w FA(Enable)f(unlifted)f
(FFI)i(types.)p 1997 1291 V 173 w(dynamic)p 3038 1291
V 3091 1161 a Ft(-XNoUnliftedFFITy-)3091 1261 y(pes)p
4080 1291 V -86 1294 1045 4 v 959 1294 1042 4 v 2000
1294 V 3041 1294 V -86 1490 4 200 v -33 1360 a(-XLiberalTypeSyno-)-33
1460 y(nyms)p 955 1490 V 1008 1360 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 1478 a
SDict begin H.S end
1008 1478 a 1 0 0 TeXcolorrgb
-18 x FA(liberalised)f(type)g(synon)o(yms)p 1 0 0 TeXcolorrgb
1874 1404 a
SDict begin H.R end
1874 1404 a 1874 1460 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (type-synonyms) cvn H.B /ANN pdfmark end
1874 1460 a Black
FA(.)p 1997 1490 4 200 v 2050 1410 a(dynamic)p 3038 1490
V 3091 1360 a Ft(-XNoLiberalTypeSy-)3091 1460 y(nonyms)p
4080 1490 V -86 1493 1045 4 v 959 1493 1042 4 v 2000
1493 V 3041 1493 V -86 1590 4 101 v -33 1560 a(-XTypeOperators)p
955 1590 V 1008 1559 a FA(Enable)g(type)g(operators.)p
1997 1590 V 294 w(dynamic)p 3038 1590 V 753 w Ft(-XNoTypeOperators)p
4080 1590 V -86 1594 1045 4 v 959 1594 1042 4 v 2000
1594 V 3041 1594 V -86 1790 4 200 v -33 1710 a(-XRecursiveDo)p
955 1790 V 1008 1660 a FA(Enable)p 1 0 0 TeXcolorrgb
1008 1775 a
SDict begin H.S end
1008 1775 a 1 0 0 TeXcolorrgb -15 x FA(recursi)n(v)o(e)f
(do)h(\(mdo\))f(notation)p 1 0 0 TeXcolorrgb 1930 1703
a
SDict begin H.R end
1930 1703 a 1930 1760 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (mdo-notation) cvn H.B /ANN pdfmark end
1930 1760 a Black FA(.)p 1997
1790 4 200 v 2050 1710 a(dynamic)p 3038 1790 V 753 w
Ft(-XNoRecursiveDo)p 4080 1790 V -86 1793 1045 4 v 959
1793 1042 4 v 2000 1793 V 3041 1793 V -86 1890 4 101
v -33 1859 a(-XPArr)p 955 1890 V 741 w FA(Enable)h(parallel)g(arrays.)p
1997 1890 V 295 w(dynamic)p 3038 1890 V 753 w Ft(-XNoPArr)p
4080 1890 V -86 1893 1045 4 v 959 1893 1042 4 v 2000
1893 V 3041 1893 V -86 2089 4 200 v -33 2010 a(-XRecordWildCards)p
955 2089 V 1008 2009 a FA(Enable)p 1 0 0 TeXcolorrgb
1260 2010 a
SDict begin H.S end
1260 2010 a 1 0 0 TeXcolorrgb -1 x FA(record)f(wildcards)p
1 0 0 TeXcolorrgb 1815 1953 a
SDict begin H.R end
1815 1953 a 1815 2009 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (record-wildcards) cvn H.B /ANN pdfmark end
1815 2009 a Black FA(.)p 1997 2089 4 200 v 214 w(dynamic)p
3038 2089 V 3091 1960 a Ft(-XNoRecordWildCar-)3091 2059
y(ds)p 4080 2089 V -86 2093 1045 4 v 959 2093 1042 4
v 2000 2093 V 3041 2093 V -86 2190 4 101 v -33 2159 a(-XNamedFieldPuns)
p 955 2190 V 241 w FA(Enable)p 1 0 0 TeXcolorrgb 1260
2177 a
SDict begin H.S end
1260 2177 a 1 0 0 TeXcolorrgb -18 x FA(record)g(puns)p
1 0 0 TeXcolorrgb 1649 2103 a
SDict begin H.R end
1649 2103 a 1649 2159 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (record-puns) cvn H.B /ANN pdfmark end
1649 2159 a Black FA(.)p 1997 2190 4 101 v 380 w(dynamic)p
3038 2190 V 753 w Ft(-XNoNamedFieldPuns)p 4080 2190 V
-86 2193 1045 4 v 959 2193 1042 4 v 2000 2193 V 3041
2193 V -86 2389 4 200 v -33 2260 a(-XDisambiguateRec-)-33
2359 y(ordFields)p 955 2389 V 1008 2260 a FA(Enable)p
1 0 0 TeXcolorrgb 1008 2377 a
SDict begin H.S end
1008 2377 a 1 0 0 TeXcolorrgb
-18 x FA(record)g(\002eld)i(disambiguation)p 1 0 0 TeXcolorrgb
1922 2303 a
SDict begin H.R end
1922 2303 a 1922 2359 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (disambiguate-fields) cvn H.B /ANN pdfmark end
1922 2359 a Black
FA(.)p 1997 2389 4 200 v 2050 2309 a(dynamic)p 3038 2389
V 3091 2260 a Ft(-XNoDisambiguateR-)3091 2359 y(ecordFields)p
4080 2389 V -86 2392 1045 4 v 959 2392 1042 4 v 2000
2392 V 3041 2392 V -86 2490 4 101 v -33 2459 a(-XUnboxedTuples)p
955 2490 V 291 w FA(Enable)p 1 0 0 TeXcolorrgb 1260 2477
a
SDict begin H.S end
1260 2477 a 1 0 0 TeXcolorrgb -18 x FA(unbox)o(ed)c(tuples)p
1 0 0 TeXcolorrgb 1764 2403 a
SDict begin H.R end
1764 2403 a 1764 2459 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (unboxed-tuples) cvn H.B /ANN pdfmark end
1764 2459 a Black FA(.)p 1997 2490 4 101 v 265 w(dynamic)p
3038 2490 V 753 w Ft(-XNoUnboxedTuples)p 4080 2490 V
-86 2493 1045 4 v 959 2493 1042 4 v 2000 2493 V 3041
2493 V -86 2689 4 200 v -33 2559 a(-XStandaloneDeriv-)-33
2659 y(ing)p 955 2689 V 1008 2609 a FA(Enable)p 1 0 0
TeXcolorrgb 1260 2627 a
SDict begin H.S end
1260 2627 a 1 0 0 TeXcolorrgb
-18 x FA(standalone)i(deri)n(ving)p 1 0 0 TeXcolorrgb
1910 2553 a
SDict begin H.R end
1910 2553 a 1910 2609 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (stand-alone-deriving) cvn H.B /ANN pdfmark end
1910 2609 a Black
FA(.)p 1997 2689 4 200 v 119 w(dynamic)p 3038 2689 V
3091 2559 a Ft(-XNoStandaloneDer-)3091 2659 y(iving)p
4080 2689 V -86 2692 1045 4 v 959 2692 1042 4 v 2000
2692 V 3041 2692 V -86 2888 4 200 v -33 2759 a(-XDeriveDataTypea-)-33
2858 y(ble)p 955 2888 V 1008 2759 a FA(Enable)p 1 0 0
TeXcolorrgb 1008 2876 a
SDict begin H.S end
1008 2876 a 1 0 0 TeXcolorrgb
-18 x FA(deri)n(ving)g(for)g(the)i(Data)f(and)g(T)-7
b(ypeable)19 b(classes)p 1 0 0 TeXcolorrgb 2415 2802
a
SDict begin H.R end
2415 2802 a 2415 2858 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (deriving-typeable) cvn H.B /ANN pdfmark end
2415 2858 a Black FA(.)p 1997
2888 4 200 v 2050 2808 a(dynamic)p 3038 2888 V 3091 2759
a Ft(-XNoDeriveDataTyp-)3091 2858 y(eable)p 4080 2888
V -86 2891 1045 4 v 959 2891 1042 4 v 2000 2891 V 3041
2891 V -86 3087 4 200 v -33 2958 a(-XGeneralizedNewt-)-33
3057 y(ypeDeriving)p 955 3087 V 1008 3007 a FA(Enable)p
1 0 0 TeXcolorrgb 1260 3026 a
SDict begin H.S end
1260 3026 a 1 0 0 TeXcolorrgb
-19 x FA(ne)n(wtype)g(deri)n(ving)p 1 0 0 TeXcolorrgb
1834 2951 a
SDict begin H.R end
1834 2951 a 1834 3007 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (newtype-deriving) cvn H.B /ANN pdfmark end
1834 3007 a Black
FA(.)p 1997 3087 4 200 v 195 w(dynamic)p 3038 3087 V
3091 2958 a Ft(-XNoGeneralizedNe-)3091 3057 y(wtypeDeriving)p
4080 3087 V -86 3091 1045 4 v 959 3091 1042 4 v 2000
3091 V 3041 3091 V -86 3287 4 200 v -33 3157 a(-XTypeSynonymInst-)-33
3257 y(ances)p 955 3287 V 1008 3207 a FA(Enable)p 1 0 0
TeXcolorrgb 1260 3225 a
SDict begin H.S end
1260 3225 a 1 0 0 TeXcolorrgb
-18 x FA(type)h(synon)o(yms)p 1 0 0 TeXcolorrgb 1759
3160 a
SDict begin H.R end
1759 3160 a 1759 3207 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (type-synonyms) cvn H.B /ANN pdfmark end
1759 3207 a Black FA(.)p
1997 3287 4 200 v 270 w(dynamic)p 3038 3287 V 3091 3157
a Ft(-XNoTypeSynonymIn-)3091 3257 y(stances)p 4080 3287
V -86 3290 1045 4 v 959 3290 1042 4 v 2000 3290 V 3041
3290 V -86 3486 4 200 v -33 3406 a(-XFlexibleContexts)p
955 3486 V 141 w FA(Enable)p 1 0 0 TeXcolorrgb 1260 3407
a
SDict begin H.S end
1260 3407 a 1 0 0 TeXcolorrgb -1 x FA(\003e)o(xible)f(conte)o(xts)p
1 0 0 TeXcolorrgb 1804 3350 a
SDict begin H.R end
1804 3350 a 1804 3406 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (flexible-contexts) cvn H.B /ANN pdfmark end
1804 3406 a Black FA(.)p 1997 3486 4 200 v 225 w(dynamic)p
3038 3486 V 3091 3356 a Ft(-XNoFlexibleConte-)3091 3456
y(xts)p 4080 3486 V -86 3489 1045 4 v 959 3489 1042 4
v 2000 3489 V 3041 3489 V -86 3685 4 200 v -33 3556 a
(-XFlexibleInstanc-)-33 3655 y(es)p 955 3685 V 1008 3605
a FA(Enable)p 1 0 0 TeXcolorrgb 1260 3606 a
SDict begin H.S end
1260 3606
a 1 0 0 TeXcolorrgb -1 x FA(\003e)o(xible)g(instances)p
1 0 0 TeXcolorrgb 1833 3549 a
SDict begin H.R end
1833 3549 a 1833 3605 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (instance-rules) cvn H.B /ANN pdfmark end
1833 3605 a Black FA(.)p 1997 3685 4 200 v 196 w(dynamic)p
3038 3685 V 3091 3556 a Ft(-XNoFlexibleInsta-)3091 3655
y(nces)p 4080 3685 V -86 3688 1045 4 v 959 3688 1042
4 v 2000 3688 V 3041 3688 V -86 3884 4 200 v -33 3755
a(-XConstrainedClas-)-33 3854 y(sMethods)p 955 3884 V
1008 3755 a FA(Enable)p 1 0 0 TeXcolorrgb 1008 3855 a
SDict begin H.S end
1008 3855 a 1 0 0 TeXcolorrgb -1 x FA(constrained)g(class)i(methods)p
1 0 0 TeXcolorrgb 1875 3798 a
SDict begin H.R end
1875 3798 a 1875 3854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (class-method-types) cvn H.B /ANN pdfmark end
1875 3854 a Black FA(.)p 1997 3884 4 200 v 2050 3804
a(dynamic)p 3038 3884 V 3091 3755 a Ft(-XNoConstrainedCl-)3091
3854 y(assMethods)p 4080 3884 V -86 3888 1045 4 v 959
3888 1042 4 v 2000 3888 V 3041 3888 V -86 4084 4 200
v -33 3954 a(-XMultiParamTypeC-)-33 4054 y(lasses)p 955
4084 V 1008 3954 a FA(Enable)p 1 0 0 TeXcolorrgb 1008
4072 a
SDict begin H.S end
1008 4072 a 1 0 0 TeXcolorrgb -18 x FA(multi)g(parameter)d(type)
i(classes)p 1 0 0 TeXcolorrgb 1952 3997 a
SDict begin H.R end
1952 3997 a
1952 4054 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (multi-param-type-classes) cvn H.B /ANN pdfmark end
1952 4054 a Black FA(.)p 1997 4084 4 200
v 2050 4004 a(dynamic)p 3038 4084 V 3091 3954 a Ft(-XNoMultiParamTyp-)
3091 4054 y(eClasses)p 4080 4084 V -86 4087 1045 4 v
959 4087 1042 4 v 2000 4087 V 3041 4087 V -86 4283 4
200 v -33 4153 a(-XFunctionalDepen-)-33 4253 y(dencies)p
955 4283 V 1008 4153 a FA(Enable)p 1 0 0 TeXcolorrgb
1008 4271 a
SDict begin H.S end
1008 4271 a 1 0 0 TeXcolorrgb -18 x FA(functional)f
(dependencies)p 1 0 0 TeXcolorrgb 1813 4197 a
SDict begin H.R end
1813 4197
a 1813 4253 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (functional-dependencies) cvn H.B /ANN pdfmark end
1813 4253 a Black FA(.)p 1997 4283 4 200
v 2050 4203 a(dynamic)p 3038 4283 V 3091 4153 a Ft(-XNoFunctionalDep-)
3091 4253 y(endencies)p 4080 4283 V -86 4286 1045 4 v
959 4286 1042 4 v 2000 4286 V 3041 4286 V -86 4482 4
200 v -33 4402 a(-XPackageImports)p 955 4482 V 1008 4353
a FA(Enable)p 1 0 0 TeXcolorrgb 1008 4470 a
SDict begin H.S end
1008 4470
a 1 0 0 TeXcolorrgb -18 x FA(package-quali\002ed)e(imports)p
1 0 0 TeXcolorrgb 1873 4396 a
SDict begin H.R end
1873 4396 a 1873 4452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (package-imports) cvn H.B /ANN pdfmark end
1873 4452 a Black FA(.)p 1997 4482 4 200 v 2050 4402
a(dynamic)p 3038 4482 V 753 w Ft(-XNoPackageImports)p
4080 4482 V -86 4485 4169 4 v -86 4485 V -128 4602 a
SDict begin H.S end
-128 4602 a -128 4602 a
SDict begin 12 H.A end
-128 4602 a -128 4602 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.13) cvn H.B /DEST pdfmark end
-128
4602 a Black 166 x Fp(4.17.13)p Black 89 w(W)l(arnings)-128
4971 y FA(Section)p 1 0 0 TeXcolorrgb 142 4972 a
SDict begin H.S end
142
4972 a 1 0 0 TeXcolorrgb -1 x FA(4.7)p 1 0 0 TeXcolorrgb
246 4914 a
SDict begin H.R end
246 4914 a 246 4971 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.7) cvn H.B /ANN pdfmark end
246 4971 a Black -86
5074 4169 4 v -86 5074 V -86 5175 4 101 v -33 5144 a
Fu(Flag)p 955 5175 V 883 w(Description)p 1997 5175 V
631 w(Static/Dynamic)p 3038 5175 V 495 w(Re)o(v)o(erse)p
4080 5175 V -86 5178 1045 4 v 959 5178 1042 4 v 2000
5178 V 3041 5178 V -86 5275 4 101 v -33 5245 a Ft(-W)p
955 5275 V 1008 5244 a FA(enable)j(normal)f(w)o(arnings)p
1997 5275 V 243 w(dynamic)p 3038 5275 V 753 w Ft(-w)p
4080 5275 V -86 5279 1045 4 v 959 5279 1042 4 v 2000
5279 V 3041 5279 V -86 5376 4 101 v -33 5345 a(-w)p 955
5376 V 941 w FA(disable)h(all)h(w)o(arnings)p 1997 5376
V 377 w(dynamic)p 3038 5376 V 753 w(-)p 4080 5376 V -86
5379 1045 4 v 959 5379 1042 4 v 2000 5379 V 3041 5379
V -86 5575 4 200 v -33 5495 a Ft(-Wall)p 955 5575 V 1008
5445 a FA(enable)f(almost)g(all)h(w)o(arnings)1008 5545
y(\(details)g(in)f(Section)p 1 0 0 TeXcolorrgb 1629 5546
a
SDict begin H.S end
1629 5546 a 1 0 0 TeXcolorrgb -1 x FA(4.7)p 1 0 0 TeXcolorrgb
1733 5489 a
SDict begin H.R end
1733 5489 a 1733 5545 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.7) cvn H.B /ANN pdfmark end
1733 5545 a Black
FA(\))p 1997 5575 4 200 v 2050 5495 a(dynamic)p 3038
5575 V 753 w Ft(-w)p 4080 5575 V -86 5578 1045 4 v 959
5578 1042 4 v 2000 5578 V 3041 5578 V -86 5675 4 101
v -33 5645 a(-Werror)p 955 5675 V 691 w FA(mak)o(e)g(w)o(arnings)g(f)o
(atal)p 1997 5675 V 370 w(dynamic)p 3038 5675 V 753 w(-Ww)o(arn)p
4080 5675 V -86 5679 1045 4 v 959 5679 1042 4 v 2000
5679 V 3041 5679 V -86 5776 4 101 v -33 5745 a Ft(-Wwarn)p
955 5776 V 741 w FA(mak)o(e)g(w)o(arnings)g(non-f)o(atal)p
1997 5776 V 216 w(dynamic)p 3038 5776 V 753 w(-W)-7 b(error)p
4080 5776 V Black -128 6084 4252 5 v Black eop end
%%Page: 88 103
TeXDict begin 88 102 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.88) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(88)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 393 4 200 v -33 264 a Ft(-fwarn-unrecognis-)-33
363 y(ed-pragmas)p 955 393 V 1008 264 a FA(w)o(arn)g(about)g(uses)g(of)
g(pragmas)1008 363 y(that)h(GHC)g(doesn')o(t)d(recognise)p
1997 393 V 2050 313 a(dynamic)p 3038 393 V 3091 264 a
Ft(-fno-warn-unrecog-)3091 363 y(nised-pragmas)p 4080
393 V -86 397 1045 4 v 959 397 1042 4 v 2000 397 V 3041
397 V -86 792 4 399 v -33 563 a(-fwarn-warnings-d-)-33
662 y(eprecations)p 955 792 V 1008 463 a FA(w)o(arn)i(about)g(uses)g
(of)1008 563 y(functions)f(&)i(types)f(that)g(ha)n(v)o(e)1008
662 y(w)o(arnings)g(or)g(deprecated)1008 762 y(pragmas)p
1997 792 V 2050 612 a(dynamic)p 3038 792 V 3091 563 a
Ft(-fno-warn-warning-)3091 662 y(s-deprecations)p 4080
792 V -86 795 1045 4 v 959 795 1042 4 v 2000 795 V 3041
795 V -86 1091 4 299 v -33 911 a(-fwarn-deprecated-)-33
1011 y(-flags)p 955 1091 V 1008 861 a FA(w)o(arn)g(about)g(uses)g(of)
1008 961 y(commandline)e(\003ags)j(that)f(are)1008 1061
y(deprecated)p 1997 1091 V 2050 961 a(dynamic)p 3038
1091 V 3091 911 a Ft(-fno-warn-depreca-)3091 1011 y(ted-flags)p
4080 1091 V -86 1094 1045 4 v 959 1094 1042 4 v 2000
1094 V 3041 1094 V -86 1290 4 200 v -33 1160 a(-fwarn-duplicate--)-33
1260 y(exports)p 955 1290 V 1008 1160 a FA(w)o(arn)g(when)g(an)g
(entity)g(is)1008 1260 y(e)o(xported)e(multiple)i(times)p
1997 1290 V 2050 1210 a(dynamic)p 3038 1290 V 3091 1160
a Ft(-fno-warn-duplica-)3091 1260 y(te-exports)p 4080
1290 V -86 1293 1045 4 v 959 1293 1042 4 v 2000 1293
V 3041 1293 V -86 1589 4 299 v -33 1409 a(-fwarn-hi-shadowi-)-33
1509 y(ng)p 955 1589 V 1008 1360 a FA(w)o(arn)g(when)g(a)h
Ft(.hi)f FA(\002le)h(in)f(the)1008 1459 y(current)f(directory)g(shado)n
(ws)g(a)1008 1559 y(library)p 1997 1589 V 2050 1459 a(dynamic)p
3038 1589 V 3091 1409 a Ft(-fno-warn-hi-shad-)3091 1509
y(owing)p 4080 1589 V -86 1592 1045 4 v 959 1592 1042
4 v 2000 1592 V 3041 1592 V -86 1788 4 200 v -33 1658
a(-fwarn-implicit-p-)-33 1758 y(relude)p 955 1788 V 1008
1658 a FA(w)o(arn)h(when)g(the)g(Prelude)g(is)1008 1758
y(implicitly)g(imported)p 1997 1788 V 2050 1708 a(dynamic)p
3038 1788 V 3091 1658 a Ft(-fno-warn-implici-)3091 1758
y(t-prelude)p 4080 1788 V -86 1791 1045 4 v 959 1791
1042 4 v 2000 1791 V 3041 1791 V -86 1987 4 200 v -33
1858 a(-fwarn-incomplete-)-33 1957 y(-patterns)p 955
1987 V 1008 1858 a FA(w)o(arn)g(when)g(a)h(pattern)e(match)1008
1957 y(could)h(f)o(ail)p 1997 1987 V 2050 1907 a(dynamic)p
3038 1987 V 3091 1858 a Ft(-fno-warn-incompl-)3091 1957
y(ete-patterns)p 4080 1987 V -86 1991 1045 4 v 959 1991
1042 4 v 2000 1991 V 3041 1991 V -86 2186 4 200 v -33
2057 a(-fwarn-incomplete-)-33 2157 y(-record-updates)p
955 2186 V 1008 2057 a FA(w)o(arn)g(when)g(a)h(record)d(update)1008
2157 y(could)i(f)o(ail)p 1997 2186 V 2050 2107 a(dynamic)p
3038 2186 V 3091 2057 a Ft(-fno-warn-incompl-)3091 2157
y(ete-record-updates)p 4080 2186 V -86 2190 1045 4 v
959 2190 1042 4 v 2000 2190 V 3041 2190 V -86 2386 4
200 v -33 2256 a(-fwarn-missing-fi-)-33 2356 y(elds)p
955 2386 V 1008 2256 a FA(w)o(arn)g(when)g(\002elds)h(of)f(a)1008
2356 y(record)f(are)h(uninitialised)p 1997 2386 V 2050
2306 a(dynamic)p 3038 2386 V 3091 2256 a Ft(-fno-warn-missing-)3091
2356 y(-fields)p 4080 2386 V -86 2389 1045 4 v 959 2389
1042 4 v 2000 2389 V 3041 2389 V -86 2585 4 200 v -33
2455 a(-fwarn-missing-me-)-33 2555 y(thods)p 955 2585
V 1008 2455 a FA(w)o(arn)g(when)g(class)h(methods)1008
2555 y(are)g(unde\002ned)p 1997 2585 V 2050 2505 a(dynamic)p
3038 2585 V 3091 2455 a Ft(-fno-warn-missing-)3091 2555
y(-methods)p 4080 2585 V -86 2588 1045 4 v 959 2588 1042
4 v 2000 2588 V 3041 2588 V -86 2784 4 200 v -33 2655
a(-fwarn-missing-si-)-33 2754 y(gnatures)p 955 2784 V
1008 2655 a FA(w)o(arn)f(about)g(top-le)n(v)o(el)1008
2754 y(functions)e(without)g(signatures)p 1997 2784 V
2050 2704 a(dynamic)p 3038 2784 V 3091 2655 a Ft(-fno-warn-missing-)
3091 2754 y(-signatures)p 4080 2784 V -86 2788 1045 4
v 959 2788 1042 4 v 2000 2788 V 3041 2788 V -86 2983
4 200 v -33 2854 a(-fwarn-name-shado-)-33 2954 y(wing)p
955 2983 V 1008 2854 a FA(w)o(arn)i(when)g(names)g(are)1008
2954 y(shado)n(wed)p 1997 2983 V 2050 2904 a(dynamic)p
3038 2983 V 3091 2854 a Ft(-fno-warn-name-sh-)3091 2954
y(adowing)p 4080 2983 V -86 2987 1045 4 v 959 2987 1042
4 v 2000 2987 V 3041 2987 V -86 3282 4 299 v -33 3153
a(-fwarn-orphans)p 955 3282 V 1008 3053 a FA(w)o(arn)g(when)g(the)g
(module)1008 3153 y(contains)p 1 0 0 TeXcolorrgb 1008
3270 a
SDict begin H.S end
1008 3270 a 1 0 0 TeXcolorrgb -18 x FA(orphan)f(instance)h
(declarations)f(or)g(re)n(write)h(rules)p 1 0 0 TeXcolorrgb
2480 3196 a
SDict begin H.R end
2480 3196 a 2480 3252 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (orphan-modules) cvn H.B /ANN pdfmark end
2480 3252 a Black
1997 3282 4 299 v 2050 3153 a FA(dynamic)p 3038 3282
V 753 w Ft(-fno-warn-orphans)p 4080 3282 V -86 3286 1045
4 v 959 3286 1042 4 v 2000 3286 V 3041 3286 V -86 3482
4 200 v -33 3352 a(-fwarn-overlappin-)-33 3452 y(g-patterns)p
955 3482 V 1008 3352 a FA(w)o(arn)g(about)g(o)o(v)o(erlapping)1008
3452 y(patterns)p 1997 3482 V 2050 3402 a(dynamic)p 3038
3482 V 3091 3352 a Ft(-fno-warn-overlap-)3091 3452 y(ping-patterns)p
4080 3482 V -86 3485 1045 4 v 959 3485 1042 4 v 2000
3485 V 3041 3485 V -86 3681 4 200 v -33 3551 a(-fwarn-simple-pat-)-33
3651 y(terns)p 955 3681 V 1008 3551 a FA(w)o(arn)g(about)g
(lambda-patterns)1008 3651 y(that)h(can)f(f)o(ail)p 1997
3681 V 2050 3601 a(dynamic)p 3038 3681 V 3091 3551 a
Ft(-fno-warn-simple--)3091 3651 y(patterns)p 4080 3681
V -86 3684 1045 4 v 959 3684 1042 4 v 2000 3684 V 3041
3684 V -86 3880 4 200 v -33 3800 a(-fwarn-tabs)p 955
3880 V 1008 3751 a FA(w)o(arn)g(if)h(there)f(are)g(tabs)g(in)h(the)1008
3850 y(source)f(\002le)p 1997 3880 V 2050 3800 a(dynamic)p
3038 3880 V 753 w Ft(-fno-warn-tabs)p 4080 3880 V -86
3883 1045 4 v 959 3883 1042 4 v 2000 3883 V 3041 3883
V -86 4079 4 200 v -33 3950 a(-fwarn-type-defau-)-33
4049 y(lts)p 955 4079 V 1008 3950 a FA(w)o(arn)g(when)g(def)o(aulting)
1008 4049 y(happens)p 1997 4079 V 2050 4000 a(dynamic)p
3038 4079 V 3091 3950 a Ft(-fno-warn-type-de-)3091 4049
y(faults)p 4080 4079 V -86 4083 1045 4 v 959 4083 1042
4 v 2000 4083 V 3041 4083 V -86 4378 4 299 v -33 4199
a(-fwarn-monomorphi-)-33 4299 y(sm-restriction)p 955
4378 V 1008 4149 a FA(w)o(arn)g(when)g(the)1008 4249
y(Monomorphism)d(Restriction)1008 4348 y(is)22 b(applied)p
1997 4378 V 2050 4249 a(dynamic)p 3038 4378 V 3091 4199
a Ft(-fno-warn-monomor-)3091 4299 y(phism-restriction)p
4080 4378 V -86 4382 1045 4 v 959 4382 1042 4 v 2000
4382 V 3041 4382 V -86 4578 4 200 v -33 4448 a(-fwarn-unused-bin-)-33
4548 y(ds)p 955 4578 V 1008 4448 a FA(w)o(arn)e(about)g(bindings)e
(that)1008 4548 y(are)j(unused)p 1997 4578 V 2050 4498
a(dynamic)p 3038 4578 V 3091 4448 a Ft(-fno-warn-unused--)3091
4548 y(binds)p 4080 4578 V -86 4581 1045 4 v 959 4581
1042 4 v 2000 4581 V 3041 4581 V -86 4777 4 200 v -33
4647 a(-fwarn-unused-imp-)-33 4747 y(orts)p 955 4777
V 1008 4647 a FA(w)o(arn)f(about)g(unnecessary)1008 4747
y(imports)p 1997 4777 V 2050 4697 a(dynamic)p 3038 4777
V 3091 4647 a Ft(-fno-warn-unused--)3091 4747 y(imports)p
4080 4777 V -86 4780 1045 4 v 959 4780 1042 4 v 2000
4780 V 3041 4780 V -86 4976 4 200 v -33 4847 a(-fwarn-unused-mat-)-33
4946 y(ches)p 955 4976 V 1008 4847 a FA(w)o(arn)g(about)g(v)n(ariables)
f(in)1008 4946 y(patterns)h(that)g(aren')o(t)f(used)p
1997 4976 V 2050 4896 a(dynamic)p 3038 4976 V 3091 4847
a Ft(-fno-warn-unused--)3091 4946 y(matches)p 4080 4976
V -86 4979 4169 4 v -86 4979 V -128 5095 a
SDict begin H.S end
-128 5095
a -128 5095 a
SDict begin 12 H.A end
-128 5095 a -128 5095 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.14) cvn H.B /DEST pdfmark end
-128 5095 a Black
167 x Fp(4.17.14)p Black 89 w(Optimisation)k(le)o(vels)-128
5465 y FA(Section)p 1 0 0 TeXcolorrgb 142 5467 a
SDict begin H.S end
142
5467 a 1 0 0 TeXcolorrgb -2 x FA(4.9)p 1 0 0 TeXcolorrgb
246 5408 a
SDict begin H.R end
246 5408 a 246 5465 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.9) cvn H.B /ANN pdfmark end
246 5465 a Black Black
-128 6084 4252 5 v Black eop end
%%Page: 89 104
TeXDict begin 89 103 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.89) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(89)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 393 4 200 v -33 314 a Ft(-O)p 955 393
V 1008 264 a FA(Enable)g(def)o(ault)f(optimisation)1008
363 y(\(le)n(v)o(el)h(1\))p 1997 393 V 2050 313 a(dynamic)p
3038 393 V 753 w Ft(-O0)p 4080 393 V -86 397 1045 4 v
959 397 1042 4 v 2000 397 V 3041 397 V -86 494 4 101
v -33 463 a(-O)p Fr(n)p 955 494 V 896 w FA(Set)h(optimisation)e(le)n(v)
o(el)h Fr(n)p 1997 494 V 255 w FA(dynamic)p 3038 494
V 753 w Ft(-O0)p 4080 494 V -86 497 4169 4 v -86 497
V -128 613 a
SDict begin H.S end
-128 613 a -128 613 a
SDict begin 12 H.A end
-128 613 a -128 613
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.15) cvn H.B /DEST pdfmark end
-128 613 a Black 166 x Fp(4.17.15)p Black 89 w(Individual)k
(optimisations)-128 982 y FA(Section)p 1 0 0 TeXcolorrgb
142 984 a
SDict begin H.S end
142 984 a 1 0 0 TeXcolorrgb -2 x FA(4.9.2)p
1 0 0 TeXcolorrgb 308 926 a
SDict begin H.R end
308 926 a 308 982 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.9.2) cvn H.B /ANN pdfmark end
308 982
a Black -86 1087 4169 4 v -86 1087 V -86 1187 4 101 v
-33 1157 a Fu(Flag)p 955 1187 V 883 w(Description)p 1997
1187 V 631 w(Static/Dynamic)p 3038 1187 V 495 w(Re)o(v)o(erse)p
4080 1187 V -86 1191 1045 4 v 959 1191 1042 4 v 2000
1191 V 3041 1191 V -86 1387 4 200 v -33 1307 a Ft(-fcase-merge)p
955 1387 V 1008 1257 a FA(Enable)c(case-mer)o(ging.)1008
1357 y(Implied)g(by)f Ft(-O)p FA(.)p 1997 1387 V 2050
1307 a(dynamic)p 3038 1387 V 753 w Ft(-fno-case-merge)p
4080 1387 V -86 1390 1045 4 v 959 1390 1042 4 v 2000
1390 V 3041 1390 V -86 1487 4 101 v -33 1456 a(-fdicts-strict)p
955 1487 V 341 w FA(Mak)o(e)h(dictionaries)g(strict)p
1997 1487 V 258 w(static)p 3038 1487 V 866 w Ft(-fno-dicts-strict)p
4080 1487 V -86 1490 1045 4 v 959 1490 1042 4 v 2000
1490 V 3041 1490 V -86 1786 4 299 v -33 1657 a(-fmethod-sharing)p
955 1786 V 1008 1557 a FA(Share)g(specialisations)g(of)1008
1657 y(o)o(v)o(erloaded)e(functions)1008 1756 y(\(def)o(ault\))p
1997 1786 V 2050 1656 a(dynamic)p 3038 1786 V 3091 1607
a Ft(-fno-method-shari-)3091 1706 y(ng)p 4080 1786 V
-86 1789 1045 4 v 959 1789 1042 4 v 2000 1789 V 3041
1789 V -86 1985 4 200 v -33 1906 a(-fdo-eta-reduction)p
955 1985 V 1008 1856 a FA(Enable)i(eta-reduction.)1008
1955 y(Implied)g(by)f Ft(-O)p FA(.)p 1997 1985 V 2050
1905 a(dynamic)p 3038 1985 V 3091 1856 a Ft(-fno-do-eta-reduc-)3091
1955 y(tion)p 4080 1985 V -86 1989 1045 4 v 959 1989
1042 4 v 2000 1989 V 3041 1989 V -86 2185 4 200 v -33
2055 a(-fdo-lambda-eta-e-)-33 2155 y(xpansion)p 955 2185
V 1008 2055 a FA(Enable)h(lambda)1008 2155 y(eta-reduction)p
1997 2185 V 2050 2105 a(dynamic)p 3038 2185 V 3091 2055
a Ft(-fno-do-lambda-et-)3091 2155 y(a-expansion)p 4080
2185 V -86 2188 1045 4 v 959 2188 1042 4 v 2000 2188
V 3041 2188 V -86 2384 4 200 v -33 2304 a(-fexcess-precision)p
955 2384 V 1008 2254 a FA(Enable)g(e)o(xcess)g(intermediate)1008
2354 y(precision)p 1997 2384 V 2050 2304 a(dynamic)p
3038 2384 V 3091 2254 a Ft(-fno-excess-preci-)3091 2354
y(sion)p 4080 2384 V -86 2387 1045 4 v 959 2387 1042
4 v 2000 2387 V 3041 2387 V -86 2583 4 200 v -33 2503
a(-fignore-asserts)p 955 2583 V 1008 2454 a FA(Ignore)f(assertions)h
(in)g(the)1008 2553 y(source)p 1997 2583 V 2050 2503
a(dynamic)p 3038 2583 V 3091 2454 a Ft(-fno-ignore-asser-)3091
2553 y(ts)p 4080 2583 V -86 2586 1045 4 v 959 2586 1042
4 v 2000 2586 V 3041 2586 V -86 2782 4 200 v -33 2653
a(-fignore-interfac-)-33 2752 y(e-pragmas)p 955 2782
V 1008 2653 a FA(Ignore)f(pragmas)g(in)h(interf)o(ace)1008
2752 y(\002les)p 1997 2782 V 2050 2702 a(dynamic)p 3038
2782 V 3091 2653 a Ft(-fno-ignore-inter-)3091 2752 y(face-pragmas)p
4080 2782 V -86 2786 1045 4 v 959 2786 1042 4 v 2000
2786 V 3041 2786 V -86 2982 4 200 v -33 2852 a(-fomit-interface--)-33
2952 y(pragmas)p 955 2982 V 1008 2852 a FA(Don')o(t)f(generate)g
(interf)o(ace)1008 2952 y(pragmas)p 1997 2982 V 2050
2902 a(dynamic)p 3038 2982 V 3091 2852 a Ft(-fno-omit-interfa-)3091
2952 y(ce-pragmas)p 4080 2982 V -86 2985 1045 4 v 959
2985 1042 4 v 2000 2985 V 3041 2985 V -86 3380 4 399
v -33 3201 a(-fmax-worker-args)p 955 3380 V 1008 3051
a FA(If)i(a)f(w)o(ork)o(er)f(has)i(that)f(man)o(y)1008
3151 y(ar)o(guments,)e(none)i(will)g(be)1008 3251 y(unpack)o(ed)f(an)o
(ymore)f(\(def)o(ault:)1008 3350 y(10\))p 1997 3380 V
2050 3201 a(static)p 3038 3380 V 866 w(-)p 4080 3380
V -86 3383 1045 4 v 959 3383 1042 4 v 2000 3383 V 3041
3383 V -86 3679 4 299 v -33 3500 a Ft(-fsimplifier-phas-)-33
3599 y(es)p 955 3679 V 1008 3450 a FA(Set)j(the)g(number)d(of)i(phases)
1008 3549 y(for)g(the)g(simpli\002er)g(\(def)o(ault)1008
3649 y(2\).)25 b(Ignored)18 b(with)i Ft(-O0)p FA(.)p
1997 3679 V 2050 3549 a(dynamic)p 3038 3679 V 753 w(-)p
4080 3679 V -86 3682 1045 4 v 959 3682 1042 4 v 2000
3682 V 3041 3682 V -86 3878 4 200 v -33 3749 a Ft(-fmax-simplifier--)
-33 3848 y(iterations)p 955 3878 V 1008 3749 a FA(Set)h(the)g(max)e
(iterations)h(for)1008 3848 y(the)h(simpli\002er)p 1997
3878 V 2050 3798 a(dynamic)p 3038 3878 V 753 w(-)p 4080
3878 V -86 3882 1045 4 v 959 3882 1042 4 v 2000 3882
V 3041 3882 V -86 4476 4 598 v -33 4197 a Ft(-fno-state-hack)p
955 4476 V 1008 3948 a FA(T)l(urn)f(of)n(f)f(the)i("state)f(hack")1008
4048 y(whereby)f(an)o(y)g(lambda)h(with)g(a)1008 4147
y(real-w)o(orld)f(state)i(tok)o(en)f(as)1008 4247 y(ar)o(gument)e(is)j
(considered)e(to)1008 4346 y(be)i(single-entry)-5 b(.)22
b(Hence)e(OK)1008 4446 y(to)h(inline)f(things)f(inside)i(it.)p
1997 4476 V 2050 4197 a(static)p 3038 4476 V 866 w(-)p
4080 4476 V -86 4479 1045 4 v 959 4479 1042 4 v 2000
4479 V 3041 4479 V -86 4775 4 299 v -33 4645 a Ft(-fcse)p
955 4775 V 1008 4546 a FA(T)l(urn)f(on)g(common)1008
4645 y(sub-e)o(xpression)e(elimination.)1008 4745 y(Implied)i(by)f
Ft(-O)p FA(.)p 1997 4775 V 2050 4645 a(dynamic)p 3038
4775 V 753 w(-fno-cse)p 4080 4775 V -86 4778 1045 4 v
959 4778 1042 4 v 2000 4778 V 3041 4778 V -86 5074 4
299 v -33 4944 a Ft(-ffull-laziness)p 955 5074 V 1008
4845 a FA(T)l(urn)h(on)g(full)g(laziness)1008 4944 y(\(\003oating)g
(bindings)1008 5044 y(outw)o(ards\).)k(Implied)19 b(by)h
Ft(-O)p FA(.)p 1997 5074 V 2050 4944 a(dynamic)p 3038
5074 V 753 w(-fno-full-laziness)p 4080 5074 V -86 5077
1045 4 v 959 5077 1042 4 v 2000 5077 V 3041 5077 V -86
5572 4 499 v -33 5343 a Ft(-frewrite-rules)p 955 5572
V 1008 5143 a FA(Switch)h(on)f(all)g(re)n(write)g(rules)1008
5243 y(\(including)f(rules)h(generated)1008 5343 y(by)g(automatic)f
(specialisation)1008 5442 y(of)h(o)o(v)o(erloaded)e(functions\).)1008
5542 y(Implied)i(by)f Ft(-O)p FA(.)p 1997 5572 V 2050
5343 a(dynamic)p 3038 5572 V 753 w Ft(-fno-rewrite-rules)p
4080 5572 V -86 5575 1045 4 v 959 5575 1042 4 v 2000
5575 V 3041 5575 V -86 5771 4 200 v -33 5691 a(-fstrictness)p
955 5771 V 1008 5642 a FA(T)l(urn)h(on)g(strictness)g(analysis.)1008
5741 y(Implied)g(by)f Ft(-O)p FA(.)p 1997 5771 V 2050
5691 a(dynamic)p 3038 5771 V 753 w(-fno-strictness)p
4080 5771 V -86 5774 1045 4 v 959 5774 1042 4 v 2000
5774 V 3041 5774 V Black -128 6084 4252 5 v Black eop
end
%%Page: 90 105
TeXDict begin 90 104 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.90) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(90)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 490 4 299 v -33 360 a Ft(-fspec-constr)p
955 490 V 1008 260 a FA(T)l(urn)g(on)g(the)g(SpecConstr)1008
360 y(transformation.)j(Implied)c(by)1008 460 y Ft(-O2)p
FA(.)p 1997 490 V 2050 360 a(dynamic)p 3038 490 V 753
w(-fno-spec-constr)p 4080 490 V -86 493 1045 4 v 959
493 1042 4 v 2000 493 V 3041 493 V -86 888 4 399 v -33
659 a Ft(-fspec-constr-thr-)-33 759 y(eshold)p FA(=)p
Fr(n)p 955 888 V 1008 559 a FA(Set)i(the)g(size)f(threshold)f(for)1008
659 y(the)i(SpecConstr)1008 759 y(transformation)c(to)j
Fr(n)g FA(\(def)o(ault:)1008 858 y(200\))p 1997 888 V
2050 709 a(static)p 3038 888 V 3091 659 a Ft(-fno-spec-constr--)3091
759 y(threshold)p 4080 888 V -86 891 1045 4 v 959 891
1042 4 v 2000 891 V 3041 891 V -86 1486 4 598 v -33 1157
a(-fspec-constr-cou-)-33 1257 y(nt)p FA(=)p Fr(n)p 955
1486 V 1008 958 a FA(Set)h(to)g Fr(n)f FA(\(def)o(ault:)k(3\))c(the)
1008 1057 y(maximum)f(number)f(of)1008 1157 y(specialisations)j(that)f
(will)h(be)1008 1257 y(created)f(for)f(an)o(y)h(one)g(function)1008
1356 y(by)g(the)g(SpecConstr)1008 1456 y(transformation)p
1997 1486 V 2050 1207 a(static)p 3038 1486 V 3091 1157
a Ft(-fno-spec-constr--)3091 1257 y(count)p 4080 1486
V -86 1489 1045 4 v 959 1489 1042 4 v 2000 1489 V 3041
1489 V -86 1785 4 299 v -33 1655 a(-fliberate-case)p
955 1785 V 1008 1556 a FA(T)l(urn)g(on)g(the)g(liberate-case)1008
1655 y(transformation.)j(Implied)c(by)1008 1755 y Ft(-O2)p
FA(.)p 1997 1785 V 2050 1655 a(dynamic)p 3038 1785 V
753 w(-fno-liberate-case)p 4080 1785 V -86 1788 1045
4 v 959 1788 1042 4 v 2000 1788 V 3041 1788 V -86 2084
4 299 v -33 1904 a Ft(-fstatic-argument-)-33 2004 y(-transformation)p
955 2084 V 1008 1854 a FA(T)l(urn)h(on)g(the)g(static)h(ar)o(gument)
1008 1954 y(transformation.)i(Implied)c(by)1008 2054
y Ft(-O2)p FA(.)p 1997 2084 V 2050 1954 a(dynamic)p 3038
2084 V 3091 1904 a(-fno-static-ar)o(gument-)3091 2004
y(transformation)p 4080 2084 V -86 2087 1045 4 v 959
2087 1042 4 v 2000 2087 V 3041 2087 V -86 2482 4 399
v -33 2253 a Ft(-fliberate-case-t-)-33 2353 y(hreshold)p
FA(=)p Fr(n)p 955 2482 V 1008 2153 a FA(Set)i(the)g(size)f(threshold)f
(for)1008 2253 y(the)i(liberate-case)1008 2353 y(transformation)c(to)j
Fr(n)g FA(\(def)o(ault:)1008 2452 y(200\))p 1997 2482
V 2050 2303 a(static)p 3038 2482 V 3091 2253 a Ft(-fno-liberate-cas-)
3091 2353 y(e-threshold)p 4080 2482 V -86 2485 1045 4
v 959 2485 1042 4 v 2000 2485 V 3041 2485 V -86 2681
4 200 v -33 2552 a(-funbox-strict-fi-)-33 2651 y(elds)p
955 2681 V 1008 2552 a FA(Flatten)h(strict)g(constructor)1008
2651 y(\002elds)p 1997 2681 V 2050 2601 a(dynamic)p 3038
2681 V 3091 2552 a Ft(-fno-unbox-strict-)3091 2651 y(-fields)p
4080 2681 V -86 2685 1045 4 v 959 2685 1042 4 v 2000
2685 V 3041 2685 V -86 2881 4 200 v -33 2751 a(-funfolding-creat-)-33
2851 y(ion-threshold)p 955 2881 V 1008 2801 a FA(T)-7
b(weak)21 b(unfolding)c(settings)p 1997 2881 V 204 w(static)p
3038 2881 V 3091 2751 a Ft(-fno-unfolding-cr-)3091 2851
y(eation-threshold)p 4080 2881 V -86 2884 1045 4 v 959
2884 1042 4 v 2000 2884 V 3041 2884 V -86 3080 4 200
v -33 2950 a(-funfolding-fun-d-)-33 3050 y(iscount)p
955 3080 V 1008 3000 a FA(T)-7 b(weak)21 b(unfolding)c(settings)p
1997 3080 V 204 w(static)p 3038 3080 V 3091 2950 a Ft
(-fno-unfolding-fu-)3091 3050 y(n-discount)p 4080 3080
V -86 3083 1045 4 v 959 3083 1042 4 v 2000 3083 V 3041
3083 V -86 3279 4 200 v -33 3150 a(-funfolding-keene-)-33
3249 y(ss-factor)p 955 3279 V 1008 3199 a FA(T)-7 b(weak)21
b(unfolding)c(settings)p 1997 3279 V 204 w(static)p 3038
3279 V 3091 3150 a Ft(-fno-unfolding-ke-)3091 3249 y(eness-factor)p
4080 3279 V -86 3282 1045 4 v 959 3282 1042 4 v 2000
3282 V 3041 3282 V -86 3478 4 200 v -33 3349 a(-funfolding-use-t-)-33
3448 y(hreshold)p 955 3478 V 1008 3398 a FA(T)-7 b(weak)21
b(unfolding)c(settings)p 1997 3478 V 204 w(static)p 3038
3478 V 3091 3349 a Ft(-fno-unfolding-us-)3091 3448 y(e-threshold)p
4080 3478 V -86 3482 1045 4 v 959 3482 1042 4 v 2000
3482 V 3041 3482 V -86 3579 4 101 v -33 3548 a(-fno-pre-inlining)p
955 3579 V 191 w FA(T)l(urn)j(of)n(f)f(pre-inlining)p
1997 3579 V 353 w(static)p 3038 3579 V 866 w(-)p 4080
3579 V -86 3582 4169 4 v -86 3582 V -128 3698 a
SDict begin H.S end
-128
3698 a -128 3698 a
SDict begin 12 H.A end
-128 3698 a -128 3698 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.16) cvn H.B /DEST pdfmark end
-128 3698
a Black 166 x Fp(4.17.16)p Black 89 w(Pr)n(o\002ling)24
b(options)-128 4067 y FA(Chapter)p 1 0 0 TeXcolorrgb
156 4068 a
SDict begin H.S end
156 4068 a 1 0 0 TeXcolorrgb -1 x FA(5)p 1 0 0
TeXcolorrgb 198 4011 a
SDict begin H.R end
198 4011 a 198 4067 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end
198 4067
a Black -86 4188 4169 4 v -86 4188 V -86 4289 4 101 v
-33 4258 a Fu(Flag)p 955 4289 V 883 w(Description)p 1997
4289 V 631 w(Static/Dynamic)p 3038 4289 V 495 w(Re)o(v)o(erse)p
4080 4289 V -86 4292 1045 4 v 959 4292 1042 4 v 2000
4292 V 3041 4292 V -86 4488 4 200 v -33 4408 a Ft(-auto)p
955 4488 V 1008 4358 a FA(Auto-add)19 b Ft(_scc_)p FA(s)h(to)g(all)1008
4458 y(e)o(xported)e(functions)p 1997 4488 V 2050 4408
a(static)p 3038 4488 V 866 w Ft(-no-auto)p 4080 4488
V -86 4491 1045 4 v 959 4491 1042 4 v 2000 4491 V 3041
4491 V -86 4687 4 200 v -33 4607 a(-auto-all)p 955 4687
V 1008 4558 a FA(Auto-add)h Ft(_scc_)p FA(s)h(to)g(all)1008
4657 y(top-le)n(v)o(el)f(functions)p 1997 4687 V 2050
4607 a(static)p 3038 4687 V 866 w Ft(-no-auto-all)p 4080
4687 V -86 4691 1045 4 v 959 4691 1042 4 v 2000 4691
V 3041 4691 V -86 4886 4 200 v -33 4807 a(-caf-all)p
955 4886 V 1008 4757 a FA(Auto-add)g Ft(_scc_)p FA(s)h(to)g(all)1008
4857 y(CAFs)p 1997 4886 V 2050 4807 a(static)p 3038 4886
V 866 w Ft(-no-caf-all)p 4080 4886 V -86 4890 1045 4
v 959 4890 1042 4 v 2000 4890 V 3041 4890 V -86 4987
4 101 v -33 4956 a(-prof)p 955 4987 V 791 w FA(T)l(urn)g(on)g
(pro\002ling)p 1997 4987 V 471 w(static)p 3038 4987 V
866 w(-)p 4080 4987 V -86 4990 1045 4 v 959 4990 1042
4 v 2000 4990 V 3041 4990 V -86 5186 4 200 v -33 5106
a Ft(-ticky)p 955 5186 V 1008 5057 a FA(T)l(urn)g(on)g(tick)o(y-tick)o
(y)1008 5156 y(pro\002ling)p 1997 5186 V 2050 5106 a(static)p
3038 5186 V 866 w(-)p 4080 5186 V -86 5189 4169 4 v -86
5189 V -128 5304 a
SDict begin H.S end
-128 5304 a -128 5304 a
SDict begin 12 H.A end
-128 5304
a -128 5304 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.17) cvn H.B /DEST pdfmark end
-128 5304 a Black 163 x Fp(4.17.17)p Black
89 w(Pr)n(ogram)k(co)n(vera)o(g)q(e)g(options)-128 5666
y FA(Section)p 1 0 0 TeXcolorrgb 142 5667 a
SDict begin H.S end
142 5667
a 1 0 0 TeXcolorrgb -1 x FA(5.6)p 1 0 0 TeXcolorrgb 246
5610 a
SDict begin H.R end
246 5610 a 246 5666 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.6) cvn H.B /ANN pdfmark end
246 5666 a Black Black -128
6084 4252 5 v Black eop end
%%Page: 91 106
TeXDict begin 91 105 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.91) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(91)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 393 4 200 v -33 314 a Ft(-fhpc)p 955
393 V 1008 264 a FA(T)l(urn)g(on)g(Hask)o(ell)g(program)1008
363 y(co)o(v)o(erage)e(instrumentation)p 1997 393 V 2050
313 a(static)p 3038 393 V 866 w Ft(-)p 4080 393 V -86
397 1045 4 v 959 397 1042 4 v 2000 397 V 3041 397 V -86
692 4 299 v -33 563 a(-hpcdir)49 b(dir)p 955 692 V 1008
463 a FA(Directory)19 b(to)i(deposit)e(.mix)1008 563
y(\002les)j(during)c(compilation)1008 662 y(\(def)o(ault)i(is)h(.hpc\))
p 1997 692 V 2050 562 a(dynamic)p 3038 692 V 753 w Ft(-)p
4080 692 V -86 695 4169 4 v -86 695 V -128 812 a
SDict begin H.S end
-128
812 a -128 812 a
SDict begin 12 H.A end
-128 812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.18) cvn H.B /DEST pdfmark end
-128 812 a Black
166 x Fp(4.17.18)p Black 89 w(Haskell)j(pre-pr)n(ocessor)f(options)-128
1181 y FA(Section)p 1 0 0 TeXcolorrgb 142 1182 a
SDict begin H.S end
142
1182 a 1 0 0 TeXcolorrgb -1 x FA(4.10.4)p 1 0 0 TeXcolorrgb
350 1124 a
SDict begin H.R end
350 1124 a 350 1181 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.4) cvn H.B /ANN pdfmark end
350 1181 a Black -86
1284 4169 4 v -86 1284 V -86 1385 4 101 v -33 1354 a
Fu(Flag)p 955 1385 V 883 w(Description)p 1997 1385 V
631 w(Static/Dynamic)p 3038 1385 V 495 w(Re)o(v)o(erse)p
4080 1385 V -86 1388 1045 4 v 959 1388 1042 4 v 2000
1388 V 3041 1388 V -86 1684 4 299 v -33 1554 a Ft(-F)p
955 1684 V 1008 1455 a FA(Enable)d(the)g(use)g(of)g(a)1008
1554 y(pre-processor)e(\(set)j(with)1008 1654 y Ft(-pgmF)p
FA(\))p 1997 1684 V 2050 1554 a(dynamic)p 3038 1684 V
753 w(-)p 4080 1684 V -86 1687 4169 4 v -86 1687 V -128
1803 a
SDict begin H.S end
-128 1803 a -128 1803 a
SDict begin 12 H.A end
-128 1803 a -128 1803
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.19) cvn H.B /DEST pdfmark end
-128 1803 a Black 166 x Fp(4.17.19)p Black 89 w(C)k(pre-pr)n(ocessor)
e(options)-128 2172 y FA(Section)p 1 0 0 TeXcolorrgb
142 2173 a
SDict begin H.S end
142 2173 a 1 0 0 TeXcolorrgb -1 x FA(4.10.3)p
1 0 0 TeXcolorrgb 350 2116 a
SDict begin H.R end
350 2116 a 350 2172 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.3) cvn H.B /ANN pdfmark end
350
2172 a Black -86 2276 4169 4 v -86 2276 V -86 2377 4
101 v -33 2346 a Fu(Flag)p 955 2377 V 883 w(Description)p
1997 2377 V 631 w(Static/Dynamic)p 3038 2377 V 495 w(Re)o(v)o(erse)p
4080 2377 V -86 2380 1045 4 v 959 2380 1042 4 v 2000
2380 V 3041 2380 V -86 2576 4 200 v -33 2496 a Ft(-cpp)p
955 2576 V 1008 2446 a FA(Run)e(the)f(C)h(pre-processor)d(on)1008
2546 y(Hask)o(ell)j(source)e(\002les)p 1997 2576 V 2050
2496 a(dynamic)p 3038 2576 V 753 w(-)p 4080 2576 V -86
2579 1045 4 v 959 2579 1042 4 v 2000 2579 V 3041 2579
V -86 2775 4 200 v -33 2695 a Ft(-D)p Fr(symbol)p FA([=)p
Fr(value)p FA(])p 955 2775 V 1008 2646 a(De\002ne)i(a)f(symbol)f(in)i
(the)f(C)1008 2745 y(pre-processor)p 1997 2775 V 2050
2695 a(dynamic)p 3038 2775 V 753 w Ft(-U)p Fr(symbol)p
4080 2775 V -86 2778 1045 4 v 959 2778 1042 4 v 2000
2778 V 3041 2778 V -86 2974 4 200 v -33 2895 a Ft(-U)p
Fr(symbol)p 955 2974 V 1008 2845 a FA(Unde\002ne)g(a)g(symbol)f(in)i
(the)f(C)1008 2944 y(pre-processor)p 1997 2974 V 2050
2894 a(dynamic)p 3038 2974 V 753 w(-)p 4080 2974 V -86
2978 1045 4 v 959 2978 1042 4 v 2000 2978 V 3041 2978
V -86 3273 4 299 v -33 3144 a Ft(-I)p Fr(dir)p 955 3273
V 1008 3044 a FA(Add)g Fr(dir)j FA(to)d(the)h(directory)1008
3144 y(search)f(list)i(for)d Ft(#include)1008 3243 y
FA(\002les)p 1997 3273 V 2050 3143 a(dynamic)p 3038 3273
V 753 w(-)p 4080 3273 V -86 3277 4169 4 v -86 3277 V
-128 3393 a
SDict begin H.S end
-128 3393 a -128 3393 a
SDict begin 12 H.A end
-128 3393 a -128
3393 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.20) cvn H.B /DEST pdfmark end
-128 3393 a Black 166 x Fp(4.17.20)p Black 89
w(C)25 b(compiler)f(options)-128 3762 y FA(Section)p
1 0 0 TeXcolorrgb 142 3763 a
SDict begin H.S end
142 3763 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.5)p 1 0 0 TeXcolorrgb 350 3705 a
SDict begin H.R end
350 3705
a 350 3762 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.5) cvn H.B /ANN pdfmark end
350 3762 a Black -86 3866 4169 4 v -86 3866
V -86 3966 4 101 v -33 3935 a Fu(Flag)p 955 3966 V 883
w(Description)p 1997 3966 V 631 w(Static/Dynamic)p 3038
3966 V 495 w(Re)o(v)o(erse)p 4080 3966 V -86 3969 1045
4 v 959 3969 1042 4 v 2000 3969 V 3041 3969 V -86 4165
4 200 v -33 4086 a Ft(-#include)19 b Fr(file)p 955 4165
V 1008 4036 a FA(Include)g Fr(file)h FA(when)1008 4135
y(compiling)f(the)h Ft(.hc)g FA(\002le)p 1997 4165 V
2050 4085 a(dynamic)p 3038 4165 V 753 w(-)p 4080 4165
V -86 4169 4169 4 v -86 4169 V -128 4285 a
SDict begin H.S end
-128 4285
a -128 4285 a
SDict begin 12 H.A end
-128 4285 a -128 4285 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.21) cvn H.B /DEST pdfmark end
-128 4285 a Black
166 x Fp(4.17.21)p Black 89 w(Code)k(g)q(eneration)f(options)-128
4654 y FA(Section)p 1 0 0 TeXcolorrgb 142 4655 a
SDict begin H.S end
142
4655 a 1 0 0 TeXcolorrgb -1 x FA(4.10.6)p 1 0 0 TeXcolorrgb
350 4597 a
SDict begin H.R end
350 4597 a 350 4654 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.6) cvn H.B /ANN pdfmark end
350 4654 a Black -86
4758 4169 4 v -86 4758 V -86 4858 4 101 v -33 4827 a
Fu(Flag)p 955 4858 V 883 w(Description)p 1997 4858 V
631 w(Static/Dynamic)p 3038 4858 V 495 w(Re)o(v)o(erse)p
4080 4858 V -86 4861 1045 4 v 959 4861 1042 4 v 2000
4861 V 3041 4861 V -86 5057 4 200 v -33 4978 a Ft(-fasm)p
955 5057 V 1008 4928 a FA(Use)e(the)g(nati)n(v)o(e)e(code)1008
5027 y(generator)p 1997 5057 V 2050 4977 a(dynamic)p
3038 5057 V 753 w(-fvia-C)p 4080 5057 V -86 5061 1045
4 v 959 5061 1042 4 v 2000 5061 V 3041 5061 V -86 5158
4 101 v -33 5127 a Ft(-fvia-C)p 955 5158 V 691 w FA(Compile)h(via)g(C)p
1997 5158 V 558 w(dynamic)p 3038 5158 V 753 w(-f)o(asm)p
4080 5158 V -86 5161 1045 4 v 959 5161 1042 4 v 2000
5161 V 3041 5161 V -86 5258 4 101 v -33 5227 a Ft(-fno-code)p
955 5258 V 591 w FA(Omit)h(code)e(generation)p 1997 5258
V 320 w(dynamic)p 3038 5258 V 753 w(-)p 4080 5258 V -86
5261 1045 4 v 959 5261 1042 4 v 2000 5261 V 3041 5261
V -86 5359 4 101 v -33 5328 a Ft(-fbyte-code)p 955 5359
V 491 w FA(Generate)h(byte-code)p 1997 5359 V 391 w(dynamic)p
3038 5359 V 753 w(-)p 4080 5359 V -86 5362 1045 4 v 959
5362 1042 4 v 2000 5362 V 3041 5362 V -86 5459 4 101
v -33 5428 a Ft(-fobject-code)p 955 5459 V 391 w FA(Generate)g(object)g
(code)p 1997 5459 V 339 w(dynamic)p 3038 5459 V 753 w(-)p
4080 5459 V -86 5462 4169 4 v -86 5462 V Black -128 6084
4252 5 v Black eop end
%%Page: 92 107
TeXDict begin 92 106 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.92) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(92)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.22) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(4.17.22)p
Black 89 w(Linking)k(options)-128 376 y FA(Section)p
1 0 0 TeXcolorrgb 142 377 a
SDict begin H.S end
142 377 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.7)p 1 0 0 TeXcolorrgb 350 320 a
SDict begin H.R end
350 320
a 350 376 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.7) cvn H.B /ANN pdfmark end
350 376 a Black -86 480 4169 4 v -86 480
V -86 580 4 101 v -33 550 a Fu(Flag)p 955 580 V 883 w(Description)p
1997 580 V 631 w(Static/Dynamic)p 3038 580 V 495 w(Re)o(v)o(erse)p
4080 580 V -86 584 1045 4 v 959 584 1042 4 v 2000 584
V 3041 584 V -86 879 4 299 v -33 750 a Ft(-fPIC)p 955
879 V 1008 650 a FA(Generate)1008 750 y(position-independent)16
b(code)1008 849 y(\(where)k(a)n(v)n(ailable\))p 1997
879 V 2050 750 a(static)p 3038 879 V 866 w(-)p 4080 879
V -86 883 1045 4 v 959 883 1042 4 v 2000 883 V 3041 883
V -86 1079 4 200 v -33 999 a Ft(-dynamic)p 955 1079 V
1008 949 a FA(Use)h(dynamic)e(Hask)o(ell)1008 1049 y(libraries)h(\(if)g
(a)n(v)n(ailable\))p 1997 1079 V 2050 999 a(static)p
3038 1079 V 866 w(-)p 4080 1079 V -86 1082 1045 4 v 959
1082 1042 4 v 2000 1082 V 3041 1082 V -86 1577 4 499
v -33 1348 a Ft(-framework)f Fr(name)p 955 1577 V 1008
1148 a FA(On)i(Darwin/MacOS)e(X)i(only)-5 b(,)1008 1248
y(link)20 b(in)g(the)g(frame)n(w)o(ork)e Fr(name)p FA(.)1008
1348 y(This)j(option)e(corresponds)f(to)1008 1447 y(the)j
Ft(-framework)e FA(option)1008 1547 y(for)h(Apple')-5
b(s)20 b(Link)o(er)-5 b(.)p 1997 1577 V 2050 1347 a(dynamic)p
3038 1577 V 753 w(-)p 4080 1577 V -86 1580 1045 4 v 959
1580 1042 4 v 2000 1580 V 3041 1580 V -86 2175 4 598
v -33 1846 a Ft(-framework-path)-33 1945 y Fr(name)p
955 2175 V 1008 1646 a FA(On)21 b(Darwin/MacOS)e(X)i(only)-5
b(,)1008 1746 y(add)20 b Fr(dir)j FA(to)d(the)h(list)g(of)1008
1846 y(directories)f(searched)f(for)1008 1945 y(frame)n(w)o(orks.)24
b(This)c(option)1008 2045 y(corresponds)e(to)j(the)f
Ft(-F)1008 2145 y FA(option)f(for)h(Apple')-5 b(s)20
b(Link)o(er)-5 b(.)p 1997 2175 V 2050 1895 a(dynamic)p
3038 2175 V 753 w(-)p 4080 2175 V -86 2178 1045 4 v 959
2178 1042 4 v 2000 2178 V 3041 2178 V -86 2275 4 101
v -33 2244 a Ft(-l)p Fr(lib)p 955 2275 V 806 w FA(Link)20
b(in)g(library)g Fr(lib)p 1997 2275 V 401 w FA(dynamic)p
3038 2275 V 753 w(-)p 4080 2275 V -86 2278 1045 4 v 959
2278 1042 4 v 2000 2278 V 3041 2278 V -86 2574 4 299
v -33 2444 a Ft(-L)p Fr(dir)p 955 2574 V 1008 2345 a
FA(Add)g Fr(dir)j FA(to)d(the)h(list)g(of)1008 2444 y(directories)f
(searched)f(for)1008 2544 y(libraries)p 1997 2574 V 2050
2444 a(dynamic)p 3038 2574 V 753 w(-)p 4080 2574 V -86
2577 1045 4 v 959 2577 1042 4 v 2000 2577 V 3041 2577
V -86 2773 4 200 v -33 2693 a Ft(-main-is)p 955 2773
V 1008 2644 a FA(Set)i(main)f(module)f(and)1008 2743
y(function)p 1997 2773 V 2050 2693 a(dynamic)p 3038 2773
V 753 w(-)p 4080 2773 V -86 2776 1045 4 v 959 2776 1042
4 v 2000 2776 V 3041 2776 V -86 2972 4 200 v -33 2893
a Ft(--mk-dll)p 955 2972 V 1008 2843 a FA(DLL-creation)g(mode)1008
2942 y(\(W)m(indo)n(ws)h(only\))p 1997 2972 V 2050 2892
a(dynamic)p 3038 2972 V 753 w(-)p 4080 2972 V -86 2976
1045 4 v 959 2976 1042 4 v 2000 2976 V 3041 2976 V -86
3172 4 200 v -33 3092 a Ft(-no-hs-main)p 955 3172 V 1008
3042 a FA(Don')o(t)f(assume)i(this)f(program)1008 3142
y(contains)g Ft(main)p 1997 3172 V 2050 3092 a FA(dynamic)p
3038 3172 V 753 w(-)p 4080 3172 V -86 3175 1045 4 v 959
3175 1042 4 v 2000 3175 V 3041 3175 V -86 3272 4 101
v -33 3241 a Ft(-no-link)p 955 3272 V 641 w FA(Omit)h(linking)p
1997 3272 V 613 w(dynamic)p 3038 3272 V 753 w(-)p 4080
3272 V -86 3275 1045 4 v 959 3275 1042 4 v 2000 3275
V 3041 3275 V -86 3373 4 101 v -33 3342 a Ft(-split-objs)p
955 3373 V 491 w FA(Split)g(objects)f(\(for)f(libraries\))p
1997 3373 V 162 w(dynamic)p 3038 3373 V 753 w(-)p 4080
3373 V -86 3376 1045 4 v 959 3376 1042 4 v 2000 3376
V 3041 3376 V -86 3473 4 101 v -33 3442 a Ft(-static)p
955 3473 V 691 w FA(Use)i(static)g(Hask)o(ell)g(libraries)p
1997 3473 V 149 w(static)p 3038 3473 V 866 w(-)p 4080
3473 V -86 3476 1045 4 v 959 3476 1042 4 v 2000 3476
V 3041 3476 V -86 3573 4 101 v -33 3543 a Ft(-threaded)p
955 3573 V 591 w FA(Use)g(the)g(threaded)d(runtime)p
1997 3573 V 203 w(static)p 3038 3573 V 866 w(-)p 4080
3573 V -86 3577 1045 4 v 959 3577 1042 4 v 2000 3577
V 3041 3577 V -86 3674 4 101 v -33 3643 a Ft(-debug)p
955 3674 V 741 w FA(Use)j(the)g(deb)n(ugging)c(runtime)p
1997 3674 V 140 w(static)p 3038 3674 V 866 w(-)p 4080
3674 V -86 3677 1045 4 v 959 3677 1042 4 v 2000 3677
V 3041 3677 V -86 3873 4 200 v -33 3793 a Ft(-fno-gen-manifest)p
955 3873 V 1008 3744 a FA(Do)k(not)f(generate)f(a)h(manifest)1008
3843 y(\002le)h(\(W)m(indo)n(ws)f(only\))p 1997 3873
V 2050 3793 a(dynamic)p 3038 3873 V 753 w(-)p 4080 3873
V -86 3876 1045 4 v 959 3876 1042 4 v 2000 3876 V 3041
3876 V -86 4172 4 299 v -33 3993 a Ft(-fno-embed-manife-)-33
4092 y(st)p 955 4172 V 1008 3943 a FA(Do)h(not)f(embed)f(the)h
(manifest)1008 4042 y(in)h(the)f(e)o(x)o(ecutable)e(\(W)m(indo)n(ws)
1008 4142 y(only\))p 1997 4172 V 2050 4042 a(dynamic)p
3038 4172 V 753 w(-)p 4080 4172 V -86 4175 4169 4 v -86
4175 V -128 4291 a
SDict begin H.S end
-128 4291 a -128 4291 a
SDict begin 12 H.A end
-128 4291
a -128 4291 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.23) cvn H.B /DEST pdfmark end
-128 4291 a Black 167 x Fp(4.17.23)p Black
89 w(Replacing)24 b(phases)-128 4661 y FA(Section)p 1 0 0
TeXcolorrgb 142 4662 a
SDict begin H.S end
142 4662 a 1 0 0 TeXcolorrgb -1
x FA(4.10.1)p 1 0 0 TeXcolorrgb 350 4604 a
SDict begin H.R end
350 4604 a
350 4661 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.1) cvn H.B /ANN pdfmark end
350 4661 a Black -86 4764 4169 4 v -86 4764
V -86 4865 4 101 v -33 4834 a Fu(Flag)p 955 4865 V 883
w(Description)p 1997 4865 V 631 w(Static/Dynamic)p 3038
4865 V 495 w(Re)o(v)o(erse)p 4080 4865 V -86 4868 1045
4 v 959 4868 1042 4 v 2000 4868 V 3041 4868 V -86 5064
4 200 v -33 4984 a Ft(-pgmL)c Fr(cmd)p 955 5064 V 1008
4935 a FA(Use)h Fr(cmd)j FA(as)c(the)h(literate)1008
5034 y(pre-processor)p 1997 5064 V 2050 4984 a(dynamic)p
3038 5064 V 753 w(-)p 4080 5064 V -86 5067 1045 4 v 959
5067 1042 4 v 2000 5067 V 3041 5067 V -86 5363 4 299
v -33 5233 a Ft(-pgmP)f Fr(cmd)p 955 5363 V 1008 5134
a FA(Use)h Fr(cmd)j FA(as)c(the)h(C)1008 5233 y(pre-processor)d(\(with)
i Ft(-cpp)1008 5333 y FA(only\))p 1997 5363 V 2050 5233
a(dynamic)p 3038 5363 V 753 w(-)p 4080 5363 V -86 5366
1045 4 v 959 5366 1042 4 v 2000 5366 V 3041 5366 V -86
5463 4 101 v -33 5433 a Ft(-pgmc)g Fr(cmd)p 955 5463
V 636 w FA(Use)h Fr(cmd)j FA(as)c(the)h(C)g(compiler)p
1997 5463 V 148 w(dynamic)p 3038 5463 V 753 w(-)p 4080
5463 V -86 5467 1045 4 v 959 5467 1042 4 v 2000 5467
V 3041 5467 V -86 5564 4 101 v -33 5533 a Ft(-pgmm)f
Fr(cmd)p 955 5564 V 636 w FA(Use)h Fr(cmd)j FA(as)c(the)h(mangler)p
1997 5564 V 247 w(dynamic)p 3038 5564 V 753 w(-)p 4080
5564 V -86 5567 1045 4 v 959 5567 1042 4 v 2000 5567
V 3041 5567 V -86 5664 4 101 v -33 5634 a Ft(-pgms)f
Fr(cmd)p 955 5664 V 1008 5633 a FA(Use)h Fr(cmd)j FA(as)c(the)h
(splitter)p 1997 5664 V 290 w(dynamic)p 3038 5664 V 753
w(-)p 4080 5664 V -86 5668 1045 4 v 959 5668 1042 4 v
2000 5668 V 3041 5668 V -86 5765 4 101 v -33 5734 a Ft(-pgma)f
Fr(cmd)p 955 5765 V 636 w FA(Use)h Fr(cmd)j FA(as)c(the)h(assembler)p
1997 5765 V 188 w(dynamic)p 3038 5765 V 753 w(-)p 4080
5765 V -86 5768 1045 4 v 959 5768 1042 4 v 2000 5768
V 3041 5768 V Black -128 6084 4252 5 v Black eop end
%%Page: 93 108
TeXDict begin 93 107 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.93) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(93)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 291 4 101 v -33 260 a Ft(-pgml)g Fr(cmd)p
955 291 V 636 w FA(Use)h Fr(cmd)j FA(as)c(the)h(link)o(er)p
1997 291 V 327 w(dynamic)p 3038 291 V 753 w(-)p 4080
291 V -86 294 1045 4 v 959 294 1042 4 v 2000 294 V 3041
294 V -86 490 4 200 v -33 411 a Ft(-pgmdll)f Fr(cmd)p
955 490 V 1008 361 a FA(Use)h Fr(cmd)j FA(as)c(the)h(DLL)1008
460 y(generator)p 1997 490 V 2050 410 a(dynamic)p 3038
490 V 753 w(-)p 4080 490 V -86 494 1045 4 v 959 494 1042
4 v 2000 494 V 3041 494 V -86 789 4 299 v -33 660 a Ft(-pgmF)f
Fr(cmd)p 955 789 V 1008 560 a FA(Use)h Fr(cmd)j FA(as)c(the)1008
660 y(pre-processor)e(\(with)i Ft(-F)1008 759 y FA(only\))p
1997 789 V 2050 660 a(dynamic)p 3038 789 V 753 w(-)p
4080 789 V -86 793 1045 4 v 959 793 1042 4 v 2000 793
V 3041 793 V -86 1088 4 299 v -33 959 a Ft(-pgmwindres)f
Fr(cmd)p 955 1088 V 1008 859 a FA(Use)i Fr(cmd)j FA(as)c(the)h(program)
d(for)1008 959 y(embedding)g(manifests)i(on)1008 1058
y(W)m(indo)n(ws.)p 1997 1088 V 2050 958 a(dynamic)p 3038
1088 V 753 w(-)p 4080 1088 V -86 1091 4169 4 v -86 1091
V -128 1307 a
SDict begin H.S end
-128 1307 a -128 1307 a
SDict begin 12 H.A end
-128 1307 a -128
1307 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.24) cvn H.B /DEST pdfmark end
-128 1307 a Black 166 x Fp(4.17.24)p Black 89
w(For)n(cing)k(options)g(to)g(par)r(ticular)g(phases)-128
1676 y FA(Section)p 1 0 0 TeXcolorrgb 142 1677 a
SDict begin H.S end
142
1677 a 1 0 0 TeXcolorrgb -1 x FA(4.10.2)p 1 0 0 TeXcolorrgb
350 1620 a
SDict begin H.R end
350 1620 a 350 1676 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.2) cvn H.B /ANN pdfmark end
350 1676 a Black -86
1780 4169 4 v -86 1780 V -86 1881 4 101 v -33 1850 a
Fu(Flag)p 955 1881 V 883 w(Description)p 1997 1881 V
631 w(Static/Dynamic)p 3038 1881 V 495 w(Re)o(v)o(erse)p
4080 1881 V -86 1884 1045 4 v 959 1884 1042 4 v 2000
1884 V 3041 1884 V -86 2080 4 200 v -33 2000 a Ft(-optL)c
Fr(option)p 955 2080 V 1008 1950 a FA(pass)h Fr(option)f
FA(to)g(the)h(literate)1008 2050 y(pre-processor)p 1997
2080 V 2050 2000 a(dynamic)p 3038 2080 V 753 w(-)p 4080
2080 V -86 2083 1045 4 v 959 2083 1042 4 v 2000 2083
V 3041 2083 V -86 2279 4 200 v -33 2199 a Ft(-optP)f
Fr(option)p 955 2279 V 1008 2150 a FA(pass)h Fr(option)f
FA(to)g(cpp)g(\(with)1008 2249 y Ft(-cpp)h FA(only\))p
1997 2279 V 2050 2199 a(dynamic)p 3038 2279 V 753 w(-)p
4080 2279 V -86 2282 1045 4 v 959 2282 1042 4 v 2000
2282 V 3041 2282 V -86 2478 4 200 v -33 2399 a Ft(-optF)f
Fr(option)p 955 2478 V 1008 2349 a FA(pass)h Fr(option)f
FA(to)g(the)h(custom)1008 2448 y(pre-processor)p 1997
2478 V 2050 2398 a(dynamic)p 3038 2478 V 753 w(-)p 4080
2478 V -86 2482 1045 4 v 959 2482 1042 4 v 2000 2482
V 3041 2482 V -86 2678 4 200 v -33 2598 a Ft(-optc)f
Fr(option)p 955 2678 V 1008 2548 a FA(pass)h Fr(option)f
FA(to)g(the)h(C)1008 2648 y(compiler)p 1997 2678 V 2050
2598 a(dynamic)p 3038 2678 V 753 w(-)p 4080 2678 V -86
2681 1045 4 v 959 2681 1042 4 v 2000 2681 V 3041 2681
V -86 2778 4 101 v -33 2747 a Ft(-optm)f Fr(option)p
955 2778 V 501 w FA(pass)h Fr(option)f FA(to)g(the)h(mangler)p
1997 2778 V 106 w(dynamic)p 3038 2778 V 753 w(-)p 4080
2778 V -86 2781 1045 4 v 959 2781 1042 4 v 2000 2781
V 3041 2781 V -86 2977 4 200 v -33 2898 a Ft(-opta)f
Fr(option)p 955 2977 V 1008 2848 a FA(pass)h Fr(option)f
FA(to)g(the)1008 2947 y(assembler)p 1997 2977 V 2050
2897 a(dynamic)p 3038 2977 V 753 w(-)p 4080 2977 V -86
2981 1045 4 v 959 2981 1042 4 v 2000 2981 V 3041 2981
V -86 3078 4 101 v -33 3047 a Ft(-optl)g Fr(option)p
955 3078 V 501 w FA(pass)h Fr(option)f FA(to)g(the)h(link)o(er)p
1997 3078 V 186 w(dynamic)p 3038 3078 V 753 w(-)p 4080
3078 V -86 3081 1045 4 v 959 3081 1042 4 v 2000 3081
V 3041 3081 V -86 3277 4 200 v -33 3197 a Ft(-optdll)f
Fr(option)p 955 3277 V 1008 3147 a FA(pass)h Fr(option)f
FA(to)g(the)h(DLL)1008 3247 y(generator)p 1997 3277 V
2050 3197 a(dynamic)p 3038 3277 V 753 w(-)p 4080 3277
V -86 3280 1045 4 v 959 3280 1042 4 v 2000 3280 V 3041
3280 V -86 3377 4 101 v -33 3347 a Ft(-optwindres)e Fr(option)p
955 3377 V 202 w FA(pass)i Fr(option)f FA(to)g Ft(windres)p
FA(.)p 1997 3377 V 132 w(dynamic)p 3038 3377 V 753 w(-)p
4080 3377 V -86 3381 4169 4 v -86 3381 V -128 3497 a
SDict begin H.S end
-128 3497 a -128 3497 a
SDict begin 12 H.A end
-128 3497 a -128 3497 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.25) cvn H.B /DEST pdfmark end
-128
3497 a Black 166 x Fp(4.17.25)p Black 89 w(Platf)n(orm-speci\002c)j
(options)-128 3866 y FA(Section)p 1 0 0 TeXcolorrgb 142
3867 a
SDict begin H.S end
142 3867 a 1 0 0 TeXcolorrgb -1 x FA(4.13)p 1 0 0
TeXcolorrgb 288 3810 a
SDict begin H.R end
288 3810 a 288 3866 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.13) cvn H.B /ANN pdfmark end
288 3866
a Black -86 3970 4169 4 v -86 3970 V -86 4070 4 101 v
-33 4039 a Fu(Flag)p 955 4070 V 883 w(Description)p 1997
4070 V 631 w(Static/Dynamic)p 3038 4070 V 495 w(Re)o(v)o(erse)p
4080 4070 V -86 4074 1045 4 v 959 4074 1042 4 v 2000
4074 V 3041 4074 V -86 4369 4 299 v -33 4240 a Ft(-monly-[432]-regs)p
955 4369 V 1008 4140 a FA(\(x86)c(only\))g(gi)n(v)o(e)h(some)1008
4240 y(re)o(gisters)g(back)g(to)g(the)g(C)1008 4339 y(compiler)p
1997 4369 V 2050 4239 a(dynamic)p 3038 4369 V 753 w(-)p
4080 4369 V -86 4372 4169 4 v -86 4372 V -128 4489 a
SDict begin H.S end
-128 4489 a -128 4489 a
SDict begin 12 H.A end
-128 4489 a -128 4489 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.26) cvn H.B /DEST pdfmark end
-128
4489 a Black 166 x Fp(4.17.26)p Black 89 w(External)k(core)g(\002le)h
(options)-128 4858 y FA(Section)p 1 0 0 TeXcolorrgb 142
4859 a
SDict begin H.S end
142 4859 a 1 0 0 TeXcolorrgb -1 x FA(4.15)p 1 0 0
TeXcolorrgb 288 4801 a
SDict begin H.R end
288 4801 a 288 4858 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.15) cvn H.B /ANN pdfmark end
288 4858
a Black -86 4961 4169 4 v -86 4961 V -86 5062 4 101 v
-33 5031 a Fu(Flag)p 955 5062 V 883 w(Description)p 1997
5062 V 631 w(Static/Dynamic)p 3038 5062 V 495 w(Re)o(v)o(erse)p
4080 5062 V -86 5065 1045 4 v 959 5065 1042 4 v 2000
5065 V 3041 5065 V -86 5261 4 200 v -33 5181 a Ft(-fext-core)p
955 5261 V 1008 5132 a FA(Generate)20 b Ft(.hcr)g FA(e)o(xternal)1008
5231 y(Core)h(\002les)p 1997 5261 V 2050 5181 a(static)p
3038 5261 V 866 w(-)p 4080 5261 V -86 5264 4169 4 v -86
5264 V -128 5381 a
SDict begin H.S end
-128 5381 a -128 5381 a
SDict begin 12 H.A end
-128 5381
a -128 5381 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.27) cvn H.B /DEST pdfmark end
-128 5381 a Black 166 x Fp(4.17.27)p Black
89 w(Compiler)j(deb)n(ug)o(ging)f(options)-128 5750 y
FA(Section)p 1 0 0 TeXcolorrgb 142 5751 a
SDict begin H.S end
142 5751 a
1 0 0 TeXcolorrgb -1 x FA(4.16)p 1 0 0 TeXcolorrgb 288
5693 a
SDict begin H.R end
288 5693 a 288 5750 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.16) cvn H.B /ANN pdfmark end
288 5750 a Black Black -128
6084 4252 5 v Black eop end
%%Page: 94 109
TeXDict begin 94 108 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.94) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(94)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 393 4 200 v -33 314 a Ft(-dcore-lint)p
955 393 V 1008 264 a FA(T)l(urn)g(on)g(internal)f(sanity)1008
363 y(checking)p 1997 393 V 2050 313 a(dynamic)p 3038
393 V 753 w(-)p 4080 393 V -86 397 1045 4 v 959 397 1042
4 v 2000 397 V 3041 397 V -86 494 4 101 v -33 463 a Ft(-ddump-asm)p
955 494 V 541 w FA(Dump)h(assembly)p 1997 494 V 503 w(dynamic)p
3038 494 V 753 w(-)p 4080 494 V -86 497 1045 4 v 959
497 1042 4 v 2000 497 V 3041 497 V -86 594 4 101 v -33
563 a Ft(-ddump-bcos)p 955 594 V 491 w FA(Dump)g(interpreter)e(byte)i
(code)p 1997 594 V 125 w(dynamic)p 3038 594 V 753 w(-)p
4080 594 V -86 597 1045 4 v 959 597 1042 4 v 2000 597
V 3041 597 V -86 695 4 101 v -33 664 a Ft(-ddump-cmm)p
955 695 V 541 w FA(Dump)g(C--)g(output)p 1997 695 V 468
w(dynamic)p 3038 695 V 753 w(-)p 4080 695 V -86 698 1045
4 v 959 698 1042 4 v 2000 698 V 3041 698 V -86 894 4
200 v -33 814 a Ft(-ddump-cpranal)p 955 894 V 1008 764
a FA(Dump)g(output)f(from)g(CPR)1008 864 y(analysis)p
1997 894 V 2050 814 a(dynamic)p 3038 894 V 753 w(-)p
4080 894 V -86 897 1045 4 v 959 897 1042 4 v 2000 897
V 3041 897 V -86 994 4 101 v -33 964 a Ft(-ddump-cse)p
955 994 V 1008 963 a FA(Dump)h(CSE)h(output)p 1997 994
V 426 w(dynamic)p 3038 994 V 753 w(-)p 4080 994 V -86
998 1045 4 v 959 998 1042 4 v 2000 998 V 3041 998 V -86
1095 4 101 v -33 1064 a Ft(-ddump-deriv)p 955 1095 V
441 w FA(Dump)f(deri)n(ving)e(output)p 1997 1095 V 304
w(dynamic)p 3038 1095 V 753 w(-)p 4080 1095 V -86 1098
1045 4 v 959 1098 1042 4 v 2000 1098 V 3041 1098 V -86
1195 4 101 v -33 1164 a Ft(-ddump-ds)p 955 1195 V 591
w FA(Dump)i(desugarer)e(output)p 1997 1195 V 256 w(dynamic)p
3038 1195 V 753 w(-)p 4080 1195 V -86 1199 1045 4 v 959
1199 1042 4 v 2000 1199 V 3041 1199 V -86 1296 4 101
v -33 1265 a Ft(-ddump-flatC)p 955 1296 V 441 w FA(Dump)i
(\223\003at\224)g(C)p 1997 1296 V 558 w(dynamic)p 3038
1296 V 753 w(-)p 4080 1296 V -86 1299 1045 4 v 959 1299
1042 4 v 2000 1299 V 3041 1299 V -86 1495 4 200 v -33
1415 a Ft(-ddump-foreign)p 955 1495 V 1008 1365 a FA(Dump)g
Ft(foreign)48 b(export)1008 1465 y FA(stubs)p 1997 1495
V 2050 1415 a(dynamic)p 3038 1495 V 753 w(-)p 4080 1495
V -86 1498 1045 4 v 959 1498 1042 4 v 2000 1498 V 3041
1498 V -86 1694 4 200 v -33 1614 a Ft(-ddump-hpc)p 955
1694 V 1008 1565 a FA(Dump)20 b(after)g(instrumentation)1008
1664 y(for)g(program)e(co)o(v)o(erage)p 1997 1694 V 2050
1614 a(dynamic)p 3038 1694 V 753 w(-)p 4080 1694 V -86
1697 1045 4 v 959 1697 1042 4 v 2000 1697 V 3041 1697
V -86 1795 4 101 v -33 1764 a Ft(-ddump-inlinings)p 955
1795 V 241 w FA(Dump)i(inlining)f(info)p 1997 1795 V
399 w(dynamic)p 3038 1795 V 753 w(-)p 4080 1795 V -86
1798 1045 4 v 959 1798 1042 4 v 2000 1798 V 3041 1798
V -86 1994 4 200 v -33 1914 a Ft(-ddump-occur-anal)p
955 1994 V 1008 1864 a FA(Dump)h(occurrence)e(analysis)1008
1964 y(output)p 1997 1994 V 2050 1914 a(dynamic)p 3038
1994 V 753 w(-)p 4080 1994 V -86 1997 1045 4 v 959 1997
1042 4 v 2000 1997 V 3041 1997 V -86 2193 4 200 v -33
2113 a Ft(-ddump-opt-cmm)p 955 2193 V 1008 2064 a FA(Dump)i(the)g
(results)h(of)e(C--)i(to)1008 2163 y(C--)g(optimising)e(passes)p
1997 2193 V 2050 2113 a(dynamic)p 3038 2193 V 753 w(-)p
4080 2193 V -86 2196 1045 4 v 959 2196 1042 4 v 2000
2196 V 3041 2196 V -86 2294 4 101 v -33 2263 a Ft(-ddump-parsed)p
955 2294 V 391 w FA(Dump)h(parse)g(tree)p 1997 2294 V
492 w(dynamic)p 3038 2294 V 753 w(-)p 4080 2294 V -86
2297 1045 4 v 959 2297 1042 4 v 2000 2297 V 3041 2297
V -86 2394 4 101 v -33 2363 a Ft(-ddump-prep)p 955 2394
V 491 w FA(Dump)g(prepared)e(core)p 1997 2394 V 358 w(dynamic)p
3038 2394 V 753 w(-)p 4080 2394 V -86 2397 1045 4 v 959
2397 1042 4 v 2000 2397 V 3041 2397 V -86 2494 4 101
v -33 2464 a Ft(-ddump-rn)p 955 2494 V 591 w FA(Dump)i(renamer)f
(output)p 1997 2494 V 306 w(dynamic)p 3038 2494 V 753
w(-)p 4080 2494 V -86 2498 1045 4 v 959 2498 1042 4 v
2000 2498 V 3041 2498 V -86 2595 4 101 v -33 2564 a Ft(-ddump-rules)p
955 2595 V 441 w FA(Dump)h(rules)p 1997 2595 V 651 w(dynamic)p
3038 2595 V 753 w(-)p 4080 2595 V -86 2598 1045 4 v 959
2598 1042 4 v 2000 2598 V 3041 2598 V -86 2794 4 200
v -33 2715 a Ft(-ddump-simpl)p 955 2794 V 1008 2665 a
FA(Dump)g(\002nal)g(simpli\002er)1008 2764 y(output)p
1997 2794 V 2050 2714 a(dynamic)p 3038 2794 V 753 w(-)p
4080 2794 V -86 2798 1045 4 v 959 2798 1042 4 v 2000
2798 V 3041 2798 V -86 2993 4 200 v -33 2864 a Ft(-ddump-simpl-phas-)
-33 2964 y(es)p 955 2993 V 1008 2864 a FA(Dump)g(output)f(from)g(each)
1008 2964 y(simpli\002er)i(phase)p 1997 2993 V 2050 2914
a(dynamic)p 3038 2993 V 753 w(-)p 4080 2993 V -86 2997
1045 4 v 959 2997 1042 4 v 2000 2997 V 3041 2997 V -86
3193 4 200 v -33 3063 a Ft(-ddump-simpl-iter-)-33 3163
y(ations)p 955 3193 V 1008 3063 a FA(Dump)f(output)f(from)g(each)1008
3163 y(simpli\002er)i(iteration)p 1997 3193 V 2050 3113
a(dynamic)p 3038 3193 V 753 w(-)p 4080 3193 V -86 3196
1045 4 v 959 3196 1042 4 v 2000 3196 V 3041 3196 V -86
3293 4 101 v -33 3262 a Ft(-ddump-spec)p 955 3293 V 491
w FA(Dump)f(specialiser)g(output)p 1997 3293 V 228 w(dynamic)p
3038 3293 V 753 w(-)p 4080 3293 V -86 3296 1045 4 v 959
3296 1042 4 v 2000 3296 V 3041 3296 V -86 3592 4 299
v -33 3463 a Ft(-ddump-splices)p 955 3592 V 1008 3363
a FA(Dump)g(TH)g(spliced)1008 3463 y(e)o(xpressions,)f(and)h(what)g
(the)o(y)1008 3562 y(e)n(v)n(aluate)g(to)p 1997 3592
V 2050 3462 a(dynamic)p 3038 3592 V 753 w(-)p 4080 3592
V -86 3595 1045 4 v 959 3595 1042 4 v 2000 3595 V 3041
3595 V -86 3693 4 101 v -33 3662 a Ft(-ddump-stg)p 955
3693 V 541 w FA(Dump)g(\002nal)g(STG)p 1997 3693 V 488
w(dynamic)p 3038 3693 V 753 w(-)p 4080 3693 V -86 3696
1045 4 v 959 3696 1042 4 v 2000 3696 V 3041 3696 V -86
3892 4 200 v -33 3812 a Ft(-ddump-stranal)p 955 3892
V 1008 3762 a FA(Dump)g(strictness)h(analyser)1008 3862
y(output)p 1997 3892 V 2050 3812 a(dynamic)p 3038 3892
V 753 w(-)p 4080 3892 V -86 3895 1045 4 v 959 3895 1042
4 v 2000 3895 V 3041 3895 V -86 3992 4 101 v -33 3961
a Ft(-ddump-tc)p 955 3992 V 591 w FA(Dump)f(typecheck)o(er)e(output)p
1997 3992 V 178 w(dynamic)p 3038 3992 V 753 w(-)p 4080
3992 V -86 3996 1045 4 v 959 3996 1042 4 v 2000 3996
V 3041 3996 V -86 4093 4 101 v -33 4062 a Ft(-ddump-types)p
955 4093 V 441 w FA(Dump)i(type)g(signatures)p 1997 4093
V 311 w(dynamic)p 3038 4093 V 753 w(-)p 4080 4093 V -86
4096 1045 4 v 959 4096 1042 4 v 2000 4096 V 3041 4096
V -86 4292 4 200 v -33 4162 a Ft(-ddump-worker-wra-)-33
4262 y(pper)p 955 4292 V 1008 4162 a FA(Dump)g(w)o(ork)o(er)n(-wrapper)
1008 4262 y(output)p 1997 4292 V 2050 4212 a(dynamic)p
3038 4292 V 753 w(-)p 4080 4292 V -86 4295 1045 4 v 959
4295 1042 4 v 2000 4295 V 3041 4295 V -86 4392 4 101
v -33 4362 a Ft(-ddump-if-trace)p 955 4392 V 1008 4361
a FA(T)m(race)g(interf)o(ace)g(\002les)p 1997 4392 V
386 w(dynamic)p 3038 4392 V 753 w(-)p 4080 4392 V -86
4396 1045 4 v 959 4396 1042 4 v 2000 4396 V 3041 4396
V -86 4493 4 101 v -33 4462 a Ft(-ddump-tc-trace)p 955
4493 V 291 w FA(T)m(race)g(typecheck)o(er)p 1997 4493
V 432 w(dynamic)p 3038 4493 V 753 w(-)p 4080 4493 V -86
4496 1045 4 v 959 4496 1042 4 v 2000 4496 V 3041 4496
V -86 4593 4 101 v -33 4563 a Ft(-ddump-rn-trace)p 955
4593 V 1008 4562 a FA(T)m(race)g(renamer)p 1997 4593
V 561 w(dynamic)p 3038 4593 V 753 w(-)p 4080 4593 V -86
4597 1045 4 v 959 4597 1042 4 v 2000 4597 V 3041 4597
V -86 4694 4 101 v -33 4663 a Ft(-ddump-rn-stats)p 955
4694 V 291 w FA(Renamer)g(stats)p 1997 4694 V 574 w(dynamic)p
3038 4694 V 753 w(-)p 4080 4694 V -86 4697 1045 4 v 959
4697 1042 4 v 2000 4697 V 3041 4697 V -86 4794 4 101
v -33 4763 a Ft(-ddump-simpl-stats)p 955 4794 V 141 w
FA(Dump)g(simpli\002er)g(stats)p 1997 4794 V 327 w(dynamic)p
3038 4794 V 753 w(-)p 4080 4794 V -86 4798 1045 4 v 959
4798 1042 4 v 2000 4798 V 3041 4798 V -86 4993 4 200
v -33 4914 a Ft(-dno-debug-output)p 955 4993 V 1008 4864
a FA(Suppress)g(unsolicited)1008 4964 y(deb)n(ugging)e(output)p
1997 4993 V 2050 4914 a(static)p 3038 4993 V 866 w(-)p
4080 4993 V -86 4997 1045 4 v 959 4997 1042 4 v 2000
4997 V 3041 4997 V -86 5193 4 200 v -33 5113 a Ft(-dppr-debug)p
955 5193 V 1008 5063 a FA(T)l(urn)i(on)g(deb)n(ug)f(printing)1008
5163 y(\(more)h(v)o(erbose\))p 1997 5193 V 2050 5113
a(static)p 3038 5193 V 866 w(-)p 4080 5193 V -86 5196
1045 4 v 959 5196 1042 4 v 2000 5196 V 3041 5196 V -86
5492 4 299 v -33 5362 a Ft(-dsuppress-uniques)p 955 5492
V 1008 5262 a FA(Suppress)g(the)g(printing)f(of)1008
5362 y(uniques)h(in)g(deb)n(ug)f(output)1008 5462 y(\(easier)h(to)h
(use)f Fu(diff)p FA(.)p 1997 5492 V 2050 5362 a(static)p
3038 5492 V 866 w(-)p 4080 5492 V -86 5495 1045 4 v 959
5495 1042 4 v 2000 5495 V 3041 5495 V -86 5691 4 200
v -33 5611 a Ft(-dppr-noprags)p 955 5691 V 1008 5561
a FA(Don')o(t)f(output)g(pragma)g(info)h(in)1008 5661
y(dumps)p 1997 5691 V 2050 5611 a(static)p 3038 5691
V 866 w(-)p 4080 5691 V -86 5694 1045 4 v 959 5694 1042
4 v 2000 5694 V 3041 5694 V Black -128 6084 4252 5 v
Black eop end
%%Page: 95 110
TeXDict begin 95 109 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.95) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(95)20 b(/)g(224)p
-128 -179 4252 5 v Black -86 93 4169 4 v -86 93 V -86
194 4 101 v -33 163 a Fu(Flag)p 955 194 V 883 w(Description)p
1997 194 V 631 w(Static/Dynamic)p 3038 194 V 495 w(Re)o(v)o(erse)p
4080 194 V -86 197 1045 4 v 959 197 1042 4 v 2000 197
V 3041 197 V -86 390 4 200 v -33 310 a Ft(-dppr-user-length)p
955 390 V 1008 260 a FA(Set)h(the)g(depth)e(for)g(printing)1008
360 y(e)o(xpressions)g(in)i(error)e(msgs)p 1997 390 V
2050 310 a(static)p 3038 390 V 866 w(-)p 4080 390 V -86
393 1045 4 v 959 393 1042 4 v 2000 393 V 3041 393 V -86
490 4 101 v -33 460 a Ft(-dsource-stats)p 955 490 V 1008
459 a FA(Dump)h(hask)o(ell)g(source)f(stats)p 1997 490
V 174 w(dynamic)p 3038 490 V 753 w(-)p 4080 490 V -86
494 1045 4 v 959 494 1042 4 v 2000 494 V 3041 494 V -86
591 4 101 v -33 560 a Ft(-dcmm-lint)p 955 591 V 541 w
FA(C--)i(pass)g(sanity)f(checking)p 1997 591 V 225 w(dynamic)p
3038 591 V 753 w(-)p 4080 591 V -86 594 1045 4 v 959
594 1042 4 v 2000 594 V 3041 594 V -86 691 4 101 v -33
661 a Ft(-dstg-lint)p 955 691 V 1008 660 a FA(STG)h(pass)g(sanity)f
(checking)p 1997 691 V 179 w(dynamic)p 3038 691 V 753
w(-)p 4080 691 V -86 695 1045 4 v 959 695 1042 4 v 2000
695 V 3041 695 V -86 792 4 101 v -33 761 a Ft(-dstg-stats)p
955 792 V 491 w FA(Dump)g(STG)g(stats)p 1997 792 V 489
w(dynamic)p 3038 792 V 753 w(-)p 4080 792 V -86 795 1045
4 v 959 795 1042 4 v 2000 795 V 3041 795 V -86 991 4
200 v -33 861 a Ft(-dverbose-core2co-)-33 961 y(re)p
955 991 V 1008 861 a FA(Sho)n(w)g(output)f(from)g(each)1008
961 y(core-to-core)f(pass)p 1997 991 V 2050 911 a(dynamic)p
3038 991 V 753 w(-)p 4080 991 V -86 994 1045 4 v 959
994 1042 4 v 2000 994 V 3041 994 V -86 1190 4 200 v -33
1111 a Ft(-dverbose-stg2stg)p 955 1190 V 1008 1061 a
FA(Sho)n(w)i(output)f(from)g(each)1008 1160 y(STG-to-STG)h(pass)p
1997 1190 V 2050 1110 a(dynamic)p 3038 1190 V 753 w(-)p
4080 1190 V -86 1194 1045 4 v 959 1194 1042 4 v 2000
1194 V 3041 1194 V -86 1389 4 200 v -33 1310 a Ft(-dshow-passes)p
955 1389 V 1008 1260 a FA(Print)h(out)f(each)f(pass)i(name)f(as)1008
1360 y(it)h(happens)p 1997 1389 V 2050 1310 a(dynamic)p
3038 1389 V 753 w(-)p 4080 1389 V -86 1393 1045 4 v 959
1393 1042 4 v 2000 1393 V 3041 1393 V -86 1589 4 200
v -33 1509 a Ft(-dfaststring-stats)p 955 1589 V 1008
1459 a FA(Sho)n(w)f(statistics)i(for)e(f)o(ast)1008 1559
y(string)g(usage)g(when)g(\002nished)p 1997 1589 V 2050
1509 a(dynamic)p 3038 1589 V 753 w(-)p 4080 1589 V -86
1592 4169 4 v -86 1592 V -128 1708 a
SDict begin H.S end
-128 1708 a -128
1708 a
SDict begin 12 H.A end
-128 1708 a -128 1708 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.17.28) cvn H.B /DEST pdfmark end
-128 1708 a Black 166
x Fp(4.17.28)p Black 89 w(Misc)k(compiler)g(options)p
-86 2066 4169 4 v -86 2066 V -86 2166 4 101 v -33 2135
a Fu(Flag)p 955 2166 V 883 w(Description)p 1997 2166
V 631 w(Static/Dynamic)p 3038 2166 V 495 w(Re)o(v)o(erse)p
4080 2166 V -86 2169 1045 4 v 959 2169 1042 4 v 2000
2169 V 3041 2169 V -86 2365 4 200 v -33 2236 a Ft(-fno-hi-version-c-)
-33 2335 y(heck)p 955 2365 V 1008 2236 a FA(Don')o(t)19
b(complain)g(about)g Ft(.hi)1008 2335 y FA(\002le)i(mismatches)p
1997 2365 V 2050 2285 a(static)p 3038 2365 V 866 w(-)p
4080 2365 V -86 2369 1045 4 v 959 2369 1042 4 v 2000
2369 V 3041 2369 V -86 2565 4 200 v -33 2485 a Ft(-dno-black-holing)p
955 2565 V 1008 2435 a FA(T)l(urn)f(of)n(f)f(black)h(holing)1008
2535 y(\(probably)e(doesn')o(t)h(w)o(ork\))p 1997 2565
V 2050 2485 a(static)p 3038 2565 V 866 w(-)p 4080 2565
V -86 2568 1045 4 v 959 2568 1042 4 v 2000 2568 V 3041
2568 V -86 2764 4 200 v -33 2684 a Ft(-fhistory-size)p
955 2764 V 1008 2634 a FA(Set)i(simpli\002cation)f(history)1008
2734 y(size)p 1997 2764 V 2050 2684 a(static)p 3038 2764
V 866 w(-)p 4080 2764 V -86 2767 1045 4 v 959 2767 1042
4 v 2000 2767 V 3041 2767 V -86 2963 4 200 v -33 2883
a Ft(-funregisterised)p 955 2963 V 1008 2834 a FA(Unre)o(gisterised)f
(compilation)1008 2933 y(\(use)i Ft(-unreg)e FA(instead\))p
1997 2963 V 2050 2883 a(static)p 3038 2963 V 866 w(-)p
4080 2963 V -86 2966 1045 4 v 959 2966 1042 4 v 2000
2966 V 3041 2966 V -86 3162 4 200 v -33 3083 a Ft(-fno-asm-mangling)p
955 3162 V 1008 3033 a FA(T)l(urn)h(of)n(f)f(assembly)h(mangling)1008
3132 y(\(use)h Ft(-unreg)e FA(instead\))p 1997 3162 V
2050 3083 a(dynamic)p 3038 3162 V 753 w(-)p 4080 3162
V -86 3166 4169 4 v -86 3166 V Black -128 6084 4252 5
v Black eop end
%%Page: 96 111
TeXDict begin 96 110 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.96) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(96)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.5) cvn H.B /DEST pdfmark end
-128 90 a 756 x Fy(Chapter)43 b(5)-128
1311 y Fv(Pr)l(o\002ling)-128 1717 y
SDict begin H.S end
-128 1717 a -128
1717 a
SDict begin 12 H.A end
-128 1717 a -128 1717 a
SDict begin [ /View [/XYZ H.V] /Dest (profiling) cvn H.B /DEST pdfmark end
-128 1717 a 115 x FA(Glasgo)n(w)22
b(Hask)o(ell)h(comes)f(with)h(a)g(time)f(and)g(space)h(pro\002ling)e
(system.)31 b(Its)23 b(purpose)e(is)i(to)g(help)f(you)f(impro)o(v)o(e)g
(your)g(understanding)e(of)j(your)-128 1931 y(program')-5
b(s)19 b(e)o(x)o(ecution)f(beha)n(viour)m(,)f(so)k(you)e(can)h(impro)o
(v)o(e)e(it.)-128 2081 y(An)o(y)j(comments,)g(suggestions)f(and/or)g
(impro)o(v)o(ements)f(you)h(ha)n(v)o(e)h(are)h(welcome.)28
b(Recommended)19 b(\223pro\002ling)h(tricks\224)h(w)o(ould)g(be)g
(especially)-128 2181 y(cool!)-128 2330 y(Pro\002ling)f(a)g(program)f
(is)i(a)f(three-step)f(process:)-128 2431 y
SDict begin H.S end
-128 2431
a -128 2431 a
SDict begin 12 H.A end
-128 2431 a -128 2431 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.8) cvn H.B /DEST pdfmark end
-128 2431 a Black
-24 2546 a FA(1.)p Black 41 w(Re-compile)h(your)g(program)f(for)i
(pro\002ling)f(with)i(the)f Ft(-prof)g FA(option,)f(and)h(probably)e
(one)i(of)g(the)g Ft(-auto)g FA(or)g Ft(-auto-all)f FA(options.)80
2645 y(These)g(options)f(are)h(described)f(in)i(more)e(detail)h(in)h
(Section)p 1 0 0 TeXcolorrgb 1862 2646 a
SDict begin H.S end
1862 2646 a
1 0 0 TeXcolorrgb -1 x FA(5.2)p 1 0 0 TeXcolorrgb 1966
2589 a
SDict begin H.R end
1966 2589 a 1966 2645 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.2) cvn H.B /ANN pdfmark end
1966 2645 a Black -128
2697 a
SDict begin H.S end
-128 2697 a -128 2697 a
SDict begin 12 H.A end
-128 2697 a -128 2697
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.9) cvn H.B /DEST pdfmark end
-128 2697 a Black -24 2811 a FA(2.)p Black 41 w(Run)h(your)f(program)
f(with)i(one)g(of)g(the)g(pro\002ling)e(options,)i(e)o(g.)30
b Ft(+RTS)49 b(-p)h(-RTS)p FA(.)21 b(This)i(generates)e(a)h(\002le)h
(of)f(pro\002ling)f(information.)80 2911 y(Note)f(that)g
(multi-processor)e(e)o(x)o(ecution)g(\(e.g.)25 b Ft(+RTS)49
b(-N2)p FA(\))20 b(is)h(not)f(supported)e(while)i(pro\002ling.)-128
2962 y
SDict begin H.S end
-128 2962 a -128 2962 a
SDict begin 12 H.A end
-128 2962 a -128 2962
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.10) cvn H.B /DEST pdfmark end
-128 2962 a Black -24 3077 a FA(3.)p Black 41 w(Examine)g(the)h
(generated)f(pro\002ling)g(information,)f(using)i(one)g(of)g(GHC')-5
b(s)22 b(pro\002ling)e(tools.)29 b(The)21 b(tool)g(to)g(use)h(will)g
(depend)d(on)i(the)h(kind)80 3177 y(of)e(pro\002ling)f(information)e
(generated.)-128 3320 y
SDict begin H.S end
-128 3320 a -128 3320 a
SDict begin 12 H.A end
-128
3320 a -128 3320 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.1) cvn H.B /DEST pdfmark end
-128 3320 a Black 181 x Fs(5.1)p Black
108 w(Cost)29 b(centres)f(and)h(cost-centre)f(stac)n(ks)-128
3628 y
SDict begin H.S end
-128 3628 a -128 3628 a
SDict begin 12 H.A end
-128 3628 a -128 3628
a
SDict begin [ /View [/XYZ H.V] /Dest (cost-centres) cvn H.B /DEST pdfmark end
-128 3628 a 115 x FA(GHC')-5 b(s)22 b(pro\002ling)d(system)h(assigns)
h Fq(costs)f FA(to)h Fq(cost)f(centr)m(es)p FA(.)26 b(A)20
b(cost)h(is)g(simply)f(the)g(time)g(or)g(space)h(required)d(to)i(e)n(v)
n(aluate)g(an)g(e)o(xpression.)j(Cost)-128 3842 y(centres)d(are)g
(program)f(annotations)f(around)g(e)o(xpressions;)h(all)i(costs)g
(incurred)e(by)g(the)i(annotated)d(e)o(xpression)h(are)h(assigned)g(to)
g(the)g(enclosing)-128 3942 y(cost)31 b(centre.)53 b(Furthermore,)29
b(GHC)i(will)f(remember)e(the)i(stack)g(of)g(enclosing)e(cost)i
(centres)g(for)f(an)o(y)g(gi)n(v)o(en)g(e)o(xpression)f(at)i(run-time)f
(and)-128 4041 y(generate)19 b(a)i(call-graph)d(of)i(cost)h(attrib)n
(utions.)-128 4191 y(Let')-5 b(s)21 b(tak)o(e)f(a)h(look)e(at)i(an)f(e)
o(xample:)-128 4259 y
SDict begin H.S end
-128 4259 a -128 4259 a
SDict begin 12 H.A end
-128 4259
a -128 4259 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-171) cvn H.B /DEST pdfmark end
-128 4259 a 0.95 TeXcolorgray -153 4274
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4365 25 92 v Black 0.95
TeXcolorgray -128 4365 4252 92 v Black 0.95 TeXcolorgray
4124 4365 25 92 v Black 0.95 TeXcolorgray Black -128
4338 a
SDict begin H.S end
-128 4338 a -128 4338 a
SDict begin 11 H.A end
-128 4338 a -128 4338
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-171.1) cvn H.B /DEST pdfmark end
-128 4338 a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(print)p Black 44 w(\()p 0 0 0
TeXcolorrgb(nfib)p Black 44 w(25\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4457 25 92 v Black 0.95
TeXcolorgray -128 4457 4252 92 v Black 0.95 TeXcolorgray
4124 4457 25 92 v Black 0.95 TeXcolorgray Black -128
4429 a
SDict begin H.S end
-128 4429 a -128 4429 a
SDict begin 11 H.A end
-128 4429 a -128 4429
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-171.2) cvn H.B /DEST pdfmark end
-128 4429 a 0 0 0 TeXcolorrgb Fo(nfib)p Black 0 0 0
TeXcolorrgb 45 w(n)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(if)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 45 w(<)45
b(2)p 0 0 0 TeXcolorrgb 44 w(then)p Black 45 w(1)p 0 0 0
TeXcolorrgb 44 w(else)p Black 0 0 0 TeXcolorrgb 44 w(nfib)p
Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(n)p Black(-1\))g(+)p
0 0 0 TeXcolorrgb 44 w(nfib)p Black 44 w(\()p 0 0 0 TeXcolorrgb(n)p
Black(-2\))p 0.95 TeXcolorgray -153 4481 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4656 a FA(Compile)20
b(and)g(run)f(this)i(program)d(as)j(follo)n(ws:)-128
4724 y
SDict begin H.S end
-128 4724 a -128 4724 a
SDict begin 12 H.A end
-128 4724 a -128 4724
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-172) cvn H.B /DEST pdfmark end
-128 4724 a 0.95 TeXcolorgray -153 4739 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4830 25 92 v Black 0.95 TeXcolorgray
-128 4830 4252 92 v Black 0.95 TeXcolorgray 4124 4830
25 92 v Black 0.95 TeXcolorgray Black -128 4803 a
SDict begin H.S end
-128
4803 a -128 4803 a
SDict begin 11 H.A end
-128 4803 a -128 4803 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-172.1) cvn H.B /DEST pdfmark end
-128 4803
a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb 45
w(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(prof)p Black
44 w(-)p 0 0 0 TeXcolorrgb(auto)p Black(-)p 0 0 0 TeXcolorrgb
-1 w(all)p Black 45 w(-)p 0 0 0 TeXcolorrgb(o)p Black
0 0 0 TeXcolorrgb 44 w(Main)p Black 0 0 0 TeXcolorrgb
44 w(Main)p Black(.)p 0 0 0 TeXcolorrgb(hs)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4921 25 92
v Black 0.95 TeXcolorgray -128 4921 4252 92 v Black 0.95
TeXcolorgray 4124 4921 25 92 v Black 0.95 TeXcolorgray
Black -128 4894 a
SDict begin H.S end
-128 4894 a -128 4894 a
SDict begin 11 H.A end
-128 4894 a
-128 4894 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-172.2) cvn H.B /DEST pdfmark end
-128 4894 a 0 0 0 TeXcolorrgb Fo($)p Black
45 w(./)p 0 0 0 TeXcolorrgb(Main)p Black 44 w(+)p 0 0 0
TeXcolorrgb(RTS)p Black 44 w(-)p 0 0 0 TeXcolorrgb(p)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5013 25 92 v Black 0.95 TeXcolorgray -128 5013 4252 92
v Black 0.95 TeXcolorgray 4124 5013 25 92 v Black 0.95
TeXcolorgray Black -128 4985 a
SDict begin H.S end
-128 4985 a -128 4985
a
SDict begin 11 H.A end
-128 4985 a -128 4985 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-172.3) cvn H.B /DEST pdfmark end
-128 4985 a Fo(121393)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5104 25 92
v Black 0.95 TeXcolorgray -128 5104 4252 92 v Black 0.95
TeXcolorgray 4124 5104 25 92 v Black 0.95 TeXcolorgray
Black -128 5077 a
SDict begin H.S end
-128 5077 a -128 5077 a
SDict begin 11 H.A end
-128 5077 a
-128 5077 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-172.4) cvn H.B /DEST pdfmark end
-128 5077 a 0 0 0 TeXcolorrgb Fo($)p Black
0.95 TeXcolorgray -153 5129 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5303 a FA(When)i(a)f(GHC-compiled)f(program)f
(is)j(run)f(with)g(the)h Ft(-p)f FA(R)-5 b(TS)23 b(option,)f(it)h
(generates)e(a)i(\002le)g(called)f Ft(<)t(prog>)t(.prof)p
FA(.)30 b(In)22 b(this)h(case,)g(the)f(\002le)-128 5403
y(will)f(contain)f(something)e(lik)o(e)j(this:)-128 5471
y
SDict begin H.S end
-128 5471 a -128 5471 a
SDict begin 12 H.A end
-128 5471 a -128 5471 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-173) cvn H.B /DEST pdfmark end
-128
5471 a 0.95 TeXcolorgray -153 5486 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5577 25 92 v Black 0.95 TeXcolorgray -128 5577 4252
92 v Black 0.95 TeXcolorgray 4124 5577 25 92 v Black
0.95 TeXcolorgray Black -128 5550 a
SDict begin H.S end
-128 5550 a -128
5550 a
SDict begin 11 H.A end
-128 5550 a -128 5550 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.1) cvn H.B /DEST pdfmark end
-128 5550 a 0 0 0 TeXcolorrgb
449 w Fo(Fri)p Black 0 0 0 TeXcolorrgb 44 w(May)p Black
44 w(12)45 b(14:06)f(2000)p 0 0 0 TeXcolorrgb 44 w(Time)p
Black 0 0 0 TeXcolorrgb 44 w(and)p Black 0 0 0 TeXcolorrgb
45 w(Allocation)p Black 0 0 0 TeXcolorrgb 43 w(Profiling)p
Black 0 0 0 TeXcolorrgb 43 w(Report)p Black 89 w(\()p
0 0 0 TeXcolorrgb(Final)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5669 25 92 v Black 0.95
TeXcolorgray -128 5669 4252 92 v Black 0.95 TeXcolorgray
4124 5669 25 92 v Black 0.95 TeXcolorgray Black -128
5641 a
SDict begin H.S end
-128 5641 a -128 5641 a
SDict begin 11 H.A end
-128 5641 a -128 5641
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.2) cvn H.B /DEST pdfmark end
-128 5641 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5760 25 92 v Black 0.95 TeXcolorgray -128 5760 4252
92 v Black 0.95 TeXcolorgray 4124 5760 25 92 v Black
0.95 TeXcolorgray Black -128 5733 a
SDict begin H.S end
-128 5733 a -128
5733 a
SDict begin 11 H.A end
-128 5733 a -128 5733 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.3) cvn H.B /DEST pdfmark end
-128 5733 a 0 0 0 TeXcolorrgb
494 w Fo(Main)p Black 44 w(+)p 0 0 0 TeXcolorrgb(RTS)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(p)p Black 44 w(-)p 0 0 0
TeXcolorrgb(RTS)p Black Black -128 6084 4252 5 v Black
eop end
%%Page: 97 112
TeXDict begin 97 111 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.97) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(97)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.4) cvn H.B /DEST pdfmark end
-128 173 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 292 25 92 v Black 0.95 TeXcolorgray
-128 292 4252 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265
a -128 265 a
SDict begin 11 H.A end
-128 265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.5) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb
359 w Fo(total)p Black 0 0 0 TeXcolorrgb 44 w(time)p
Black 89 w(=)359 b(0.14)p 0 0 0 TeXcolorrgb 44 w(secs)p
Black 134 w(\(7)p 0 0 0 TeXcolorrgb 44 w(ticks)p Black
0 0 0 TeXcolorrgb 44 w(@)p Black 45 w(20)p 0 0 0 TeXcolorrgb
44 w(ms)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 383 25 92 v Black 0.95 TeXcolorgray -128 383 4252
92 v Black 0.95 TeXcolorgray 4124 383 25 92 v Black 0.95
TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128
356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.6) cvn H.B /DEST pdfmark end
-128 356 a 0 0 0 TeXcolorrgb 359 w Fo(total)p
Black 0 0 0 TeXcolorrgb 44 w(alloc)p Black 44 w(=)134
b(8,741,204)p 0 0 0 TeXcolorrgb 44 w(bytes)p Black 89
w(\()p 0 0 0 TeXcolorrgb -1 w(excludes)p Black 0 0 0
TeXcolorrgb 44 w(profiling)p Black 0 0 0 TeXcolorrgb
43 w(overheads)p Black -1 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.7) cvn H.B /DEST pdfmark end
-128 447 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.8) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb
Fo(COST)p Black 0 0 0 TeXcolorrgb 45 w(CENTRE)p Black
0 0 0 TeXcolorrgb 447 w(MODULE)p Black 223 w(\045)p 0 0 0
TeXcolorrgb(time)p Black 44 w(\045)p 0 0 0 TeXcolorrgb(alloc)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
657 25 92 v Black 0.95 TeXcolorgray -128 657 4252 92
v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.9) cvn H.B /DEST pdfmark end
-128 630 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 749 25 92 v Black 0.95 TeXcolorgray
-128 749 4252 92 v Black 0.95 TeXcolorgray 4124 749 25
92 v Black 0.95 TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721
a -128 721 a
SDict begin 11 H.A end
-128 721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.10) cvn H.B /DEST pdfmark end
-128 721 a 0 0 0 TeXcolorrgb
Fo(nfib)p Black 0 0 0 TeXcolorrgb 762 w(Main)p Black
313 w(100.0)89 b(100.0)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 840 25 92 v Black 0.95 TeXcolorgray
-128 840 4252 92 v Black 0.95 TeXcolorgray 4124 840 25
92 v Black 0.95 TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812
a -128 812 a
SDict begin 11 H.A end
-128 812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.11) cvn H.B /DEST pdfmark end
-128 812 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 931 25 92 v Black 0.95 TeXcolorgray
-128 931 4252 92 v Black 0.95 TeXcolorgray 4124 931 25
92 v Black 0.95 TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904
a -128 904 a
SDict begin 11 H.A end
-128 904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.12) cvn H.B /DEST pdfmark end
-128 904 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1023 25 92 v Black 0.95
TeXcolorgray -128 1023 4252 92 v Black 0.95 TeXcolorgray
4124 1023 25 92 v Black 0.95 TeXcolorgray Black -128
995 a
SDict begin H.S end
-128 995 a -128 995 a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.13) cvn H.B /DEST pdfmark end
-128
995 a 0 0 0 TeXcolorrgb 2063 w Fo(individual)p Black
0 0 0 TeXcolorrgb 222 w(inherited)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1114 25 92 v Black 0.95
TeXcolorgray -128 1114 4252 92 v Black 0.95 TeXcolorgray
4124 1114 25 92 v Black 0.95 TeXcolorgray Black -128
1086 a
SDict begin H.S end
-128 1086 a -128 1086 a
SDict begin 11 H.A end
-128 1086 a -128 1086
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.14) cvn H.B /DEST pdfmark end
-128 1086 a 0 0 0 TeXcolorrgb Fo(COST)p Black 0 0 0
TeXcolorrgb 45 w(CENTRE)p Black 0 0 0 TeXcolorrgb 626
w(MODULE)p Black 0 0 0 TeXcolorrgb 268 w(entries)p Black
44 w(\045)p 0 0 0 TeXcolorrgb(time)p Black 44 w(\045)p
0 0 0 TeXcolorrgb(alloc)p Black 133 w(\045)p 0 0 0 TeXcolorrgb(time)p
Black 44 w(\045)p 0 0 0 TeXcolorrgb(alloc)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1205 25 92
v Black 0.95 TeXcolorgray -128 1205 4252 92 v Black 0.95
TeXcolorgray 4124 1205 25 92 v Black 0.95 TeXcolorgray
Black -128 1178 a
SDict begin H.S end
-128 1178 a -128 1178 a
SDict begin 11 H.A end
-128 1178 a
-128 1178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.15) cvn H.B /DEST pdfmark end
-128 1178 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 1296 25 92 v Black 0.95 TeXcolorgray
-128 1296 4252 92 v Black 0.95 TeXcolorgray 4124 1296
25 92 v Black 0.95 TeXcolorgray Black -128 1269 a
SDict begin H.S end
-128
1269 a -128 1269 a
SDict begin 11 H.A end
-128 1269 a -128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.16) cvn H.B /DEST pdfmark end
-128 1269
a 0 0 0 TeXcolorrgb Fo(MAIN)p Black 0 0 0 TeXcolorrgb
941 w(MAIN)p Black 582 w(0)180 b(0.0)134 b(0.0)178 b(100.0)44
b(100.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1388 25 92 v Black 0.95 TeXcolorgray -128 1388 4252 92
v Black 0.95 TeXcolorgray 4124 1388 25 92 v Black 0.95
TeXcolorgray Black -128 1360 a
SDict begin H.S end
-128 1360 a -128 1360
a
SDict begin 11 H.A end
-128 1360 a -128 1360 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.17) cvn H.B /DEST pdfmark end
-128 1360 a 0 0 0 TeXcolorrgb
45 w Fo(main)p Black 0 0 0 TeXcolorrgb 896 w(Main)p Black
582 w(0)180 b(0.0)134 b(0.0)268 b(0.0)134 b(0.0)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1479 25 92
v Black 0.95 TeXcolorgray -128 1479 4252 92 v Black 0.95
TeXcolorgray 4124 1479 25 92 v Black 0.95 TeXcolorgray
Black -128 1452 a
SDict begin H.S end
-128 1452 a -128 1452 a
SDict begin 11 H.A end
-128 1452 a
-128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.18) cvn H.B /DEST pdfmark end
-128 1452 a 0 0 0 TeXcolorrgb 45 w Fo(CAF)p
Black 0 0 0 TeXcolorrgb 941 w(PrelHandle)p Black 312
w(3)180 b(0.0)134 b(0.0)268 b(0.0)134 b(0.0)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1570 25 92 v Black 0.95
TeXcolorgray -128 1570 4252 92 v Black 0.95 TeXcolorgray
4124 1570 25 92 v Black 0.95 TeXcolorgray Black -128
1543 a
SDict begin H.S end
-128 1543 a -128 1543 a
SDict begin 11 H.A end
-128 1543 a -128 1543
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.19) cvn H.B /DEST pdfmark end
-128 1543 a 0 0 0 TeXcolorrgb 45 w Fo(CAF)p Black 0 0 0
TeXcolorrgb 941 w(PrelAddr)p Black 402 w(1)180 b(0.0)134
b(0.0)268 b(0.0)134 b(0.0)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 1662 25 92 v Black 0.95 TeXcolorgray
-128 1662 4252 92 v Black 0.95 TeXcolorgray 4124 1662
25 92 v Black 0.95 TeXcolorgray Black -128 1634 a
SDict begin H.S end
-128
1634 a -128 1634 a
SDict begin 11 H.A end
-128 1634 a -128 1634 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.20) cvn H.B /DEST pdfmark end
-128 1634
a 0 0 0 TeXcolorrgb 45 w Fo(CAF)p Black 0 0 0 TeXcolorrgb
941 w(Main)p Black 582 w(6)180 b(0.0)134 b(0.0)178 b(100.0)44
b(100.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1753 25 92 v Black 0.95 TeXcolorgray -128 1753 4252 92
v Black 0.95 TeXcolorgray 4124 1753 25 92 v Black 0.95
TeXcolorgray Black -128 1726 a
SDict begin H.S end
-128 1726 a -128 1726
a
SDict begin 11 H.A end
-128 1726 a -128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.21) cvn H.B /DEST pdfmark end
-128 1726 a 0 0 0 TeXcolorrgb
90 w Fo(main)p Black 0 0 0 TeXcolorrgb 851 w(Main)p Black
582 w(1)180 b(0.0)134 b(0.0)178 b(100.0)44 b(100.0)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 1844 25
92 v Black 0.95 TeXcolorgray -128 1844 4252 92 v Black
0.95 TeXcolorgray 4124 1844 25 92 v Black 0.95 TeXcolorgray
Black -128 1817 a
SDict begin H.S end
-128 1817 a -128 1817 a
SDict begin 11 H.A end
-128 1817 a
-128 1817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-173.22) cvn H.B /DEST pdfmark end
-128 1817 a 0 0 0 TeXcolorrgb 135 w Fo(nfib)p
Black 0 0 0 TeXcolorrgb 806 w(Main)p Black 358 w(242785)89
b(100.0)44 b(100.0)178 b(100.0)44 b(100.0)p 0.95 TeXcolorgray
-152 1869 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2035 a FA(The)25 b(\002rst)i(part)e(of)g(the)g(\002le)h(gi)n
(v)o(es)f(the)g(program)e(name)i(and)g(options,)g(and)g(the)g(total)h
(time)f(and)g(total)h(memory)d(allocation)i(measured)f(during)-128
2135 y(the)f(run)e(of)h(the)g(program)e(\(note)h(that)i(the)f(total)g
(memory)f(allocation)g(\002gure)g(isn')o(t)h(the)g(same)h(as)f(the)h
(amount)d(of)i Fq(live)h FA(memory)d(needed)h(by)h(the)-128
2234 y(program)c(at)j(an)o(y)f(one)f(time;)i(the)f(latter)g(can)g(be)g
(determined)f(using)g(heap)h(pro\002ling,)e(which)i(we)g(will)h
(describe)f(shortly\).)-128 2379 y(The)e(second)g(part)g(of)g(the)g
(\002le)h(is)g(a)g(break-do)n(wn)c(by)j(cost)h(centre)e(of)i(the)f
(most)g(costly)g(functions)f(in)i(the)f(program.)k(In)c(this)h(case,)g
(there)f(w)o(as)h(only)-128 2479 y(one)i(signi\002cant)h(function)d(in)
j(the)g(program,)d(namely)i Ft(nfib)p FA(,)g(and)g(it)i(w)o(as)f
(responsible)e(for)h(100\045)g(of)g(both)g(the)h(time)f(and)g
(allocation)g(costs)h(of)-128 2579 y(the)f(program.)-128
2724 y(The)h(third)g(and)f(\002nal)h(section)g(of)g(the)g(\002le)h(gi)n
(v)o(es)e(a)i(pro\002le)e(break-do)n(wn)e(by)j(cost-centre)e(stack.)31
b(This)22 b(is)h(roughly)d(a)j(call-graph)d(pro\002le)h(of)h(the)-128
2823 y(program.)h(In)d(the)g(e)o(xample)f(abo)o(v)o(e,)f(it)j(is)g
(clear)g(that)f(the)g(costly)g(call)h(to)f Ft(nfib)g
FA(came)g(from)f Ft(main)p FA(.)-128 2968 y(The)28 b(time)g(and)g
(allocation)f(incurred)f(by)h(a)i(gi)n(v)o(en)d(part)i(of)g(the)g
(program)d(is)k(displayed)e(in)h(tw)o(o)g(w)o(ays:)41
b(\223indi)n(vidual\224,)28 b(which)g(are)f(the)h(costs)-128
3068 y(incurred)17 b(by)g(the)h(code)f(co)o(v)o(ered)f(by)i(this)g
(cost)h(centre)e(stack)h(alone,)g(and)f(\223inherited\224,)g(which)g
(includes)g(the)h(costs)h(incurred)d(by)i(all)g(the)g(children)-128
3168 y(of)i(this)h(node.)-128 3313 y(The)f(usefulness)g(of)g
(cost-centre)f(stacks)h(is)i(better)d(demonstrated)f(by)i(modifying)e
(the)i(e)o(xample)f(slightly:)-128 3376 y
SDict begin H.S end
-128 3376 a
-128 3376 a
SDict begin 12 H.A end
-128 3376 a -128 3376 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-174) cvn H.B /DEST pdfmark end
-128 3376 a 0.95
TeXcolorgray -153 3391 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3483 25 92 v Black 0.95 TeXcolorgray -128 3483 4252 92
v Black 0.95 TeXcolorgray 4124 3483 25 92 v Black 0.95
TeXcolorgray Black -128 3455 a
SDict begin H.S end
-128 3455 a -128 3455
a
SDict begin 11 H.A end
-128 3455 a -128 3455 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-174.1) cvn H.B /DEST pdfmark end
-128 3455 a 0 0 0 TeXcolorrgb
Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(print)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(f)p Black 45 w(25)44
b(+)p 0 0 0 TeXcolorrgb 45 w(g)p Black 45 w(25\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3574 25 92
v Black 0.95 TeXcolorgray -128 3574 4252 92 v Black 0.95
TeXcolorgray 4124 3574 25 92 v Black 0.95 TeXcolorgray
Black -128 3546 a
SDict begin H.S end
-128 3546 a -128 3546 a
SDict begin 11 H.A end
-128 3546 a
-128 3546 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-174.2) cvn H.B /DEST pdfmark end
-128 3546 a 0 0 0 TeXcolorrgb Fo(f)p Black
0 0 0 TeXcolorrgb 45 w(n)p Black 90 w(=)p 0 0 0 TeXcolorrgb
44 w(nfib)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3665 25 92
v Black 0.95 TeXcolorgray -128 3665 4252 92 v Black 0.95
TeXcolorgray 4124 3665 25 92 v Black 0.95 TeXcolorgray
Black -128 3638 a
SDict begin H.S end
-128 3638 a -128 3638 a
SDict begin 11 H.A end
-128 3638 a
-128 3638 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-174.3) cvn H.B /DEST pdfmark end
-128 3638 a 0 0 0 TeXcolorrgb Fo(g)p Black
0 0 0 TeXcolorrgb 45 w(n)p Black 90 w(=)p 0 0 0 TeXcolorrgb
44 w(nfib)p Black 44 w(\()p 0 0 0 TeXcolorrgb(n)p Black
45 w(`)p 0 0 0 TeXcolorrgb(div)p Black -1 w(`)h(2\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3757 25
92 v Black 0.95 TeXcolorgray -128 3757 4252 92 v Black
0.95 TeXcolorgray 4124 3757 25 92 v Black 0.95 TeXcolorgray
Black -128 3729 a
SDict begin H.S end
-128 3729 a -128 3729 a
SDict begin 11 H.A end
-128 3729 a
-128 3729 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-174.4) cvn H.B /DEST pdfmark end
-128 3729 a 0 0 0 TeXcolorrgb Fo(nfib)p Black
0 0 0 TeXcolorrgb 45 w(n)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(if)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 45 w(<)g(2)p
0 0 0 TeXcolorrgb 44 w(then)p Black 45 w(1)p 0 0 0 TeXcolorrgb
44 w(else)p Black 0 0 0 TeXcolorrgb 44 w(nfib)p Black
45 w(\()p 0 0 0 TeXcolorrgb -1 w(n)p Black(-1\))g(+)p
0 0 0 TeXcolorrgb 44 w(nfib)p Black 44 w(\()p 0 0 0 TeXcolorrgb(n)p
Black(-2\))p 0.95 TeXcolorgray -153 3781 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 3947 a FA(Compile)20
b(and)g(run)f(this)i(program)d(as)j(before,)d(and)i(tak)o(e)g(a)h(look)
e(at)i(the)f(ne)n(w)g(pro\002ling)f(results:)-128 4010
y
SDict begin H.S end
-128 4010 a -128 4010 a
SDict begin 12 H.A end
-128 4010 a -128 4010 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-175) cvn H.B /DEST pdfmark end
-128
4010 a 0.95 TeXcolorgray -153 4026 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4117 25 92 v Black 0.95 TeXcolorgray -128 4117 4252
92 v Black 0.95 TeXcolorgray 4124 4117 25 92 v Black
0.95 TeXcolorgray Black -128 4090 a
SDict begin H.S end
-128 4090 a -128
4090 a
SDict begin 11 H.A end
-128 4090 a -128 4090 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.1) cvn H.B /DEST pdfmark end
-128 4090 a 0 0 0 TeXcolorrgb
Fo(COST)p Black 0 0 0 TeXcolorrgb 45 w(CENTRE)p Black
0 0 0 TeXcolorrgb 626 w(MODULE)p Black 0 0 0 TeXcolorrgb
403 w(scc)p Black 89 w(\045)p 0 0 0 TeXcolorrgb(time)p
Black 44 w(\045)p 0 0 0 TeXcolorrgb(alloc)p Black 133
w(\045)p 0 0 0 TeXcolorrgb(time)p Black 44 w(\045)p 0 0 0
TeXcolorrgb(alloc)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4208 25 92 v Black 0.95 TeXcolorgray
-128 4208 4252 92 v Black 0.95 TeXcolorgray 4124 4208
25 92 v Black 0.95 TeXcolorgray Black -128 4181 a
SDict begin H.S end
-128
4181 a -128 4181 a
SDict begin 11 H.A end
-128 4181 a -128 4181 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.2) cvn H.B /DEST pdfmark end
-128 4181
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4300
25 92 v Black 0.95 TeXcolorgray -128 4300 4252 92 v Black
0.95 TeXcolorgray 4124 4300 25 92 v Black 0.95 TeXcolorgray
Black -128 4272 a
SDict begin H.S end
-128 4272 a -128 4272 a
SDict begin 11 H.A end
-128 4272 a
-128 4272 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.3) cvn H.B /DEST pdfmark end
-128 4272 a 0 0 0 TeXcolorrgb Fo(MAIN)p Black
0 0 0 TeXcolorrgb 941 w(MAIN)p Black 582 w(0)180 b(0.0)134
b(0.0)178 b(100.0)44 b(100.0)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4391 25 92 v Black 0.95 TeXcolorgray
-128 4391 4252 92 v Black 0.95 TeXcolorgray 4124 4391
25 92 v Black 0.95 TeXcolorgray Black -128 4364 a
SDict begin H.S end
-128
4364 a -128 4364 a
SDict begin 11 H.A end
-128 4364 a -128 4364 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.4) cvn H.B /DEST pdfmark end
-128 4364
a 0 0 0 TeXcolorrgb 45 w Fo(main)p Black 0 0 0 TeXcolorrgb
896 w(Main)p Black 582 w(0)180 b(0.0)134 b(0.0)268 b(0.0)134
b(0.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4482 25 92 v Black 0.95 TeXcolorgray -128 4482 4252 92
v Black 0.95 TeXcolorgray 4124 4482 25 92 v Black 0.95
TeXcolorgray Black -128 4455 a
SDict begin H.S end
-128 4455 a -128 4455
a
SDict begin 11 H.A end
-128 4455 a -128 4455 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.5) cvn H.B /DEST pdfmark end
-128 4455 a 0 0 0 TeXcolorrgb
45 w Fo(CAF)p Black 0 0 0 TeXcolorrgb 941 w(PrelHandle)p
Black 312 w(3)180 b(0.0)134 b(0.0)268 b(0.0)134 b(0.0)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4574 25
92 v Black 0.95 TeXcolorgray -128 4574 4252 92 v Black
0.95 TeXcolorgray 4124 4574 25 92 v Black 0.95 TeXcolorgray
Black -128 4546 a
SDict begin H.S end
-128 4546 a -128 4546 a
SDict begin 11 H.A end
-128 4546 a
-128 4546 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.6) cvn H.B /DEST pdfmark end
-128 4546 a 0 0 0 TeXcolorrgb 45 w Fo(CAF)p
Black 0 0 0 TeXcolorrgb 941 w(PrelAddr)p Black 402 w(1)180
b(0.0)134 b(0.0)268 b(0.0)134 b(0.0)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4665 25 92 v Black 0.95
TeXcolorgray -128 4665 4252 92 v Black 0.95 TeXcolorgray
4124 4665 25 92 v Black 0.95 TeXcolorgray Black -128
4638 a
SDict begin H.S end
-128 4638 a -128 4638 a
SDict begin 11 H.A end
-128 4638 a -128 4638
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.7) cvn H.B /DEST pdfmark end
-128 4638 a 0 0 0 TeXcolorrgb 45 w Fo(CAF)p Black 0 0 0
TeXcolorrgb 941 w(Main)p Black 582 w(9)180 b(0.0)134
b(0.0)178 b(100.0)44 b(100.0)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4756 25 92 v Black 0.95 TeXcolorgray
-128 4756 4252 92 v Black 0.95 TeXcolorgray 4124 4756
25 92 v Black 0.95 TeXcolorgray Black -128 4729 a
SDict begin H.S end
-128
4729 a -128 4729 a
SDict begin 11 H.A end
-128 4729 a -128 4729 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.8) cvn H.B /DEST pdfmark end
-128 4729
a 0 0 0 TeXcolorrgb 90 w Fo(main)p Black 0 0 0 TeXcolorrgb
851 w(Main)p Black 582 w(1)180 b(0.0)134 b(0.0)178 b(100.0)44
b(100.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4848 25 92 v Black 0.95 TeXcolorgray -128 4848 4252 92
v Black 0.95 TeXcolorgray 4124 4848 25 92 v Black 0.95
TeXcolorgray Black -128 4820 a
SDict begin H.S end
-128 4820 a -128 4820
a
SDict begin 11 H.A end
-128 4820 a -128 4820 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.9) cvn H.B /DEST pdfmark end
-128 4820 a 0 0 0 TeXcolorrgb
135 w Fo(g)p Black 0 0 0 TeXcolorrgb 941 w(Main)p Black
582 w(1)180 b(0.0)134 b(0.0)268 b(0.0)134 b(0.2)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4939 25 92
v Black 0.95 TeXcolorgray -128 4939 4252 92 v Black 0.95
TeXcolorgray 4124 4939 25 92 v Black 0.95 TeXcolorgray
Black -128 4912 a
SDict begin H.S end
-128 4912 a -128 4912 a
SDict begin 11 H.A end
-128 4912 a
-128 4912 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.10) cvn H.B /DEST pdfmark end
-128 4912 a 0 0 0 TeXcolorrgb 180 w Fo(nfib)p
Black 0 0 0 TeXcolorrgb 761 w(Main)p Black 493 w(465)179
b(0.0)134 b(0.2)268 b(0.0)134 b(0.2)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5030 25 92 v Black 0.95
TeXcolorgray -128 5030 4252 92 v Black 0.95 TeXcolorgray
4124 5030 25 92 v Black 0.95 TeXcolorgray Black -128
5003 a
SDict begin H.S end
-128 5003 a -128 5003 a
SDict begin 11 H.A end
-128 5003 a -128 5003
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.11) cvn H.B /DEST pdfmark end
-128 5003 a 0 0 0 TeXcolorrgb 135 w Fo(f)p Black 0 0 0
TeXcolorrgb 941 w(Main)p Black 582 w(1)180 b(0.0)134
b(0.0)178 b(100.0)89 b(99.8)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5122 25 92 v Black 0.95 TeXcolorgray
-128 5122 4252 92 v Black 0.95 TeXcolorgray 4124 5122
25 92 v Black 0.95 TeXcolorgray Black -128 5094 a
SDict begin H.S end
-128
5094 a -128 5094 a
SDict begin 11 H.A end
-128 5094 a -128 5094 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-175.12) cvn H.B /DEST pdfmark end
-128 5094
a 0 0 0 TeXcolorrgb 180 w Fo(nfib)p Black 0 0 0 TeXcolorrgb
761 w(Main)p Black 358 w(242785)g(100.0)g(99.8)178 b(100.0)89
b(99.8)p 0.95 TeXcolorgray -153 5146 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 5312 a FA(No)n(w)25
b(although)e(we)i(had)f(tw)o(o)h(calls)h(to)e Ft(nfib)h
FA(in)g(the)g(program,)e(it)i(is)h(immediately)e(clear)g(that)h(it)g(w)
o(as)h(the)f(call)g(from)e Ft(f)j FA(which)e(took)g(all)h(the)-128
5412 y(time.)-128 5557 y(The)20 b(actual)g(meaning)f(of)h(the)g(v)n
(arious)f(columns)g(in)i(the)f(output)f(is:)p Black -128
5759 a Fu(entries)p Black 42 w FA(The)h(number)e(of)i(times)h(this)f
(particular)f(point)h(in)g(the)g(call)h(graph)e(w)o(as)i(entered.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 98 113
TeXDict begin 98 112 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.98) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(98)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fu(indi)o(vidual)h(\045time)p
Black 42 w FA(The)e(percentage)g(of)h(the)g(total)g(run)g(time)g(of)g
(the)g(program)e(spent)i(at)h(this)g(point)e(in)h(the)h(call)f(graph.)p
Black -128 339 a Fu(indi)o(vidual)h(\045alloc)p Black
41 w FA(The)e(percentage)f(of)h(the)h(total)f(memory)f(allocations)h
(\(e)o(xcluding)e(pro\002ling)h(o)o(v)o(erheads\))f(of)i(the)h(program)
d(made)i(by)g(this)80 439 y(call.)p Black -128 605 a
Fu(inherited)i(\045time)p Black 41 w FA(The)f(percentage)f(of)g(the)i
(total)f(run)f(time)i(of)f(the)g(program)e(spent)i(belo)n(w)g(this)g
(point)g(in)g(the)g(call)h(graph.)p Black -128 771 a
Fu(inherited)g(\045alloc)p Black 41 w FA(The)g(percentage)f(of)i(the)g
(total)g(memory)f(allocations)g(\(e)o(xcluding)e(pro\002ling)i(o)o(v)o
(erheads\))e(of)j(the)g(program)e(made)h(by)g(this)80
871 y(call)g(and)e(all)i(of)f(its)h(sub-calls.)-128 1086
y(In)f(addition)f(you)h(can)g(use)g(the)g Ft(-P)h FA(R)-5
b(TS)21 b(option)e(to)h(get)g(the)g(follo)n(wing)f(additional)g
(information:)p Black -128 1302 a Fh(ticks)p Black 41
w FA(The)f(ra)o(w)g(number)f(of)h(time)g(\223ticks\224)h(which)f(were)g
(attrib)n(uted)f(to)i(this)g(cost-centre;)f(from)f(this,)i(we)g(get)f
(the)g Ft(\045time)g FA(\002gure)g(mentioned)80 1402
y(abo)o(v)o(e.)p Black -128 1568 a Fh(bytes)p Black 41
w FA(Number)24 b(of)h(bytes)g(allocated)g(in)g(the)h(heap)e(while)i(in)
f(this)h(cost-centre;)h(again,)e(this)h(is)h(the)e(ra)o(w)g(number)f
(from)g(which)h(we)h(get)f(the)80 1668 y Ft(\045alloc)20
b FA(\002gure)f(mentioned)f(abo)o(v)o(e.)-128 1883 y(What)28
b(about)f(recursi)n(v)o(e)f(functions,)h(and)g(mutually)f(recursi)n(v)o
(e)g(groups)g(of)h(functions?)46 b(Where)27 b(are)g(the)h(costs)g
(attrib)n(uted?)46 b(W)-7 b(ell,)30 b(although)-128 1983
y(GHC)20 b(does)e(k)o(eep)g(information)d(about)j(which)g(groups)f(of)h
(functions)f(called)h(each)g(other)f(recursi)n(v)o(ely)-5
b(,)16 b(this)j(information)d(isn')o(t)i(displayed)f(in)i(the)-128
2083 y(basic)i(time)f(and)g(allocation)f(pro\002le,)g(instead)h(the)g
(call-graph)f(is)i(\003attened)f(into)g(a)g(tree.)-128
2217 y
SDict begin H.S end
-128 2217 a -128 2217 a
SDict begin 12 H.A end
-128 2217 a -128 2217
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.1.1) cvn H.B /DEST pdfmark end
-128 2217 a Black 148 x Fp(5.1.1)p Black 90 w(Inser)r(ting)j(cost)h
(centres)g(b)n(y)h(hand)-128 2568 y FA(Cost)j(centres)e(are)h(just)g
(program)e(annotations.)42 b(When)27 b(you)f(say)g Ft(-auto-all)g
FA(to)h(the)g(compiler)m(,)f(it)h(automatically)f(inserts)h(a)g(cost)g
(centre)-128 2668 y(annotation)19 b(around)f(e)n(v)o(ery)g(top-le)n(v)o
(el)h(function)f(in)i(your)f(program,)f(b)n(ut)i(you)f(are)h(entirely)f
(free)h(to)g(add)f(the)h(cost)h(centre)e(annotations)g(yourself.)-128
2817 y(The)h(syntax)g(of)g(a)g(cost)h(centre)e(annotation)g(is)-128
2885 y
SDict begin H.S end
-128 2885 a -128 2885 a
SDict begin 12 H.A end
-128 2885 a -128 2885
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-176) cvn H.B /DEST pdfmark end
-128 2885 a 0.95 TeXcolorgray -153 2900 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2991 25 92 v Black 0.95 TeXcolorgray
-128 2991 4252 92 v Black 0.95 TeXcolorgray 4124 2991
25 92 v Black 0.95 TeXcolorgray Black -128 2964 a
SDict begin H.S end
-128
2964 a -128 2964 a
SDict begin 11 H.A end
-128 2964 a -128 2964 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-176.1) cvn H.B /DEST pdfmark end
-128 2964
a 225 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(SCC)p Black 44
w(")p 0 0 0 TeXcolorrgb(name)p Black -1 w(")45 b(#-})f(<)p
0 0 0 TeXcolorrgb(expression)p Black -1 w(>)p 0.95 TeXcolorgray
-153 3016 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3191 a FA(where)26 b Ft("name")g FA(is)h(an)g(arbitrary)d
(string,)k(that)e(will)h(become)f(the)g(name)g(of)g(your)f(cost)i
(centre)e(as)j(it)f(appears)e(in)i(the)f(pro\002ling)f(output,)i(and)
-128 3290 y Ft()f FA(is)j(an)o(y)d(Hask)o(ell)i(e)o
(xpression.)46 b(An)27 b Ft(SCC)h FA(annotation)d(e)o(xtends)i(as)h(f)o
(ar)f(to)h(the)g(right)f(as)h(possible)f(when)g(parsing.)46
b(\(SCC)-128 3390 y(stands)21 b(for)e("Set)i(Cost)g(Centre"\).)-128
3539 y(Here)g(is)g(an)f(e)o(xample)f(of)g(a)i(program)d(with)i(a)h
(couple)e(of)h(SCCs:)-128 3607 y
SDict begin H.S end
-128 3607 a -128 3607
a
SDict begin 12 H.A end
-128 3607 a -128 3607 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-177) cvn H.B /DEST pdfmark end
-128 3607 a 0.95 TeXcolorgray
-153 3622 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3714 25 92
v Black 0.95 TeXcolorgray -128 3714 4252 92 v Black 0.95
TeXcolorgray 4124 3714 25 92 v Black 0.95 TeXcolorgray
Black -128 3686 a
SDict begin H.S end
-128 3686 a -128 3686 a
SDict begin 11 H.A end
-128 3686 a
-128 3686 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.1) cvn H.B /DEST pdfmark end
-128 3686 a 0 0 0 TeXcolorrgb Fo(main)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(IO)p Black 45 w(\(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3805 25
92 v Black 0.95 TeXcolorgray -128 3805 4252 92 v Black
0.95 TeXcolorgray 4124 3805 25 92 v Black 0.95 TeXcolorgray
Black -128 3778 a
SDict begin H.S end
-128 3778 a -128 3778 a
SDict begin 11 H.A end
-128 3778 a
-128 3778 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.2) cvn H.B /DEST pdfmark end
-128 3778 a 0 0 0 TeXcolorrgb Fo(main)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(do)p Black 0 0 0 TeXcolorrgb
45 w(let)p Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 45
w(=)44 b({-#)p 0 0 0 TeXcolorrgb 45 w(SCC)p Black 44
w(")p 0 0 0 TeXcolorrgb(X)p Black(")g(#-})h([1..1000000])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3896 25
92 v Black 0.95 TeXcolorgray -128 3896 4252 92 v Black
0.95 TeXcolorgray 4124 3896 25 92 v Black 0.95 TeXcolorgray
Black -128 3869 a
SDict begin H.S end
-128 3869 a -128 3869 a
SDict begin 11 H.A end
-128 3869 a
-128 3869 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.3) cvn H.B /DEST pdfmark end
-128 3869 a 0 0 0 TeXcolorrgb 449 w Fo(let)p
Black 0 0 0 TeXcolorrgb 44 w(ys)p Black 45 w(=)f({-#)p
0 0 0 TeXcolorrgb 45 w(SCC)p Black 44 w(")p 0 0 0 TeXcolorrgb(Y)p
Black(")g(#-})h([1..2000000])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3988 25 92 v Black 0.95 TeXcolorgray
-128 3988 4252 92 v Black 0.95 TeXcolorgray 4124 3988
25 92 v Black 0.95 TeXcolorgray Black -128 3960 a
SDict begin H.S end
-128
3960 a -128 3960 a
SDict begin 11 H.A end
-128 3960 a -128 3960 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.4) cvn H.B /DEST pdfmark end
-128 3960
a 0 0 0 TeXcolorrgb 449 w Fo(print)p Black 0 0 0 TeXcolorrgb
44 w($)p Black 0 0 0 TeXcolorrgb 44 w(last)p Black 0 0 0
TeXcolorrgb 45 w(xs)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4079 25 92 v Black 0.95 TeXcolorgray
-128 4079 4252 92 v Black 0.95 TeXcolorgray 4124 4079
25 92 v Black 0.95 TeXcolorgray Black -128 4052 a
SDict begin H.S end
-128
4052 a -128 4052 a
SDict begin 11 H.A end
-128 4052 a -128 4052 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.5) cvn H.B /DEST pdfmark end
-128 4052
a 0 0 0 TeXcolorrgb 449 w Fo(print)p Black 0 0 0 TeXcolorrgb
44 w($)p Black 0 0 0 TeXcolorrgb 44 w(last)p Black 0 0 0
TeXcolorrgb 45 w($)p Black 0 0 0 TeXcolorrgb 44 w(init)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4170 25 92 v Black 0.95
TeXcolorgray -128 4170 4252 92 v Black 0.95 TeXcolorgray
4124 4170 25 92 v Black 0.95 TeXcolorgray Black -128
4143 a
SDict begin H.S end
-128 4143 a -128 4143 a
SDict begin 11 H.A end
-128 4143 a -128 4143
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.6) cvn H.B /DEST pdfmark end
-128 4143 a 0 0 0 TeXcolorrgb 449 w Fo(print)p Black
0 0 0 TeXcolorrgb 44 w($)p Black 0 0 0 TeXcolorrgb 44
w(last)p Black 0 0 0 TeXcolorrgb 45 w(ys)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4262 25 92
v Black 0.95 TeXcolorgray -128 4262 4252 92 v Black 0.95
TeXcolorgray 4124 4262 25 92 v Black 0.95 TeXcolorgray
Black -128 4234 a
SDict begin H.S end
-128 4234 a -128 4234 a
SDict begin 11 H.A end
-128 4234 a
-128 4234 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-177.7) cvn H.B /DEST pdfmark end
-128 4234 a 0 0 0 TeXcolorrgb 449 w Fo(print)p
Black 0 0 0 TeXcolorrgb 44 w($)p Black 0 0 0 TeXcolorrgb
44 w(last)p Black 0 0 0 TeXcolorrgb 45 w($)p Black 0 0 0
TeXcolorrgb 44 w(init)p Black 0 0 0 TeXcolorrgb 44 w(ys)p
Black 0.95 TeXcolorgray -153 4286 4302 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 6084 4252 5
v Black eop end
%%Page: 99 114
TeXDict begin 99 113 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.99) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3413 b Fz(99)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 3445 a FA(which)15 b(gi)n(v)o(es)g(this)h
(heap)e(pro\002le)h(when)f(run:)22 b @beginspecial 37
@llx 110 @lly 719 @urx 648 @ury 5102 @rwi 4025 @rhi @setspecial
%%BeginDocument: /64playpen/buildbot/x86_64-linux-stable/build/docs/users_guide//prof_scc.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
%%Title: (prof_scc.eps)
%%CreationDate: (Mon Apr 27 23:58:33 2009)
%%BoundingBox: 37 110 719 648
%%HiResBoundingBox: 37 110 719 648
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
%%EndComments
%%BeginDefaults
%%EndDefaults
%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/DirectClassImage
{
%
% Display a DirectClass image.
%
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ DirectClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayDirectClassPacket } image
} ifelse
} bind def
/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def
/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
/Times-Roman findfont pointsize scalefont setfont
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
grestore
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 37 110 719 648
userdict begin
DisplayImage
37 110
682 538
12.000000
645 428
0
0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB888888BBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB888888BBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB
BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000333333CCCCCCFFFFFF
444444000000000000000000000000000000000000FFFFFFCCCCCC555555000000000000
555555EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000000000000000000000444444FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC555555000000000000
555555EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF888888222222FFFFFFFFFFFFFFFFFFFFFFFF
000000FFFFFFFFFFFFFFFFFFFFFFFF444444888888FFFFFFEEEEEE666666555555FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF777777111111000000444444CCCCCCFFFFFFFFFFFFCCCCCC222222000000222222
CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF444444000000000000000000000000000000FFFFFF
FFFFFFEEEEEE666666000000222222CCCCCCFFFFFFFFFFFFFFFFFFCCCCCC000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFCCCCCC000000FFFFFFFFFFFFFFFFFFEEEEEE444444000000444444EEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444888888FFFFFFEEEEEE666666555555FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777111111000000444444CCCCCCFFFFFFFFFFFF
EEEEEE666666000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777111111
000000444444CCCCCCFFFFFFFFFFFFFFFFFFCCCCCC111111FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFCCCCCC111111FFFFFFFFFFFFFFFFFF444444000000000000
000000777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777111111000000444444CCCCCC
FFFFFFFFFFFFEEEEEE444444000000444444EEEEEEFFFFFFFFFFFFEEEEEE444444000000
444444EEEEEEFFFFFFCCCCCC222222000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC222222DDDDDD
FFFFFF777777222222FFFFFFFFFFFF111111BBBBBBFFFFFFBBBBBB111111FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777777777FFFFFFFFFFFF777777555555
EEEEEEAAAAAA222222FFFFFFFFFFFFEEEEEE555555000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFEEEEEE555555000000FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE555555
000000FFFFFFFFFFFFFFFFFF777777777777FFFFFF777777777777FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFCCCCCC222222DDDDDDFFFFFF777777222222FFFFFFFFFFFF777777555555EEEEEE
AAAAAA222222FFFFFFFFFFFFFFFFFFFFFFFFCCCCCC222222DDDDDDFFFFFF777777222222
FFFFFFFFFFFF666666000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
666666000000000000FFFFFFFFFFFFFFFFFF111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFCCCCCC222222DDDDDDFFFFFF777777222222FFFFFFFFFFFF777777
777777FFFFFF777777777777FFFFFFFFFFFF777777777777FFFFFF777777777777FFFFFF
111111BBBBBBFFFFFFBBBBBB111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB
BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE555555000000000000555555000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
888888444444FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF444444
555555BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000555555000000000000777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB999999FFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFF111111BBBBBBFFFFFFBBBBBB111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFCCCCCC444444FFFFFFFFFFFFFFFFFF333333CCCCCCFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF555555CCCCCC000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
555555CCCCCC000000FFFFFFFFFFFFFFFFFFFFFFFF555555CCCCCC000000FFFFFFFFFFFF
FFFFFF222222DDDDDDFFFFFFDDDDDD222222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
444444000000222222CCCCCC666666888888FFFFFFFFFFFF777777777777444444000000
444444FFFFFFFFFFFF777777111111000000444444CCCCCCFFFFFF999999111111000000
444444EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA333333EEEEEEEEEEEE333333BBBBBB
FFFFFFFFFFFFFFFFFFFFFFFF999999111111000000444444EEEEEEFFFFFF777777111111
000000444444CCCCCCFFFFFFEEEEEE666666000000000000777777FFFFFFEEEEEE555555
000000000000555555EEEEEEFFFFFF444444999999111111000000777777FFFFFFEEEEEE
555555000000000000555555000000FFFFFFFFFFFF999999111111000000444444EEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444999999444444FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
555555BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777111111000000444444CCCCCC
FFFFFF444444777777000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB999999
FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF333333CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBB999999FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFF000000BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFEEEEEE111111444444000000444444EEEEEEFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBB999999FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF222222DDDDDDFFFFFFDDDDDD
222222FFFFFFFFFFFF222222DDDDDDFFFFFFDDDDDD222222FFFFFF111111BBBBBBFFFFFF
BBBBBB111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666666666
EEEEEEEEEEEE666666000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000333333DDDDDDFFFFFF
FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE888888333333111111
666666DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
777777FFFFFFBBBBBB000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777666666FFFFFFFFFFFF777777
000000000000111111CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF333333
CCCCCCFFFFFFFFFFFFFFFFFF000000777777000000222222CCCCCCFFFFFF777777999999
FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777999999FFFFFF000000
FFFFFFFFFFFFFFFFFF777777999999FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000777777FFFFFF777777
444444AAAAAA333333FFFFFFFFFFFF222222CCCCCCFFFFFF000000FFFFFFFFFFFF999999
222222DDDDDDFFFFFFAAAAAA444444FFFFFF000000CCCCCCFFFFFF888888DDDDDDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF777777666666666666777777FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000CCCCCCFFFFFF888888DDDDDD999999222222DDDDDDFFFFFFAAAAAA444444
FFFFFF666666666666EEEEEEEEEEEE777777999999555555666666EEEEEEEEEEEE666666
555555FFFFFF000000777777FFFFFFBBBBBB000000FFFFFF555555666666EEEEEEEEEEEE
666666000000FFFFFFFFFFFF000000CCCCCCFFFFFF888888DDDDDDFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000000000000000000000BBBBBBFFFFFFFFFFFF000000777777
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE888888333333111111
666666DDDDDDFFFFFF999999222222DDDDDDFFFFFFAAAAAA444444FFFFFF000000777777
FFFFFF777777555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
666666FFFFFFFFFFFF000000777777000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF777777666666FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFFBBBBBBEEEEEEFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFBBBBBB
111111CCCCCCFFFFFF666666555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF777777666666FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
000000FFFFFFFFFFFFFFFFFF000000FFFFFF777777000000000000111111CCCCCCFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000EEEEEEFFFFFFFFFFFFEEEEEE
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF999999444444FFFFFFFFFFFFFFFFFFFFFFFF
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE777777444444FFFFFF
FFFFFFFFFFFFFFFFFF444444000000000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBB444444777777EEEEEEFFFFFF777777777777EEEEEEEEEEEE777777
666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999666666FFFFFFFFFFFFFFFFFF
FFFFFF111111BBBBBBFFFFFF888888222222AAAAAA666666FFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFAAAAAA666666FFFFFFFFFFFF000000FFFFFFFFFFFFAAAAAA
666666FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFEEEEEE000000FFFFFF111111
CCCCCCAAAAAA333333FFFFFFFFFFFF000000FFFFFFFFFFFF444444222222444444444444
444444000000FFFFFF555555777777BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE333333333333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555777777
BBBBBBFFFFFFFFFFFF444444222222444444444444444444000000FFFFFF000000EEEEEE
FFFFFFFFFFFFFFFFFFFFFFFF000000EEEEEEFFFFFFFFFFFFEEEEEE000000FFFFFF000000
FFFFFFFFFFFFFFFFFF000000FFFFFF000000EEEEEEFFFFFFFFFFFFEEEEEE000000FFFFFF
FFFFFF555555777777BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE777777444444FFFFFF
444444222222444444444444444444000000FFFFFF000000FFFFFFFFFFFFEEEEEE000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB444444777777EEEEEEFFFFFFFFFFFF
111111BBBBBBFFFFFF888888222222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB
444444777777EEEEEEFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB444444777777EEEEEE
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFF000000777777777777EEEEEEEEEEEE777777666666FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000EEEEEEFFFFFFFFFFFFEEEEEE000000FFFFFFFFFFFF
FFFFFFFFFFFF999999444444444444111111444444444444999999FFFFFF000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFFFFFFFF666666FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777555555
DDDDDDFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF555555FFFFFF
FFFFFFFFFFFF000000444444000000000000000000000000000000BBBBBBFFFFFFFFFFFF
FFFFFF444444000000000000000000000000000000BBBBBB444444000000000000000000
000000000000BBBBBBFFFFFF222222DDDDDDFFFFFFDDDDDD222222FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFEEEEEE000000FFFFFF666666777777666666888888
FFFFFFFFFFFF000000FFFFFFFFFFFF444444000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFCCCCCC777777444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE222222
333333EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC777777444444FFFFFF
444444000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000EEEEEEFFFFFFFFFFFFDDDDDD
CCCCCC000000EEEEEEFFFFFFFFFFFFEEEEEE000000FFFFFF000000FFFFFFFFFFFFFFFFFF
000000FFFFFF000000EEEEEEFFFFFFFFFFFFEEEEEE000000FFFFFFFFFFFFFFFFFFCCCCCC
777777444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF666666FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF444444000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF777777555555DDDDDDFFFFFFFFFFFFFFFFFFFFFFFF555555FFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777555555DDDDDDFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF777777555555DDDDDDFFFFFFFFFFFFFFFFFFFFFFFF222222
DDDDDDFFFFFFDDDDDD222222FFFFFFFFFFFF222222DDDDDDFFFFFFDDDDDD222222000000
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB
BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF555555666666EEEEEEEEEEEE666666000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF555555
AAAAAAFFFFFFFFFFFF777777444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB444444FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444777777EEEEEEEEEEEE777777444444FFFFFFEEEEEEBBBBBBFFFFFFFFFFFF
CCCCCC222222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777BBBBBBFFFFFF777777444444
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFEEEEEEBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFF666666777777FFFFFF777777666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
777777FFFFFF777777555555FFFFFFAAAAAA222222000000DDDDDDFFFFFFFFFFFF000000
FFFFFFFFFFFF888888000000777777FFFFFFBBBBBB222222999999777777FFFFFFCCCCCC
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555AAAAAA777777666666FFFFFF
FFFFFFFFFFFFFFFFFF999999777777FFFFFFCCCCCC000000FFFFFF888888000000777777
FFFFFFBBBBBB222222FFFFFF555555666666EEEEEEEEEEEE555555777777555555666666
EEEEEEEEEEEE666666555555FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFF666666
666666EEEEEEEEEEEE666666000000FFFFFF999999777777FFFFFFCCCCCC000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555
AAAAAAFFFFFFFFFFFF777777444444FFFFFF888888000000777777FFFFFFBBBBBB222222
FFFFFF000000777777FFFFFF777777555555FFFFFFFFFFFFFFFFFFFFFFFFBBBBBB444444
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777BBBBBBFFFFFF777777444444FFFFFF
FFFFFFFFFFFFFFFFFFBBBBBB444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFFFFFFFBBBBBBEEEEEEFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFF999999333333EEEEEEFFFFFF666666666666FFFFFFFFFFFFFFFFFFFFFFFF
BBBBBB444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666777777FFFFFF777777
666666FFFFFFFFFFFF666666777777FFFFFF777777666666444444777777EEEEEEEEEEEE
777777444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE555555
000000000000666666000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF111111EEEEEE
FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE555555000000000000
555555CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF777777000000000000000000000000000000FFFFFFDDDDDD555555
000000000000555555DDDDDDFFFFFFBBBBBB000000FFFFFFFFFFFF777777666666FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444000000333333CCCCCCFFFFFFFFFFFFFFFFFF
FFFFFF000000FFFFFFFFFFFFBBBBBB000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFEEEEEE444444
000000444444EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000777777000000222222
CCCCCCFFFFFFFFFFFF111111555555FFFFFFFFFFFFFFFFFF333333111111FFFFFFFFFFFF
777777111111000000444444CCCCCCDDDDDD333333000000111111999999FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF888888555555FFFFFFFFFFFF333333AAAAAAFFFFFFFFFFFFFFFFFF
DDDDDD333333000000111111999999FFFFFFFFFFFF777777111111000000444444CCCCCC
FFFFFFEEEEEE555555000000000000666666EEEEEEEEEEEE555555000000000000555555
EEEEEEFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFEEEEEE555555000000111111
777777000000FFFFFFDDDDDD333333000000111111999999FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE555555000000000000
555555CCCCCCFFFFFFFFFFFF777777111111000000444444CCCCCCFFFFFF000000777777
000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF777777000000000000000000000000
000000FFFFFFFFFFFFEEEEEE444444000000333333CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF
777777000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF
FFFFFFFFFFFF000000BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF
777777111111000000666666EEEEEEFFFFFFFFFFFFFFFFFFFFFFFF777777000000000000
000000000000000000FFFFFFFFFFFFEEEEEE444444000000444444EEEEEEFFFFFFFFFFFF
EEEEEE444444000000444444EEEEEEDDDDDD555555000000000000555555DDDDDDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
444444999999FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD
777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD777777
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEDDDDDD111111EEEEEEFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB
BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBB000000999999FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB888888BBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB888888
BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCCFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDEEEEEE
CCCCCC444444BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFEEEEEE2525443E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF222222DDDDDD666666DDDDDD444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC
2222550000CC202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF777777FFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1313440000EE0000FF383877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444EEEEEE777777CCCCCC333333FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF7B7B991515660000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999444444
DDDDDDAAAAAACCCCCCFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF606077
0808770000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE666666777777CCCCCCEEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3E3E660000990000FF0000FF0000FF
0000FF0000FF202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF444444888888444444AAAAAA444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE2020440000CC0000FF0000FF0000FF0000FF0000FF0000FF181877
EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444FFFFFF444444FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1C1C44
0000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEE
444444EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F991515660000EE0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC444444111111444444CCCCCC
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6D6D880707660000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BB9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF999999FFFFFFFFFFFFFFFFFF999999FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660B0B99
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
444444111111444444444444444444222222FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3333550000AA0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFCCCCCC2222550000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1313440000EE
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF777777222222777777DDDDDDFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8585991515660000EE0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
303066FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFAAAAAA444444333333999999EEEEEEFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF6060770808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE999999
555555333333888888777777444444FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3E3E660000990000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF222222777777DDDDDDFFFFFFFFFFFF
FFFFFF777777FFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2020440000CC0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BFBFCC1C1C440000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFCCCCCC333333444444444444CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9FAA1111550000EE0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF333333EEEEEE
FFFFFFEEEEEE333333FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF7B7B990E0E660000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
4B4B660A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF444444BBBBBBFFFFFFBBBBBB444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3333550000AA0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
444444444444444444444444444444444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFDDDDDD1C1C440000CC0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC
1717440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8585991515660000EE0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF6060770808770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3E3E66
0B0B990000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2525440000CC0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF1D1D55FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFCCCCCC2222550000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB0E0E44
0000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B7B991515660000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077CCCCCC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF4B4B660A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3E3E66000099
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD2020440000CC0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BB858599FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBFBFCC1717440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F991515660000EE
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D880808770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF4444660B0B990000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2525440000BB0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFCCCCCC2222550000CC0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
AFAFBB1313440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B7B991515660000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF6060770808770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877
EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
3E3E660000990000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2020440000CC0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBFBFCC1C1C440000DD0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BB9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9FAA
1111550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D880E0E660000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF4444660B0B990000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE333355
0000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC2222550000CC0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
303066FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBFBFCC1313440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF858599151566
0000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770808770000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE3E3E660000990000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2020440000CC
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC2222550000CC0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF9F9FAA1111550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
888888FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B7B990E0E660000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB6D6D88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF111111444444444444
777777EEEEEE444444444444333333CCCCCCFFFFFFFFFFFF000000555555FFFFFFFFFFFF
FFFFFF111111444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B4B660A0A880000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD555555FFFFFFFFFFFFFFFFFF888888888888
FFFFFFCCCCCC555555FFFFFFFFFFFF444444111111EEEEEEFFFFFFAAAAAA555555444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE3333550000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBB333333444444333333CCCCCC444444EEEEEEFFFFFFFFFFFF333333
FFFFFFFFFFFF444444666666999999FFFFFF666666999999444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1C1C440000CC0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC
AAAAAAFFFFFFEEEEEE333333444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444
AAAAAA555555FFFFFF222222EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1717440000EE0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
444444444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF444444FFFFFF222222CCCCCC
555555FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
8585991515660000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777888888FFFFFFEEEEEE444444888888888888
FFFFFFCCCCCC555555FFFFFFFFFFFF444444FFFFFF666666333333999999FFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770808770000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE444444444444333333CCCCCCEEEEEE444444444444333333CCCCCC
FFFFFFFFFFFF444444FFFFFFAAAAAA000000EEEEEEFFFFFF444444FFFFFF777777777777
777777585858BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF3E3E660B0B990000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
2525440000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC2222550000CC0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077DDDDDD
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFAFAFBB0E0E440000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B7B99
1515660000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B4B660A0A880000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BB858599FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE3E3E660000990000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD202044
0000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1C1C440000EE0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF8F8F991515660000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D88070766
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660B0B990000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE2525440000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC2222550000CC
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1313440000EE0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877
EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF7B7B991515660000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770808770000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3E3E660000990000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE2020440000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1C1C440000DD0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF9F9FAA1111550000EE0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6D6D880E0E660000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660B0B990000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
282855FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFEEEEEE3333550000AA0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC
2222550000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF171744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE222222FFFFFFFFFFFF111111444444444444777777FFFFFFFFFFFF000000
888888FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1313440000EE0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777111111
FFFFFFEEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF222222333333FFFFFFFFFFFF
EEEEEE222222444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF8585991515660000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB555555444444FFFFFFBBBBBB555555
555555666666EEEEEEFFFFFFFFFFFF444444444444DDDDDDFFFFFF999999777777444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF606077
0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF080877CCCCCCFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE333333EEEEEE444444FFFFFF999999555555EEEEEEBBBBBB444444
FFFFFFFFFFFF444444999999888888FFFFFF555555DDDDDD444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE3E3E660B0B990000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
888888FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444
EEEEEE333333EEEEEE333333FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE2020440000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777444444444444111111
444444969696CCCCCCFFFFFFEEEEEE333333FFFFFFFFFFFF444444FFFFFF666666777777
888888FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC222255
0000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB6D6D88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFCCCCCC333333
444444444444CCCCCCFFFFFFFFFFFF444444FFFFFFAAAAAA111111EEEEEEFFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000EE0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777777777
777777585858BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9FAA
0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF5050770000CC0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
AFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1C1C440000EE0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077DDDDDD
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2020440000EE
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBFBFCC1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BB9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF202044
0000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D880000AA0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF303066
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1515660000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7676880A0A880000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8585990A0A88
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717550000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF131344202077202077202077202077202077202077
202077202077202077202077202077202077202077606077FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000888888FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9FAA
0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000077
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE111111FFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF000000
555555FFFFFFFFFFFFFFFFFF111111444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000770000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555333333
FFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF444444111111EEEEEEFFFFFF
AAAAAA555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777AAAAAA444444FFFFFF444444EEEEEE
FFFFFFFFFFFF333333FFFFFFFFFFFF444444666666999999FFFFFF666666999999444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
AFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
282855FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
FFFFFFFFFFFFDDDDDD444444FFFFFFFFFFFFFFFFFF777777333333222222BBBBBBFFFFFF
777777444444444444444444000000BBBBBBAAAAAAFFFFFF777777777777FFFFFFFFFFFF
FFFFFF444444BBBBBBFFFFFFFFFFFF777777FFFFFF000000888888FFFFFFFFFFFFFFFFFF
555555444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA444444444444333333777777
FFFFFFFFFFFFFFFFFFFFFFFF999999000000DDDDDDFFFFFFFFFFFF111111444444444444
444444444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFBBBBBB777777FFFFFF444444FFFFFF444444FFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFF444444AAAAAA555555FFFFFF222222EEEEEE444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1D1D550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000077
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999AAAAAAFFFFFF555555111111
444444FFFFFFFFFFFF999999777777FFFFFFCCCCCC222222FFFFFFFFFFFFFFFFFFFFFFFF
888888888888FFFFFF555555FFFFFFFFFFFF333333CCCCCCFFFFFF999999777777FFFFFF
FFFFFFCCCCCC999999FFFFFF222222333333FFFFFFFFFFFFEEEEEE222222444444FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBB555555FFFFFFFFFFFFFFFFFF555555999999FFFFFFFFFFFF
FFFFFF333333777777777777FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
333333444444111111444444373737EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF444444
FFFFFF222222CCCCCC555555FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000CC0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF1D1D55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000770000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF555555FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
555555DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD555555FFFFFFFFFFFF
999999999999FFFFFFCCCCCC333333EEEEEE333333EEEEEEFFFFFFFFFFFF777777EEEEEE
FFFFFF444444444444DDDDDDFFFFFF999999777777444444EEEEEE444444444444333333
999999FFFFFFFFFFFF444444FFFFFF666666555555222222999999FFFFFFFFFFFFFFFFFF
666666DDDDDDFFFFFFFFFFFFFFFFFFDDDDDDDDDDDDFFFFFFFFFFFFDDDDDD333333DDDDDD
222222FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF444444FFFFFF666666333333
999999FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444666666333333
444444999999FFFFFFFFFFFFFFFFFF666666BBBBBBFFFFFFFFFFFFDDDDDD666666FFFFFF
FFFFFF777777333333BBBBBBFFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFF444444999999
888888FFFFFF555555DDDDDD444444DDDDDDAAAAAAFFFFFFFFFFFF444444FFFFFFFFFFFF
444444FFFFFF222222EEEEEEEEEEEE444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777888888FFFFFF333333BBBBBBFFFFFF
111111444444444444444444CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFEEEEEE444444
444444333333CCCCCCFFFFFFFFFFFF444444FFFFFFAAAAAA000000EEEEEEFFFFFF444444
FFFFFF777777777777777777585858BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE2020440000EE
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF
FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444777777FFFFFFFFFFFF333333FFFFFF
FFFFFFEEEEEE333333FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFDDDDDD999999FFFFFFFFFFFF444444EEEEEE333333EEEEEE333333
FFFFFF444444CCCCCC555555666666555555444444FFFFFFFFFFFF444444FFFFFF444444
FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF666666DDDDDDFFFFFFFFFFFFFFFFFFDDDDDD
999999FFFFFFFFFFFF222222333333444444222222666666FFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF080877CCCCCCFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000077
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFF888888777777FFFFFFEEEEEE333333FFFFFFFFFFFF888888888888
FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF
888888DDDDDDFFFFFFFFFFFF444444FFFFFF666666777777888888FFFFFF444444444444
EEEEEEFFFFFFEEEEEE444444FFFFFFFFFFFF444444FFFFFF444444FFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFBBBBBB555555EEEEEEFFFFFFFFFFFF555555777777FFFFFFAAAAAA
444444FFFFFFFFFFFFEEEEEE111111FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000770000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF555555FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
EEEEEE444444333333444444BBBBBBFFFFFFFFFFFF555555BBBBBBFFFFFFFFFFFFFFFFFF
BBBBBB888888FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF666666FFFFFFFFFFFF
FFFFFF444444FFFFFFAAAAAA111111EEEEEEFFFFFF444444999999333333444444333333
111111CCCCCCFFFFFF444444FFFFFF444444FFFFFFFFFFFF444444FFFFFFFFFFFF000000
FFFFFFAAAAAA333333444444333333777777FFFFFFFFFFFF666666999999FFFFFFFFFFFF
FFFFFF555555999999444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF282855
0000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF888888DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777DDDDDDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB858599FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF0000770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD777777
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFCCCCCC0C0C550000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF383877
383877383877383877383877383877383877383877383877383877383877383877383877
383877A3A3BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFDDDDDDEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1111550000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D880000AA0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7676880A0A88
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877EEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF3737660000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9494AA
0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BB9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1313440000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660000CC0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF303066
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1C1C440000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFF111111444444444444777777
FFFFFFFFFFFF000000888888FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999
777777FFFFFFDDDDDD555555EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF222222
333333FFFFFFFFFFFFEEEEEE222222444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE202044
0000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBCCCCCCFFFFFFEEEEEE
666666BBBBBB555555555555666666EEEEEEFFFFFFFFFFFF444444444444DDDDDDFFFFFF
999999777777444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777111111999999999999555555
EEEEEEBBBBBB444444FFFFFFFFFFFF444444999999888888FFFFFF555555DDDDDD444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBFBFCC1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD333333FFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFF444444EEEEEE333333EEEEEE333333FFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
6D6D88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888
BBBBBBFFFFFFFFFFFF333333BBBBBBCCCCCCFFFFFFEEEEEE333333FFFFFFFFFFFF444444
FFFFFF666666777777888888FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC333333444444444444
AAAAAACCCCCC333333444444444444CCCCCCFFFFFFFFFFFF444444FFFFFFAAAAAA111111
EEEEEEFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF777777777777777777585858BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1515660000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF1D1D55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF767688000088
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077DDDDDDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF858599
0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717550000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF3737660000DD0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB858599FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1D1D550000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000CC0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE202044
0000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877EEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFCCCCCC0E0E660000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000888888FFFFFFFFFFFFFFFFFF555555444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE444444444444333333CCCCCCEEEEEE444444444444333333CCCCCC
FFFFFFFFFFFF000000555555FFFFFFFFFFFFFFFFFF111111444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
888888FFFFFFEEEEEE555555888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF444444
111111EEEEEEFFFFFFAAAAAA555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF282855
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB
666666444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF444444666666999999FFFFFF
666666999999444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D880000AA
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777222222999999444444FFFFFF
FFFFFFFFFFFF444444FFFFFFFFFFFF444444AAAAAA555555FFFFFF222222EEEEEE444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1111550000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFCCCCCCEEEEEEFFFFFFFFFFFF444444444444EEEEEEFFFFFFFFFFFF333333
FFFFFFFFFFFF444444FFFFFF222222CCCCCC555555FFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
888888FFFFFFFFFFFF333333888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF444444
FFFFFF666666333333999999FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF767688
0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444444444
AAAAAAEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF444444FFFFFFAAAAAA000000
EEEEEEFFFFFF444444FFFFFF777777777777777777585858BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF080877CCCCCCFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
9494AA0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
6D6D88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3333550000CC0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660000CC0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1D1D55
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077DDDDDDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1010770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB8F8F99FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000AA0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1515660000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF303066FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF767688
0000990000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000888888FFFFFFFFFFFFFFFFFF555555444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE444444444444444444AAAAAAFFFFFF111111444444444444777777
FFFFFFFFFFFF111111333333FFFFFFFFFFFFFFFFFF111111444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999
888888FFFFFFEEEEEE333333CCCCCC666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
222222EEEEEEFFFFFFAAAAAA666666444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3737660000DD0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
333333BBBBBB111111444444333333CCCCCCFFFFFFFFFFFF444444777777999999FFFFFF
666666AAAAAA444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF9494AA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD555555999999DDDDDDDDDDDD
FFFFFFEEEEEE333333FFFFFFFFFFFF444444BBBBBB555555FFFFFF111111EEEEEE444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717440000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF777777333333BBBBBBFFFFFFCCCCCCEEEEEEFFFFFFFFFFFF444444
FFFFFFFFFFFF444444FFFFFF111111999999555555FFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA
555555FFFFFFFFFFFFFFFFFF888888777777FFFFFFEEEEEE444444FFFFFFFFFFFF444444
FFFFFF666666222222999999FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666333333444444444444
444444EEEEEE444444444444333333CCCCCCFFFFFFFFFFFF444444FFFFFFAAAAAA000000
EEEEEEFFFFFF444444FFFFFF777777777777777777585858BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE171744
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF282855
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000CC0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF1D1D55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF080877CCCCCCFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC0E0E660000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
6D6D88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6060770000AA
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D6D88
0000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1515660000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2828550000DD0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877EEEEEEFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF9494AA0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE1717550000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3333550000DD0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE171744
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF383838383838383838383838
383838383838383838383838383838383838383838383838383838383838A3A3A3FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
000000000000000000000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666333333444444AAAAAAEEEEEE444444
444444333333CCCCCCFFFFFFFFFFFF000000888888FFFFFFFFFFFFFFFFFF555555444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64646E0E0E1FFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF303066FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF999999777777FFFFFFEEEEEE333333888888888888FFFFFFCCCCCC555555
FFFFFFFFFFFF333333333333FFFFFFFFFFFFEEEEEE333333444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFDFDFDF060613050520C0C0C0FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
1D1D550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD
DDDDDDFFFFFFFFFFFF333333444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF444444
555555DDDDDDFFFFFF999999888888444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF11111C000000000000242434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000BB0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
000000000000000000000000000000000000000000000000000000000000585858FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD555555
999999444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444999999777777FFFFFF
555555DDDDDD444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64646E040413000000
0000000A0A15FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
000000000000000000000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBAAAAAAFFFFFFAAAAAA
444444FFFFFFFFFFFFEEEEEE222222DDDDDDFFFFFFFFFFFF777777FFFFFF000000888888
FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC444444
444444222222999999FFFFFFFFFFFFFFFFFFFFFFFF999999000000DDDDDDFFFFFFFFFFFF
111111444444444444444444444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777333333BBBBBBFFFFFF444444EEEEEE
FFFFFFFFFFFF333333FFFFFFFFFFFF444444FFFFFF333333EEEEEE444444FFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF06061300000000000000000000001551515A
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAA
FFFFFFFFFFFFDDDDDD444444FFFFFFFFFFFFFFFFFF777777444444222222BBBBBBFFFFFF
FFFFFF777777444444222222BBBBBBFFFFFF666666FFFFFFFFFFFF555555999999FFFFFF
666666888888FFFFFFFFFFFFDDDDDD999999FFFFFF000000555555FFFFFFFFFFFFFFFFFF
111111444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD444444EEEEEEFFFFFFEEEEEE222222
BBBBBBFFFFFFFFFFFFFFFFFF555555222222888888FFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFAAAAAA555555FFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC555555
FFFFFFFFFFFF444444FFFFFF666666777777999999FFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF11111C0000000000000000000000000000000E0E19FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666FFFFFFFFFFFF555555111111
444444FFFFFFFFFFFF999999888888FFFFFFCCCCCC222222FFFFFF999999888888FFFFFF
CCCCCC222222FFFFFF999999AAAAAAFFFFFFDDDDDD333333CCCCCC444444FFFFFFFFFFFF
FFFFFF888888DDDDDDFFFFFF444444111111EEEEEEFFFFFFAAAAAA555555444444FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF777777CCCCCCFFFFFFFFFFFFFFFFFF999999999999FFFFFFFFFFFF
EEEEEE000000999999333333FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666
333333444444444444444444EEEEEE444444444444333333CCCCCCFFFFFFFFFFFF444444
FFFFFFAAAAAA000000EEEEEEFFFFFF444444FFFFFFBBBBBBBBBBBBBBBBBB8A8A8ABBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64646E040413
000000000000000000000000000000050519C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1010770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
000000000000000000000000000000000000000000000000000000000000585858FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF555555FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
555555999999444444666666EEEEEEFFFFFF555555999999444444666666EEEEEEFFFFFF
DDDDDD777777FFFFFFFFFFFF888888111111CCCCCCFFFFFFFFFFFFFFFFFF777777FFFFFF
FFFFFF444444666666999999FFFFFF666666999999444444DDDDDD333333444444333333
999999FFFFFFFFFFFF444444FFFFFF666666555555222222999999FFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999555555FFFFFF
000000DDDDDDFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBBBBBBB8A8A8ABBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF060613000000000000000000000000
000000000000000000242434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
000000000000000000000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444444444EEEEEE
CCCCCC555555FFFFFF444444444444EEEEEECCCCCC555555FFFFFFFFFFFF444444FFFFFF
FFFFFF777777111111BBBBBBFFFFFFFFFFFFEEEEEE777777FFFFFFFFFFFF444444AAAAAA
555555FFFFFF222222EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
444444FFFFFF222222EEEEEEEEEEEE444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555AAAAAAFFFFFF555555999999FFFFFF
111111444444444444444444CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF11111C000000000000000000000000000000000000000000000000
070710FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF
FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444777777FFFFFFFFFFFF444444FFFFFF
444444777777FFFFFFFFFFFF444444FFFFFFFFFFFF444444FFFFFFBBBBBB222222CCCCCC
222222EEEEEEFFFFFF999999CCCCCCFFFFFFFFFFFF444444FFFFFF222222CCCCCC555555
FFFFFF444444CCCCCC888888BBBBBBBBBBBB444444FFFFFFFFFFFF444444FFFFFF444444
FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF777777BBBBBBFFFFFFFFFFFFFFFFFF999999
555555FFFFFFEEEEEE000000444444444444333333555555FFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64646E
04041300000000000000000000000000000000000000000000000000001551515AFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555FFFFFFFFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFF888888555555FFFFFFEEEEEE333333FFFFFF888888555555FFFFFF
EEEEEE333333FFFFFFCCCCCC777777FFFFFF333333BBBBBBFFFFFF777777777777FFFFFF
777777FFFFFFFFFFFFFFFFFF444444FFFFFF666666333333999999FFFFFF444444444444
EEEEEEFFFFFFCCCCCC444444FFFFFFFFFFFF444444FFFFFF444444FFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFDDDDDD444444EEEEEEFFFFFFEEEEEE444444999999FFFFFF999999
555555FFFFFFFFFFFFEEEEEE000000EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF060613000000000000000000
0000000000000000000000000000000000000000000E0E19FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
000000000000000000000000000000000000000000000000000000000000585858FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF666666EEEEEEFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
EEEEEE444444333333444444CCCCCCFFFFFFEEEEEE444444333333444444CCCCCCFFFFFF
888888AAAAAA777777555555FFFFFFFFFFFFEEEEEE111111CCCCCC777777FFFFFFFFFFFF
FFFFFF444444FFFFFFAAAAAA000000EEEEEEFFFFFF444444999999333333555555777777
222222CCCCCCFFFFFF444444FFFFFF444444FFFFFFFFFFFF444444FFFFFFFFFFFF000000
FFFFFFBBBBBB444444444444222222777777FFFFFFFFFFFF555555AAAAAAFFFFFFFFFFFF
FFFFFF555555999999444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF11111C000000000000000000000000000000000000000000
000000000000000000000000050519C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF606077
0000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
000000000000000000000000000000000000000000585858FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBB999999FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
64646E040413000000000000000000000000000000000000000000000000000000000000
000000000000242434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1111550000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF282855
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF131313202020202020202020202020202020202020202020202020202020
202020202020202020202020606060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF060613000000000000
0000000000000000000000000000000000000000000000000000000000000000000A0A15
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF101020000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000001551515AFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6D6D880000990000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF1D1D55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF64646E04041B000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000B0B1CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF050517000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000007071EC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10102000000E000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000001E1E36FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077CCCCCCFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6E6E7804041B000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000080819FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF08081E
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000001546465AFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3737660000DD0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E3600000E000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000B0B1CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF9494AA0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
858599FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF79798404041B000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000007071EC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE171744
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF
08081E000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
1E1E36FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E3600000E000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000080819FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF79798404041B000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000001546465AFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
1717440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
DFDFDF08081E000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000B0B1CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000CC0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E3600000E000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000007071EC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79798404041B000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000001E1E36
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE1C1C440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFDFDFDF08081E000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000080819FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E3600000E
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000B46465AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877EEEEEEFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79798404041B000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000C0C17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000888888FFFFFFFFFFFF
FFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFDFDFDF08081E000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
070716C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD444444FFFFFFFFFFFF111111
444444444444777777FFFFFFFFFFFF111111333333FFFFFFFFFFFFFFFFFF111111444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E36
00000D000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000016162AFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1010770000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BB9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF555555111111444444FFFFFFCCCCCC666666FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444222222EEEEEEFFFFFFAAAAAA666666444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79798404041B000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000090914DFDFDFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444FFFFFFBBBBBB111111444444333333CCCCCCFFFFFFFFFFFF444444
777777999999FFFFFF666666AAAAAA444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFDFDFDF050517000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000B46465AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF606077
0000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFFDDDDDDDDDDDDFFFFFFEEEEEE333333FFFFFFFFFFFF444444BBBBBB555555FFFFFF
111111EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
1E1E3600000D000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000080811FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFCCCCCCEEEEEE
FFFFFFFFFFFF444444FFFFFFFFFFFF444444FFFFFF111111999999555555FFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF797984070716000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000070716
A4A4A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF888888777777FFFFFFEEEEEE444444
FFFFFFFFFFFF444444FFFFFF666666222222999999FFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000016162AFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6D6D880000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF303066FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444FFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF444444
FFFFFFAAAAAA000000EEEEEEFFFFFF444444FFFFFF777777777777777777585858BBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF24243400000D000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000090914DFDFDFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1515660000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF797984070716000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000B46465AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000C0C17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF24243400000D000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000070716A4A4A4
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF797984070716
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000016162AFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000A0A1EDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF8585990A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF24243400000D000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000C46465AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE171755
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF797984
070716000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0B0B1CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB6D6D88
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000004041BA4A4A4FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF24243400000D000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000013132EFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
1717440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
797984070716000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000A0A1EDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000C46465AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202044
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24243400000D000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000B0B1C
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE1D1D550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF797984070716000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000004041BA4A4A4FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000CC0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000013132EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24243400000D000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000A0A1EDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF797984070716000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000C46465AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077DDDDDDFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF080811
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000B0B1CFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24243400000D000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000004041BA4A4A4FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF797984070716000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000141428FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF585877
0000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
858599FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF
070719000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000A0A18DFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC0C0C550000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22223900000D000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000C
4B4B55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF79798407071E000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000070715FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6060770000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE08081A000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000404138A8A8AFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22223900000D000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000141428FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD444444
FFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF000000888888FFFFFFFFFFFF
FFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90909C07071E000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000070712DFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF6D6D880000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF555555111111444444FFFFFF888888888888
FFFFFFCCCCCC555555FFFFFFFFFFFF333333333333FFFFFFFFFFFFEEEEEE333333444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF0A0A21000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000C3C3C44
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1717550000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF444444EEEEEEFFFFFFFFFFFF333333
FFFFFFFFFFFF444444555555DDDDDDFFFFFF999999888888444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22223900000D
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000070715FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444FFFFFF444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF444444
999999777777FFFFFF555555DDDDDD444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90909C07071E000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000404138A8A8AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877EEEEEEFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF444444FFFFFF333333EEEEEE
444444FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000141428FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD171755
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF888888888888
FFFFFFCCCCCC555555FFFFFFFFFFFF444444FFFFFF666666777777999999FFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF222239
00000D000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0A0A18DFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3737660000DD0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF000099BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFEEEEEE444444444444333333CCCCCC
FFFFFFFFFFFF444444FFFFFFAAAAAA000000EEEEEEFFFFFF444444FFFFFFBBBBBBBBBBBB
BBBBBB8A8A8ABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90909C07071E000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000D3C3C44FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF9494AA0A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBBBBBBB8A8A8ABBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000060618FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
1313440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
22223900000D000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000050517797984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000DD585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90909C07071E000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000141428FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000007071B
DFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE1717440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF22223900000D000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000D333345FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660000CC0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF282855FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90909C040414000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000060618FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070719000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000050517797984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE1717440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF22223900000C000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000141428FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5858770000BB
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF171755FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90909C040414
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000007071BDFDFDF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070715000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000D333345FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF080877CCCCCCFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF28283700000C000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000060618FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF585877
0000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A4
050510000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000050517797984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC1010770000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070715000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
141428FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB6D6D88
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF28283700000C000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000007071BDFDFDFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6060770000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
A4A4A4050510000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000D333345FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070715000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000070714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28283700000C000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000006060E797984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF6060770000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202044
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFA4A4A4050510000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000161623
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD1515660000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070715000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000007071BC0C0C0FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28283700000C000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000282837FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF7676880000880000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFA4A4A4050510000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000070714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD171755
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070715
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
06060E64646EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF101077DDDDDDFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28283700000C000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000F0F1AFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFA4A4A4050510000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000007071BC0C0C0FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
1717550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
888888FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
070715000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000282837FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3737660000DD0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF111111444444444444777777FFFFFFFFFFFF111111333333FFFFFFFFFFFF
FFFFFF111111444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28283700000C000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000A0A1AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC666666
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444222222EEEEEEFFFFFFAAAAAA666666444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFA4A4A4050510000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000070711
64646EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE1717440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000EE585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBB111111444444333333CCCCCC
FFFFFFFFFFFF444444777777999999FFFFFF666666AAAAAA444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF070715000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000161623FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939550000CC0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF505077FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFDDDDDDDDDDDDFFFFFFEEEEEE333333FFFFFFFFFFFF444444
BBBBBB555555FFFFFF111111EEEEEE444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28283700000C000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000050520C0C0C0FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
202044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFCCCCCCEEEEEEFFFFFFFFFFFF444444FFFFFFFFFFFF444444FFFFFF111111999999
555555FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A4050510000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000222239FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE1D1D550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF303066FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888777777
FFFFFFEEEEEE444444FFFFFFFFFFFF444444FFFFFF666666222222999999FFFFFF444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF070715000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000A0A1AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5050770000CC
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCC
FFFFFFFFFFFF444444FFFFFFAAAAAA000000EEEEEEFFFFFF444444FFFFFF777777777777
777777585858BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF282837000017
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000001564646E
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A405051B000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000121226FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
1C1C66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF070719000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000050520C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF585877
0000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D2D3C
000017000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000222239FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0070722000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0A0A1AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF000088BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000001564646EFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
5858770000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
333345000017000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000121226FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFCC0E0E660000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0070722000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000050520C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2020440000EE0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000CC585877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000222239FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF6060770000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF333345000017000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000A0A1A
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC1111550000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF2E2E55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0070722000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000001564646EFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2828550000EE0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF282855FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000141421FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6D6D880000AA0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF333345000017000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000050519C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD111155
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF1D1D55FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0070722
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000242434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000070710FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF7676880A0A880000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF333345000017000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000001551515AFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD
1717550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF080877CCCCCCFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0
070722000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000E0E19FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E2E550000DD0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000050519C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF9494AA0A0A880000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000BBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF333345000013000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
242434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE1717550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB858599
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C0C0C005051B000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000070710FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3333550000CC0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB585877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A21000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000001551515AFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9FAA0808770000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF585877FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C3C44000013000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000E0E19FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE1717440000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF3E3E66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFC0C0C0070717000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000007071EC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4444660000CC
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202044
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFF0D0D1D000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000242434
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFBB0808770000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF383877FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF3C3C4406060E000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000A0A15FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE1D1D550000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF292966FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF000000
888888FFFFFFFFFFFFFFFFFF555555444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFC0C0C0070717000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000001546465AFFFFFFFFFFFFFFFFFFFFFFFF585877
0000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF131344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF333333333333FFFFFFFFFFFF
EEEEEE333333444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFF0D0D1D
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000B0B1CFFFFFFFFFFFFFFFFFFAFAFBB1010770000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF202077
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEE
FFFFFFFFFFFF333333FFFFFFFFFFFF444444555555DDDDDDFFFFFF999999888888444444
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFF3C3C4406060E000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
07071EC0C0C0FFFFFFEEEEEE2020440000EE0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF181877EEEEEEFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFF444444999999777777FFFFFF555555DDDDDD444444FFFFFFFFFFFFFFFFFF
FFFFFFBBBBBBBBBBBBC0C0C0070717000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001E1E36FFFFFF
5858770000BB0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF000077BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF444444
FFFFFF333333EEEEEE444444FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
0D0D1D000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000080819BFBFCC1010770000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000AABBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF444444FFFFFF666666777777
999999FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFBBBBBB2C2C3506060E000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000001505051C0000AA0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000CC0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000BB
9F9FAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444
444444333333CCCCCCFFFFFFFFFFFF444444FFFFFFAAAAAA000000EEEEEEFFFFFF444444
FFFFFFBBBBBBBBBBBBBBBBBB686868030313000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000001F000020
000020000020000020000020000020000020000020000020000020000020000020000020
000020000020000020000020000020000020000020000020000020000020060625060625
060625060625060625060625060625060625060625060625060625060625060625060625
060625060625060625060625060625060625060625060625060625030332000025000025
000025000025000025000025000025000025000025000025000025000025000025000025
000025000025000025000025000025000025000025000025000025060645060645060645
060645060645060645060645060645060645060645060645060645060645060645060645
060645060645060645060645060645060645060645060645060645020234020234020234
020234020234020234020234020234020234020234020234020234020234020234020234
02023402023402023402023402023402023402023402023407075E090960090960090960
090960090960090960090960090960090960090960090960090960090960090960090960
090960090960090960090960090960090960090960090960000077000077000077000077
000077000077000077000077000077000077000077000077000077000077000077000077
0000770000770000770000770000770000770000770000990000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB
0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000BB0000884D4D6CFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
BBBBBB7878786060608A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A4141418A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A4141418A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A4141418A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A6F6F6F666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666664B4B4B4B4B4B666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666C2C2C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
BBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCC
FFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE
444444444444333333CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF666666333333444444
AAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333
CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF777777444444222222BBBBBBFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EEEEEE444444444444333333CCCCCCFFFFFFFFFFFFFFFFFFFFFFFF999999444444444444
CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFFFFFFFF
888888888888FFFFFFCCCCCC555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC
555555FFFFFFFFFFFFFFFFFFFFFFFF999999777777FFFFFFEEEEEE333333FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
222222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF
FFFFFF999999888888FFFFFFCCCCCC222222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFF
CCCCCC555555FFFFFFFFFFFFFFFFFFFFFFFF333333FFFFFFEEEEEE444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFF
FFFFFF333333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFF
FFFFFFFFFFFFDDDDDDDDDDDDFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEE
FFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFFFFFFFF777777999999444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFF555555999999
444444666666EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFF
FFFFFFFFFFFFFFFFFF444444EEEEEECCCCCC777777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999
444444444444222222DDDDDDEEEEEE444444444444444444CCCCCCEEEEEE444444444444
333333CCCCCCEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF666666555555222222
999999FFFFFFEEEEEE444444444444333333111111999999444444444444222222DDDDDD
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFF
FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFDDDDDD555555999999FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFFBBBBBB666666FFFFFF444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444444444EEEEEECCCCCC555555
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFFCCCCCC
444444444444222222999999FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFDDDDDD
EEEEEE777777888888FFFFFFEEEEEE444444777777BBBBBBFFFFFFDDDDDDAAAAAA666666
BBBBBBFFFFFFEEEEEE333333FFFFFFFFFFFF222222EEEEEEEEEEEE444444FFFFFF666666
BBBBBBFFFFFFEEEEEE111111444444EEEEEEFFFFFFDDDDDDEEEEEEFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333
FFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444
EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF777777333333BBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFF
444444333333444444111111444444CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF444444EEEEEEFFFFFFFFFFFF
333333FFFFFFFFFFFFFFFFFF444444777777FFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
444444EEEEEEFFFFFFFFFFFF333333FFFFFFFFFFFFFFFFFF555555CCCCCCFFFFFFEEEEEE
333333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD777777777777666666CCCCCC444444444444
444444444444444444444444FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFF444444FFFFFFFFFFFF444444FFFFFF444444FFFFFFFFFFFFFFFFFF
444444DDDDDD777777777777666666CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFFFFFFFF
888888888888FFFFFFCCCCCC555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC
555555FFFFFFFFFFFFFFFFFFFFFFFFAAAAAA555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFFCCCCCC555555FFFFFFFFFFFF
FFFFFF888888555555FFFFFFEEEEEE333333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888888888FFFFFF
CCCCCC555555FFFFFFFFFFFFFFFFFF555555CCCCCCFFFFFFEEEEEE333333FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFAAAAAACCCCCCFFFFFFDDDDDD444444666666CCCCCCFFFFFFEEEEEE888888
666666BBBBBBFFFFFFBBBBBB777777666666BBBBBBFFFFFFEEEEEE333333FFFFFFFFFFFF
444444FFFFFFFFFFFF444444FFFFFF666666BBBBBBFFFFFFEEEEEE111111AAAAAACCCCCC
FFFFFFDDDDDD444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF000000EEEEEE444444444444
333333CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF
000000FFFFFF666666333333444444444444444444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444
444444333333CCCCCCFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF444444FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFF000000FFFFFFEEEEEE444444
333333444444CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE444444444444333333CCCCCCFFFFFF
FFFFFF000000DDDDDD555555444444444444BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC
333333444444444444BBBBBBEEEEEE444444444444444444999999EEEEEE444444444444
333333CCCCCCEEEEEE444444444444333333CCCCCCFFFFFFFFFFFF444444FFFFFFFFFFFF
444444FFFFFFEEEEEE444444444444333333222222CCCCCC333333444444444444BBBBBB
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
end
%%PageTrailer
%%Trailer
%%EOF
%%EndDocument
@endspecial -128 3659 a
SDict begin H.S end
-128 3659 a -128 3659 a
SDict begin 12 H.A end
-128
3659 a -128 3659 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.1.2) cvn H.B /DEST pdfmark end
-128 3659 a Black 162 x Fp(5.1.2)p
Black 90 w(Rules)i(f)n(or)g(attrib)n(uting)g(costs)-128
3909 y
SDict begin H.S end
-128 3909 a -128 3909 a
SDict begin 12 H.A end
-128 3909 a -128 3909
a
SDict begin [ /View [/XYZ H.V] /Dest (prof-rules) cvn H.B /DEST pdfmark end
-128 3909 a 111 x FA(The)c(cost)h(of)f(e)n(v)n(aluating)e(an)o(y)i(e)
o(xpression)e(in)j(your)d(program)g(is)k(attrib)n(uted)d(to)h(a)h
(cost-centre)e(stack)h(using)g(the)g(follo)n(wing)f(rules:)p
Black -128 4224 a(\225)p Black 42 w(If)27 b(the)g(e)o(xpression)e(is)j
(part)e(of)h(the)f Fq(one-of)o(f)38 b FA(costs)27 b(of)g(e)n(v)n
(aluating)e(the)i(enclosing)e(top-le)n(v)o(el)g(de\002nition,)i(then)g
(costs)g(are)g(attrib)n(uted)f(to)h(the)-57 4324 y(stack)20
b(of)g(le)o(xically)g(enclosing)f Ft(SCC)h FA(annotations)e(on)i(top)g
(of)g(the)g(special)h Ft(CAF)f FA(cost-centre.)p Black
-128 4486 a(\225)p Black 42 w(Otherwise,)h(costs)h(are)g(attrib)n(uted)
f(to)g(the)h(stack)f(of)h(le)o(xically-enclosing)c Ft(SCC)k
FA(annotations,)e(appended)f(to)i(the)h(cost-centre)e(stack)i(in)g(ef)n
(fect)-57 4586 y(at)f(the)f Fq(call)g(site)h FA(of)f(the)g(current)f
(top-le)n(v)o(el)g(de\002nition)1528 4555 y Fn(1)1561
4586 y FA(.)25 b(Notice)c(that)f(this)h(is)g(a)f(recursi)n(v)o(e)f
(de\002nition.)p Black -128 4748 a(\225)p Black 42 w(T)m(ime)h(spent)g
(in)h(foreign)e(code)g(\(see)i(Chapter)p 1 0 0 TeXcolorrgb
1295 4749 a
SDict begin H.S end
1295 4749 a 1 0 0 TeXcolorrgb -1 x FA(8)p
1 0 0 TeXcolorrgb 1336 4691 a
SDict begin H.R end
1336 4691 a 1336 4748 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.8) cvn H.B /ANN pdfmark end
1336 4748 a Black FA(\))g(is)g(al)o(w)o(ays)g(attrib)n(uted)e(to)i(the)
f(cost)h(centre)f(in)g(force)g(at)g(the)h(Hask)o(ell)f(call-site)h(of)f
(the)h(foreign)-57 4847 y(function.)-128 5052 y(What)h(do)f(we)h(mean)f
(by)g(one-of)n(f)f(costs?)29 b(W)-7 b(ell,)23 b(Hask)o(ell)f(is)g(a)g
(lazy)g(language,)d(and)i(certain)g(e)o(xpressions)f(are)i(only)f(e)n
(v)o(er)f(e)n(v)n(aluated)g(once.)28 b(F)o(or)-128 5151
y(e)o(xample,)19 b(if)h(we)h(write:)-128 5215 y
SDict begin H.S end
-128
5215 a -128 5215 a
SDict begin 12 H.A end
-128 5215 a -128 5215 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-178) cvn H.B /DEST pdfmark end
-128 5215
a 0.95 TeXcolorgray -153 5230 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5322 25 92 v Black 0.95 TeXcolorgray -128 5322 4252 92
v Black 0.95 TeXcolorgray 4124 5322 25 92 v Black 0.95
TeXcolorgray Black -128 5294 a
SDict begin H.S end
-128 5294 a -128 5294
a
SDict begin 11 H.A end
-128 5294 a -128 5294 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-178.1) cvn H.B /DEST pdfmark end
-128 5294 a 0 0 0 TeXcolorrgb
Fo(x)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(nfib)p Black
44 w(25)p 0.95 TeXcolorgray -153 5347 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 5513 a FA(then)i
Ft(x)g FA(will)h(only)e(be)h(e)n(v)n(aluated)e(once)h(\(if)h(at)g
(all\),)h(and)e(subsequent)g(demands)f(for)i Ft(x)g FA(will)g
(immediately)f(get)h(to)g(see)g(the)g(cached)f(result.)33
b(The)-128 5613 y(de\002nition)19 b Ft(x)i FA(is)g(called)f(a)h(CAF)g
(\(Constant)f(Applicati)n(v)o(e)e(F)o(orm\),)h(because)h(it)h(has)f(no)
g(ar)o(guments.)p Black -128 5680 1701 4 v -7 5735 a
Fm(1)22 5759 y Fl(The)d(call-site)j(is)d(just)g(the)h(place)h(in)e(the)
h(source)g(code)g(which)g(mentions)g(the)f(particular)k(function)e(or)d
(v)n(ariable.)p Black Black -128 6084 4252 5 v Black
eop end
%%Page: 100 115
TeXDict begin 100 114 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.100) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(100)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(F)o(or)g(the)g(purposes)f(of)h
(pro\002ling,)f(we)h(say)h(that)f(the)g(e)o(xpression)f
Ft(nfib)49 b(25)20 b FA(belongs)f(to)i(the)f(one-of)n(f)e(costs)j(of)f
(e)n(v)n(aluating)e Ft(x)p FA(.)-128 316 y(Since)26 b(one-of)n(f)d
(costs)i(aren')o(t)f(strictly)h(speaking)f(part)h(of)g(the)g
(call-graph)e(of)i(the)g(program,)f(the)o(y)h(are)g(attrib)n(uted)f(to)
h(a)h(special)f(top-le)n(v)o(el)f(cost)-128 415 y(centre,)30
b Ft(CAF)p FA(.)f(There)f(may)g(be)g(one)g Ft(CAF)h FA(cost)g(centre)f
(for)g(each)g(module)g(\(the)g(def)o(ault\),)i(or)e(one)g(for)g(each)g
(top-le)n(v)o(el)f(de\002nition)h(with)h(an)o(y)-128
515 y(one-of)n(f)18 b(costs)j(\(this)g(beha)n(viour)d(can)i(be)g
(selected)g(by)g(gi)n(ving)f(GHC)i(the)f Ft(-caf-all)f
FA(\003ag\).)-128 657 y(If)i(you)g(think)f(you)g(ha)n(v)o(e)h(a)g
(weird)g(pro\002le,)f(or)h(the)g(call-graph)e(doesn')o(t)h(look)g(lik)o
(e)i(you)e(e)o(xpect)g(it)i(to,)f(feel)g(free)g(to)g(send)g(it)g(\(and)
g(your)e(program\))-128 757 y(to)i(us)f(at)p 0 1 0 0
TeXcolorcmyk 133 775 a
SDict begin H.S end
133 775 a 0 1 0 0 TeXcolorcmyk
-18 x FA(glasgo)n(w-hask)o(ell-b)n(ugs@hask)o(ell.or)o(g)p
0 1 0 0 TeXcolorcmyk 1293 700 a
SDict begin H.R end
1293 700 a 1293 757 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (mailto:glasgow-haskell-bugs@haskell.org) >> /Subtype /Link H.B /ANN pdfmark end
1293 757 a Black FA(.)-128 897 y
SDict begin H.S end
-128 897 a -128 897
a
SDict begin 12 H.A end
-128 897 a -128 897 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.2) cvn H.B /DEST pdfmark end
-128 897 a Black 174 x Fs(5.2)p
Black 108 w(Compiler)28 b(options)g(f)n(or)h(pr)n(o\002ling)-128
1198 y
SDict begin H.S end
-128 1198 a -128 1198 a
SDict begin 12 H.A end
-128 1198 a -128 1198
a
SDict begin [ /View [/XYZ H.V] /Dest (prof-compiler-options) cvn H.B /DEST pdfmark end
-128 1198 a Black -107 1357 a Fh(-prof)p Fu(:)p Black
66 w FA(T)-7 b(o)28 b(mak)o(e)f(use)h(of)g(the)g(pro\002ling)e(system)i
Fq(all)g FA(modules)f(must)g(be)h(compiled)e(and)i(link)o(ed)f(with)g
(the)h Ft(-prof)g FA(option.)46 b(An)o(y)27 b Ft(SCC)80
1457 y FA(annotations)19 b(you')l(v)o(e)e(put)j(in)h(your)e(source)g
(will)i(spring)e(to)i(life.)80 1586 y(W)m(ithout)f(a)g
Ft(-prof)g FA(option,)f(your)g Ft(SCC)p FA(s)h(are)g(ignored;)f(so)h
(you)g(can)g(compile)f Ft(SCC)p FA(-laden)f(code)i(without)f(changing)g
(it.)-128 1781 y(There)28 b(are)g(a)h(fe)n(w)f(other)f
(pro\002ling-related)f(compilation)g(options.)48 b(Use)29
b(them)f Fq(in)g(addition)f(to)h Ft(-prof)p FA(.)49 b(These)28
b(do)g(not)g(ha)n(v)o(e)g(to)g(be)g(used)-128 1880 y(consistently)20
b(for)f(all)i(modules)e(in)i(a)f(program.)p Black -107
2075 a Fh(-auto)p Fu(:)p Black 92 w FA(GHC)h(will)g(automatically)e
(add)g Ft(_scc_)h FA(constructs)f(for)h(all)h(top-le)n(v)o(el,)d(e)o
(xported)g(functions.)p Black -107 2234 a Fh(-auto-all)p
Fu(:)p Black 65 w Fq(All)j FA(top-le)n(v)o(el)e(functions,)f(e)o
(xported)g(or)i(not,)g(will)h(be)f(automatically)f Ft(_scc_)p
FA(')l(d.)p Black -107 2393 a Fh(-caf-all)p Fu(:)p Black
66 w FA(The)f(costs)h(of)f(all)h(CAFs)g(in)g(a)g(module)e(are)h
(usually)g(attrib)n(uted)f(to)i(one)f(\223big\224)f(CAF)j(cost-centre.)
j(W)m(ith)c(this)f(option,)g(all)h(CAFs)80 2492 y(get)h(their)g(o)n(wn)
g(cost-centre.)j(An)e(\223if)f(all)h(else)g(f)o(ails\224)f(option.)12
b(.)g(.)p Black -107 2651 a Fh(-ignore-scc)p Fu(:)p Black
65 w FA(Ignore)24 b(an)o(y)g Ft(_scc_)h FA(constructs,)g(so)h(a)g
(module)e(which)g(already)h(has)g Ft(_scc_)p FA(s)g(can)g(be)g
(compiled)f(for)h(pro\002ling)f(with)80 2751 y(the)c(annotations)f
(ignored.)-128 2891 y
SDict begin H.S end
-128 2891 a -128 2891 a
SDict begin 12 H.A end
-128 2891
a -128 2891 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.3) cvn H.B /DEST pdfmark end
-128 2891 a Black 174 x Fs(5.3)p Black
108 w(Time)29 b(and)g(allocation)f(pr)n(o\002ling)-128
3192 y
SDict begin H.S end
-128 3192 a -128 3192 a
SDict begin 12 H.A end
-128 3192 a -128 3192
a
SDict begin [ /View [/XYZ H.V] /Dest (prof-time-options) cvn H.B /DEST pdfmark end
-128 3192 a 107 x FA(T)-7 b(o)22 b(generate)e(a)i(time)f(and)g
(allocation)f(pro\002le,)h(gi)n(v)o(e)f(one)h(of)g(the)g(follo)n(wing)f
(R)-5 b(TS)22 b(options)e(to)i(the)f(compiled)f(program)f(when)i(you)f
(run)g(it)i(\(R)-5 b(TS)-128 3399 y(options)20 b(should)f(be)h
(enclosed)f(between)h Ft(+RTS...-RTS)e FA(as)j(usual\):)p
Black -107 3593 a Fh(-p)g Fu(or)f Fh(-P)p Fu(:)p Black
82 w FA(The)g Ft(-p)g FA(option)f(produces)g(a)h(standard)f
Fq(time)i(pr)l(o\002le)f FA(report.)k(It)c(is)h(written)f(into)g(the)g
(\002le)h Ft(program.prof)p FA(.)80 3723 y(The)f Ft(-P)g
FA(option)f(produces)g(a)h(more)g(detailed)f(report)g(containing)g(the)
h(actual)g(time)g(and)g(allocation)f(data)h(as)h(well.)k(\(Not)20
b(used)g(much.\))p Black -107 3881 a Fh(-xc)p Black 62
w FA(This)h(option)e(mak)o(es)h(use)h(of)g(the)f(e)o(xtra)g
(information)e(maintained)h(by)h(the)h(cost-centre-stack)e(pro\002ler)g
(to)i(pro)o(vide)d(useful)i(information)80 3981 y(about)f(the)h
(location)g(of)g(runtime)f(errors.)24 b(See)c(Section)p
1 0 0 TeXcolorrgb 1715 3982 a
SDict begin H.S end
1715 3982 a 1 0 0 TeXcolorrgb
-1 x FA(4.14.6)p 1 0 0 TeXcolorrgb 1923 3925 a
SDict begin H.R end
1923 3925
a 1923 3981 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.6) cvn H.B /ANN pdfmark end
1923 3981 a Black FA(.)-128 4104 y
SDict begin H.S end
-128
4104 a -128 4104 a
SDict begin 12 H.A end
-128 4104 a -128 4104 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.4) cvn H.B /DEST pdfmark end
-128 4104
a Black 191 x Fs(5.4)p Black 108 w(Pr)n(o\002ling)28
b(memor)q(y)g(usa)o(g)q(e)-128 4422 y
SDict begin H.S end
-128 4422 a -128
4422 a
SDict begin 12 H.A end
-128 4422 a -128 4422 a
SDict begin [ /View [/XYZ H.V] /Dest (prof-heap) cvn H.B /DEST pdfmark end
-128 4422 a 107 x FA(In)c(addition)f(to)
h(pro\002ling)e(the)i(time)h(and)e(allocation)g(beha)n(viour)f(of)h
(your)g(program,)g(you)g(can)h(also)g(generate)f(a)h(graph)e(of)i(its)h
(memory)d(usage)-128 4629 y(o)o(v)o(er)f(time.)31 b(This)22
b(is)h(useful)e(for)g(detecting)g(the)h(causes)h(of)e
Fq(space)h(leaks)p FA(,)g(when)g(your)e(program)g(holds)i(on)f(to)h
(more)g(memory)e(at)i(run-time)f(that)-128 4729 y(it)h(needs)e(to.)27
b(Space)20 b(leaks)h(lead)g(to)g(longer)e(run-times)h(due)g(to)h(hea)n
(vy)f(garbage)e(collector)i(acti)n(vity)-5 b(,)20 b(and)g(may)g(e)n(v)o
(en)g(cause)h(the)f(program)f(to)i(run)-128 4828 y(out)f(of)g(memory)f
(altogether)-5 b(.)-128 4971 y(T)e(o)21 b(generate)e(a)h(heap)g
(pro\002le)f(from)h(your)e(program:)-128 5054 y
SDict begin H.S end
-128
5054 a -128 5054 a
SDict begin 12 H.A end
-128 5054 a -128 5054 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.11) cvn H.B /DEST pdfmark end
-128 5054
a Black -24 5165 a FA(1.)p Black 41 w(Compile)i(the)g(program)e(for)i
(pro\002ling)e(\(Section)p 1 0 0 TeXcolorrgb 1533 5166
a
SDict begin H.S end
1533 5166 a 1 0 0 TeXcolorrgb -1 x FA(5.2)p 1 0 0 TeXcolorrgb
1637 5109 a
SDict begin H.R end
1637 5109 a 1637 5165 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.2) cvn H.B /ANN pdfmark end
1637 5165 a Black
FA(\).)-128 5213 y
SDict begin H.S end
-128 5213 a -128 5213 a
SDict begin 12 H.A end
-128 5213
a -128 5213 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.12) cvn H.B /DEST pdfmark end
-128 5213 a Black -24 5324 a FA(2.)p Black
41 w(Run)24 b(it)g(with)g(one)g(of)f(the)h(heap)f(pro\002ling)g
(options)g(described)f(belo)n(w)i(\(e)o(g.)35 b Ft(-hc)24
b FA(for)f(a)h(basic)h(producer)c(pro\002le\).)35 b(This)24
b(generates)f(the)80 5424 y(\002le)e Ft(prog.hp)p FA(.)-128
5466 y
SDict begin H.S end
-128 5466 a -128 5466 a
SDict begin 12 H.A end
-128 5466 a -128 5466
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.13) cvn H.B /DEST pdfmark end
-128 5466 a Black -24 5583 a FA(3.)p Black 41 w(Run)f
Fu(hp2ps)h FA(to)g(produce)d(a)i(Postscript)h(\002le,)f
Ft(prog.ps)p FA(.)k(The)c Fu(hp2ps)h FA(utility)f(is)i(described)c(in)j
(detail)f(in)g(Section)p 1 0 0 TeXcolorrgb 3457 5584
a
SDict begin H.S end
3457 5584 a 1 0 0 TeXcolorrgb -1 x FA(5.5)p 1 0 0 TeXcolorrgb
3561 5526 a
SDict begin H.R end
3561 5526 a 3561 5583 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.5.5) cvn H.B /ANN pdfmark end
3561 5583 a Black
FA(.)-128 5630 y
SDict begin H.S end
-128 5630 a -128 5630 a
SDict begin 12 H.A end
-128 5630 a
-128 5630 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.14) cvn H.B /DEST pdfmark end
-128 5630 a Black -24 5741 a FA(4.)p Black
41 w(Display)g(the)g(heap)g(pro\002le)f(using)h(a)h(postscript)e(vie)n
(wer)h(such)g(as)h(Ghostvie)n(w)-5 b(,)18 b(or)i(print)g(it)h(out)f(on)
f(a)i(Postscript-capable)d(printer)-5 b(.)p Black -128
6084 4252 5 v Black eop end
%%Page: 101 116
TeXDict begin 101 115 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.101) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(101)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.4.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(5.4.1)p
Black 90 w(R)n(TS)k(options)g(f)n(or)g(heap)h(pr)n(o\002ling)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (rts-options-heap-prof) cvn H.B /DEST pdfmark end
-128
262 a 110 x FA(There)e(are)g(se)n(v)o(eral)g(dif)n(ferent)e(kinds)i(of)
g(heap)f(pro\002le)h(that)g(can)g(be)h(generated.)32
b(All)24 b(the)f(dif)n(ferent)f(pro\002le)g(types)h(yield)g(a)h(graph)e
(of)h(li)n(v)o(e)g(heap)-128 471 y(against)18 b(time,)g(b)n(ut)g(the)o
(y)f(dif)n(fer)g(in)h(ho)n(w)g(the)g(li)n(v)o(e)g(heap)f(is)i(brok)o
(en)d(do)n(wn)h(into)h(bands.)23 b(The)18 b(follo)n(wing)e(R)-5
b(TS)19 b(options)e(select)i(which)e(break-do)n(wn)-128
571 y(to)k(use:)p Black -107 773 a Fh(-hc)p Black 62
w FA(Breaks)f(do)n(wn)f(the)i(graph)d(by)i(the)g(cost-centre)f(stack)i
(which)e(produced)f(the)i(data.)p Black -107 934 a Fh(-hm)p
Black 62 w FA(Break)g(do)n(wn)f(the)h(li)n(v)o(e)g(heap)g(by)g(the)g
(module)f(containing)f(the)i(code)g(which)f(produced)f(the)i(data.)p
Black -107 1096 a Fh(-hd)p Black 62 w FA(Breaks)28 b(do)n(wn)f(the)h
(graph)e(by)i Fq(closur)m(e)g(description)p FA(.)47 b(F)o(or)28
b(actual)f(data,)j(the)e(description)e(is)j(just)g(the)e(constructor)f
(name,)k(for)d(other)80 1196 y(closures)20 b(it)h(is)g(a)f(compiler)n
(-generated)d(string)j(identifying)e(the)i(closure.)p
Black -107 1357 a Fh(-hy)p Black 62 w FA(Breaks)28 b(do)n(wn)f(the)g
(graph)g(by)g Fq(type)p FA(.)48 b(F)o(or)27 b(closures)h(which)f(ha)n
(v)o(e)g(function)f(type)i(or)f(unkno)n(wn/polymorphic)22
b(type,)29 b(the)f(string)f(will)80 1457 y(represent)19
b(an)h(approximation)d(to)k(the)f(actual)g(type.)p Black
-107 1618 a Fh(-hr)p Black 62 w FA(Break)g(do)n(wn)f(the)h(graph)f(by)h
Fq(r)m(etainer)g(set)p FA(.)26 b(Retainer)20 b(pro\002ling)f(is)i
(described)e(in)h(more)f(detail)i(belo)n(w)e(\(Section)p
1 0 0 TeXcolorrgb 3412 1619 a
SDict begin H.S end
3412 1619 a 1 0 0 TeXcolorrgb
-1 x FA(5.4.2)p 1 0 0 TeXcolorrgb 3578 1562 a
SDict begin H.R end
3578 1562
a 3578 1618 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.5.4.2) cvn H.B /ANN pdfmark end
3578 1618 a Black FA(\).)p Black -107 1780
a Fh(-hb)p Black 62 w FA(Break)h(do)n(wn)f(the)h(graph)f(by)h
Fq(bio)o(gr)o(aphy)p FA(.)j(Biographical)18 b(pro\002ling)h(is)i
(described)e(in)h(more)g(detail)g(belo)n(w)g(\(Section)p
1 0 0 TeXcolorrgb 3521 1781 a
SDict begin H.S end
3521 1781 a 1 0 0 TeXcolorrgb
-1 x FA(5.4.3)p 1 0 0 TeXcolorrgb 3687 1723 a
SDict begin H.R end
3687 1723
a 3687 1780 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.5.4.3) cvn H.B /ANN pdfmark end
3687 1780 a Black FA(\).)-128 1982 y(In)k(addition,)f
(the)h(pro\002le)f(can)h(be)f(restricted)h(to)f(heap)h(data)f(which)g
(satis\002es)j(certain)d(criteria)g(-)h(for)g(e)o(xample,)f(you)f
(might)i(w)o(ant)f(to)h(display)g(a)-128 2081 y(pro\002le)c(by)g(type)g
(b)n(ut)h(only)e(for)h(data)g(produced)e(by)i(a)h(certain)f(module,)f
(or)h(a)h(pro\002le)f(by)g(retainer)f(for)h(a)h(certain)f(type)g(of)g
(data.)25 b(Restrictions)c(are)-128 2181 y(speci\002ed)f(as)h(follo)n
(ws:)p Black -107 2383 a Fh(-hc)p Ff(name)p Fu(,...)p
Black 66 w FA(Restrict)g(the)f(pro\002le)f(to)i(closures)e(produced)f
(by)i(cost-centre)f(stacks)i(with)f(one)g(of)f(the)i(speci\002ed)f
(cost)g(centres)g(at)h(the)f(top.)p Black -107 2545 a
Fh(-hC)p Ff(name)p Fu(,...)p Black 66 w FA(Restrict)j(the)f(pro\002le)g
(to)h(closures)f(produced)e(by)i(cost-centre)f(stacks)i(with)g(one)f
(of)g(the)g(speci\002ed)g(cost)h(centres)f(an)o(ywhere)f(in)80
2644 y(the)f(stack.)p Black -107 2806 a Fh(-hm)p Ff(module)p
Fu(,...)p Black 65 w FA(Restrict)h(the)f(pro\002le)g(to)g(closures)g
(produced)e(by)i(the)g(speci\002ed)g(modules.)p Black
-107 2967 a Fh(-hd)p Ff(desc)r Fu(,...)p Black 66 w FA(Restrict)h(the)f
(pro\002le)f(to)i(closures)e(with)i(the)f(speci\002ed)g(description)f
(strings.)p Black -107 3129 a Fh(-hy)p Ff(type)p Fu(,...)p
Black 66 w FA(Restrict)i(the)f(pro\002le)f(to)i(closures)e(with)i(the)f
(speci\002ed)g(types.)p Black -107 3290 a Fh(-hr)p Ff(cc)r
Fu(,...)p Black 66 w FA(Restrict)j(the)e(pro\002le)h(to)g(closures)f
(with)h(retainer)f(sets)i(containing)d(cost-centre)h(stacks)h(with)g
(one)f(of)h(the)g(speci\002ed)f(cost)h(centres)80 3390
y(at)f(the)f(top.)p Black -107 3551 a Fh(-hb)p Ff(bio)r
Fu(,...)p Black 65 w FA(Restrict)25 b(the)g(pro\002le)f(to)g(closures)g
(with)h(one)f(of)g(the)h(speci\002ed)f(biographies,)f(where)h
Fr(bio)g FA(is)i(one)e(of)g Ft(lag)p FA(,)h Ft(drag)p
FA(,)g Ft(void)p FA(,)g(or)80 3651 y Ft(use)p FA(.)-128
3853 y(F)o(or)20 b(e)o(xample,)f(the)h(follo)n(wing)f(options)g(will)i
(generate)e(a)h(retainer)g(pro\002le)f(restricted)h(to)g
Ft(Branch)g FA(and)f Ft(Leaf)h FA(constructors:)-128
3916 y
SDict begin H.S end
-128 3916 a -128 3916 a
SDict begin 12 H.A end
-128 3916 a -128 3916
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-179) cvn H.B /DEST pdfmark end
-128 3916 a 0.95 TeXcolorgray -153 3931 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4023 25 92 v Black 0.95 TeXcolorgray
-128 4023 4252 92 v Black 0.95 TeXcolorgray 4124 4023
25 92 v Black 0.95 TeXcolorgray Black -128 3995 a
SDict begin H.S end
-128
3995 a -128 3995 a
SDict begin 11 H.A end
-128 3995 a -128 3995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-179.1) cvn H.B /DEST pdfmark end
-128 3995
a 0 0 0 TeXcolorrgb Fo(prog)p Black 45 w(+)p 0 0 0 TeXcolorrgb
-1 w(RTS)p Black 45 w(-)p 0 0 0 TeXcolorrgb(hr)p Black
44 w(-)p 0 0 0 TeXcolorrgb(hdBranch)p Black -1 w(,)p
0 0 0 TeXcolorrgb -1 w(Leaf)p Black 0.95 TeXcolorgray
-153 4048 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4213 a FA(There)28 b(can)g(only)g(be)g(one)g("break-do)n
(wn")d(option)i(\(e)o(g.)48 b Ft(-hr)29 b FA(in)f(the)h(e)o(xample)d
(abo)o(v)o(e\),)j(b)n(ut)f(there)g(is)h(no)f(limit)h(on)f(the)g(number)
e(of)j(further)-128 4312 y(restrictions)23 b(that)f(may)h(be)f
(applied.)31 b(All)24 b(the)e(options)g(may)g(be)h(combined,)e(with)i
(one)f(e)o(xception:)28 b(GHC)c(doesn')o(t)d(currently)g(support)g
(mixing)-128 4412 y(the)g Ft(-hr)f FA(and)f Ft(-hb)i
FA(options.)-128 4557 y(There)f(are)g(three)g(more)f(options)g(which)h
(relate)g(to)g(heap)g(pro\002ling:)p Black -107 4759
a Fh(-i)p Ff(secs)q Fu(:)p Black 66 w FA(Set)h(the)g(pro\002ling)f
(\(sampling\))f(interv)n(al)h(to)h Fr(secs)g FA(seconds)f(\(the)h(def)o
(ault)f(is)i(0.1)e(second\).)26 b(Fractions)20 b(are)h(allo)n(wed:)26
b(for)20 b(e)o(xample)80 4859 y Ft(-i0.2)g FA(will)g(get)g(5)g(samples)
h(per)e(second.)24 b(This)c(only)f(af)n(fects)h(heap)f(pro\002ling;)g
(time)h(pro\002les)g(are)g(al)o(w)o(ays)g(sampled)g(on)f(a)i(1/50)e
(second)80 4958 y(frequenc)o(y)-5 b(.)p Black -107 5120
a Fh(-xt)p Black 62 w FA(Include)17 b(the)h(memory)f(occupied)f(by)i
(threads)g(in)g(a)h(heap)f(pro\002le.)23 b(Each)18 b(thread)f(tak)o(es)
i(up)f(a)h(small)f(area)g(for)g(its)h(thread)f(state)h(in)f(addition)80
5219 y(to)i(the)h(space)f(allocated)f(for)h(its)h(stack)f(\(stacks)h
(normally)d(start)j(small)g(and)e(then)h(gro)n(w)f(as)i(necessary\).)80
5350 y(This)f(includes)g(the)g(main)g(thread,)f(so)h(using)g
Ft(-xt)g FA(is)h(a)g(good)e(w)o(ay)h(to)g(see)h(ho)n(w)f(much)f(stack)h
(space)h(the)f(program)e(is)j(using.)80 5480 y(Memory)h(occupied)g(by)i
(threads)f(and)g(their)h(stacks)g(is)h(labelled)e(as)h(\223TSO\224)g
(when)f(displaying)g(the)g(pro\002le)g(by)h(closure)f(description)f(or)
80 5580 y(type)e(description.)p Black -107 5741 a Fh(-L)p
Ff(num)p Black 65 w FA(Sets)h(the)g(maximum)d(length)h(of)h(a)h
(cost-centre)e(stack)h(name)g(in)g(a)h(heap)e(pro\002le.)24
b(Def)o(aults)d(to)f(25.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 102 117
TeXDict begin 102 116 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.102) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(102)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.4.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(5.4.2)p
Black 90 w(Retainer)j(Pr)n(o\002ling)-128 262 y
SDict begin H.S end
-128
262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (retainer-prof) cvn H.B /DEST pdfmark end
-128 262 a 109
x FA(Retainer)18 b(pro\002ling)e(is)j(designed)d(to)i(help)f(answer)g
(questions)g(lik)o(e)h(`why)e(is)j(this)f(data)f(being)g(retained?'.)23
b(W)-7 b(e)18 b(start)h(by)e(de\002ning)f(what)i(we)g(mean)-128
471 y(by)i(a)h(retainer:)p Black Black 80 671 a(A)g(retainer)e(is)i
(either)f(the)g(system)h(stack,)f(or)g(an)g(une)n(v)n(aluated)d
(closure)j(\(thunk\).)-128 872 y(In)g(particular)m(,)f(constructors)f
(are)i Fq(not)i FA(retainers.)-128 1016 y(An)d(object)f(B)h(retains)f
(object)g(A)h(if)f(\(i\))g(B)i(is)f(a)g(retainer)e(object)h(and)g
(\(ii\))g(object)g(A)h(can)f(be)g(reached)f(by)h(recursi)n(v)o(ely)e
(follo)n(wing)h(pointers)g(starting)-128 1116 y(from)h(object)h(B,)g(b)
n(ut)g(not)g(meeting)f(an)o(y)g(other)g(retainer)g(objects)g(on)h(the)g
(w)o(ay)-5 b(.)24 b(Each)18 b(li)n(v)o(e)h(object)f(is)i(retained)e(by)
g(one)h(or)f(more)g(retainer)g(objects,)-128 1216 y(collecti)n(v)o(ely)
h(called)h(its)h(retainer)f(set,)h(or)e(its)j Fq(r)m(etainer)e(set)p
FA(,)h(or)e(its)j Fq(r)m(etainer)o(s)p FA(.)-128 1360
y(When)17 b(retainer)f(pro\002ling)g(is)i(requested)e(by)g(gi)n(ving)g
(the)h(program)e(the)i Ft(-hr)g FA(option,)f(a)i(graph)d(is)j
(generated)e(which)g(is)i(brok)o(en)d(do)n(wn)h(by)h(retainer)-128
1460 y(set.)43 b(A)27 b(retainer)e(set)i(is)f(displayed)f(as)i(a)f(set)
h(of)f(cost-centre)e(stacks;)30 b(because)25 b(this)h(is)h(usually)f
(too)f(lar)o(ge)g(to)h(\002t)h(on)e(the)h(pro\002le)g(graph,)f(each)
-128 1559 y(retainer)e(set)i(is)g(numbered)c(and)i(sho)n(wn)g(abbre)n
(viated)f(on)h(the)h(graph)e(along)h(with)h(its)g(number)m(,)f(and)g
(the)h(full)f(list)i(of)f(retainer)e(sets)j(is)g(dumped)-128
1659 y(into)20 b(the)h(\002le)f Ft(prog.prof)p FA(.)-128
1803 y(Retainer)i(pro\002ling)e(requires)h(multiple)g(passes)h(o)o(v)o
(er)f(the)g(li)n(v)o(e)h(heap)f(in)h(order)e(to)i(disco)o(v)o(er)e(the)
i(full)f(retainer)g(set)h(for)f(each)h(object,)f(which)g(can)-128
1903 y(be)h(quite)g(slo)n(w)-5 b(.)31 b(So)22 b(we)h(set)g(a)f(limit)h
(on)e(the)h(maximum)f(size)i(of)e(a)i(retainer)e(set,)i(where)f(all)h
(retainer)e(sets)i(lar)o(ger)e(than)g(the)h(maximum)f(retainer)-128
2003 y(set)g(size)g(are)f(replaced)f(by)h(the)g(special)h(set)g
Ft(MANY)p FA(.)e(The)h(maximum)f(set)i(size)g(def)o(aults)e(to)i(8)f
(and)g(can)g(be)g(altered)f(with)i(the)f Ft(-R)g FA(R)-5
b(TS)21 b(option:)p Black -128 2203 a Fh(-R)p Ff(size)p
Black 41 w FA(Restrict)g(the)f(number)f(of)h(elements)g(in)g(a)h
(retainer)e(set)i(to)f Fr(size)g FA(\(def)o(ault)f(8\).)-128
2332 y
SDict begin H.S end
-128 2332 a -128 2332 a
SDict begin 12 H.A end
-128 2332 a -128 2332
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.4.2.1) cvn H.B /DEST pdfmark end
-128 2332 a Black 129 x Fx(5.4.2.1)p Black 73 w(Hints)g(f)o(or)h
(using)f(retainer)g(pr)o(o\002ling)-128 2659 y FA(The)k(de\002nition)e
(of)i(retainers)f(is)h(designed)f(to)g(re\003ect)h(a)g(common)e(cause)i
(of)f(space)h(leaks:)30 b(a)23 b(lar)o(ge)f(structure)f(is)j(retained)e
(by)g(an)g(une)n(v)n(aluated)-128 2759 y(computation,)e(and)i(will)g
(be)g(released)g(once)f(the)h(computation)d(is)k(forced.)29
b(A)22 b(good)f(e)o(xample)f(is)j(looking)d(up)i(a)g(v)n(alue)f(in)h(a)
h(\002nite)f(map,)g(where)-128 2859 y(unless)g(the)f(lookup)f(is)i
(forced)e(in)i(a)f(timely)h(manner)d(the)j(une)n(v)n(aluated)d(lookup)g
(will)j(cause)g(the)f(whole)g(mapping)e(to)j(be)f(retained.)28
b(These)21 b(kind)-128 2958 y(of)27 b(space)g(leaks)g(can)f(often)g(be)
h(eliminated)f(by)h(forcing)e(the)i(rele)n(v)n(ant)e(computations)g(to)
i(be)g(performed)d(eagerly)-5 b(,)27 b(using)f Ft(seq)h
FA(or)f(strictness)-128 3058 y(annotations)19 b(on)h(data)g
(constructor)e(\002elds.)-128 3202 y(Often)k(a)g(particular)f(data)h
(structure)f(is)i(being)e(retained)f(by)i(a)g(chain)g(of)f(une)n(v)n
(aluated)f(closures,)i(only)f(the)h(nearest)f(of)h(which)f(will)i(be)f
(reported)-128 3302 y(by)e(retainer)g(pro\002ling)f(-)h(for)g(e)o
(xample)f(A)i(retains)f(B,)h(B)g(retains)g(C,)g(and)e(C)j(retains)e(a)h
(lar)o(ge)e(structure.)25 b(There)19 b(might)h(be)g(a)h(lar)o(ge)e
(number)g(of)h(Bs)-128 3402 y(b)n(ut)g(only)e(a)h(single)g(A,)h(so)f(A)
h(is)g(really)f(the)g(one)f(we')l(re)h(interested)f(in)h(eliminating.)
24 b(Ho)n(we)n(v)o(er)m(,)17 b(retainer)h(pro\002ling)g(will)i(in)f
(this)h(case)f(report)f(B)i(as)-128 3501 y(the)i(retainer)e(of)h(the)g
(lar)o(ge)f(structure.)27 b(T)-7 b(o)21 b(mo)o(v)o(e)f(further)f(up)i
(the)g(chain)g(of)g(retainers,)f(we)i(can)f(ask)g(for)g(another)e
(retainer)i(pro\002le)f(b)n(ut)h(this)h(time)-128 3601
y(restrict)f(the)f(pro\002le)f(to)i(B)g(objects,)f(so)g(we)h(get)f(a)h
(pro\002le)e(of)h(the)g(retainers)g(of)g(B:)-128 3664
y
SDict begin H.S end
-128 3664 a -128 3664 a
SDict begin 12 H.A end
-128 3664 a -128 3664 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-180) cvn H.B /DEST pdfmark end
-128
3664 a 0.95 TeXcolorgray -153 3679 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3770 25 92 v Black 0.95 TeXcolorgray -128 3770 4252
92 v Black 0.95 TeXcolorgray 4124 3770 25 92 v Black
0.95 TeXcolorgray Black -128 3743 a
SDict begin H.S end
-128 3743 a -128
3743 a
SDict begin 11 H.A end
-128 3743 a -128 3743 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-180.1) cvn H.B /DEST pdfmark end
-128 3743 a 0 0 0 TeXcolorrgb
Fo(prog)p Black 45 w(+)p 0 0 0 TeXcolorrgb -1 w(RTS)p
Black 45 w(-)p 0 0 0 TeXcolorrgb(hr)p Black 44 w(-)p
0 0 0 TeXcolorrgb(hcB)p Black 0.95 TeXcolorgray -153
3795 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3959 a FA(This)h(trick)f(isn')o(t)g(foolproof,)d(because)i(there)h
(might)g(be)g(other)f(B)i(closures)f(in)g(the)h(heap)e(which)h(aren')o
(t)f(the)h(retainers)g(we)g(are)g(interested)g(in,)g(b)n(ut)-128
4059 y(we')l(v)o(e)g(found)e(this)j(to)f(be)g(a)h(useful)f(technique)e
(in)i(most)h(cases.)-128 4191 y
SDict begin H.S end
-128 4191 a -128 4191
a
SDict begin 12 H.A end
-128 4191 a -128 4191 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.4.3) cvn H.B /DEST pdfmark end
-128 4191 a Black 143 x Fp(5.4.3)p
Black 90 w(Biographical)i(Pr)n(o\002ling)-128 4422 y
SDict begin H.S end
-128 4422 a -128 4422 a
SDict begin 12 H.A end
-128 4422 a -128 4422 a
SDict begin [ /View [/XYZ H.V] /Dest (biography-prof) cvn H.B /DEST pdfmark end
-128
4422 a 110 x FA(A)e(typical)f(heap)f(object)h(may)g(be)g(in)g(one)g(of)
g(the)g(follo)n(wing)f(four)g(states)i(at)g(each)e(point)h(in)g(its)h
(lifetime:)p Black -128 4732 a(\225)p Black 42 w(The)f
Fq(la)o(g)g FA(stage,)g(which)g(is)h(the)f(time)g(between)g(creation)f
(and)h(the)g(\002rst)h(use)f(of)g(the)g(object,)p Black
-128 4893 a(\225)p Black 42 w(the)g Fq(use)h FA(stage,)f(which)f(lasts)
j(from)d(the)h(\002rst)h(use)f(until)h(the)f(last)h(use)f(of)g(the)g
(object,)g(and)p Black -128 5054 a(\225)p Black 42 w(The)g
Fq(dr)o(a)o(g)f FA(stage,)h(which)g(lasts)i(from)d(the)h(\002nal)g(use)
h(until)f(the)g(last)h(reference)d(to)j(the)f(object)g(is)h(dropped.)p
Black -128 5215 a(\225)p Black 42 w(An)f(object)g(which)g(is)h(ne)n(v)o
(er)d(used)i(is)i(said)e(to)g(be)h(in)f(the)g Fq(void)i
FA(state)f(for)f(its)h(whole)e(lifetime.)-128 5416 y(A)e(biographical)c
(heap)i(pro\002le)f(displays)i(the)f(portion)f(of)i(the)f(li)n(v)o(e)h
(heap)f(in)g(each)h(of)f(the)g(four)g(states)h(listed)h(abo)o(v)o(e.)k
(Usually)16 b(the)f(most)h(interesting)-128 5515 y(states)22
b(are)e(the)g(v)n(oid)g(and)f(drag)h(states:)26 b(li)n(v)o(e)20
b(heap)f(in)i(these)f(states)h(is)g(more)f(lik)o(ely)g(to)g(be)g(w)o
(asted)h(space)f(than)g(heap)f(in)i(the)f(lag)g(or)g(use)g(states.)-128
5660 y(It)e(is)f(also)g(possible)g(to)g(break)f(do)n(wn)f(the)i(heap)f
(in)h(one)f(or)h(more)f(of)g(these)h(states)h(by)e(a)i(dif)n(ferent)d
(criteria,)i(by)f(restricting)g(a)h(pro\002le)f(by)h(biography)-5
b(.)-128 5759 y(F)o(or)20 b(e)o(xample,)f(to)h(sho)n(w)g(the)g(portion)
f(of)h(the)g(heap)g(in)g(the)g(drag)f(or)h(v)n(oid)g(state)h(by)f
(producer:)p Black -128 6084 4252 5 v Black eop end
%%Page: 103 118
TeXDict begin 103 117 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.103) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(103)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-181) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-181.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(prog)p Black 45 w(+)p 0 0 0 TeXcolorrgb -1 w(RTS)p
Black 45 w(-)p 0 0 0 TeXcolorrgb(hc)p Black 44 w(-)p
0 0 0 TeXcolorrgb(hbdrag)p Black -1 w(,)p 0 0 0 TeXcolorrgb(void)p
Black 0.95 TeXcolorgray -153 289 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 464 a FA(Once)g(you)g(kno)n(w)f
(the)h(producer)e(or)i(the)g(type)g(of)g(the)g(heap)f(in)i(the)f(drag)f
(or)h(v)n(oid)g(states,)h(the)f(ne)o(xt)f(step)i(is)g(usually)f(to)g
(\002nd)g(the)g(retainer\(s\):)-128 532 y
SDict begin H.S end
-128 532 a
-128 532 a
SDict begin 12 H.A end
-128 532 a -128 532 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-182) cvn H.B /DEST pdfmark end
-128 532 a 0.95 TeXcolorgray
-153 547 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 638 25 92 v
Black 0.95 TeXcolorgray -128 638 4252 92 v Black 0.95
TeXcolorgray 4124 638 25 92 v Black 0.95 TeXcolorgray
Black -128 611 a
SDict begin H.S end
-128 611 a -128 611 a
SDict begin 11 H.A end
-128 611 a -128
611 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-182.1) cvn H.B /DEST pdfmark end
-128 611 a 0 0 0 TeXcolorrgb Fo(prog)p Black 45
w(+)p 0 0 0 TeXcolorrgb -1 w(RTS)p Black 45 w(-)p 0 0 0
TeXcolorrgb(hr)p Black 44 w(-)p 0 0 0 TeXcolorrgb(hccc)p
Black -1 w(...)p 0.95 TeXcolorgray -153 663 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 837 a
FA(NO)m(TE:)f(this)h(tw)o(o)f(stage)g(process)f(is)i(required)d
(because)i(GHC)g(cannot)f(currently)g(pro\002le)g(using)g(both)g
(biographical)f(and)h(retainer)g(information)-128 937
y(simultaneously)-5 b(.)-128 1071 y
SDict begin H.S end
-128 1071 a -128
1071 a
SDict begin 12 H.A end
-128 1071 a -128 1071 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.4.4) cvn H.B /DEST pdfmark end
-128 1071 a Black 148
x Fp(5.4.4)p Black 90 w(Actual)23 b(memor)q(y)h(residenc)o(y)-128
1308 y
SDict begin H.S end
-128 1308 a -128 1308 a
SDict begin 12 H.A end
-128 1308 a -128 1308
a
SDict begin [ /View [/XYZ H.V] /Dest (mem-residency) cvn H.B /DEST pdfmark end
-128 1308 a 114 x FA(Ho)n(w)d(does)f(the)h(heap)f(residenc)o(y)f
(reported)f(by)i(the)h(heap)f(pro\002ler)f(relate)i(to)g(the)f(actual)g
(memory)f(residenc)o(y)g(of)i(your)e(program)f(when)i(you)g(run)-128
1522 y(it?)26 b(Y)-9 b(ou)19 b(might)f(see)i(a)g(lar)o(ge)e(discrepanc)
o(y)f(between)h(the)i(residenc)o(y)d(reported)h(by)h(the)g(heap)f
(pro\002ler)m(,)g(and)h(the)g(residenc)o(y)f(reported)f(by)i(tools)g
(on)-128 1621 y(your)g(system)i(\(e)o(g.)j Ft(ps)c FA(or)g
Ft(top)h FA(on)e(Unix,)h(or)g(the)g(T)-7 b(ask)20 b(Manager)f(on)h(W)m
(indo)n(ws\).)k(There)19 b(are)i(se)n(v)o(eral)e(reasons)h(for)f(this:)
p Black -128 1837 a(\225)p Black 42 w(There)f(is)h(an)f(o)o(v)o(erhead)
e(of)i(pro\002ling)f(itself,)i(which)f(is)h(subtracted)e(from)h(the)g
(residenc)o(y)f(\002gures)h(by)g(the)g(pro\002ler)-5
b(.)24 b(This)18 b(o)o(v)o(erhead)e(goes)i(a)o(w)o(ay)-57
1937 y(when)25 b(compiling)e(without)h(pro\002ling)g(support,)h(of)g
(course.)39 b(The)25 b(space)g(o)o(v)o(erhead)e(is)j(currently)d(2)i(e)
o(xtra)g(w)o(ords)g(per)f(heap)h(object,)h(which)-57
2037 y(probably)18 b(results)i(in)h(about)e(a)i(30\045)f(o)o(v)o
(erhead.)p Black -128 2203 a(\225)p Black 42 w(Garbage)26
b(collection)h(requires)f(more)h(memory)f(than)h(the)h(actual)f
(residenc)o(y)-5 b(.)45 b(The)28 b(f)o(actor)e(depends)h(on)g(the)g
(kind)g(of)g(garbage)f(collection)-57 2302 y(algorithm)17
b(in)j(use:)25 b(a)19 b(major)f(GC)i(in)g(the)f(standard)e(generation)h
(cop)o(ying)f(collector)h(will)i(usually)e(require)g(3L)h(bytes)g(of)f
(memory)-5 b(,)17 b(where)i(L)g(is)-57 2402 y(the)h(amount)f(of)h(li)n
(v)o(e)h(data.)k(This)20 b(is)i(because)d(by)h(def)o(ault)g(\(see)g
(the)h Ft(+RTS)49 b(-F)20 b FA(option\))f(we)i(allo)n(w)f(the)g(old)g
(generation)f(to)h(gro)n(w)g(to)g(twice)h(its)-57 2502
y(size)f(\(2L\))e(before)f(collecting)h(it,)h(and)g(we)g(require)f
(additionally)f(L)i(bytes)g(to)g(cop)o(y)f(the)g(li)n(v)o(e)h(data)g
(into.)24 b(When)19 b(using)f(compacting)f(collection)-57
2601 y(\(see)22 b(the)g Ft(+RTS)49 b(-c)22 b FA(option\),)e(this)i(is)h
(reduced)d(to)i(2L,)f(and)g(can)h(further)e(be)i(reduced)e(by)h
(tweaking)g(the)h Ft(-F)f FA(option.)29 b(Also)22 b(add)f(the)h(size)g
(of)-57 2701 y(the)e(allocation)f(area)h(\(currently)e(a)j(\002x)o(ed)f
(512Kb\).)p Black -128 2867 a(\225)p Black 42 w(The)g(stack)g(isn')o(t)
g(counted)f(in)h(the)g(heap)g(pro\002le)f(by)h(def)o(ault.)k(See)d(the)
f Ft(+RTS)49 b(-xt)20 b FA(option.)p Black -128 3033
a(\225)p Black 42 w(The)f(program)f(te)o(xt)h(itself,)h(the)g(C)h
(stack,)e(an)o(y)g(non-heap)e(data)j(\(e)o(g.)k(data)19
b(allocated)g(by)g(foreign)f(libraries,)h(and)g(data)h(allocated)f(by)g
(the)h(R)-5 b(TS\),)-57 3132 y(and)20 b Ft(mmap\(\))p
FA(')l(d)e(memory)h(are)h(not)g(counted)e(in)j(the)f(heap)f(pro\002le.)
-128 3276 y
SDict begin H.S end
-128 3276 a -128 3276 a
SDict begin 12 H.A end
-128 3276 a -128
3276 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.5) cvn H.B /DEST pdfmark end
-128 3276 a Black 181 x Fs(5.5)p Black 108 w(hp2ps\226\226heap)
27 b(pr)n(o\002le)i(to)g(P)l(ostScript)-128 3584 y
SDict begin H.S end
-128
3584 a -128 3584 a
SDict begin 12 H.A end
-128 3584 a -128 3584 a
SDict begin [ /View [/XYZ H.V] /Dest (hp2ps) cvn H.B /DEST pdfmark end
-128 3584
a 104 x FA(Usage:)-128 3756 y
SDict begin H.S end
-128 3756 a -128 3756 a
SDict begin 12 H.A end
-128 3756 a -128 3756 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-183) cvn H.B /DEST pdfmark end
-128 3756 a 0.95 TeXcolorgray
-153 3771 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3863 25 92
v Black 0.95 TeXcolorgray -128 3863 4252 92 v Black 0.95
TeXcolorgray 4124 3863 25 92 v Black 0.95 TeXcolorgray
Black -128 3835 a
SDict begin H.S end
-128 3835 a -128 3835 a
SDict begin 11 H.A end
-128 3835 a
-128 3835 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-183.1) cvn H.B /DEST pdfmark end
-128 3835 a 0 0 0 TeXcolorrgb Fo(hp2ps)p
Black 44 w([)p 0 0 0 TeXcolorrgb(flags)p Black -1 w(])45
b([<)p 0 0 0 TeXcolorrgb(file)p Black -1 w(>[.)p 0 0 0
TeXcolorrgb(hp)p Black -1 w(]])p 0.95 TeXcolorgray -153
3888 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4062 a FA(The)24 b(program)e Fu(hp2ps)j FA(con)m(v)o(erts)e(a)i
(heap)e(pro\002le)h(as)h(produced)c(by)j(the)g Ft(-h)f
FA(runtime)g(option)g(into)h(a)g(PostScript)g(graph)f(of)-128
4162 y(the)28 b(heap)f(pro\002le.)46 b(By)27 b(con)m(v)o(ention,)f(the)
i(\002le)g(to)g(be)f(processed)f(by)h Fu(hp2ps)i FA(has)e(a)h
Ft(.hp)f FA(e)o(xtension.)46 b(The)27 b(PostScript)g(output)f(is)j
(written)e(to)-128 4261 y Ft(<)t(file>)t(@.ps)p FA(.)d(If)c
Ft(<)t(file>)k FA(is)d(omitted)f(entirely)-5 b(,)19 b(then)g(the)i
(program)d(beha)n(v)o(es)h(as)i(a)f(\002lter)-5 b(.)-128
4411 y Fu(hp2ps)26 b FA(is)g(distrib)n(uted)d(in)i Ft(ghc/utils/hp2ps)e
FA(in)i(a)g(GHC)g(source)f(distrib)n(ution.)38 b(It)25
b(w)o(as)g(originally)f(de)n(v)o(eloped)e(by)i(Da)n(v)o(e)h(W)-7
b(ak)o(eling)24 b(as)-128 4510 y(part)c(of)g(the)g(HBC/LML)h(heap)f
(pro\002ler)-5 b(.)-128 4660 y(The)20 b(\003ags)h(are:)p
Black -128 4876 a Fh(-d)p Black 42 w FA(In)k(order)g(to)i(mak)o(e)e
(graphs)g(more)h(readable,)g Fu(hp2ps)h FA(sorts)f(the)h(shaded)e
(bands)g(for)h(each)f(identi\002er)-5 b(.)43 b(The)26
b(def)o(ault)f(sort)i(ordering)d(is)j(for)80 4975 y(the)j(bands)f(with)
h(the)g(lar)o(gest)f(area)g(to)h(be)g(stack)o(ed)g(on)f(top)g(of)h(the)
g(smaller)f(ones.)54 b(The)29 b Ft(-d)h FA(option)f(causes)h(rougher)d
(bands)j(\(those)80 5075 y(representing)18 b(series)j(of)f(v)n(alues)g
(with)g(the)g(lar)o(gest)g(standard)f(de)n(viations\))f(to)j(be)f
(stack)o(ed)g(on)g(top)f(of)h(smoother)f(ones.)p Black
-128 5241 a Fh(-b)p Black 42 w FA(Normally)-5 b(,)18
b Fu(hp2ps)j FA(puts)f(the)g(title)h(of)f(the)h(graph)e(in)h(a)h(small)
f(box)g(at)g(the)h(top)e(of)h(the)h(page.)j(Ho)n(we)n(v)o(er)m(,)18
b(if)j(the)f(JOB)h(string)f(is)h(too)f(long)g(to)g(\002t)80
5341 y(in)h(a)g(small)g(box)f(\(more)f(than)i(35)f(characters\),)f
(then)h Fu(hp2ps)i FA(will)f(choose)f(to)h(use)g(a)g(big)f(box)g
(instead.)26 b(The)21 b Ft(-b)g FA(option)e(forces)h
Fu(hp2ps)i FA(to)80 5440 y(use)e(a)h(big)f(box.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 104 119
TeXDict begin 104 118 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.104) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(104)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fh(-e[in|mm|pt])p
Black 38 w FA(Generate)15 b(encapsulated)e(PostScript)j(suitable)f(for)
f(inclusion)g(in)i(LaT)-6 b(eX)15 b(documents.)21 b(Usually)-5
b(,)16 b(the)f(PostScript)80 273 y(graph)23 b(is)i(dra)o(wn)e(in)i
(landscape)e(mode)g(in)i(an)f(area)g(9)h(inches)f(wide)g(by)g(6)g
(inches)h(high,)f(and)g Fu(hp2ps)h FA(arranges)e(for)h(this)g(area)h
(to)f(be)g(ap-)80 372 y(proximately)d(centred)h(on)h(a)h(sheet)f(of)g
(a4)h(paper)-5 b(.)33 b(This)24 b(format)e(is)i(con)m(v)o(enient)d(of)i
(studying)f(the)h(graph)f(in)i(detail,)g(b)n(ut)f(it)h(is)g(unsuitable)
80 472 y(for)19 b(inclusion)g(in)h(LaT)-6 b(eX)20 b(documents.)j(The)d
Ft(-e)g FA(option)f(causes)h(the)g(graph)e(to)i(be)g(dra)o(wn)f(in)h
(portrait)f(mode,)f(with)j(\003oat)f(specifying)e(the)80
572 y(width)k(in)g(inches,)g(millimetres)f(or)h(points)g(\(the)f(def)o
(ault\).)29 b(The)22 b(resulting)f(PostScript)h(\002le)h(conforms)d(to)
i(the)g(Encapsulated)e(PostScript)80 671 y(\(EPS\))g(con)m(v)o(ention,)
d(and)j(it)h(can)f(be)g(included)e(in)j(a)f(LaT)-6 b(eX)20
b(document)f(using)g(Rokicki')-5 b(s)20 b(dvi-to-PostScript)e(con)m(v)o
(erter)g Fu(dvips)p FA(.)p Black -128 828 a Fh(-g)p Black
42 w FA(Create)j(output)f(suitable)i(for)e(the)i Fu(gs)g
FA(PostScript)f(pre)n(vie)n(wer)f(\(or)g(similar\).)29
b(In)21 b(this)h(case)g(the)f(graph)f(is)i(printed)e(in)i(portrait)e
(mode)h(without)80 928 y(scaling.)k(The)20 b(output)e(is)k(unsuitable)d
(for)g(a)i(laser)f(printer)-5 b(.)p Black -128 1084 a
Fh(-l)p Black 42 w FA(Normally)16 b(a)i(pro\002le)f(is)h(limited)f(to)h
(20)f(bands)g(with)g(additional)g(identi\002ers)g(being)f(grouped)f
(into)j(an)f Ft(OTHER)g FA(band.)23 b(The)17 b Ft(-l)h
FA(\003ag)g(remo)o(v)o(es)80 1184 y(this)k(20)e(band)g(and)h(limit,)g
(producing)e(as)i(man)o(y)f(bands)h(as)g(necessary)-5
b(.)27 b(No)21 b(k)o(e)o(y)f(is)i(produced)d(as)j(it)g(w)o(on')o(t)e
(\002t!.)28 b(It)21 b(is)h(useful)f(for)f(creation)80
1284 y(time)g(pro\002les)g(with)h(man)o(y)e(bands.)p
Black -128 1440 a Fh(-m)p Black 41 w FA(Normally)g(a)h(pro\002le)f
(is)j(limited)d(to)i(20)e(bands)h(with)g(additional)f(identi\002ers)h
(being)f(grouped)e(into)j(an)g Ft(OTHER)g FA(band.)k(The)c
Ft(-m)g FA(\003ag)80 1540 y(speci\002es)h(an)f(alternati)n(v)o(e)f
(band)g(limit)h(\(the)g(maximum)f(is)i(20\).)80 1668
y Ft(-m0)h FA(requests)f(the)g(band)g(limit)h(to)g(be)f(remo)o(v)o(ed.)
27 b(As)22 b(man)o(y)e(bands)h(as)h(necessary)f(are)h(produced.)k(Ho)n
(we)n(v)o(er)20 b(no)h(k)o(e)o(y)g(is)i(produced)c(as)j(it)80
1768 y(w)o(on')o(t)d(\002t!)26 b(It)20 b(is)h(useful)f(for)g
(displaying)e(creation)h(time)i(pro\002les)f(with)g(man)o(y)f(bands.)p
Black -128 1924 a Fh(-p)p Black 42 w FA(Use)26 b(pre)n(vious)e
(parameters.)41 b(By)26 b(def)o(ault,)g(the)g(PostScript)g(graph)e(is)j
(automatically)d(scaled)i(both)f(horizontally)f(and)h(v)o(ertically)g
(so)h(that)80 2024 y(it)i(\002lls)g(the)e(page.)44 b(Ho)n(we)n(v)o(er)m
(,)27 b(when)f(preparing)e(a)k(series)f(of)g(graphs)e(for)i(use)g(in)g
(a)g(presentation,)f(it)i(is)g(often)e(useful)g(to)h(dra)o(w)f(a)h(ne)n
(w)80 2123 y(graph)22 b(using)h(the)g(same)g(scale,)i(shading)d(and)g
(ordering)f(as)j(a)g(pre)n(vious)e(one.)33 b(The)23 b
Ft(-p)h FA(\003ag)f(causes)g(the)h(graph)e(to)h(be)g(dra)o(wn)f(using)h
(the)80 2223 y(parameters)c(determined)f(by)i(a)h(pre)n(vious)d(run)i
(of)g Fu(hp2ps)h FA(on)e Ft(file)p FA(.)25 b(These)20
b(are)g(e)o(xtracted)f(from)g Ft(file@.aux)p FA(.)p Black
-128 2380 a Fh(-s)p Black 42 w FA(Use)h(a)h(small)g(box)e(for)h(the)g
(title.)p Black -128 2536 a Fh(-t)p Black 40 w
FA(Normally)f(trace)i(elements)f(which)f(sum)i(to)f(a)h(total)f(of)g
(less)i(than)e(1\045)g(of)g(the)h(pro\002le)e(are)i(remo)o(v)o(ed)d
(from)h(the)h(pro\002le.)25 b(The)20 b Ft(-t)80 2636
y FA(option)f(allo)n(ws)h(this)h(percentage)d(to)j(be)f(modi\002ed)f
(\(maximum)f(5\045\).)80 2764 y Ft(-t0)i FA(requests)g(no)g(trace)g
(elements)g(to)g(be)g(remo)o(v)o(ed)e(from)h(the)h(pro\002le,)g
(ensuring)e(that)j(all)f(the)h(data)f(will)h(be)f(displayed.)p
Black -128 2921 a Fh(-c)p Black 42 w FA(Generate)f(colour)g(output.)p
Black -128 3077 a Fh(-y)p Black 42 w FA(Ignore)f(marks.)p
Black -128 3234 a Fh(-?)p Black 42 w FA(Print)i(out)g(usage)f
(information.)-128 3364 y
SDict begin H.S end
-128 3364 a -128 3364 a
SDict begin 12 H.A end
-128
3364 a -128 3364 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.5.1) cvn H.B /DEST pdfmark end
-128 3364 a Black 139 x Fp(5.5.1)p
Black 90 w(Manipulating)j(the)j(hp)f(\002le)-128 3591
y
SDict begin H.S end
-128 3591 a -128 3591 a
SDict begin 12 H.A end
-128 3591 a -128 3591 a
SDict begin [ /View [/XYZ H.V] /Dest (manipulating-hp) cvn H.B /DEST pdfmark end
-128
3591 a 106 x FA(\(Notes)d(kindly)d(of)n(fered)h(by)h(Jan-W)m(illhem)f
(Maessen.\))-128 3837 y(The)h Ft(FOO.hp)f FA(\002le)h(produced)d(when)i
(you)g(ask)h(for)f(the)g(heap)g(pro\002le)g(of)g(a)h(program)e
Ft(FOO)i FA(is)g(a)g(te)o(xt)g(\002le)g(with)g(a)g(particularly)e
(simple)h(structure.)-128 3936 y(Here')-5 b(s)21 b(a)f(representati)n
(v)o(e)f(e)o(xample,)f(with)j(much)e(of)h(the)g(actual)g(data)g
(omitted:)-128 3995 y
SDict begin H.S end
-128 3995 a -128 3995 a
SDict begin 12 H.A end
-128 3995
a -128 3995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-184) cvn H.B /DEST pdfmark end
-128 3995 a 0.95 TeXcolorgray -153 4010
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4101 25 92 v Black 0.95
TeXcolorgray -128 4101 4252 92 v Black 0.95 TeXcolorgray
4124 4101 25 92 v Black 0.95 TeXcolorgray Black -128
4074 a
SDict begin H.S end
-128 4074 a -128 4074 a
SDict begin 11 H.A end
-128 4074 a -128 4074
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.1) cvn H.B /DEST pdfmark end
-128 4074 a 0 0 0 TeXcolorrgb Fo(JOB)p Black 45 w(")p
0 0 0 TeXcolorrgb(FOO)p Black 44 w(-)p 0 0 0 TeXcolorrgb(hC)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4193 25 92 v Black 0.95 TeXcolorgray -128 4193 4252
92 v Black 0.95 TeXcolorgray 4124 4193 25 92 v Black
0.95 TeXcolorgray Black -128 4165 a
SDict begin H.S end
-128 4165 a -128
4165 a
SDict begin 11 H.A end
-128 4165 a -128 4165 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.2) cvn H.B /DEST pdfmark end
-128 4165 a 0 0 0 TeXcolorrgb
Fo(DATE)p Black 45 w(")p 0 0 0 TeXcolorrgb -1 w(Thu)p
Black 0 0 0 TeXcolorrgb 45 w(Dec)p Black 44 w(26)45 b(18:17)f(2002")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4284 25
92 v Black 0.95 TeXcolorgray -128 4284 4252 92 v Black
0.95 TeXcolorgray 4124 4284 25 92 v Black 0.95 TeXcolorgray
Black -128 4256 a
SDict begin H.S end
-128 4256 a -128 4256 a
SDict begin 11 H.A end
-128 4256 a
-128 4256 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.3) cvn H.B /DEST pdfmark end
-128 4256 a 0 0 0 TeXcolorrgb Fo(SAMPLE_UNIT)p
Black 43 w(")p 0 0 0 TeXcolorrgb(seconds)p Black -1 w(")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4375 25
92 v Black 0.95 TeXcolorgray -128 4375 4252 92 v Black
0.95 TeXcolorgray 4124 4375 25 92 v Black 0.95 TeXcolorgray
Black -128 4348 a
SDict begin H.S end
-128 4348 a -128 4348 a
SDict begin 11 H.A end
-128 4348 a
-128 4348 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.4) cvn H.B /DEST pdfmark end
-128 4348 a 0 0 0 TeXcolorrgb Fo(VALUE_UNIT)p
Black 44 w(")p 0 0 0 TeXcolorrgb -1 w(bytes)p Black(")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4466 25
92 v Black 0.95 TeXcolorgray -128 4466 4252 92 v Black
0.95 TeXcolorgray 4124 4466 25 92 v Black 0.95 TeXcolorgray
Black -128 4439 a
SDict begin H.S end
-128 4439 a -128 4439 a
SDict begin 11 H.A end
-128 4439 a
-128 4439 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.5) cvn H.B /DEST pdfmark end
-128 4439 a 0 0 0 TeXcolorrgb Fo(BEGIN_SAMPLE)p
Black 43 w(0.00)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4558 25 92 v Black 0.95 TeXcolorgray -128 4558 4252
92 v Black 0.95 TeXcolorgray 4124 4558 25 92 v Black
0.95 TeXcolorgray Black -128 4530 a
SDict begin H.S end
-128 4530 a -128
4530 a
SDict begin 11 H.A end
-128 4530 a -128 4530 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.6) cvn H.B /DEST pdfmark end
-128 4530 a 0 0 0 TeXcolorrgb
Fo(END_SAMPLE)p Black 44 w(0.00)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4649 25 92 v Black 0.95 TeXcolorgray
-128 4649 4252 92 v Black 0.95 TeXcolorgray 4124 4649
25 92 v Black 0.95 TeXcolorgray Black -128 4622 a
SDict begin H.S end
-128
4622 a -128 4622 a
SDict begin 11 H.A end
-128 4622 a -128 4622 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.7) cvn H.B /DEST pdfmark end
-128 4622
a 0 0 0 TeXcolorrgb Fo(BEGIN_SAMPLE)p Black 43 w(15.07)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4740 25
92 v Black 0.95 TeXcolorgray -128 4740 4252 92 v Black
0.95 TeXcolorgray 4124 4740 25 92 v Black 0.95 TeXcolorgray
Black -128 4713 a
SDict begin H.S end
-128 4713 a -128 4713 a
SDict begin 11 H.A end
-128 4713 a
-128 4713 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.8) cvn H.B /DEST pdfmark end
-128 4713 a 90 w Fo(...)p 0 0 0 TeXcolorrgb
44 w(sample)p Black 0 0 0 TeXcolorrgb 44 w(data)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4832 25 92 v Black 0.95 TeXcolorgray -128 4832 4252
92 v Black 0.95 TeXcolorgray 4124 4832 25 92 v Black
0.95 TeXcolorgray Black -128 4804 a
SDict begin H.S end
-128 4804 a -128
4804 a
SDict begin 11 H.A end
-128 4804 a -128 4804 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.9) cvn H.B /DEST pdfmark end
-128 4804 a 0 0 0 TeXcolorrgb
Fo(END_SAMPLE)p Black 44 w(15.07)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4923 25 92 v Black 0.95
TeXcolorgray -128 4923 4252 92 v Black 0.95 TeXcolorgray
4124 4923 25 92 v Black 0.95 TeXcolorgray Black -128
4896 a
SDict begin H.S end
-128 4896 a -128 4896 a
SDict begin 11 H.A end
-128 4896 a -128 4896
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.10) cvn H.B /DEST pdfmark end
-128 4896 a 0 0 0 TeXcolorrgb Fo(BEGIN_SAMPLE)p Black
43 w(30.23)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5014 25 92 v Black 0.95 TeXcolorgray -128 5014 4252
92 v Black 0.95 TeXcolorgray 4124 5014 25 92 v Black
0.95 TeXcolorgray Black -128 4987 a
SDict begin H.S end
-128 4987 a -128
4987 a
SDict begin 11 H.A end
-128 4987 a -128 4987 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.11) cvn H.B /DEST pdfmark end
-128 4987 a 90 w Fo(...)p
0 0 0 TeXcolorrgb 44 w(sample)p Black 0 0 0 TeXcolorrgb
44 w(data)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5106 25 92 v Black 0.95 TeXcolorgray
-128 5106 4252 92 v Black 0.95 TeXcolorgray 4124 5106
25 92 v Black 0.95 TeXcolorgray Black -128 5078 a
SDict begin H.S end
-128
5078 a -128 5078 a
SDict begin 11 H.A end
-128 5078 a -128 5078 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.12) cvn H.B /DEST pdfmark end
-128 5078
a 0 0 0 TeXcolorrgb Fo(END_SAMPLE)p Black 44 w(30.23)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5197 25
92 v Black 0.95 TeXcolorgray -128 5197 4252 92 v Black
0.95 TeXcolorgray 4124 5197 25 92 v Black 0.95 TeXcolorgray
Black -128 5170 a
SDict begin H.S end
-128 5170 a -128 5170 a
SDict begin 11 H.A end
-128 5170 a
-128 5170 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.13) cvn H.B /DEST pdfmark end
-128 5170 a Fo(...)p 0 0 0 TeXcolorrgb 45
w(etc)p Black -1 w(.)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5288 25 92 v Black 0.95 TeXcolorgray -128 5288 4252
92 v Black 0.95 TeXcolorgray 4124 5288 25 92 v Black
0.95 TeXcolorgray Black -128 5261 a
SDict begin H.S end
-128 5261 a -128
5261 a
SDict begin 11 H.A end
-128 5261 a -128 5261 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.14) cvn H.B /DEST pdfmark end
-128 5261 a 0 0 0 TeXcolorrgb
Fo(BEGIN_SAMPLE)p Black 43 w(11695.47)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5380 25 92 v Black 0.95
TeXcolorgray -128 5380 4252 92 v Black 0.95 TeXcolorgray
4124 5380 25 92 v Black 0.95 TeXcolorgray Black -128
5352 a
SDict begin H.S end
-128 5352 a -128 5352 a
SDict begin 11 H.A end
-128 5352 a -128 5352
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-184.15) cvn H.B /DEST pdfmark end
-128 5352 a 0 0 0 TeXcolorrgb Fo(END_SAMPLE)p Black
44 w(11695.47)p 0.95 TeXcolorgray -153 5405 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 5560 a
FA(The)21 b(\002rst)h(four)f(lines)g(\()p Ft(JOB)p FA(,)g
Ft(DATE)p FA(,)g Ft(SAMPLE_UNIT)p FA(,)e Ft(VALUE_UNIT)p
FA(\))h(form)g(a)i(header)-5 b(.)28 b(Each)20 b(block)h(of)g(lines)g
(starting)g(with)h Ft(BEGIN_S-)-128 5660 y(AMPLE)d FA(and)g(ending)f
(with)h Ft(END_SAMPLE)f FA(forms)h(a)g(single)h(sample)f(\(you)f(can)h
(think)f(of)h(this)h(as)g(a)g(v)o(ertical)e(slice)i(of)f(your)f(heap)h
(pro\002le\).)k(The)-128 5759 y(hp2ps)d(utility)g(should)f(accept)h(an)
o(y)f(input)h(with)g(a)g(properly-formatted)c(header)j(follo)n(wed)g
(by)h(a)g(series)h(of)f(*complete*)e(samples.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 105 120
TeXDict begin 105 119 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.105) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(105)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.5.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(5.5.2)p
Black 90 w(Zooming)j(in)i(on)f(regions)g(of)g(y)n(our)g(pr)n(o\002le)
-128 376 y FA(Y)-9 b(ou)26 b(can)g(look)f(at)i(particular)e(re)o(gions)
g(of)h(your)f(pro\002le)g(simply)h(by)g(loading)f(a)h(cop)o(y)g(of)g
(the)g Ft(.hp)g FA(\002le)h(into)f(a)h(te)o(xt)f(editor)f(and)h
(deleting)f(the)-128 476 y(unw)o(anted)19 b(samples.)25
b(The)20 b(resulting)f Ft(.hp)i FA(\002le)f(can)g(be)g(run)g(through)e
Fu(hp2ps)j FA(and)f(vie)n(wed)f(or)h(printed.)-128 610
y
SDict begin H.S end
-128 610 a -128 610 a
SDict begin 12 H.A end
-128 610 a -128 610 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.5.3) cvn H.B /DEST pdfmark end
-128 610
a Black 148 x Fp(5.5.3)p Black 90 w(Vie)o(wing)j(the)h(heap)h(pr)n
(o\002le)f(of)g(a)h(running)f(pr)n(ogram)-128 961 y FA(The)18
b Ft(.hp)g FA(\002le)h(is)g(generated)e(incrementally)f(as)j(your)e
(program)f(runs.)24 b(In)17 b(principle,)g(running)f
Fu(hp2ps)j FA(on)f(the)g(incomplete)f(\002le)i(should)e(produce)-128
1061 y(a)23 b(snapshot)d(of)i(your)e(program')-5 b(s)20
b(heap)h(usage.)30 b(Ho)n(we)n(v)o(er)m(,)20 b(the)h(last)i(sample)e
(in)h(the)g(\002le)h(may)e(be)g(incomplete,)g(causing)g
Fu(hp2ps)h FA(to)g(f)o(ail.)30 b(If)22 b(you)-128 1160
y(are)g(using)f(a)h(machine)f(with)h(UNIX)g(utilities)g(installed,)g
(it')-5 b(s)22 b(not)g(too)f(hard)g(to)h(w)o(ork)f(around)f(this)i
(problem)e(\(though)f(the)j(resulting)f(command)-128
1260 y(line)g(looks)e(rather)h(Byzantine\):)-128 1328
y
SDict begin H.S end
-128 1328 a -128 1328 a
SDict begin 12 H.A end
-128 1328 a -128 1328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-185) cvn H.B /DEST pdfmark end
-128
1328 a 0.95 TeXcolorgray -153 1343 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1434 25 92 v Black 0.95 TeXcolorgray -128 1434 4252
92 v Black 0.95 TeXcolorgray 4124 1434 25 92 v Black
0.95 TeXcolorgray Black -128 1407 a
SDict begin H.S end
-128 1407 a -128
1407 a
SDict begin 11 H.A end
-128 1407 a -128 1407 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-185.1) cvn H.B /DEST pdfmark end
-128 1407 a 0 0 0 TeXcolorrgb
90 w Fo(head)p Black 44 w(-`)p 0 0 0 TeXcolorrgb(fgrep)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(n)p Black 0 0 0 TeXcolorrgb
44 w(END_SAMPLE)p Black 0 0 0 TeXcolorrgb 44 w(FOO)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(tail)p Black 44 w(-1)45 b(|)p
0 0 0 TeXcolorrgb 44 w(cut)p Black 45 w(-)p 0 0 0 TeXcolorrgb(d)p
Black 44 w(:)g(-)p 0 0 0 TeXcolorrgb(f)p Black 44 w(1`)p
0 0 0 TeXcolorrgb 45 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p
Black 45 w(\\)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1526 25 92 v Black 0.95 TeXcolorgray -128 1526 4252
92 v Black 0.95 TeXcolorgray 4124 1526 25 92 v Black
0.95 TeXcolorgray Black -128 1498 a
SDict begin H.S end
-128 1498 a -128
1498 a
SDict begin 11 H.A end
-128 1498 a -128 1498 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-185.2) cvn H.B /DEST pdfmark end
-128 1498 a 180 w Fo(|)p
0 0 0 TeXcolorrgb 44 w(hp2ps)p Black 44 w(>)p 0 0 0 TeXcolorrgb
45 w(FOO)p Black(.)p 0 0 0 TeXcolorrgb -1 w(ps)p Black
0.95 TeXcolorgray -153 1551 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1725 a FA(The)23 b(command)e Fu(fgr)o(ep)h(-n)h
(END_SAMPLE)h(FOO.hp)e FA(\002nds)h(the)g(end)f(of)g(e)n(v)o(ery)g
(complete)f(sample)i(in)g Ft(FOO.hp)p FA(,)g(and)f(labels)h(each)f
(sample)-128 1825 y(with)k(its)g(ending)e(line)i(number)-5
b(.)39 b(W)-7 b(e)26 b(then)f(select)h(the)f(line)h(number)d(of)i(the)h
(last)g(complete)e(sample)h(using)g Fu(tail)g FA(and)g
Fu(cut)p FA(.)41 b(This)25 b(is)h(used)f(as)i(a)-128
1924 y(parameter)20 b(to)h Fu(head)p FA(;)g(the)g(result)f(is)i(as)f
(if)h(we)f(deleted)f(the)g(\002nal)h(incomplete)f(sample)g(from)g
Ft(FOO.hp)p FA(.)26 b(This)21 b(results)g(in)g(a)g(properly-formatted)
-128 2024 y(.hp)f(\002le)h(which)e(we)i(feed)f(directly)f(to)h
Fu(hp2ps)p FA(.)-128 2158 y
SDict begin H.S end
-128 2158 a -128 2158 a
SDict begin 12 H.A end
-128
2158 a -128 2158 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.5.4) cvn H.B /DEST pdfmark end
-128 2158 a Black 148 x Fp(5.5.4)p
Black 90 w(Vie)o(wing)j(a)i(heap)f(pr)n(o\002le)g(in)h(real)f(time)-128
2509 y FA(The)d Fu(gv)g FA(and)g Fu(ghostview)f FA(programs)f(ha)n(v)o
(e)i(a)h("w)o(atch)f(\002le")h(option)e(can)h(be)g(used)g(to)g(vie)n(w)
g(an)g(up-to-date)e(heap)i(pro\002le)f(of)h(your)f(program)f(as)j(it)
-128 2609 y(runs.)j(Simply)20 b(generate)f(an)h(incremental)e(heap)i
(pro\002le)f(as)i(described)e(in)i(the)f(pre)n(vious)e(section.)25
b(Run)20 b Fu(gv)g FA(on)g(your)f(pro\002le:)-128 2676
y
SDict begin H.S end
-128 2676 a -128 2676 a
SDict begin 12 H.A end
-128 2676 a -128 2676 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-186) cvn H.B /DEST pdfmark end
-128
2676 a 0.95 TeXcolorgray -153 2692 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2783 25 92 v Black 0.95 TeXcolorgray -128 2783 4252
92 v Black 0.95 TeXcolorgray 4124 2783 25 92 v Black
0.95 TeXcolorgray Black -128 2756 a
SDict begin H.S end
-128 2756 a -128
2756 a
SDict begin 11 H.A end
-128 2756 a -128 2756 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-186.1) cvn H.B /DEST pdfmark end
-128 2756 a 0 0 0 TeXcolorrgb
90 w Fo(gv)p Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(watch)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(seascape)p Black 0 0 0
TeXcolorrgb 44 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(ps)p
Black 0.95 TeXcolorgray -153 2808 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2982 a FA(If)g(you)f(for)o(get)g
(the)h Ft(-watch)f FA(\003ag)i(you)e(can)h(still)h(select)f("W)-7
b(atch)20 b(\002le")f(from)f(the)i("State")f(menu.)24
b(No)n(w)18 b(each)h(time)g(you)g(generate)e(a)j(ne)n(w)f(pro\002le)
-128 3082 y Ft(FOO.ps)h FA(the)g(vie)n(w)g(will)h(update)e
(automatically)-5 b(.)-128 3231 y(This)21 b(can)f(all)h(be)f
(encapsulated)e(in)j(a)f(little)h(script:)-128 3299 y
SDict begin H.S end
-128 3299 a -128 3299 a
SDict begin 12 H.A end
-128 3299 a -128 3299 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-187) cvn H.B /DEST pdfmark end
-128
3299 a 0.95 TeXcolorgray -153 3314 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3406 25 92 v Black 0.95 TeXcolorgray -128 3406 4252
92 v Black 0.95 TeXcolorgray 4124 3406 25 92 v Black
0.95 TeXcolorgray Black -128 3378 a
SDict begin H.S end
-128 3378 a -128
3378 a
SDict begin 11 H.A end
-128 3378 a -128 3378 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.1) cvn H.B /DEST pdfmark end
-128 3378 a 90 w Fo(#!/)p
0 0 0 TeXcolorrgb(bin)p Black -1 w(/)p 0 0 0 TeXcolorrgb(sh)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3497 25 92 v Black 0.95 TeXcolorgray -128 3497 4252 92
v Black 0.95 TeXcolorgray 4124 3497 25 92 v Black 0.95
TeXcolorgray Black -128 3470 a
SDict begin H.S end
-128 3470 a -128 3470
a
SDict begin 11 H.A end
-128 3470 a -128 3470 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.2) cvn H.B /DEST pdfmark end
-128 3470 a 0 0 0 TeXcolorrgb
90 w Fo(head)p Black 44 w(-`)p 0 0 0 TeXcolorrgb(fgrep)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(n)p Black 0 0 0 TeXcolorrgb
44 w(END_SAMPLE)p Black 0 0 0 TeXcolorrgb 44 w(FOO)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(tail)p Black 44 w(-1)45 b(|)p
0 0 0 TeXcolorrgb 44 w(cut)p Black 45 w(-)p 0 0 0 TeXcolorrgb(d)p
Black 44 w(:)g(-)p 0 0 0 TeXcolorrgb(f)p Black 44 w(1`)p
0 0 0 TeXcolorrgb 45 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p
Black 45 w(\\)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3588 25 92 v Black 0.95 TeXcolorgray -128 3588 4252
92 v Black 0.95 TeXcolorgray 4124 3588 25 92 v Black
0.95 TeXcolorgray Black -128 3561 a
SDict begin H.S end
-128 3561 a -128
3561 a
SDict begin 11 H.A end
-128 3561 a -128 3561 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.3) cvn H.B /DEST pdfmark end
-128 3561 a 180 w Fo(|)p
0 0 0 TeXcolorrgb 44 w(hp2ps)p Black 44 w(>)p 0 0 0 TeXcolorrgb
45 w(FOO)p Black(.)p 0 0 0 TeXcolorrgb -1 w(ps)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3680 25
92 v Black 0.95 TeXcolorgray -128 3680 4252 92 v Black
0.95 TeXcolorgray 4124 3680 25 92 v Black 0.95 TeXcolorgray
Black -128 3652 a
SDict begin H.S end
-128 3652 a -128 3652 a
SDict begin 11 H.A end
-128 3652 a
-128 3652 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.4) cvn H.B /DEST pdfmark end
-128 3652 a 0 0 0 TeXcolorrgb 90 w Fo(gv)p
Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(watch)p Black 44
w(-)p 0 0 0 TeXcolorrgb(seascape)p Black 0 0 0 TeXcolorrgb
44 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(ps)p Black
45 w(&)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3771 25 92 v Black 0.95 TeXcolorgray -128 3771 4252 92
v Black 0.95 TeXcolorgray 4124 3771 25 92 v Black 0.95
TeXcolorgray Black -128 3744 a
SDict begin H.S end
-128 3744 a -128 3744
a
SDict begin 11 H.A end
-128 3744 a -128 3744 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.5) cvn H.B /DEST pdfmark end
-128 3744 a 0 0 0 TeXcolorrgb
90 w Fo(while)p Black 44 w([)g(1)f(])h(;)p 0 0 0 TeXcolorrgb
45 w(do)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3862 25 92 v Black 0.95 TeXcolorgray -128 3862 4252
92 v Black 0.95 TeXcolorgray 4124 3862 25 92 v Black
0.95 TeXcolorgray Black -128 3835 a
SDict begin H.S end
-128 3835 a -128
3835 a
SDict begin 11 H.A end
-128 3835 a -128 3835 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.6) cvn H.B /DEST pdfmark end
-128 3835 a 0 0 0 TeXcolorrgb
180 w Fo(sleep)p Black 44 w(10)f(#)p 0 0 0 TeXcolorrgb
45 w(We)p Black 0 0 0 TeXcolorrgb 44 w(generate)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(new)p Black 0 0 0 TeXcolorrgb 44 w(profile)p Black
0 0 0 TeXcolorrgb 44 w(every)p Black 44 w(10)p 0 0 0
TeXcolorrgb 44 w(seconds)p Black -1 w(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3954 25 92 v Black 0.95
TeXcolorgray -128 3954 4252 92 v Black 0.95 TeXcolorgray
4124 3954 25 92 v Black 0.95 TeXcolorgray Black -128
3926 a
SDict begin H.S end
-128 3926 a -128 3926 a
SDict begin 11 H.A end
-128 3926 a -128 3926
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.7) cvn H.B /DEST pdfmark end
-128 3926 a 0 0 0 TeXcolorrgb 180 w Fo(head)p Black
44 w(-`)p 0 0 0 TeXcolorrgb(fgrep)p Black 44 w(-)p 0 0 0
TeXcolorrgb -1 w(n)p Black 0 0 0 TeXcolorrgb 45 w(END_SAMPLE)p
Black 0 0 0 TeXcolorrgb 43 w(FOO)p Black(.)p 0 0 0 TeXcolorrgb(hp)p
Black 44 w(|)p 0 0 0 TeXcolorrgb 45 w(tail)p Black 44
w(-1)g(|)p 0 0 0 TeXcolorrgb 45 w(cut)p Black 44 w(-)p
0 0 0 TeXcolorrgb(d)p Black 45 w(:)h(-)p 0 0 0 TeXcolorrgb
-1 w(f)p Black 45 w(1`)p 0 0 0 TeXcolorrgb 45 w(FOO)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p Black 44 w(\\)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4045 25
92 v Black 0.95 TeXcolorgray -128 4045 4252 92 v Black
0.95 TeXcolorgray 4124 4045 25 92 v Black 0.95 TeXcolorgray
Black -128 4018 a
SDict begin H.S end
-128 4018 a -128 4018 a
SDict begin 11 H.A end
-128 4018 a
-128 4018 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.8) cvn H.B /DEST pdfmark end
-128 4018 a 269 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(hp2ps)p Black 44 w(>)p 0 0 0 TeXcolorrgb 45 w(FOO)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(ps)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4136 25 92 v Black 0.95
TeXcolorgray -128 4136 4252 92 v Black 0.95 TeXcolorgray
4124 4136 25 92 v Black 0.95 TeXcolorgray Black -128
4109 a
SDict begin H.S end
-128 4109 a -128 4109 a
SDict begin 11 H.A end
-128 4109 a -128 4109
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-187.9) cvn H.B /DEST pdfmark end
-128 4109 a 0 0 0 TeXcolorrgb 90 w Fo(done)p Black
0.95 TeXcolorgray -153 4161 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4336 a FA(Occasionally)17 b Fu(gv)g
FA(will)h(chok)o(e)e(as)i(it)g(tries)g(to)f(read)g(an)g(incomplete)f
(cop)o(y)g(of)h Ft(FOO.ps)g FA(\(because)f Fu(hp2ps)i
FA(is)g(still)h(running)c(as)j(an)f(update)f(occurs\).)-128
4435 y(A)25 b(slightly)g(more)e(complicated)g(script)i(w)o(orks)f
(around)f(this)i(problem,)e(by)h(using)g(the)h(f)o(act)f(that)h
(sending)e(a)i(SIGHUP)g(to)g(gv)f(will)h(cause)g(it)g(to)-128
4535 y(re-read)19 b(its)i(input)f(\002le:)-128 4603 y
SDict begin H.S end
-128 4603 a -128 4603 a
SDict begin 12 H.A end
-128 4603 a -128 4603 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-188) cvn H.B /DEST pdfmark end
-128
4603 a 0.95 TeXcolorgray -153 4618 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4709 25 92 v Black 0.95 TeXcolorgray -128 4709 4252
92 v Black 0.95 TeXcolorgray 4124 4709 25 92 v Black
0.95 TeXcolorgray Black -128 4682 a
SDict begin H.S end
-128 4682 a -128
4682 a
SDict begin 11 H.A end
-128 4682 a -128 4682 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.1) cvn H.B /DEST pdfmark end
-128 4682 a 90 w Fo(#!/)p
0 0 0 TeXcolorrgb(bin)p Black -1 w(/)p 0 0 0 TeXcolorrgb(sh)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4800 25 92 v Black 0.95 TeXcolorgray -128 4800 4252 92
v Black 0.95 TeXcolorgray 4124 4800 25 92 v Black 0.95
TeXcolorgray Black -128 4773 a
SDict begin H.S end
-128 4773 a -128 4773
a
SDict begin 11 H.A end
-128 4773 a -128 4773 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.2) cvn H.B /DEST pdfmark end
-128 4773 a 0 0 0 TeXcolorrgb
90 w Fo(head)p Black 44 w(-`)p 0 0 0 TeXcolorrgb(fgrep)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(n)p Black 0 0 0 TeXcolorrgb
44 w(END_SAMPLE)p Black 0 0 0 TeXcolorrgb 44 w(FOO)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(tail)p Black 44 w(-1)45 b(|)p
0 0 0 TeXcolorrgb 44 w(cut)p Black 45 w(-)p 0 0 0 TeXcolorrgb(d)p
Black 44 w(:)g(-)p 0 0 0 TeXcolorrgb(f)p Black 44 w(1`)p
0 0 0 TeXcolorrgb 45 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p
Black 45 w(\\)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4892 25 92 v Black 0.95 TeXcolorgray -128 4892 4252
92 v Black 0.95 TeXcolorgray 4124 4892 25 92 v Black
0.95 TeXcolorgray Black -128 4864 a
SDict begin H.S end
-128 4864 a -128
4864 a
SDict begin 11 H.A end
-128 4864 a -128 4864 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.3) cvn H.B /DEST pdfmark end
-128 4864 a 180 w Fo(|)p
0 0 0 TeXcolorrgb 44 w(hp2ps)p Black 44 w(>)p 0 0 0 TeXcolorrgb
45 w(FOO)p Black(.)p 0 0 0 TeXcolorrgb -1 w(ps)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4983 25
92 v Black 0.95 TeXcolorgray -128 4983 4252 92 v Black
0.95 TeXcolorgray 4124 4983 25 92 v Black 0.95 TeXcolorgray
Black -128 4956 a
SDict begin H.S end
-128 4956 a -128 4956 a
SDict begin 11 H.A end
-128 4956 a
-128 4956 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.4) cvn H.B /DEST pdfmark end
-128 4956 a 0 0 0 TeXcolorrgb 90 w Fo(gv)p
Black 0 0 0 TeXcolorrgb 45 w(FOO)p Black -1 w(.)p 0 0 0
TeXcolorrgb(ps)p Black 44 w(&)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5074 25 92 v Black 0.95 TeXcolorgray
-128 5074 4252 92 v Black 0.95 TeXcolorgray 4124 5074
25 92 v Black 0.95 TeXcolorgray Black -128 5047 a
SDict begin H.S end
-128
5047 a -128 5047 a
SDict begin 11 H.A end
-128 5047 a -128 5047 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.5) cvn H.B /DEST pdfmark end
-128 5047
a 0 0 0 TeXcolorrgb 90 w Fo(gvpsnum)p Black -1 w(=)p
0 0 0 TeXcolorrgb($)p Black(!)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5166 25 92 v Black 0.95 TeXcolorgray
-128 5166 4252 92 v Black 0.95 TeXcolorgray 4124 5166
25 92 v Black 0.95 TeXcolorgray Black -128 5138 a
SDict begin H.S end
-128
5138 a -128 5138 a
SDict begin 11 H.A end
-128 5138 a -128 5138 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.6) cvn H.B /DEST pdfmark end
-128 5138
a 0 0 0 TeXcolorrgb 90 w Fo(while)p Black 44 w([)g(1)f(])h(;)p
0 0 0 TeXcolorrgb 45 w(do)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5257 25 92 v Black 0.95 TeXcolorgray
-128 5257 4252 92 v Black 0.95 TeXcolorgray 4124 5257
25 92 v Black 0.95 TeXcolorgray Black -128 5230 a
SDict begin H.S end
-128
5230 a -128 5230 a
SDict begin 11 H.A end
-128 5230 a -128 5230 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.7) cvn H.B /DEST pdfmark end
-128 5230
a 0 0 0 TeXcolorrgb 180 w Fo(sleep)p Black 44 w(10)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5348 25
92 v Black 0.95 TeXcolorgray -128 5348 4252 92 v Black
0.95 TeXcolorgray 4124 5348 25 92 v Black 0.95 TeXcolorgray
Black -128 5321 a
SDict begin H.S end
-128 5321 a -128 5321 a
SDict begin 11 H.A end
-128 5321 a
-128 5321 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.8) cvn H.B /DEST pdfmark end
-128 5321 a 0 0 0 TeXcolorrgb 180 w Fo(head)p
Black 44 w(-`)p 0 0 0 TeXcolorrgb(fgrep)p Black 44 w(-)p
0 0 0 TeXcolorrgb -1 w(n)p Black 0 0 0 TeXcolorrgb 45
w(END_SAMPLE)p Black 0 0 0 TeXcolorrgb 43 w(FOO)p Black(.)p
0 0 0 TeXcolorrgb(hp)p Black 44 w(|)p 0 0 0 TeXcolorrgb
45 w(tail)p Black 44 w(-1)f(|)p 0 0 0 TeXcolorrgb 45
w(cut)p Black 44 w(-)p 0 0 0 TeXcolorrgb(d)p Black 45
w(:)h(-)p 0 0 0 TeXcolorrgb -1 w(f)p Black 45 w(1`)p
0 0 0 TeXcolorrgb 45 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hp)p
Black 44 w(\\)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5440 25 92 v Black 0.95 TeXcolorgray -128 5440 4252
92 v Black 0.95 TeXcolorgray 4124 5440 25 92 v Black
0.95 TeXcolorgray Black -128 5412 a
SDict begin H.S end
-128 5412 a -128
5412 a
SDict begin 11 H.A end
-128 5412 a -128 5412 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.9) cvn H.B /DEST pdfmark end
-128 5412 a 269 w Fo(|)p
0 0 0 TeXcolorrgb 45 w(hp2ps)p Black 44 w(>)p 0 0 0 TeXcolorrgb
45 w(FOO)p Black -1 w(.)p 0 0 0 TeXcolorrgb(ps)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5531 25
92 v Black 0.95 TeXcolorgray -128 5531 4252 92 v Black
0.95 TeXcolorgray 4124 5531 25 92 v Black 0.95 TeXcolorgray
Black -128 5504 a
SDict begin H.S end
-128 5504 a -128 5504 a
SDict begin 11 H.A end
-128 5504 a
-128 5504 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.10) cvn H.B /DEST pdfmark end
-128 5504 a 0 0 0 TeXcolorrgb 180 w Fo(kill)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(HUP)p Black 0 0 0 TeXcolorrgb
44 w($gvpsnum)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5622 25 92 v Black 0.95 TeXcolorgray -128 5622 4252
92 v Black 0.95 TeXcolorgray 4124 5622 25 92 v Black
0.95 TeXcolorgray Black -128 5595 a
SDict begin H.S end
-128 5595 a -128
5595 a
SDict begin 11 H.A end
-128 5595 a -128 5595 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-188.11) cvn H.B /DEST pdfmark end
-128 5595 a 0 0 0 TeXcolorrgb
90 w Fo(done)p Black 0.95 TeXcolorgray -153 5647 4302
25 v Black 0.95 TeXcolorgray Black Black Black Black
-128 6084 4252 5 v Black eop end
%%Page: 106 121
TeXDict begin 106 120 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.106) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(106)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.6) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(5.6)p
Black 108 w(Obser)q(ving)28 b(Code)h(Co)n(vera)o(g)q(e)-128
322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (hpc) cvn H.B /DEST pdfmark end
-128
322 a 114 x FA(Code)e(co)o(v)o(erage)d(tools)j(allo)n(w)g(a)g
(programmer)d(to)j(determine)e(what)i(parts)f(of)h(their)f(code)g(ha)n
(v)o(e)g(been)g(actually)g(e)o(x)o(ecuted,)h(and)f(which)g(parts)-128
536 y(ha)n(v)o(e)f(ne)n(v)o(er)f(actually)h(been)g(in)m(v)n(ok)o(ed.)39
b(GHC)27 b(has)e(an)h(option)e(for)h(generating)e(instrumented)h(code)h
(that)g(records)g(code)g(co)o(v)o(erage)e(as)j(part)f(of)-128
635 y(the)p 0 1 0 0 TeXcolorcmyk -5 653 a
SDict begin H.S end
-5 653 a 0 1 0 0
TeXcolorcmyk -18 x FA(Hask)o(ell)c(Program)e(Co)o(v)o(erage)p
0 1 0 0 TeXcolorcmyk 912 579 a
SDict begin H.R end
912 579 a 912 635 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/hpc) >> /Subtype /Link H.B /ANN pdfmark end
912
635 a Black FA(\(HPC\))i(toolkit,)g(which)f(is)i(included)d(with)i
(GHC.)h(HPC)g(tools)f(can)f(be)h(used)g(to)g(render)f(the)g(generated)g
(code)-128 735 y(co)o(v)o(erage)e(information)g(into)i(human)f
(understandable)e(format.)-128 885 y(Correctly)g(instrumented)f(code)i
(pro)o(vides)e(co)o(v)o(erage)f(information)h(of)h(tw)o(o)h(kinds:)24
b(source)17 b(co)o(v)o(erage)f(and)h(boolean-control)d(co)o(v)o(erage.)
22 b(Source)-128 984 y(co)o(v)o(erage)h(is)i(the)g(e)o(xtent)f(to)h
(which)f(e)n(v)o(ery)f(part)h(of)h(the)f(program)f(w)o(as)i(used,)g
(measured)f(at)h(three)f(dif)n(ferent)f(le)n(v)o(els:)34
b(declarations)23 b(\(both)h(top-)-128 1084 y(le)n(v)o(el)18
b(and)f(local\),)g(alternati)n(v)o(es)g(\(among)f(se)n(v)o(eral)h
(equations)f(or)h(case)h(branches\))e(and)h(e)o(xpressions)g(\(at)h(e)n
(v)o(ery)e(le)n(v)o(el\).)23 b(Boolean)17 b(co)o(v)o(erage)e(is)k(the)
-128 1183 y(e)o(xtent)h(to)g(which)g(each)g(of)g(the)g(v)n(alues)g(T)m
(rue)f(and)h(F)o(alse)h(is)g(obtained)d(in)j(e)n(v)o(ery)e(syntactic)h
(boolean)e(conte)o(xt)h(\(ie.)25 b(guard,)19 b(condition,)f
(quali\002er\).)-128 1333 y(HPC)25 b(displays)f(both)e(kinds)i(of)f
(information)e(in)j(tw)o(o)g(primary)e(w)o(ays:)33 b(te)o(xtual)23
b(reports)g(with)h(summary)e(statistics)j(\(hpc)e(report\))f(and)h
(sources)-128 1432 y(with)d(color)f(mark-up)f(\(hpc)h(markup\).)j(F)o
(or)e(boolean)e(co)o(v)o(erage,)f(there)i(are)h(four)f(possible)g
(outcomes)g(for)g(each)g(guard,)f(condition)g(or)i(quali\002er:)-128
1532 y(both)27 b(T)m(rue)g(and)g(F)o(alse)h(v)n(alues)f(occur;)j(only)d
(T)m(rue;)j(only)d(F)o(alse;)32 b(ne)n(v)o(er)26 b(e)n(v)n(aluated.)45
b(In)27 b(hpc-markup)d(output,)k(highlighting)d(with)j(a)g(yello)n(w)
-128 1632 y(background)21 b(indicates)j(a)h(part)f(of)g(the)g(program)f
(that)h(w)o(as)h(ne)n(v)o(er)e(e)n(v)n(aluated;)i(a)g(green)e
(background)e(indicates)j(an)g(al)o(w)o(ays-T)m(rue)g(e)o(xpression)
-128 1731 y(and)c(a)h(red)e(background)e(indicates)j(an)g(al)o(w)o
(ays-F)o(alse)g(one.)-128 1865 y
SDict begin H.S end
-128 1865 a -128 1865
a
SDict begin 12 H.A end
-128 1865 a -128 1865 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.6.1) cvn H.B /DEST pdfmark end
-128 1865 a Black 149 x Fp(5.6.1)p
Black 90 w(A)k(small)g(e)o(xample:)30 b(Recipr)n(ocation)-128
2217 y FA(F)o(or)18 b(an)g(e)o(xample)e(we)j(ha)n(v)o(e)e(a)i(program,)
d(called)h(Recip.hs,)h(which)g(computes)e(e)o(xact)i(decimal)f
(representations)f(of)i(reciprocals,)f(with)h(recurring)-128
2316 y(parts)j(indicated)e(in)h(brack)o(ets.)-128 2384
y
SDict begin H.S end
-128 2384 a -128 2384 a
SDict begin 12 H.A end
-128 2384 a -128 2384 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-189) cvn H.B /DEST pdfmark end
-128
2384 a 0.95 TeXcolorgray -153 2399 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2491 25 92 v Black 0.95 TeXcolorgray -128 2491 4252
92 v Black 0.95 TeXcolorgray 4124 2491 25 92 v Black
0.95 TeXcolorgray Black -128 2463 a
SDict begin H.S end
-128 2463 a -128
2463 a
SDict begin 11 H.A end
-128 2463 a -128 2463 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.1) cvn H.B /DEST pdfmark end
-128 2463 a 0 0 0 TeXcolorrgb
Fo(reciprocal)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44
w(Int)p Black 44 w(->)45 b(\()p 0 0 0 TeXcolorrgb(String)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 44 w(Int)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2582 25
92 v Black 0.95 TeXcolorgray -128 2582 4252 92 v Black
0.95 TeXcolorgray 4124 2582 25 92 v Black 0.95 TeXcolorgray
Black -128 2554 a
SDict begin H.S end
-128 2554 a -128 2554 a
SDict begin 11 H.A end
-128 2554 a
-128 2554 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.2) cvn H.B /DEST pdfmark end
-128 2554 a 0 0 0 TeXcolorrgb Fo(reciprocal)p
Black 0 0 0 TeXcolorrgb 44 w(n)p Black 44 w(|)p 0 0 0
TeXcolorrgb 45 w(n)p Black 45 w(>)f(1)h(=)g(\('0')f(:)g('.')h(:)p
0 0 0 TeXcolorrgb 44 w(digits)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(recur)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2673 25 92 v Black 0.95
TeXcolorgray -128 2673 4252 92 v Black 0.95 TeXcolorgray
4124 2673 25 92 v Black 0.95 TeXcolorgray Black -128
2646 a
SDict begin H.S end
-128 2646 a -128 2646 a
SDict begin 11 H.A end
-128 2646 a -128 2646
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.3) cvn H.B /DEST pdfmark end
-128 2646 a 583 w Fo(|)p 0 0 0 TeXcolorrgb 45 w(otherwise)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(error)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2765 25 92
v Black 0.95 TeXcolorgray -128 2765 4252 92 v Black 0.95
TeXcolorgray 4124 2765 25 92 v Black 0.95 TeXcolorgray
Black -128 2737 a
SDict begin H.S end
-128 2737 a -128 2737 a
SDict begin 11 H.A end
-128 2737 a
-128 2737 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.4) cvn H.B /DEST pdfmark end
-128 2737 a 538 w Fo(")p 0 0 0 TeXcolorrgb(attempting)p
Black 0 0 0 TeXcolorrgb 43 w(to)p Black 0 0 0 TeXcolorrgb
45 w(compute)p Black 0 0 0 TeXcolorrgb 44 w(reciprocal)p
Black 0 0 0 TeXcolorrgb 43 w(of)p Black 0 0 0 TeXcolorrgb
44 w(number)p Black 44 w(<=)g(1")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2856 25 92 v Black 0.95
TeXcolorgray -128 2856 4252 92 v Black 0.95 TeXcolorgray
4124 2856 25 92 v Black 0.95 TeXcolorgray Black -128
2828 a
SDict begin H.S end
-128 2828 a -128 2828 a
SDict begin 11 H.A end
-128 2828 a -128 2828
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.5) cvn H.B /DEST pdfmark end
-128 2828 a 0 0 0 TeXcolorrgb 90 w Fo(where)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2947 25
92 v Black 0.95 TeXcolorgray -128 2947 4252 92 v Black
0.95 TeXcolorgray 4124 2947 25 92 v Black 0.95 TeXcolorgray
Black -128 2920 a
SDict begin H.S end
-128 2920 a -128 2920 a
SDict begin 11 H.A end
-128 2920 a
-128 2920 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.6) cvn H.B /DEST pdfmark end
-128 2920 a 90 w Fo(\()p 0 0 0 TeXcolorrgb(digits)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(recur)p Black -1
w(\))f(=)p 0 0 0 TeXcolorrgb 45 w(divide)p Black 0 0 0
TeXcolorrgb 44 w(n)p Black 45 w(1)g([])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3039 25 92 v Black 0.95
TeXcolorgray -128 3039 4252 92 v Black 0.95 TeXcolorgray
4124 3039 25 92 v Black 0.95 TeXcolorgray Black -128
3011 a
SDict begin H.S end
-128 3011 a -128 3011 a
SDict begin 11 H.A end
-128 3011 a -128 3011
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.7) cvn H.B /DEST pdfmark end
-128 3011 a 0 0 0 TeXcolorrgb Fo(divide)p Black 44
w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(Int)p Black 44 w(->)g([)p 0 0 0 TeXcolorrgb(Int)p
Black(])g(->)h(\()p 0 0 0 TeXcolorrgb(String)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 44 w(Int)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3130 25 92
v Black 0.95 TeXcolorgray -128 3130 4252 92 v Black 0.95
TeXcolorgray 4124 3130 25 92 v Black 0.95 TeXcolorgray
Black -128 3102 a
SDict begin H.S end
-128 3102 a -128 3102 a
SDict begin 11 H.A end
-128 3102 a
-128 3102 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.8) cvn H.B /DEST pdfmark end
-128 3102 a 0 0 0 TeXcolorrgb Fo(divide)p
Black 0 0 0 TeXcolorrgb 44 w(n)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black 0 0 0 TeXcolorrgb 45 w(cs)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(c)p Black 44 w(`)p 0 0 0 TeXcolorrgb(elem)p
Black(`)p 0 0 0 TeXcolorrgb 44 w(cs)p Black 45 w(=)f(\([],)p
0 0 0 TeXcolorrgb 45 w(position)p Black 0 0 0 TeXcolorrgb
43 w(c)p Black 0 0 0 TeXcolorrgb 45 w(cs)p Black -1 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3221 25
92 v Black 0.95 TeXcolorgray -128 3221 4252 92 v Black
0.95 TeXcolorgray 4124 3221 25 92 v Black 0.95 TeXcolorgray
Black -128 3194 a
SDict begin H.S end
-128 3194 a -128 3194 a
SDict begin 11 H.A end
-128 3194 a
-128 3194 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.9) cvn H.B /DEST pdfmark end
-128 3194 a 628 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(r)p Black 44 w(==)h(0)269 b(=)44 b(\()p 0 0 0 TeXcolorrgb(show)p
Black 0 0 0 TeXcolorrgb 44 w(q)p Black(,)h(0\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3312 25 92
v Black 0.95 TeXcolorgray -128 3312 4252 92 v Black 0.95
TeXcolorgray 4124 3312 25 92 v Black 0.95 TeXcolorgray
Black -128 3285 a
SDict begin H.S end
-128 3285 a -128 3285 a
SDict begin 11 H.A end
-128 3285 a
-128 3285 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.10) cvn H.B /DEST pdfmark end
-128 3285 a 628 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(r)p Black 44 w(/=)g(0)269 b(=)44 b(\()p 0 0 0 TeXcolorrgb(show)p
Black 0 0 0 TeXcolorrgb 44 w(q)p Black 45 w(++)p 0 0 0
TeXcolorrgb 45 w(digits)p Black -1 w(,)p 0 0 0 TeXcolorrgb
44 w(recur)p Black -1 w(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3404 25 92 v Black 0.95 TeXcolorgray
-128 3404 4252 92 v Black 0.95 TeXcolorgray 4124 3404
25 92 v Black 0.95 TeXcolorgray Black -128 3376 a
SDict begin H.S end
-128
3376 a -128 3376 a
SDict begin 11 H.A end
-128 3376 a -128 3376 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.11) cvn H.B /DEST pdfmark end
-128 3376
a 0 0 0 TeXcolorrgb 90 w Fo(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3495 25 92 v Black 0.95
TeXcolorgray -128 3495 4252 92 v Black 0.95 TeXcolorgray
4124 3495 25 92 v Black 0.95 TeXcolorgray Black -128
3468 a
SDict begin H.S end
-128 3468 a -128 3468 a
SDict begin 11 H.A end
-128 3468 a -128 3468
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.12) cvn H.B /DEST pdfmark end
-128 3468 a 90 w Fo(\()p 0 0 0 TeXcolorrgb(q)p Black(,)p
0 0 0 TeXcolorrgb 44 w(r)p Black(\))h(=)g(\()p 0 0 0
TeXcolorrgb -1 w(c)p Black 13 x(*)500 3468 y(10\))f(`)p
0 0 0 TeXcolorrgb(quotRem)p Black -1 w(`)p 0 0 0 TeXcolorrgb
45 w(n)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3586 25 92 v Black 0.95 TeXcolorgray -128 3586 4252
92 v Black 0.95 TeXcolorgray 4124 3586 25 92 v Black
0.95 TeXcolorgray Black -128 3559 a
SDict begin H.S end
-128 3559 a -128
3559 a
SDict begin 11 H.A end
-128 3559 a -128 3559 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.13) cvn H.B /DEST pdfmark end
-128 3559 a 90 w Fo(\()p
0 0 0 TeXcolorrgb(digits)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(recur)p Black -1 w(\))g(=)p 0 0 0 TeXcolorrgb 45
w(divide)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 0 0 0
TeXcolorrgb 45 w(r)p Black 44 w(\()p 0 0 0 TeXcolorrgb(c)p
Black(:)p 0 0 0 TeXcolorrgb(cs)p Black -1 w(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3678 25 92
v Black 0.95 TeXcolorgray -128 3678 4252 92 v Black 0.95
TeXcolorgray 4124 3678 25 92 v Black 0.95 TeXcolorgray
Black -128 3650 a
SDict begin H.S end
-128 3650 a -128 3650 a
SDict begin 11 H.A end
-128 3650 a
-128 3650 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.14) cvn H.B /DEST pdfmark end
-128 3650 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3769 25 92 v Black 0.95 TeXcolorgray
-128 3769 4252 92 v Black 0.95 TeXcolorgray 4124 3769
25 92 v Black 0.95 TeXcolorgray Black -128 3742 a
SDict begin H.S end
-128
3742 a -128 3742 a
SDict begin 11 H.A end
-128 3742 a -128 3742 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.15) cvn H.B /DEST pdfmark end
-128 3742
a 0 0 0 TeXcolorrgb Fo(position)p Black 44 w(::)p 0 0 0
TeXcolorrgb 44 w(Int)p Black 45 w(->)g([)p 0 0 0 TeXcolorrgb(Int)p
Black(])g(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3860 25 92
v Black 0.95 TeXcolorgray -128 3860 4252 92 v Black 0.95
TeXcolorgray 4124 3860 25 92 v Black 0.95 TeXcolorgray
Black -128 3833 a
SDict begin H.S end
-128 3833 a -128 3833 a
SDict begin 11 H.A end
-128 3833 a
-128 3833 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.16) cvn H.B /DEST pdfmark end
-128 3833 a 0 0 0 TeXcolorrgb Fo(position)p
Black 0 0 0 TeXcolorrgb 44 w(n)p Black 45 w(\()p 0 0 0
TeXcolorrgb -1 w(x)p Black(:)p 0 0 0 TeXcolorrgb(xs)p
Black(\))g(|)p 0 0 0 TeXcolorrgb 45 w(n)p Black(==)p
0 0 0 TeXcolorrgb(x)p Black 268 w(=)h(1)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3952 25 92 v Black 0.95
TeXcolorgray -128 3952 4252 92 v Black 0.95 TeXcolorgray
4124 3952 25 92 v Black 0.95 TeXcolorgray Black -128
3924 a
SDict begin H.S end
-128 3924 a -128 3924 a
SDict begin 11 H.A end
-128 3924 a -128 3924
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.17) cvn H.B /DEST pdfmark end
-128 3924 a 807 w Fo(|)p 0 0 0 TeXcolorrgb 45 w(otherwise)p
Black 43 w(=)g(1)g(+)p 0 0 0 TeXcolorrgb 44 w(position)p
Black 0 0 0 TeXcolorrgb 44 w(n)p Black 0 0 0 TeXcolorrgb
45 w(xs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4043 25 92 v Black 0.95 TeXcolorgray -128 4043 4252
92 v Black 0.95 TeXcolorgray 4124 4043 25 92 v Black
0.95 TeXcolorgray Black -128 4016 a
SDict begin H.S end
-128 4016 a -128
4016 a
SDict begin 11 H.A end
-128 4016 a -128 4016 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.18) cvn H.B /DEST pdfmark end
-128 4016 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4134 25 92 v Black 0.95
TeXcolorgray -128 4134 4252 92 v Black 0.95 TeXcolorgray
4124 4134 25 92 v Black 0.95 TeXcolorgray Black -128
4107 a
SDict begin H.S end
-128 4107 a -128 4107 a
SDict begin 11 H.A end
-128 4107 a -128 4107
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.19) cvn H.B /DEST pdfmark end
-128 4107 a 0 0 0 TeXcolorrgb Fo(showRecip)p Black
44 w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(String)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4226 25 92 v Black 0.95
TeXcolorgray -128 4226 4252 92 v Black 0.95 TeXcolorgray
4124 4226 25 92 v Black 0.95 TeXcolorgray Black -128
4198 a
SDict begin H.S end
-128 4198 a -128 4198 a
SDict begin 11 H.A end
-128 4198 a -128 4198
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.20) cvn H.B /DEST pdfmark end
-128 4198 a 0 0 0 TeXcolorrgb Fo(showRecip)p Black
0 0 0 TeXcolorrgb 44 w(n)p Black 44 w(=)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4317 25 92 v Black 0.95
TeXcolorgray -128 4317 4252 92 v Black 0.95 TeXcolorgray
4124 4317 25 92 v Black 0.95 TeXcolorgray Black -128
4290 a
SDict begin H.S end
-128 4290 a -128 4290 a
SDict begin 11 H.A end
-128 4290 a -128 4290
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.21) cvn H.B /DEST pdfmark end
-128 4290 a 90 w Fo("1/")f(++)p 0 0 0 TeXcolorrgb 45
w(show)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black 45 w(++)g(")h(=)f(")h
(++)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4408 25 92 v Black 0.95 TeXcolorgray -128 4408 4252 92
v Black 0.95 TeXcolorgray 4124 4408 25 92 v Black 0.95
TeXcolorgray Black -128 4381 a
SDict begin H.S end
-128 4381 a -128 4381
a
SDict begin 11 H.A end
-128 4381 a -128 4381 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.22) cvn H.B /DEST pdfmark end
-128 4381 a 0 0 0 TeXcolorrgb
90 w Fo(if)p Black 0 0 0 TeXcolorrgb 45 w(r)p Black -1
w(==0)p 0 0 0 TeXcolorrgb 45 w(then)p Black 0 0 0 TeXcolorrgb
44 w(d)p Black 0 0 0 TeXcolorrgb 45 w(else)p Black 0 0 0
TeXcolorrgb 44 w(take)p Black 0 0 0 TeXcolorrgb 44 w(p)p
Black 0 0 0 TeXcolorrgb 45 w(d)p Black 44 w(++)g("\(")f(++)p
0 0 0 TeXcolorrgb 45 w(drop)p Black 0 0 0 TeXcolorrgb
44 w(p)p Black 0 0 0 TeXcolorrgb 44 w(d)p Black 45 w(++)h("\))o(")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4500 25
92 v Black 0.95 TeXcolorgray -128 4500 4252 92 v Black
0.95 TeXcolorgray 4124 4500 25 92 v Black 0.95 TeXcolorgray
Black -128 4472 a
SDict begin H.S end
-128 4472 a -128 4472 a
SDict begin 11 H.A end
-128 4472 a
-128 4472 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.23) cvn H.B /DEST pdfmark end
-128 4472 a 0 0 0 TeXcolorrgb 90 w Fo(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4591 25 92 v Black 0.95 TeXcolorgray -128 4591 4252 92
v Black 0.95 TeXcolorgray 4124 4591 25 92 v Black 0.95
TeXcolorgray Black -128 4564 a
SDict begin H.S end
-128 4564 a -128 4564
a
SDict begin 11 H.A end
-128 4564 a -128 4564 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.24) cvn H.B /DEST pdfmark end
-128 4564 a 0 0 0 TeXcolorrgb
90 w Fo(p)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(length)p
Black 0 0 0 TeXcolorrgb 44 w(d)p Black 45 w(-)p 0 0 0
TeXcolorrgb 45 w(r)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4682 25 92 v Black 0.95 TeXcolorgray
-128 4682 4252 92 v Black 0.95 TeXcolorgray 4124 4682
25 92 v Black 0.95 TeXcolorgray Black -128 4655 a
SDict begin H.S end
-128
4655 a -128 4655 a
SDict begin 11 H.A end
-128 4655 a -128 4655 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.25) cvn H.B /DEST pdfmark end
-128 4655
a 90 w Fo(\()p 0 0 0 TeXcolorrgb(d)p Black(,)p 0 0 0
TeXcolorrgb 44 w(r)p Black(\))g(=)p 0 0 0 TeXcolorrgb
45 w(reciprocal)p Black 0 0 0 TeXcolorrgb 43 w(n)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4774 25
92 v Black 0.95 TeXcolorgray -128 4774 4252 92 v Black
0.95 TeXcolorgray 4124 4774 25 92 v Black 0.95 TeXcolorgray
Black -128 4746 a
SDict begin H.S end
-128 4746 a -128 4746 a
SDict begin 11 H.A end
-128 4746 a
-128 4746 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.26) cvn H.B /DEST pdfmark end
-128 4746 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4865 25 92 v Black 0.95 TeXcolorgray
-128 4865 4252 92 v Black 0.95 TeXcolorgray 4124 4865
25 92 v Black 0.95 TeXcolorgray Black -128 4838 a
SDict begin H.S end
-128
4838 a -128 4838 a
SDict begin 11 H.A end
-128 4838 a -128 4838 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.27) cvn H.B /DEST pdfmark end
-128 4838
a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(do)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4956 25 92 v Black 0.95 TeXcolorgray -128 4956 4252
92 v Black 0.95 TeXcolorgray 4124 4956 25 92 v Black
0.95 TeXcolorgray Black -128 4929 a
SDict begin H.S end
-128 4929 a -128
4929 a
SDict begin 11 H.A end
-128 4929 a -128 4929 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.28) cvn H.B /DEST pdfmark end
-128 4929 a 0 0 0 TeXcolorrgb
90 w Fo(number)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 44
w(readLn)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5048 25 92 v Black 0.95 TeXcolorgray -128 5048 4252
92 v Black 0.95 TeXcolorgray 4124 5048 25 92 v Black
0.95 TeXcolorgray Black -128 5020 a
SDict begin H.S end
-128 5020 a -128
5020 a
SDict begin 11 H.A end
-128 5020 a -128 5020 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.29) cvn H.B /DEST pdfmark end
-128 5020 a 0 0 0 TeXcolorrgb
90 w Fo(putStrLn)p Black 44 w(\()p 0 0 0 TeXcolorrgb
-1 w(showRecip)p Black 0 0 0 TeXcolorrgb 44 w(number)p
Black -1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5139 25 92 v Black 0.95 TeXcolorgray -128 5139 4252
92 v Black 0.95 TeXcolorgray 4124 5139 25 92 v Black
0.95 TeXcolorgray Black -128 5112 a
SDict begin H.S end
-128 5112 a -128
5112 a
SDict begin 11 H.A end
-128 5112 a -128 5112 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-189.30) cvn H.B /DEST pdfmark end
-128 5112 a 0 0 0 TeXcolorrgb
90 w Fo(main)p Black 0.95 TeXcolorgray -153 5164 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 5338
a FA(The)20 b(HPC)i(instrumentation)17 b(is)22 b(enabled)d(using)g(the)
h(-fhpc)f(\003ag.)-128 5406 y
SDict begin H.S end
-128 5406 a -128 5406 a
SDict begin 12 H.A end
-128 5406 a -128 5406 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-190) cvn H.B /DEST pdfmark end
-128 5406 a 0.95 TeXcolorgray
-153 5421 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5513 25 92
v Black 0.95 TeXcolorgray -128 5513 4252 92 v Black 0.95
TeXcolorgray 4124 5513 25 92 v Black 0.95 TeXcolorgray
Black -128 5485 a
SDict begin H.S end
-128 5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a
-128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-190.1) cvn H.B /DEST pdfmark end
-128 5485 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(fhpc)p
Black 0 0 0 TeXcolorrgb 44 w(Recip)p Black(.)p 0 0 0
TeXcolorrgb -1 w(hs)p Black 45 w(--)p 0 0 0 TeXcolorrgb(make)p
Black 0.95 TeXcolorgray -153 5537 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5712 a FA(HPC)j(inde)o(x)d
(\(.mix\))g(\002les)i(are)f(placed)f(placed)h(in)g(.hpc)g(subdirectory)
-5 b(.)22 b(These)e(can)g(be)g(considered)e(lik)o(e)j(the)f(.hi)g
(\002les)h(for)f(HPC.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 107 122
TeXDict begin 107 121 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.107) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(107)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-191) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-191.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo($)p Black 45 w(./)p 0 0 0 TeXcolorrgb(Recip)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 356 25
92 v Black 0.95 TeXcolorgray -128 356 4252 92 v Black
0.95 TeXcolorgray 4124 356 25 92 v Black 0.95 TeXcolorgray
Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128 328 a -128
328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-191.2) cvn H.B /DEST pdfmark end
-128 328 a Fo(1/3)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-191.3) cvn H.B /DEST pdfmark end
-128 420 a Fo(=)45
b(0.\(3\))p 0.95 TeXcolorgray -153 472 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 620 a FA(W)-7
b(e)22 b(can)e(generate)f(a)h(te)o(xtual)g(summary)f(of)h(co)o(v)o
(erage:)-128 675 y
SDict begin H.S end
-128 675 a -128 675 a
SDict begin 12 H.A end
-128 675 a -128
675 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-192) cvn H.B /DEST pdfmark end
-128 675 a 0.95 TeXcolorgray -153 690 4302 25 v
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 782 25 92 v Black 0.95 TeXcolorgray
-128 782 4252 92 v Black 0.95 TeXcolorgray 4124 782 25
92 v Black 0.95 TeXcolorgray Black -128 754 a
SDict begin H.S end
-128 754
a -128 754 a
SDict begin 11 H.A end
-128 754 a -128 754 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.1) cvn H.B /DEST pdfmark end
-128 754 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(hpc)p Black 0 0 0
TeXcolorrgb 44 w(report)p Black 0 0 0 TeXcolorrgb 44
w(Recip)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 873 25 92 v Black 0.95 TeXcolorgray -128 873 4252
92 v Black 0.95 TeXcolorgray 4124 873 25 92 v Black 0.95
TeXcolorgray Black -128 846 a
SDict begin H.S end
-128 846 a -128 846 a
SDict begin 11 H.A end
-128
846 a -128 846 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.2) cvn H.B /DEST pdfmark end
-128 846 a 45 w Fo(80\045)p 0 0 0 TeXcolorrgb
45 w(expressions)p Black 0 0 0 TeXcolorrgb 43 w(used)p
Black 44 w(\(81/101\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 964 25 92 v Black 0.95 TeXcolorgray
-128 964 4252 92 v Black 0.95 TeXcolorgray 4124 964 25
92 v Black 0.95 TeXcolorgray Black -128 937 a
SDict begin H.S end
-128 937
a -128 937 a
SDict begin 11 H.A end
-128 937 a -128 937 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.3) cvn H.B /DEST pdfmark end
-128 937 a 45 w Fo(12\045)p
0 0 0 TeXcolorrgb 45 w(boolean)p Black 0 0 0 TeXcolorrgb
43 w(coverage)p Black 44 w(\(1/8\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1056 25 92 v Black 0.95
TeXcolorgray -128 1056 4252 92 v Black 0.95 TeXcolorgray
4124 1056 25 92 v Black 0.95 TeXcolorgray Black -128
1028 a
SDict begin H.S end
-128 1028 a -128 1028 a
SDict begin 11 H.A end
-128 1028 a -128 1028
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.4) cvn H.B /DEST pdfmark end
-128 1028 a 269 w Fo(14\045)p 0 0 0 TeXcolorrgb 45
w(guards)p Black 44 w(\(1/7\))o(,)44 b(3)p 0 0 0 TeXcolorrgb
45 w(always)p Black 0 0 0 TeXcolorrgb 44 w(True)p Black
-1 w(,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1147 25 92 v Black 0.95 TeXcolorgray -128 1147 4252 92
v Black 0.95 TeXcolorgray 4124 1147 25 92 v Black 0.95
TeXcolorgray Black -128 1120 a
SDict begin H.S end
-128 1120 a -128 1120
a
SDict begin 11 H.A end
-128 1120 a -128 1120 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.5) cvn H.B /DEST pdfmark end
-128 1120 a 1076 w Fo(1)p 0 0 0
TeXcolorrgb 45 w(always)p Black 0 0 0 TeXcolorrgb 44
w(False)p Black -1 w(,)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1238 25 92 v Black 0.95 TeXcolorgray
-128 1238 4252 92 v Black 0.95 TeXcolorgray 4124 1238
25 92 v Black 0.95 TeXcolorgray Black -128 1211 a
SDict begin H.S end
-128
1211 a -128 1211 a
SDict begin 11 H.A end
-128 1211 a -128 1211 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.6) cvn H.B /DEST pdfmark end
-128 1211
a 1076 w Fo(2)p 0 0 0 TeXcolorrgb 45 w(unevaluated)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1330 25 92 v Black 0.95 TeXcolorgray -128 1330 4252 92
v Black 0.95 TeXcolorgray 4124 1330 25 92 v Black 0.95
TeXcolorgray Black -128 1302 a
SDict begin H.S end
-128 1302 a -128 1302
a
SDict begin 11 H.A end
-128 1302 a -128 1302 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.7) cvn H.B /DEST pdfmark end
-128 1302 a 314 w Fo(0\045)h(')p
0 0 0 TeXcolorrgb(if)p Black -1 w(')p 0 0 0 TeXcolorrgb
45 w(conditions)p Black 43 w(\(0/1\))o(,)g(1)p 0 0 0
TeXcolorrgb 45 w(always)p Black 0 0 0 TeXcolorrgb 43
w(False)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1421 25 92 v Black 0.95 TeXcolorgray -128 1421 4252
92 v Black 0.95 TeXcolorgray 4124 1421 25 92 v Black
0.95 TeXcolorgray Black -128 1394 a
SDict begin H.S end
-128 1394 a -128
1394 a
SDict begin 11 H.A end
-128 1394 a -128 1394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.8) cvn H.B /DEST pdfmark end
-128 1394 a 225 w Fo(100\045)p
0 0 0 TeXcolorrgb 44 w(qualifiers)p Black 43 w(\(0/0\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1512 25
92 v Black 0.95 TeXcolorgray -128 1512 4252 92 v Black
0.95 TeXcolorgray 4124 1512 25 92 v Black 0.95 TeXcolorgray
Black -128 1485 a
SDict begin H.S end
-128 1485 a -128 1485 a
SDict begin 11 H.A end
-128 1485 a
-128 1485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.9) cvn H.B /DEST pdfmark end
-128 1485 a 45 w Fo(55\045)p 0 0 0 TeXcolorrgb
45 w(alternatives)p Black 0 0 0 TeXcolorrgb 42 w(used)p
Black 45 w(\(5/9\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1604 25 92 v Black 0.95 TeXcolorgray -128 1604 4252
92 v Black 0.95 TeXcolorgray 4124 1604 25 92 v Black
0.95 TeXcolorgray Black -128 1576 a
SDict begin H.S end
-128 1576 a -128
1576 a
SDict begin 11 H.A end
-128 1576 a -128 1576 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.10) cvn H.B /DEST pdfmark end
-128 1576 a Fo(100\045)p
0 0 0 TeXcolorrgb 45 w(local)p Black 0 0 0 TeXcolorrgb
44 w(declarations)p Black 0 0 0 TeXcolorrgb 42 w(used)p
Black 45 w(\(9/9\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1695 25 92 v Black 0.95 TeXcolorgray -128 1695 4252
92 v Black 0.95 TeXcolorgray 4124 1695 25 92 v Black
0.95 TeXcolorgray Black -128 1668 a
SDict begin H.S end
-128 1668 a -128
1668 a
SDict begin 11 H.A end
-128 1668 a -128 1668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-192.11) cvn H.B /DEST pdfmark end
-128 1668 a Fo(100\045)p
0 0 0 TeXcolorrgb 45 w(top)p Black -1 w(-)p 0 0 0 TeXcolorrgb(level)p
Black 0 0 0 TeXcolorrgb 44 w(declarations)p Black 0 0 0
TeXcolorrgb 43 w(used)p Black 44 w(\(5/5\))p 0.95 TeXcolorgray
-153 1720 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1868 a FA(W)-7 b(e)22 b(can)e(also)g(generate)f(a)i(mark)o
(ed-up)c(v)o(ersion)i(of)h(the)g(source.)-128 1923 y
SDict begin H.S end
-128 1923 a -128 1923 a
SDict begin 12 H.A end
-128 1923 a -128 1923 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-193) cvn H.B /DEST pdfmark end
-128
1923 a 0.95 TeXcolorgray -153 1938 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2029 25 92 v Black 0.95 TeXcolorgray -128 2029 4252
92 v Black 0.95 TeXcolorgray 4124 2029 25 92 v Black
0.95 TeXcolorgray Black -128 2002 a
SDict begin H.S end
-128 2002 a -128
2002 a
SDict begin 11 H.A end
-128 2002 a -128 2002 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-193.1) cvn H.B /DEST pdfmark end
-128 2002 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(hpc)p Black 0 0 0
TeXcolorrgb 44 w(markup)p Black 0 0 0 TeXcolorrgb 44
w(Recip)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2121 25 92 v Black 0.95 TeXcolorgray -128 2121 4252
92 v Black 0.95 TeXcolorgray 4124 2121 25 92 v Black
0.95 TeXcolorgray Black -128 2093 a
SDict begin H.S end
-128 2093 a -128
2093 a
SDict begin 11 H.A end
-128 2093 a -128 2093 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-193.2) cvn H.B /DEST pdfmark end
-128 2093 a 0 0 0 TeXcolorrgb
Fo(writing)p Black 0 0 0 TeXcolorrgb 44 w(Recip)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black(.)p 0 0 0 TeXcolorrgb(html)p
Black 0.95 TeXcolorgray -153 2146 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2294 a FA(This)c(generates)e(one)h
(\002le)h(per)e(Hask)o(ell)i(module,)f(and)f(4)i(inde)o(x)e(\002les,)i
(hpc_inde)o(x.html,)d(hpc_inde)o(x_alt.html,)e(hpc_inde)o(x_e)o
(xp.html,)g(hpc_inde)o(x_fun.htm)o(l.)-128 2422 y
SDict begin H.S end
-128
2422 a -128 2422 a
SDict begin 12 H.A end
-128 2422 a -128 2422 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.6.2) cvn H.B /DEST pdfmark end
-128 2422
a Black 136 x Fp(5.6.2)p Black 90 w(Options)23 b(f)n(or)i
(instrumenting)e(code)h(f)n(or)g(co)n(vera)o(g)q(e)-128
2748 y FA(T)l(urning)c(on)h(code)f(co)o(v)o(erage)f(is)k(easy)-5
b(,)21 b(use)g(the)g(-fhpc)f(\003ag.)29 b(Instrumented)19
b(and)h(non-instrumented)e(can)j(be)g(freely)g(mix)o(ed.)27
b(When)21 b(compiling)-128 2847 y(the)g(Main)f(module)e(GHC)j
(automatically)e(detects)i(when)e(there)h(is)h(an)f(hpc)g(compiled)e
(\002le,)j(and)f(adds)g(the)g(correct)f(initialization)h(code.)-128
2976 y
SDict begin H.S end
-128 2976 a -128 2976 a
SDict begin 12 H.A end
-128 2976 a -128 2976
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.6.3) cvn H.B /DEST pdfmark end
-128 2976 a Black 135 x Fp(5.6.3)p Black 90 w(The)k(hpc)g(toolkit)
-128 3301 y FA(The)c(hpc)g(toolkit)g(uses)g(a)h(cvs/svn/darcs-lik)o(e)d
(interf)o(ace,)h(where)h(a)h(single)f(binary)f(contains)g(man)o(y)g
(function)f(units.)-128 3355 y
SDict begin H.S end
-128 3355 a -128 3355
a
SDict begin 12 H.A end
-128 3355 a -128 3355 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-194) cvn H.B /DEST pdfmark end
-128 3355 a 0.95 TeXcolorgray
-153 3371 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3462 25 92
v Black 0.95 TeXcolorgray -128 3462 4252 92 v Black 0.95
TeXcolorgray 4124 3462 25 92 v Black 0.95 TeXcolorgray
Black -128 3435 a
SDict begin H.S end
-128 3435 a -128 3435 a
SDict begin 11 H.A end
-128 3435 a
-128 3435 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.1) cvn H.B /DEST pdfmark end
-128 3435 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(hpc)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3553 25 92 v Black 0.95
TeXcolorgray -128 3553 4252 92 v Black 0.95 TeXcolorgray
4124 3553 25 92 v Black 0.95 TeXcolorgray Black -128
3526 a
SDict begin H.S end
-128 3526 a -128 3526 a
SDict begin 11 H.A end
-128 3526 a -128 3526
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.2) cvn H.B /DEST pdfmark end
-128 3526 a 0 0 0 TeXcolorrgb Fo(Usage)p Black(:)p
0 0 0 TeXcolorrgb 44 w(hpc)p Black 0 0 0 TeXcolorrgb
45 w(COMMAND)p Black 43 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3645 25 92 v Black 0.95 TeXcolorgray
-128 3645 4252 92 v Black 0.95 TeXcolorgray 4124 3645
25 92 v Black 0.95 TeXcolorgray Black -128 3617 a
SDict begin H.S end
-128
3617 a -128 3617 a
SDict begin 11 H.A end
-128 3617 a -128 3617 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.3) cvn H.B /DEST pdfmark end
-128 3617
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3736
25 92 v Black 0.95 TeXcolorgray -128 3736 4252 92 v Black
0.95 TeXcolorgray 4124 3736 25 92 v Black 0.95 TeXcolorgray
Black -128 3709 a
SDict begin H.S end
-128 3709 a -128 3709 a
SDict begin 11 H.A end
-128 3709 a
-128 3709 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.4) cvn H.B /DEST pdfmark end
-128 3709 a 0 0 0 TeXcolorrgb Fo(Commands)p
Black -1 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3827 25 92 v Black 0.95 TeXcolorgray -128 3827 4252
92 v Black 0.95 TeXcolorgray 4124 3827 25 92 v Black
0.95 TeXcolorgray Black -128 3800 a
SDict begin H.S end
-128 3800 a -128
3800 a
SDict begin 11 H.A end
-128 3800 a -128 3800 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.5) cvn H.B /DEST pdfmark end
-128 3800 a 0 0 0 TeXcolorrgb
90 w Fo(help)p Black 0 0 0 TeXcolorrgb 358 w(Display)p
Black 0 0 0 TeXcolorrgb 44 w(help)p Black 0 0 0 TeXcolorrgb
44 w(for)p Black 0 0 0 TeXcolorrgb 44 w(hpc)p Black 0 0 0
TeXcolorrgb 45 w(or)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(single)p Black 0 0 0 TeXcolorrgb
44 w(command)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3919 25 92 v Black 0.95 TeXcolorgray -128 3919 4252
92 v Black 0.95 TeXcolorgray 4124 3919 25 92 v Black
0.95 TeXcolorgray Black -128 3891 a
SDict begin H.S end
-128 3891 a -128
3891 a
SDict begin 11 H.A end
-128 3891 a -128 3891 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.6) cvn H.B /DEST pdfmark end
-128 3891 a 0 0 0 TeXcolorrgb
Fo(Reporting)p Black 0 0 0 TeXcolorrgb 44 w(Coverage)p
Black -2 w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4010 25 92 v Black 0.95 TeXcolorgray -128 4010 4252
92 v Black 0.95 TeXcolorgray 4124 4010 25 92 v Black
0.95 TeXcolorgray Black -128 3983 a
SDict begin H.S end
-128 3983 a -128
3983 a
SDict begin 11 H.A end
-128 3983 a -128 3983 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.7) cvn H.B /DEST pdfmark end
-128 3983 a 0 0 0 TeXcolorrgb
90 w Fo(report)p Black 0 0 0 TeXcolorrgb 268 w(Output)p
Black 0 0 0 TeXcolorrgb 44 w(textual)p Black 0 0 0 TeXcolorrgb
44 w(report)p Black 0 0 0 TeXcolorrgb 43 w(about)p Black
0 0 0 TeXcolorrgb 44 w(program)p Black 0 0 0 TeXcolorrgb
44 w(coverage)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4101 25 92 v Black 0.95 TeXcolorgray -128 4101 4252
92 v Black 0.95 TeXcolorgray 4124 4101 25 92 v Black
0.95 TeXcolorgray Black -128 4074 a
SDict begin H.S end
-128 4074 a -128
4074 a
SDict begin 11 H.A end
-128 4074 a -128 4074 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.8) cvn H.B /DEST pdfmark end
-128 4074 a 0 0 0 TeXcolorrgb
90 w Fo(markup)p Black 0 0 0 TeXcolorrgb 268 w(Markup)p
Black 0 0 0 TeXcolorrgb 44 w(Haskell)p Black 0 0 0 TeXcolorrgb
44 w(source)p Black 0 0 0 TeXcolorrgb 43 w(with)p Black
0 0 0 TeXcolorrgb 45 w(program)p Black 0 0 0 TeXcolorrgb
43 w(coverage)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4193 25 92 v Black 0.95 TeXcolorgray -128 4193 4252
92 v Black 0.95 TeXcolorgray 4124 4193 25 92 v Black
0.95 TeXcolorgray Black -128 4165 a
SDict begin H.S end
-128 4165 a -128
4165 a
SDict begin 11 H.A end
-128 4165 a -128 4165 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.9) cvn H.B /DEST pdfmark end
-128 4165 a 0 0 0 TeXcolorrgb
Fo(Processing)p Black 0 0 0 TeXcolorrgb 44 w(Coverage)p
Black 0 0 0 TeXcolorrgb 43 w(files)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4284 25 92
v Black 0.95 TeXcolorgray -128 4284 4252 92 v Black 0.95
TeXcolorgray 4124 4284 25 92 v Black 0.95 TeXcolorgray
Black -128 4257 a
SDict begin H.S end
-128 4257 a -128 4257 a
SDict begin 11 H.A end
-128 4257 a
-128 4257 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.10) cvn H.B /DEST pdfmark end
-128 4257 a 0 0 0 TeXcolorrgb 90 w Fo(sum)p
Black 0 0 0 TeXcolorrgb 403 w(Sum)p Black 0 0 0 TeXcolorrgb
44 w(multiple)p Black 44 w(.)p 0 0 0 TeXcolorrgb(tix)p
Black 0 0 0 TeXcolorrgb 44 w(files)p Black 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 44 w(single)p Black 44 w(.)p 0 0 0 TeXcolorrgb(tix)p
Black 0 0 0 TeXcolorrgb 44 w(file)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4375 25 92 v Black 0.95
TeXcolorgray -128 4375 4252 92 v Black 0.95 TeXcolorgray
4124 4375 25 92 v Black 0.95 TeXcolorgray Black -128
4348 a
SDict begin H.S end
-128 4348 a -128 4348 a
SDict begin 11 H.A end
-128 4348 a -128 4348
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.11) cvn H.B /DEST pdfmark end
-128 4348 a 0 0 0 TeXcolorrgb 90 w Fo(combine)p Black
0 0 0 TeXcolorrgb 223 w(Combine)p Black 0 0 0 TeXcolorrgb
44 w(two)p Black 44 w(.)p 0 0 0 TeXcolorrgb(tix)p Black
0 0 0 TeXcolorrgb 44 w(files)p Black 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 44 w(single)p Black 44 w(.)p 0 0 0 TeXcolorrgb(tix)p
Black 0 0 0 TeXcolorrgb 44 w(file)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4467 25 92 v Black 0.95
TeXcolorgray -128 4467 4252 92 v Black 0.95 TeXcolorgray
4124 4467 25 92 v Black 0.95 TeXcolorgray Black -128
4439 a
SDict begin H.S end
-128 4439 a -128 4439 a
SDict begin 11 H.A end
-128 4439 a -128 4439
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.12) cvn H.B /DEST pdfmark end
-128 4439 a 0 0 0 TeXcolorrgb 90 w Fo(map)p Black 0 0 0
TeXcolorrgb 403 w(Map)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(function)p Black 0 0 0 TeXcolorrgb
44 w(over)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 44 w(single)p Black 44 w(.)p 0 0 0 TeXcolorrgb(tix)p
Black 0 0 0 TeXcolorrgb 44 w(file)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4558 25 92 v Black 0.95
TeXcolorgray -128 4558 4252 92 v Black 0.95 TeXcolorgray
4124 4558 25 92 v Black 0.95 TeXcolorgray Black -128
4531 a
SDict begin H.S end
-128 4531 a -128 4531 a
SDict begin 11 H.A end
-128 4531 a -128 4531
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.13) cvn H.B /DEST pdfmark end
-128 4531 a 0 0 0 TeXcolorrgb Fo(Coverage)p Black 0 0 0
TeXcolorrgb 44 w(Overlays)p Black -1 w(:)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4649 25 92 v Black 0.95
TeXcolorgray -128 4649 4252 92 v Black 0.95 TeXcolorgray
4124 4649 25 92 v Black 0.95 TeXcolorgray Black -128
4622 a
SDict begin H.S end
-128 4622 a -128 4622 a
SDict begin 11 H.A end
-128 4622 a -128 4622
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.14) cvn H.B /DEST pdfmark end
-128 4622 a 0 0 0 TeXcolorrgb 90 w Fo(overlay)p Black
0 0 0 TeXcolorrgb 223 w(Generate)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 44 w(.)p 0 0 0 TeXcolorrgb(tix)p Black
0 0 0 TeXcolorrgb 44 w(file)p Black 0 0 0 TeXcolorrgb
45 w(from)p Black 0 0 0 TeXcolorrgb 44 w(an)p Black 0 0 0
TeXcolorrgb 44 w(overlay)p Black 0 0 0 TeXcolorrgb 44
w(file)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4741 25 92 v Black 0.95 TeXcolorgray -128 4741 4252
92 v Black 0.95 TeXcolorgray 4124 4741 25 92 v Black
0.95 TeXcolorgray Black -128 4713 a
SDict begin H.S end
-128 4713 a -128
4713 a
SDict begin 11 H.A end
-128 4713 a -128 4713 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.15) cvn H.B /DEST pdfmark end
-128 4713 a 0 0 0 TeXcolorrgb
90 w Fo(draft)p Black 0 0 0 TeXcolorrgb 313 w(Generate)p
Black 0 0 0 TeXcolorrgb 44 w(draft)p Black 0 0 0 TeXcolorrgb
44 w(overlay)p Black 0 0 0 TeXcolorrgb 43 w(that)p Black
0 0 0 TeXcolorrgb 44 w(provides)p Black 44 w(100\045)p
0 0 0 TeXcolorrgb 44 w(coverage)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4832 25 92 v Black 0.95
TeXcolorgray -128 4832 4252 92 v Black 0.95 TeXcolorgray
4124 4832 25 92 v Black 0.95 TeXcolorgray Black -128
4805 a
SDict begin H.S end
-128 4805 a -128 4805 a
SDict begin 11 H.A end
-128 4805 a -128 4805
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.16) cvn H.B /DEST pdfmark end
-128 4805 a 0 0 0 TeXcolorrgb Fo(Others)p Black -1
w(:)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4923 25 92 v Black 0.95 TeXcolorgray -128 4923 4252 92
v Black 0.95 TeXcolorgray 4124 4923 25 92 v Black 0.95
TeXcolorgray Black -128 4896 a
SDict begin H.S end
-128 4896 a -128 4896
a
SDict begin 11 H.A end
-128 4896 a -128 4896 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.17) cvn H.B /DEST pdfmark end
-128 4896 a 0 0 0 TeXcolorrgb
90 w Fo(show)p Black 0 0 0 TeXcolorrgb 358 w(Show)p Black
44 w(.)p 0 0 0 TeXcolorrgb(tix)p Black 0 0 0 TeXcolorrgb
44 w(file)p Black 0 0 0 TeXcolorrgb 45 w(in)p Black 0 0 0
TeXcolorrgb 44 w(readable)p Black -1 w(,)p 0 0 0 TeXcolorrgb
44 w(verbose)p Black 0 0 0 TeXcolorrgb 44 w(format)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5015 25 92 v Black 0.95 TeXcolorgray -128 5015 4252 92
v Black 0.95 TeXcolorgray 4124 5015 25 92 v Black 0.95
TeXcolorgray Black -128 4987 a
SDict begin H.S end
-128 4987 a -128 4987
a
SDict begin 11 H.A end
-128 4987 a -128 4987 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-194.18) cvn H.B /DEST pdfmark end
-128 4987 a 0 0 0 TeXcolorrgb
90 w Fo(version)p Black 0 0 0 TeXcolorrgb 223 w(Display)p
Black 0 0 0 TeXcolorrgb 44 w(version)p Black 0 0 0 TeXcolorrgb
43 w(for)p Black 0 0 0 TeXcolorrgb 45 w(hpc)p Black 0.95
TeXcolorgray -153 5039 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5188 a FA(In)j(general,)f(these)h(options)f(act)
h(on)g(.tix)g(\002le)g(after)g(an)g(instrumented)e(binary)g(has)i
(generated)f(it,)h(which)g(hpc)f(acting)g(as)i(a)f(conduit)f(between)g
(the)-128 5287 y(ra)o(w)g(.tix)h(\002le,)f(and)g(the)g(more)f(detailed)
h(reports)f(produced.)-128 5424 y(The)26 b(hpc)e(tool)i(assumes)f(you)g
(are)g(in)h(the)f(top-le)n(v)o(el)f(directory)g(of)h(the)h(location)e
(where)h(you)g(b)n(uilt)g(your)f(application,)h(and)g(the)h(.tix)f
(\002le)h(is)h(in)-128 5523 y(the)d(same)g(top-le)n(v)o(el)f(directory)
-5 b(.)33 b(Y)-9 b(ou)24 b(can)f(use)h(the)g(\003ag)g(--srcdir)f(to)h
(use)g(hpc)f(for)h(an)o(y)f(other)g(directory)-5 b(,)22
b(and)h(use)i(--srcdir)d(multiple)h(times)i(to)-128 5623
y(analyse)20 b(programs)f(compiled)f(from)h(dif)n(ference)g(locations,)
g(as)i(is)g(typical)f(for)f(packages.)-128 5759 y(W)-7
b(e)22 b(no)n(w)d(e)o(xplain)g(in)i(more)e(details)i(the)f(major)f
(modes)h(of)g(hpc.)p Black -128 6084 4252 5 v Black eop
end
%%Page: 108 123
TeXDict begin 108 122 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.108) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(108)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.6.3.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(5.6.3.1)p
Black 73 w(hpc)f(repor)q(t)-128 376 y FA(hpc)24 b(report)e(gi)n(v)o(es)
i(a)g(te)o(xtual)f(report)f(of)i(co)o(v)o(erage.)33 b(By)25
b(def)o(ault,)e(all)i(modules)d(and)i(packages)e(are)i(considered)e(in)
i(generating)e(report,)h(unless)-128 476 y(include)g(or)g(e)o(xclude)f
(are)h(used.)35 b(The)23 b(report)f(is)j(a)e(summary)f(unless)i(the)g
(--per)n(-module)c(\003ag)j(is)i(used.)34 b(The)23 b(--xml-output)e
(option)h(allo)n(ws)i(for)-128 575 y(tools)d(to)f(use)g(hpc)g(to)g
(glean)g(co)o(v)o(erage.)-128 643 y
SDict begin H.S end
-128 643 a -128 643
a
SDict begin 12 H.A end
-128 643 a -128 643 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-195) cvn H.B /DEST pdfmark end
-128 643 a 0.95 TeXcolorgray
-153 659 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 750 25 92 v
Black 0.95 TeXcolorgray -128 750 4252 92 v Black 0.95
TeXcolorgray 4124 750 25 92 v Black 0.95 TeXcolorgray
Black -128 722 a
SDict begin H.S end
-128 722 a -128 722 a
SDict begin 11 H.A end
-128 722 a -128
722 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.1) cvn H.B /DEST pdfmark end
-128 722 a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0
TeXcolorrgb 45 w(hpc)p Black 0 0 0 TeXcolorrgb 44 w(help)p
Black 0 0 0 TeXcolorrgb 45 w(report)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 841 25 92 v Black 0.95 TeXcolorgray
-128 841 4252 92 v Black 0.95 TeXcolorgray 4124 841 25
92 v Black 0.95 TeXcolorgray Black -128 814 a
SDict begin H.S end
-128 814
a -128 814 a
SDict begin 11 H.A end
-128 814 a -128 814 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.2) cvn H.B /DEST pdfmark end
-128 814 a 0 0 0 TeXcolorrgb
Fo(Usage)p Black(:)p 0 0 0 TeXcolorrgb 44 w(hpc)p Black
0 0 0 TeXcolorrgb 45 w(report)p Black 43 w([)p 0 0 0
TeXcolorrgb(OPTION)p Black -1 w(])45 b(..)f(<)p 0 0 0
TeXcolorrgb(TIX_FILE)p Black -1 w(>)h([<)p 0 0 0 TeXcolorrgb
-1 w(MODULE)p Black -1 w(>)g([<)p 0 0 0 TeXcolorrgb(MODULE)p
Black -1 w(>)f(..]])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 932 25 92 v Black 0.95 TeXcolorgray -128 932 4252
92 v Black 0.95 TeXcolorgray 4124 932 25 92 v Black 0.95
TeXcolorgray Black -128 905 a
SDict begin H.S end
-128 905 a -128 905 a
SDict begin 11 H.A end
-128
905 a -128 905 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.3) cvn H.B /DEST pdfmark end
-128 905 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1024 25 92 v Black 0.95 TeXcolorgray
-128 1024 4252 92 v Black 0.95 TeXcolorgray 4124 1024
25 92 v Black 0.95 TeXcolorgray Black -128 996 a
SDict begin H.S end
-128
996 a -128 996 a
SDict begin 11 H.A end
-128 996 a -128 996 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.4) cvn H.B /DEST pdfmark end
-128 996 a 0 0 0
TeXcolorrgb Fo(Options)p Black -1 w(:)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1115 25 92 v Black 0.95
TeXcolorgray -128 1115 4252 92 v Black 0.95 TeXcolorgray
4124 1115 25 92 v Black 0.95 TeXcolorgray Black -128
1088 a
SDict begin H.S end
-128 1088 a -128 1088 a
SDict begin 11 H.A end
-128 1088 a -128 1088
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.5) cvn H.B /DEST pdfmark end
-128 1088 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1206 25 92 v Black 0.95 TeXcolorgray -128 1206 4252
92 v Black 0.95 TeXcolorgray 4124 1206 25 92 v Black
0.95 TeXcolorgray Black -128 1179 a
SDict begin H.S end
-128 1179 a -128
1179 a
SDict begin 11 H.A end
-128 1179 a -128 1179 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.6) cvn H.B /DEST pdfmark end
-128 1179 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(per)p Black(-)p 0 0 0 TeXcolorrgb(module)p
Black 0 0 0 TeXcolorrgb 806 w(show)p Black 0 0 0 TeXcolorrgb
44 w(module)p Black 0 0 0 TeXcolorrgb 44 w(level)p Black
0 0 0 TeXcolorrgb 44 w(detail)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1298 25 92 v Black 0.95
TeXcolorgray -128 1298 4252 92 v Black 0.95 TeXcolorgray
4124 1298 25 92 v Black 0.95 TeXcolorgray Black -128
1270 a
SDict begin H.S end
-128 1270 a -128 1270 a
SDict begin 11 H.A end
-128 1270 a -128 1270
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.7) cvn H.B /DEST pdfmark end
-128 1270 a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(decl)p
Black(-)p 0 0 0 TeXcolorrgb(list)p Black 0 0 0 TeXcolorrgb
851 w(show)p Black 0 0 0 TeXcolorrgb 44 w(unused)p Black
0 0 0 TeXcolorrgb 44 w(decls)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1389 25 92 v Black 0.95
TeXcolorgray -128 1389 4252 92 v Black 0.95 TeXcolorgray
4124 1389 25 92 v Black 0.95 TeXcolorgray Black -128
1362 a
SDict begin H.S end
-128 1362 a -128 1362 a
SDict begin 11 H.A end
-128 1362 a -128 1362
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.8) cvn H.B /DEST pdfmark end
-128 1362 a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(exclude)p
Black -1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p Black -1
w(:][)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black -1 w(])p
0 0 0 TeXcolorrgb 90 w(exclude)p Black 0 0 0 TeXcolorrgb
43 w(MODULE)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black(/)p
0 0 0 TeXcolorrgb(or)p Black 0 0 0 TeXcolorrgb 44 w(PACKAGE)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1480 25 92 v Black 0.95 TeXcolorgray -128 1480 4252 92
v Black 0.95 TeXcolorgray 4124 1480 25 92 v Black 0.95
TeXcolorgray Black -128 1453 a
SDict begin H.S end
-128 1453 a -128 1453
a
SDict begin 11 H.A end
-128 1453 a -128 1453 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.9) cvn H.B /DEST pdfmark end
-128 1453 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(include)p Black -1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p
Black -1 w(:][)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black
-1 w(])p 0 0 0 TeXcolorrgb 90 w(include)p Black 0 0 0
TeXcolorrgb 43 w(MODULE)p Black 0 0 0 TeXcolorrgb 44
w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(PACKAGE)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1572 25 92 v Black 0.95 TeXcolorgray
-128 1572 4252 92 v Black 0.95 TeXcolorgray 4124 1572
25 92 v Black 0.95 TeXcolorgray Black -128 1544 a
SDict begin H.S end
-128
1544 a -128 1544 a
SDict begin 11 H.A end
-128 1544 a -128 1544 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.10) cvn H.B /DEST pdfmark end
-128 1544
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(srcdir)p Black
-1 w(=)p 0 0 0 TeXcolorrgb(DIR)p Black 0 0 0 TeXcolorrgb
807 w(path)p Black 0 0 0 TeXcolorrgb 44 w(to)p Black
0 0 0 TeXcolorrgb 44 w(source)p Black 0 0 0 TeXcolorrgb
44 w(directory)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black
44 w(.)p 0 0 0 TeXcolorrgb(hs)p Black 0 0 0 TeXcolorrgb
44 w(files)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1663 25 92 v Black 0.95 TeXcolorgray -128 1663 4252
92 v Black 0.95 TeXcolorgray 4124 1663 25 92 v Black
0.95 TeXcolorgray Black -128 1636 a
SDict begin H.S end
-128 1636 a -128
1636 a
SDict begin 11 H.A end
-128 1636 a -128 1636 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.11) cvn H.B /DEST pdfmark end
-128 1636 a 0 0 0 TeXcolorrgb
1525 w Fo(multi)p Black -1 w(-)p 0 0 0 TeXcolorrgb(use)p
Black 0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb
45 w(srcdir)p Black 0 0 0 TeXcolorrgb 43 w(possible)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1754 25 92 v Black 0.95 TeXcolorgray -128 1754 4252 92
v Black 0.95 TeXcolorgray 4124 1754 25 92 v Black 0.95
TeXcolorgray Black -128 1727 a
SDict begin H.S end
-128 1727 a -128 1727
a
SDict begin 11 H.A end
-128 1727 a -128 1727 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.12) cvn H.B /DEST pdfmark end
-128 1727 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(hpcdir)p Black -1 w(=)p 0 0 0 TeXcolorrgb(DIR)p
Black 0 0 0 TeXcolorrgb 807 w(sub)p Black -1 w(-)p 0 0 0
TeXcolorrgb(directory)p Black 0 0 0 TeXcolorrgb 43 w(that)p
Black 0 0 0 TeXcolorrgb 45 w(contains)p Black 43 w(.)p
0 0 0 TeXcolorrgb(mix)p Black 0 0 0 TeXcolorrgb 44 w(files)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1846 25 92 v Black 0.95 TeXcolorgray -128 1846 4252 92
v Black 0.95 TeXcolorgray 4124 1846 25 92 v Black 0.95
TeXcolorgray Black -128 1818 a
SDict begin H.S end
-128 1818 a -128 1818
a
SDict begin 11 H.A end
-128 1818 a -128 1818 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.13) cvn H.B /DEST pdfmark end
-128 1818 a 0 0 0 TeXcolorrgb
1525 w Fo(default)p Black 43 w(.)p 0 0 0 TeXcolorrgb(hpc)p
Black 45 w([)p 0 0 0 TeXcolorrgb -1 w(rarely)p Black
0 0 0 TeXcolorrgb 44 w(used)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1937 25 92 v Black 0.95
TeXcolorgray -128 1937 4252 92 v Black 0.95 TeXcolorgray
4124 1937 25 92 v Black 0.95 TeXcolorgray Black -128
1910 a
SDict begin H.S end
-128 1910 a -128 1910 a
SDict begin 11 H.A end
-128 1910 a -128 1910
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-195.14) cvn H.B /DEST pdfmark end
-128 1910 a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(xml)p
Black(-)p 0 0 0 TeXcolorrgb(output)p Black 0 0 0 TeXcolorrgb
806 w(show)p Black 0 0 0 TeXcolorrgb 44 w(output)p Black
0 0 0 TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 44
w(XML)p Black 0.95 TeXcolorgray -153 1962 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 2128 a
SDict begin H.S end
-128
2128 a -128 2128 a
SDict begin 12 H.A end
-128 2128 a -128 2128 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.6.3.2) cvn H.B /DEST pdfmark end
-128 2128
a Black 124 x Fx(5.6.3.2)p Black 73 w(hpc)19 b(markup)-128
2456 y FA(hpc)h(markup)e(marks)i(up)g(source)f(\002les)i(into)f
(colored)f(html.)-128 2523 y
SDict begin H.S end
-128 2523 a -128 2523 a
SDict begin 12 H.A end
-128 2523 a -128 2523 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-196) cvn H.B /DEST pdfmark end
-128 2523 a 0.95 TeXcolorgray
-153 2539 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2630 25 92
v Black 0.95 TeXcolorgray -128 2630 4252 92 v Black 0.95
TeXcolorgray 4124 2630 25 92 v Black 0.95 TeXcolorgray
Black -128 2602 a
SDict begin H.S end
-128 2602 a -128 2602 a
SDict begin 11 H.A end
-128 2602 a
-128 2602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.1) cvn H.B /DEST pdfmark end
-128 2602 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(hpc)p Black 0 0 0 TeXcolorrgb
44 w(help)p Black 0 0 0 TeXcolorrgb 45 w(markup)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2721 25
92 v Black 0.95 TeXcolorgray -128 2721 4252 92 v Black
0.95 TeXcolorgray 4124 2721 25 92 v Black 0.95 TeXcolorgray
Black -128 2694 a
SDict begin H.S end
-128 2694 a -128 2694 a
SDict begin 11 H.A end
-128 2694 a
-128 2694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.2) cvn H.B /DEST pdfmark end
-128 2694 a 0 0 0 TeXcolorrgb Fo(Usage)p
Black(:)p 0 0 0 TeXcolorrgb 44 w(hpc)p Black 0 0 0 TeXcolorrgb
45 w(markup)p Black 43 w([)p 0 0 0 TeXcolorrgb(OPTION)p
Black -1 w(])45 b(..)f(<)p 0 0 0 TeXcolorrgb(TIX_FILE)p
Black -1 w(>)h([<)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black
-1 w(>)g([<)p 0 0 0 TeXcolorrgb(MODULE)p Black -1 w(>)f(..]])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2812 25
92 v Black 0.95 TeXcolorgray -128 2812 4252 92 v Black
0.95 TeXcolorgray 4124 2812 25 92 v Black 0.95 TeXcolorgray
Black -128 2785 a
SDict begin H.S end
-128 2785 a -128 2785 a
SDict begin 11 H.A end
-128 2785 a
-128 2785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.3) cvn H.B /DEST pdfmark end
-128 2785 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2904 25 92 v Black 0.95 TeXcolorgray
-128 2904 4252 92 v Black 0.95 TeXcolorgray 4124 2904
25 92 v Black 0.95 TeXcolorgray Black -128 2876 a
SDict begin H.S end
-128
2876 a -128 2876 a
SDict begin 11 H.A end
-128 2876 a -128 2876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.4) cvn H.B /DEST pdfmark end
-128 2876
a 0 0 0 TeXcolorrgb Fo(Options)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2995 25 92
v Black 0.95 TeXcolorgray -128 2995 4252 92 v Black 0.95
TeXcolorgray 4124 2995 25 92 v Black 0.95 TeXcolorgray
Black -128 2968 a
SDict begin H.S end
-128 2968 a -128 2968 a
SDict begin 11 H.A end
-128 2968 a
-128 2968 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.5) cvn H.B /DEST pdfmark end
-128 2968 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3086 25 92 v Black 0.95 TeXcolorgray
-128 3086 4252 92 v Black 0.95 TeXcolorgray 4124 3086
25 92 v Black 0.95 TeXcolorgray Black -128 3059 a
SDict begin H.S end
-128
3059 a -128 3059 a
SDict begin 11 H.A end
-128 3059 a -128 3059 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.6) cvn H.B /DEST pdfmark end
-128 3059
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(exclude)p Black
-1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p Black -1 w(:][)p
0 0 0 TeXcolorrgb -1 w(MODULE)p Black -1 w(])p 0 0 0
TeXcolorrgb 90 w(exclude)p Black 0 0 0 TeXcolorrgb 43
w(MODULE)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black(/)p
0 0 0 TeXcolorrgb(or)p Black 0 0 0 TeXcolorrgb 44 w(PACKAGE)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3178 25 92 v Black 0.95 TeXcolorgray -128 3178 4252 92
v Black 0.95 TeXcolorgray 4124 3178 25 92 v Black 0.95
TeXcolorgray Black -128 3150 a
SDict begin H.S end
-128 3150 a -128 3150
a
SDict begin 11 H.A end
-128 3150 a -128 3150 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.7) cvn H.B /DEST pdfmark end
-128 3150 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(include)p Black -1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p
Black -1 w(:][)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black
-1 w(])p 0 0 0 TeXcolorrgb 90 w(include)p Black 0 0 0
TeXcolorrgb 43 w(MODULE)p Black 0 0 0 TeXcolorrgb 44
w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(PACKAGE)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3269 25 92 v Black 0.95 TeXcolorgray
-128 3269 4252 92 v Black 0.95 TeXcolorgray 4124 3269
25 92 v Black 0.95 TeXcolorgray Black -128 3242 a
SDict begin H.S end
-128
3242 a -128 3242 a
SDict begin 11 H.A end
-128 3242 a -128 3242 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.8) cvn H.B /DEST pdfmark end
-128 3242
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(srcdir)p Black
-1 w(=)p 0 0 0 TeXcolorrgb(DIR)p Black 0 0 0 TeXcolorrgb
807 w(path)p Black 0 0 0 TeXcolorrgb 44 w(to)p Black
0 0 0 TeXcolorrgb 44 w(source)p Black 0 0 0 TeXcolorrgb
44 w(directory)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black
44 w(.)p 0 0 0 TeXcolorrgb(hs)p Black 0 0 0 TeXcolorrgb
44 w(files)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3360 25 92 v Black 0.95 TeXcolorgray -128 3360 4252
92 v Black 0.95 TeXcolorgray 4124 3360 25 92 v Black
0.95 TeXcolorgray Black -128 3333 a
SDict begin H.S end
-128 3333 a -128
3333 a
SDict begin 11 H.A end
-128 3333 a -128 3333 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.9) cvn H.B /DEST pdfmark end
-128 3333 a 0 0 0 TeXcolorrgb
1525 w Fo(multi)p Black -1 w(-)p 0 0 0 TeXcolorrgb(use)p
Black 0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb
45 w(srcdir)p Black 0 0 0 TeXcolorrgb 43 w(possible)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3452 25 92 v Black 0.95 TeXcolorgray -128 3452 4252 92
v Black 0.95 TeXcolorgray 4124 3452 25 92 v Black 0.95
TeXcolorgray Black -128 3424 a
SDict begin H.S end
-128 3424 a -128 3424
a
SDict begin 11 H.A end
-128 3424 a -128 3424 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.10) cvn H.B /DEST pdfmark end
-128 3424 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(hpcdir)p Black -1 w(=)p 0 0 0 TeXcolorrgb(DIR)p
Black 0 0 0 TeXcolorrgb 807 w(sub)p Black -1 w(-)p 0 0 0
TeXcolorrgb(directory)p Black 0 0 0 TeXcolorrgb 43 w(that)p
Black 0 0 0 TeXcolorrgb 45 w(contains)p Black 43 w(.)p
0 0 0 TeXcolorrgb(mix)p Black 0 0 0 TeXcolorrgb 44 w(files)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3543 25 92 v Black 0.95 TeXcolorgray -128 3543 4252 92
v Black 0.95 TeXcolorgray 4124 3543 25 92 v Black 0.95
TeXcolorgray Black -128 3516 a
SDict begin H.S end
-128 3516 a -128 3516
a
SDict begin 11 H.A end
-128 3516 a -128 3516 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.11) cvn H.B /DEST pdfmark end
-128 3516 a 0 0 0 TeXcolorrgb
1525 w Fo(default)p Black 43 w(.)p 0 0 0 TeXcolorrgb(hpc)p
Black 45 w([)p 0 0 0 TeXcolorrgb -1 w(rarely)p Black
0 0 0 TeXcolorrgb 44 w(used)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3634 25 92 v Black 0.95
TeXcolorgray -128 3634 4252 92 v Black 0.95 TeXcolorgray
4124 3634 25 92 v Black 0.95 TeXcolorgray Black -128
3607 a
SDict begin H.S end
-128 3607 a -128 3607 a
SDict begin 11 H.A end
-128 3607 a -128 3607
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.12) cvn H.B /DEST pdfmark end
-128 3607 a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(fun)p
Black(-)p 0 0 0 TeXcolorrgb(entry)p Black -1 w(-)p 0 0 0
TeXcolorrgb(count)p Black 0 0 0 TeXcolorrgb 582 w(show)p
Black 0 0 0 TeXcolorrgb 44 w(top)p Black -1 w(-)p 0 0 0
TeXcolorrgb(level)p Black 0 0 0 TeXcolorrgb 44 w(function)p
Black 0 0 0 TeXcolorrgb 44 w(entry)p Black 0 0 0 TeXcolorrgb
44 w(counts)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3726 25 92 v Black 0.95 TeXcolorgray -128 3726 4252
92 v Black 0.95 TeXcolorgray 4124 3726 25 92 v Black
0.95 TeXcolorgray Black -128 3698 a
SDict begin H.S end
-128 3698 a -128
3698 a
SDict begin 11 H.A end
-128 3698 a -128 3698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.13) cvn H.B /DEST pdfmark end
-128 3698 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(highlight)p Black -1 w(-)p 0 0 0
TeXcolorrgb(covered)p Black 0 0 0 TeXcolorrgb 492 w(highlight)p
Black 0 0 0 TeXcolorrgb 43 w(covered)p Black 0 0 0 TeXcolorrgb
44 w(code)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(rather)p
Black 0 0 0 TeXcolorrgb 44 w(that)p Black 0 0 0 TeXcolorrgb
44 w(code)p Black 0 0 0 TeXcolorrgb 44 w(gaps)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3817 25
92 v Black 0.95 TeXcolorgray -128 3817 4252 92 v Black
0.95 TeXcolorgray 4124 3817 25 92 v Black 0.95 TeXcolorgray
Black -128 3790 a
SDict begin H.S end
-128 3790 a -128 3790 a
SDict begin 11 H.A end
-128 3790 a
-128 3790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-196.14) cvn H.B /DEST pdfmark end
-128 3790 a 180 w Fo(--)p 0 0 0 TeXcolorrgb
-1 w(destdir)p Black -1 w(=)p 0 0 0 TeXcolorrgb(DIR)p
Black 0 0 0 TeXcolorrgb 762 w(path)p Black 0 0 0 TeXcolorrgb
44 w(to)p Black 0 0 0 TeXcolorrgb 44 w(write)p Black
0 0 0 TeXcolorrgb 44 w(output)p Black 0 0 0 TeXcolorrgb
44 w(to)p Black 0.95 TeXcolorgray -153 3842 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 4008 a
SDict begin H.S end
-128 4008 a -128 4008 a
SDict begin 12 H.A end
-128 4008 a -128 4008 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.6.3.3) cvn H.B /DEST pdfmark end
-128
4008 a Black 124 x Fx(5.6.3.3)p Black 73 w(hpc)19 b(sum)-128
4336 y FA(hpc)i(sum)f(adds)g(together)g(an)o(y)g(number)e(of)j(.tix)f
(\002les)i(into)e(a)h(single)g(.tix)g(\002le.)26 b(hpc)21
b(sum)f(does)h(not)f(change)f(the)i(original)e(.tix)i(\002le;)h(it)f
(generates)f(a)-128 4435 y(ne)n(w)g(.tix)h(\002le.)-128
4486 y
SDict begin H.S end
-128 4486 a -128 4486 a
SDict begin 12 H.A end
-128 4486 a -128 4486
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-197) cvn H.B /DEST pdfmark end
-128 4486 a 0.95 TeXcolorgray -153 4518 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4609 25 92 v Black 0.95 TeXcolorgray
-128 4609 4252 92 v Black 0.95 TeXcolorgray 4124 4609
25 92 v Black 0.95 TeXcolorgray Black -128 4582 a
SDict begin H.S end
-128
4582 a -128 4582 a
SDict begin 11 H.A end
-128 4582 a -128 4582 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.1) cvn H.B /DEST pdfmark end
-128 4582
a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb 45
w(hpc)p Black 0 0 0 TeXcolorrgb 44 w(help)p Black 0 0 0
TeXcolorrgb 45 w(sum)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4701 25 92 v Black 0.95 TeXcolorgray
-128 4701 4252 92 v Black 0.95 TeXcolorgray 4124 4701
25 92 v Black 0.95 TeXcolorgray Black -128 4673 a
SDict begin H.S end
-128
4673 a -128 4673 a
SDict begin 11 H.A end
-128 4673 a -128 4673 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.2) cvn H.B /DEST pdfmark end
-128 4673
a 0 0 0 TeXcolorrgb Fo(Usage)p Black(:)p 0 0 0 TeXcolorrgb
44 w(hpc)p Black 0 0 0 TeXcolorrgb 45 w(sum)p Black 44
w([)p 0 0 0 TeXcolorrgb(OPTION)p Black -1 w(])44 b(..)h(<)p
0 0 0 TeXcolorrgb(TIX_FILE)p Black -2 w(>)g([<)p 0 0 0
TeXcolorrgb(TIX_FILE)p Black -2 w(>)g([<)p 0 0 0 TeXcolorrgb(TIX_FILE)p
Black -2 w(>)g(..]])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4792 25 92 v Black 0.95 TeXcolorgray -128 4792 4252
92 v Black 0.95 TeXcolorgray 4124 4792 25 92 v Black
0.95 TeXcolorgray Black -128 4765 a
SDict begin H.S end
-128 4765 a -128
4765 a
SDict begin 11 H.A end
-128 4765 a -128 4765 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.3) cvn H.B /DEST pdfmark end
-128 4765 a 0 0 0 TeXcolorrgb
Fo(Sum)p Black 0 0 0 TeXcolorrgb 45 w(multiple)p Black
43 w(.)p 0 0 0 TeXcolorrgb(tix)p Black 0 0 0 TeXcolorrgb
44 w(files)p Black 0 0 0 TeXcolorrgb 44 w(in)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 45
w(single)p Black 43 w(.)p 0 0 0 TeXcolorrgb(tix)p Black
0 0 0 TeXcolorrgb 45 w(file)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4883 25 92 v Black 0.95
TeXcolorgray -128 4883 4252 92 v Black 0.95 TeXcolorgray
4124 4883 25 92 v Black 0.95 TeXcolorgray Black -128
4856 a
SDict begin H.S end
-128 4856 a -128 4856 a
SDict begin 11 H.A end
-128 4856 a -128 4856
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.4) cvn H.B /DEST pdfmark end
-128 4856 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4975 25 92 v Black 0.95 TeXcolorgray -128 4975 4252
92 v Black 0.95 TeXcolorgray 4124 4975 25 92 v Black
0.95 TeXcolorgray Black -128 4947 a
SDict begin H.S end
-128 4947 a -128
4947 a
SDict begin 11 H.A end
-128 4947 a -128 4947 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.5) cvn H.B /DEST pdfmark end
-128 4947 a 0 0 0 TeXcolorrgb
Fo(Options)p Black -1 w(:)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5066 25 92 v Black 0.95 TeXcolorgray
-128 5066 4252 92 v Black 0.95 TeXcolorgray 4124 5066
25 92 v Black 0.95 TeXcolorgray Black -128 5039 a
SDict begin H.S end
-128
5039 a -128 5039 a
SDict begin 11 H.A end
-128 5039 a -128 5039 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.6) cvn H.B /DEST pdfmark end
-128 5039
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5157
25 92 v Black 0.95 TeXcolorgray -128 5157 4252 92 v Black
0.95 TeXcolorgray 4124 5157 25 92 v Black 0.95 TeXcolorgray
Black -128 5130 a
SDict begin H.S end
-128 5130 a -128 5130 a
SDict begin 11 H.A end
-128 5130 a
-128 5130 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.7) cvn H.B /DEST pdfmark end
-128 5130 a 180 w Fo(--)p 0 0 0 TeXcolorrgb
-1 w(exclude)p Black -1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p
Black -1 w(:][)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black
-1 w(])p 0 0 0 TeXcolorrgb 90 w(exclude)p Black 0 0 0
TeXcolorrgb 43 w(MODULE)p Black 0 0 0 TeXcolorrgb 44
w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(PACKAGE)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5249 25 92 v Black 0.95 TeXcolorgray
-128 5249 4252 92 v Black 0.95 TeXcolorgray 4124 5249
25 92 v Black 0.95 TeXcolorgray Black -128 5221 a
SDict begin H.S end
-128
5221 a -128 5221 a
SDict begin 11 H.A end
-128 5221 a -128 5221 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.8) cvn H.B /DEST pdfmark end
-128 5221
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(include)p Black
-1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p Black -1 w(:][)p
0 0 0 TeXcolorrgb -1 w(MODULE)p Black -1 w(])p 0 0 0
TeXcolorrgb 90 w(include)p Black 0 0 0 TeXcolorrgb 43
w(MODULE)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black(/)p
0 0 0 TeXcolorrgb(or)p Black 0 0 0 TeXcolorrgb 44 w(PACKAGE)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5340 25 92 v Black 0.95 TeXcolorgray -128 5340 4252 92
v Black 0.95 TeXcolorgray 4124 5340 25 92 v Black 0.95
TeXcolorgray Black -128 5313 a
SDict begin H.S end
-128 5313 a -128 5313
a
SDict begin 11 H.A end
-128 5313 a -128 5313 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.9) cvn H.B /DEST pdfmark end
-128 5313 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(output)p Black -1 w(=)p 0 0 0 TeXcolorrgb(FILE)p
Black 0 0 0 TeXcolorrgb 762 w(output)p Black 0 0 0 TeXcolorrgb
44 w(FILE)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5431 25 92 v Black 0.95 TeXcolorgray -128 5431 4252
92 v Black 0.95 TeXcolorgray 4124 5431 25 92 v Black
0.95 TeXcolorgray Black -128 5404 a
SDict begin H.S end
-128 5404 a -128
5404 a
SDict begin 11 H.A end
-128 5404 a -128 5404 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-197.10) cvn H.B /DEST pdfmark end
-128 5404 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(union)p Black 0 0 0 TeXcolorrgb
1031 w(use)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 44 w(union)p Black 0 0 0 TeXcolorrgb
44 w(of)p Black 0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0
TeXcolorrgb 44 w(module)p Black 0 0 0 TeXcolorrgb 44
w(namespace)p Black 43 w(\()p 0 0 0 TeXcolorrgb(default)p
Black 0 0 0 TeXcolorrgb 44 w(is)p Black 89 w Fd( )-12
b Fb(-)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5523 25 92 v Black 0.95 TeXcolorgray -128 5523 4252 92
v Black 0.95 TeXcolorgray 4124 5523 25 92 v Black 0.95
TeXcolorgray Black 0 0 0 TeXcolorrgb 218 5495 a Fo(intersection)p
Black -2 w(\))p 0.95 TeXcolorgray -153 5548 4302 25 v
Black 0.95 TeXcolorgray Black Black Black Black -128
6084 4252 5 v Black eop end
%%Page: 109 124
TeXDict begin 109 123 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.109) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(109)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.6.3.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(5.6.3.4)p
Black 73 w(hpc)f(combine)-128 376 y FA(hpc)i(combine)f(is)i(the)g
(swiss)h(army)d(knife)h(of)g(hpc.)28 b(It)22 b(can)f(be)g(used)g(to)h
(tak)o(e)f(the)h(dif)n(ference)d(between)i(.tix)g(\002les,)h(to)g
(subtract)f(one)g(.tix)g(\002le)h(from)-128 476 y(another)m(,)d(or)h
(to)g(add)g(tw)o(o)g(.tix)g(\002les.)26 b(hpc)20 b(combine)e(does)i
(not)g(change)f(the)h(original)f(.tix)h(\002le;)h(it)g(generates)f(a)g
(ne)n(w)g(.tix)g(\002le.)-128 543 y
SDict begin H.S end
-128 543 a -128 543
a
SDict begin 12 H.A end
-128 543 a -128 543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-198) cvn H.B /DEST pdfmark end
-128 543 a 0.95 TeXcolorgray
-153 559 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 650 25 92 v
Black 0.95 TeXcolorgray -128 650 4252 92 v Black 0.95
TeXcolorgray 4124 650 25 92 v Black 0.95 TeXcolorgray
Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128 623 a -128
623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.1) cvn H.B /DEST pdfmark end
-128 623 a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0
TeXcolorrgb 45 w(hpc)p Black 0 0 0 TeXcolorrgb 44 w(help)p
Black 0 0 0 TeXcolorrgb 45 w(combine)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 741 25 92 v Black 0.95 TeXcolorgray
-128 741 4252 92 v Black 0.95 TeXcolorgray 4124 741 25
92 v Black 0.95 TeXcolorgray Black -128 714 a
SDict begin H.S end
-128 714
a -128 714 a
SDict begin 11 H.A end
-128 714 a -128 714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.2) cvn H.B /DEST pdfmark end
-128 714 a 0 0 0 TeXcolorrgb
Fo(Usage)p Black(:)p 0 0 0 TeXcolorrgb 44 w(hpc)p Black
0 0 0 TeXcolorrgb 45 w(combine)p Black 43 w([)p 0 0 0
TeXcolorrgb(OPTION)p Black -1 w(])45 b(..)f(<)p 0 0 0
TeXcolorrgb(TIX_FILE)p Black -1 w(>)g(<)p 0 0 0 TeXcolorrgb(TIX_FILE)p
Black -1 w(>)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 833 25 92 v Black 0.95 TeXcolorgray -128 833 4252
92 v Black 0.95 TeXcolorgray 4124 833 25 92 v Black 0.95
TeXcolorgray Black -128 805 a
SDict begin H.S end
-128 805 a -128 805 a
SDict begin 11 H.A end
-128
805 a -128 805 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.3) cvn H.B /DEST pdfmark end
-128 805 a 0 0 0 TeXcolorrgb Fo(Combine)p
Black 0 0 0 TeXcolorrgb 44 w(two)p Black 44 w(.)p 0 0 0
TeXcolorrgb(tix)p Black 0 0 0 TeXcolorrgb 45 w(files)p
Black 0 0 0 TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(single)p Black
44 w(.)p 0 0 0 TeXcolorrgb -1 w(tix)p Black 0 0 0 TeXcolorrgb
45 w(file)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 924 25 92 v Black 0.95 TeXcolorgray -128 924 4252
92 v Black 0.95 TeXcolorgray 4124 924 25 92 v Black 0.95
TeXcolorgray Black -128 897 a
SDict begin H.S end
-128 897 a -128 897 a
SDict begin 11 H.A end
-128
897 a -128 897 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.4) cvn H.B /DEST pdfmark end
-128 897 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1015 25 92 v Black 0.95 TeXcolorgray
-128 1015 4252 92 v Black 0.95 TeXcolorgray 4124 1015
25 92 v Black 0.95 TeXcolorgray Black -128 988 a
SDict begin H.S end
-128
988 a -128 988 a
SDict begin 11 H.A end
-128 988 a -128 988 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.5) cvn H.B /DEST pdfmark end
-128 988 a 0 0 0
TeXcolorrgb Fo(Options)p Black -1 w(:)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1107 25 92 v Black 0.95
TeXcolorgray -128 1107 4252 92 v Black 0.95 TeXcolorgray
4124 1107 25 92 v Black 0.95 TeXcolorgray Black -128
1079 a
SDict begin H.S end
-128 1079 a -128 1079 a
SDict begin 11 H.A end
-128 1079 a -128 1079
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.6) cvn H.B /DEST pdfmark end
-128 1079 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1198 25 92 v Black 0.95 TeXcolorgray -128 1198 4252
92 v Black 0.95 TeXcolorgray 4124 1198 25 92 v Black
0.95 TeXcolorgray Black -128 1170 a
SDict begin H.S end
-128 1170 a -128
1170 a
SDict begin 11 H.A end
-128 1170 a -128 1170 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.7) cvn H.B /DEST pdfmark end
-128 1170 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(exclude)p Black -1 w(=[)p 0 0 0
TeXcolorrgb(PACKAGE)p Black -1 w(:][)p 0 0 0 TeXcolorrgb
-1 w(MODULE)p Black -1 w(])p 0 0 0 TeXcolorrgb 90 w(exclude)p
Black 0 0 0 TeXcolorrgb 43 w(MODULE)p Black 0 0 0 TeXcolorrgb
44 w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(PACKAGE)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1289 25 92 v Black 0.95 TeXcolorgray
-128 1289 4252 92 v Black 0.95 TeXcolorgray 4124 1289
25 92 v Black 0.95 TeXcolorgray Black -128 1262 a
SDict begin H.S end
-128
1262 a -128 1262 a
SDict begin 11 H.A end
-128 1262 a -128 1262 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.8) cvn H.B /DEST pdfmark end
-128 1262
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(include)p Black
-1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p Black -1 w(:][)p
0 0 0 TeXcolorrgb -1 w(MODULE)p Black -1 w(])p 0 0 0
TeXcolorrgb 90 w(include)p Black 0 0 0 TeXcolorrgb 43
w(MODULE)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black(/)p
0 0 0 TeXcolorrgb(or)p Black 0 0 0 TeXcolorrgb 44 w(PACKAGE)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1381 25 92 v Black 0.95 TeXcolorgray -128 1381 4252 92
v Black 0.95 TeXcolorgray 4124 1381 25 92 v Black 0.95
TeXcolorgray Black -128 1353 a
SDict begin H.S end
-128 1353 a -128 1353
a
SDict begin 11 H.A end
-128 1353 a -128 1353 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.9) cvn H.B /DEST pdfmark end
-128 1353 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(output)p Black -1 w(=)p 0 0 0 TeXcolorrgb(FILE)p
Black 0 0 0 TeXcolorrgb 762 w(output)p Black 0 0 0 TeXcolorrgb
44 w(FILE)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1472 25 92 v Black 0.95 TeXcolorgray -128 1472 4252
92 v Black 0.95 TeXcolorgray 4124 1472 25 92 v Black
0.95 TeXcolorgray Black -128 1444 a
SDict begin H.S end
-128 1444 a -128
1444 a
SDict begin 11 H.A end
-128 1444 a -128 1444 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.10) cvn H.B /DEST pdfmark end
-128 1444 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(function)p Black -1 w(=)p 0 0 0
TeXcolorrgb(FUNCTION)p Black 0 0 0 TeXcolorrgb 492 w(combine)p
Black 43 w(.)p 0 0 0 TeXcolorrgb(tix)p Black 0 0 0 TeXcolorrgb
45 w(files)p Black 0 0 0 TeXcolorrgb 44 w(with)p Black
0 0 0 TeXcolorrgb 44 w(join)p Black 0 0 0 TeXcolorrgb
44 w(function)p Black -1 w(,)p 0 0 0 TeXcolorrgb 44 w(default)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(ADD)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1563 25 92
v Black 0.95 TeXcolorgray -128 1563 4252 92 v Black 0.95
TeXcolorgray 4124 1563 25 92 v Black 0.95 TeXcolorgray
Black -128 1536 a
SDict begin H.S end
-128 1536 a -128 1536 a
SDict begin 11 H.A end
-128 1536 a
-128 1536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.11) cvn H.B /DEST pdfmark end
-128 1536 a 0 0 0 TeXcolorrgb 1525 w Fo(FUNCTION)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(ADD)p Black 44
w(|)p 0 0 0 TeXcolorrgb 45 w(DIFF)p Black 44 w(|)p 0 0 0
TeXcolorrgb 45 w(SUB)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1655 25 92 v Black 0.95 TeXcolorgray
-128 1655 4252 92 v Black 0.95 TeXcolorgray 4124 1655
25 92 v Black 0.95 TeXcolorgray Black -128 1627 a
SDict begin H.S end
-128
1627 a -128 1627 a
SDict begin 11 H.A end
-128 1627 a -128 1627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-198.12) cvn H.B /DEST pdfmark end
-128 1627
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(union)p Black
0 0 0 TeXcolorrgb 1031 w(use)p Black 0 0 0 TeXcolorrgb
44 w(the)p Black 0 0 0 TeXcolorrgb 44 w(union)p Black
0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb 45
w(the)p Black 0 0 0 TeXcolorrgb 44 w(module)p Black 0 0 0
TeXcolorrgb 44 w(namespace)p Black 43 w(\()p 0 0 0 TeXcolorrgb(default)
p Black 0 0 0 TeXcolorrgb 44 w(is)p Black 89 w Fd( )-12
b Fb(-)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1746 25 92 v Black 0.95 TeXcolorgray -128 1746 4252 92
v Black 0.95 TeXcolorgray 4124 1746 25 92 v Black 0.95
TeXcolorgray Black 0 0 0 TeXcolorrgb 218 1718 a Fo(intersection)p
Black -2 w(\))p 0.95 TeXcolorgray -153 1771 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1936 a
SDict begin H.S end
-128 1936 a -128 1936 a
SDict begin 12 H.A end
-128 1936 a -128 1936 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.6.3.5) cvn H.B /DEST pdfmark end
-128
1936 a Black 125 x Fx(5.6.3.5)p Black 73 w(hpc)19 b(map)-128
2264 y FA(hpc)h(map)g(in)m(v)o(erts)f(or)h(zeros)g(a)g(.tix)h(\002le.)k
(hpc)20 b(map)g(does)f(not)h(change)f(the)h(original)f(.tix)i(\002le;)g
(it)f(generates)g(a)g(ne)n(w)g(.tix)h(\002le.)-128 2331
y
SDict begin H.S end
-128 2331 a -128 2331 a
SDict begin 12 H.A end
-128 2331 a -128 2331 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-199) cvn H.B /DEST pdfmark end
-128
2331 a 0.95 TeXcolorgray -153 2347 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2438 25 92 v Black 0.95 TeXcolorgray -128 2438 4252
92 v Black 0.95 TeXcolorgray 4124 2438 25 92 v Black
0.95 TeXcolorgray Black -128 2411 a
SDict begin H.S end
-128 2411 a -128
2411 a
SDict begin 11 H.A end
-128 2411 a -128 2411 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.1) cvn H.B /DEST pdfmark end
-128 2411 a 0 0 0 TeXcolorrgb
Fo($)p Black 0 0 0 TeXcolorrgb 45 w(hpc)p Black 0 0 0
TeXcolorrgb 44 w(help)p Black 0 0 0 TeXcolorrgb 45 w(map)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2529 25 92 v Black 0.95 TeXcolorgray -128 2529 4252 92
v Black 0.95 TeXcolorgray 4124 2529 25 92 v Black 0.95
TeXcolorgray Black -128 2502 a
SDict begin H.S end
-128 2502 a -128 2502
a
SDict begin 11 H.A end
-128 2502 a -128 2502 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.2) cvn H.B /DEST pdfmark end
-128 2502 a 0 0 0 TeXcolorrgb
Fo(Usage)p Black(:)p 0 0 0 TeXcolorrgb 44 w(hpc)p Black
0 0 0 TeXcolorrgb 45 w(map)p Black 44 w([)p 0 0 0 TeXcolorrgb(OPTION)p
Black -1 w(])44 b(..)h(<)p 0 0 0 TeXcolorrgb(TIX_FILE)p
Black -2 w(>)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2621 25 92 v Black 0.95 TeXcolorgray -128 2621 4252
92 v Black 0.95 TeXcolorgray 4124 2621 25 92 v Black
0.95 TeXcolorgray Black -128 2593 a
SDict begin H.S end
-128 2593 a -128
2593 a
SDict begin 11 H.A end
-128 2593 a -128 2593 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.3) cvn H.B /DEST pdfmark end
-128 2593 a 0 0 0 TeXcolorrgb
Fo(Map)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 44 w(function)p Black 0 0 0 TeXcolorrgb 44
w(over)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(single)p Black 44 w(.)p 0 0 0 TeXcolorrgb
-1 w(tix)p Black 0 0 0 TeXcolorrgb 45 w(file)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2712 25
92 v Black 0.95 TeXcolorgray -128 2712 4252 92 v Black
0.95 TeXcolorgray 4124 2712 25 92 v Black 0.95 TeXcolorgray
Black -128 2685 a
SDict begin H.S end
-128 2685 a -128 2685 a
SDict begin 11 H.A end
-128 2685 a
-128 2685 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.4) cvn H.B /DEST pdfmark end
-128 2685 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2803 25 92 v Black 0.95 TeXcolorgray
-128 2803 4252 92 v Black 0.95 TeXcolorgray 4124 2803
25 92 v Black 0.95 TeXcolorgray Black -128 2776 a
SDict begin H.S end
-128
2776 a -128 2776 a
SDict begin 11 H.A end
-128 2776 a -128 2776 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.5) cvn H.B /DEST pdfmark end
-128 2776
a 0 0 0 TeXcolorrgb Fo(Options)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2895 25 92
v Black 0.95 TeXcolorgray -128 2895 4252 92 v Black 0.95
TeXcolorgray 4124 2895 25 92 v Black 0.95 TeXcolorgray
Black -128 2867 a
SDict begin H.S end
-128 2867 a -128 2867 a
SDict begin 11 H.A end
-128 2867 a
-128 2867 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.6) cvn H.B /DEST pdfmark end
-128 2867 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2986 25 92 v Black 0.95 TeXcolorgray
-128 2986 4252 92 v Black 0.95 TeXcolorgray 4124 2986
25 92 v Black 0.95 TeXcolorgray Black -128 2959 a
SDict begin H.S end
-128
2959 a -128 2959 a
SDict begin 11 H.A end
-128 2959 a -128 2959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.7) cvn H.B /DEST pdfmark end
-128 2959
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(exclude)p Black
-1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p Black -1 w(:][)p
0 0 0 TeXcolorrgb -1 w(MODULE)p Black -1 w(])p 0 0 0
TeXcolorrgb 90 w(exclude)p Black 0 0 0 TeXcolorrgb 43
w(MODULE)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black(/)p
0 0 0 TeXcolorrgb(or)p Black 0 0 0 TeXcolorrgb 44 w(PACKAGE)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3077 25 92 v Black 0.95 TeXcolorgray -128 3077 4252 92
v Black 0.95 TeXcolorgray 4124 3077 25 92 v Black 0.95
TeXcolorgray Black -128 3050 a
SDict begin H.S end
-128 3050 a -128 3050
a
SDict begin 11 H.A end
-128 3050 a -128 3050 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.8) cvn H.B /DEST pdfmark end
-128 3050 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(include)p Black -1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p
Black -1 w(:][)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black
-1 w(])p 0 0 0 TeXcolorrgb 90 w(include)p Black 0 0 0
TeXcolorrgb 43 w(MODULE)p Black 0 0 0 TeXcolorrgb 44
w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(PACKAGE)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3169 25 92 v Black 0.95 TeXcolorgray
-128 3169 4252 92 v Black 0.95 TeXcolorgray 4124 3169
25 92 v Black 0.95 TeXcolorgray Black -128 3141 a
SDict begin H.S end
-128
3141 a -128 3141 a
SDict begin 11 H.A end
-128 3141 a -128 3141 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.9) cvn H.B /DEST pdfmark end
-128 3141
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(output)p Black
-1 w(=)p 0 0 0 TeXcolorrgb(FILE)p Black 0 0 0 TeXcolorrgb
762 w(output)p Black 0 0 0 TeXcolorrgb 44 w(FILE)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3260 25
92 v Black 0.95 TeXcolorgray -128 3260 4252 92 v Black
0.95 TeXcolorgray 4124 3260 25 92 v Black 0.95 TeXcolorgray
Black -128 3233 a
SDict begin H.S end
-128 3233 a -128 3233 a
SDict begin 11 H.A end
-128 3233 a
-128 3233 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.10) cvn H.B /DEST pdfmark end
-128 3233 a 180 w Fo(--)p 0 0 0 TeXcolorrgb
-1 w(function)p Black -1 w(=)p 0 0 0 TeXcolorrgb(FUNCTION)p
Black 0 0 0 TeXcolorrgb 492 w(apply)p Black 0 0 0 TeXcolorrgb
44 w(function)p Black 0 0 0 TeXcolorrgb 43 w(to)p Black
45 w(.)p 0 0 0 TeXcolorrgb(tix)p Black 0 0 0 TeXcolorrgb
44 w(files)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(default)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(ID)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3351 25 92
v Black 0.95 TeXcolorgray -128 3351 4252 92 v Black 0.95
TeXcolorgray 4124 3351 25 92 v Black 0.95 TeXcolorgray
Black -128 3324 a
SDict begin H.S end
-128 3324 a -128 3324 a
SDict begin 11 H.A end
-128 3324 a
-128 3324 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.11) cvn H.B /DEST pdfmark end
-128 3324 a 0 0 0 TeXcolorrgb 1525 w Fo(FUNCTION)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(ID)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(INV)p Black 44 w(|)p 0 0 0 TeXcolorrgb
45 w(ZERO)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3443 25 92 v Black 0.95 TeXcolorgray -128 3443 4252
92 v Black 0.95 TeXcolorgray 4124 3443 25 92 v Black
0.95 TeXcolorgray Black -128 3415 a
SDict begin H.S end
-128 3415 a -128
3415 a
SDict begin 11 H.A end
-128 3415 a -128 3415 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-199.12) cvn H.B /DEST pdfmark end
-128 3415 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(union)p Black 0 0 0 TeXcolorrgb
1031 w(use)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 44 w(union)p Black 0 0 0 TeXcolorrgb
44 w(of)p Black 0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0
TeXcolorrgb 44 w(module)p Black 0 0 0 TeXcolorrgb 44
w(namespace)p Black 43 w(\()p 0 0 0 TeXcolorrgb(default)p
Black 0 0 0 TeXcolorrgb 44 w(is)p Black 89 w Fd( )-12
b Fb(-)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3534 25 92 v Black 0.95 TeXcolorgray -128 3534 4252 92
v Black 0.95 TeXcolorgray 4124 3534 25 92 v Black 0.95
TeXcolorgray Black 0 0 0 TeXcolorrgb 218 3506 a Fo(intersection)p
Black -2 w(\))p 0.95 TeXcolorgray -153 3559 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 3725 a
SDict begin H.S end
-128 3725 a -128 3725 a
SDict begin 12 H.A end
-128 3725 a -128 3725 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.5.6.3.6) cvn H.B /DEST pdfmark end
-128
3725 a Black 124 x Fx(5.6.3.6)p Black 73 w(hpc)19 b(o)o(verla)o(y)f
(and)h(hpc)h(draft)-128 4052 y FA(Ov)o(erlays)e(are)h(an)f(e)o
(xperimental)f(feature)h(of)g(HPC,)i(a)f(te)o(xtual)f(description)f(of)
h(co)o(v)o(erage.)23 b(hpc)18 b(draft)g(is)h(used)g(to)g(generate)e(a)i
(draft)f(o)o(v)o(erlay)f(from)-128 4151 y(a)k(.tix)f(\002le,)h(and)e
(hpc)h(o)o(v)o(erlay)e(generates)i(a)g(.tix)g(\002les)i(from)d(an)h(o)o
(v)o(erlay)-5 b(.)-128 4219 y
SDict begin H.S end
-128 4219 a -128 4219 a
SDict begin 12 H.A end
-128 4219 a -128 4219 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-200) cvn H.B /DEST pdfmark end
-128 4219 a 0.95 TeXcolorgray
-153 4234 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4326 25 92
v Black 0.95 TeXcolorgray -128 4326 4252 92 v Black 0.95
TeXcolorgray 4124 4326 25 92 v Black 0.95 TeXcolorgray
Black -128 4298 a
SDict begin H.S end
-128 4298 a -128 4298 a
SDict begin 11 H.A end
-128 4298 a
-128 4298 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.1) cvn H.B /DEST pdfmark end
-128 4298 a Fo(\045)p 0 0 0 TeXcolorrgb 45
w(hpc)p Black 0 0 0 TeXcolorrgb 44 w(help)p Black 0 0 0
TeXcolorrgb 45 w(overlay)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4417 25 92 v Black 0.95 TeXcolorgray
-128 4417 4252 92 v Black 0.95 TeXcolorgray 4124 4417
25 92 v Black 0.95 TeXcolorgray Black -128 4390 a
SDict begin H.S end
-128
4390 a -128 4390 a
SDict begin 11 H.A end
-128 4390 a -128 4390 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.2) cvn H.B /DEST pdfmark end
-128 4390
a 0 0 0 TeXcolorrgb Fo(Usage)p Black(:)p 0 0 0 TeXcolorrgb
44 w(hpc)p Black 0 0 0 TeXcolorrgb 45 w(overlay)p Black
43 w([)p 0 0 0 TeXcolorrgb(OPTION)p Black -1 w(])45 b(..)f(<)p
0 0 0 TeXcolorrgb(OVERLAY_FILE)p Black -2 w(>)h([<)p
0 0 0 TeXcolorrgb -1 w(OVERLAY_FILE)p Black -2 w(>)g([...]])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4508 25
92 v Black 0.95 TeXcolorgray -128 4508 4252 92 v Black
0.95 TeXcolorgray 4124 4508 25 92 v Black 0.95 TeXcolorgray
Black -128 4481 a
SDict begin H.S end
-128 4481 a -128 4481 a
SDict begin 11 H.A end
-128 4481 a
-128 4481 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.3) cvn H.B /DEST pdfmark end
-128 4481 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4600 25 92 v Black 0.95 TeXcolorgray
-128 4600 4252 92 v Black 0.95 TeXcolorgray 4124 4600
25 92 v Black 0.95 TeXcolorgray Black -128 4572 a
SDict begin H.S end
-128
4572 a -128 4572 a
SDict begin 11 H.A end
-128 4572 a -128 4572 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.4) cvn H.B /DEST pdfmark end
-128 4572
a 0 0 0 TeXcolorrgb Fo(Options)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4691 25 92
v Black 0.95 TeXcolorgray -128 4691 4252 92 v Black 0.95
TeXcolorgray 4124 4691 25 92 v Black 0.95 TeXcolorgray
Black -128 4664 a
SDict begin H.S end
-128 4664 a -128 4664 a
SDict begin 11 H.A end
-128 4664 a
-128 4664 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.5) cvn H.B /DEST pdfmark end
-128 4664 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4782 25 92 v Black 0.95 TeXcolorgray
-128 4782 4252 92 v Black 0.95 TeXcolorgray 4124 4782
25 92 v Black 0.95 TeXcolorgray Black -128 4755 a
SDict begin H.S end
-128
4755 a -128 4755 a
SDict begin 11 H.A end
-128 4755 a -128 4755 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.6) cvn H.B /DEST pdfmark end
-128 4755
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(srcdir)p Black
-1 w(=)p 0 0 0 TeXcolorrgb(DIR)p Black 0 0 0 TeXcolorrgb
134 w(path)p Black 0 0 0 TeXcolorrgb 44 w(to)p Black
0 0 0 TeXcolorrgb 45 w(source)p Black 0 0 0 TeXcolorrgb
44 w(directory)p Black 0 0 0 TeXcolorrgb 43 w(of)p Black
45 w(.)p 0 0 0 TeXcolorrgb -1 w(hs)p Black 0 0 0 TeXcolorrgb
45 w(files)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4874 25 92 v Black 0.95 TeXcolorgray -128 4874 4252
92 v Black 0.95 TeXcolorgray 4124 4874 25 92 v Black
0.95 TeXcolorgray Black -128 4846 a
SDict begin H.S end
-128 4846 a -128
4846 a
SDict begin 11 H.A end
-128 4846 a -128 4846 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.7) cvn H.B /DEST pdfmark end
-128 4846 a 0 0 0 TeXcolorrgb
852 w Fo(multi)p Black -1 w(-)p 0 0 0 TeXcolorrgb(use)p
Black 0 0 0 TeXcolorrgb 45 w(of)p Black 0 0 0 TeXcolorrgb
44 w(srcdir)p Black 0 0 0 TeXcolorrgb 44 w(possible)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4965 25 92 v Black 0.95 TeXcolorgray -128 4965 4252 92
v Black 0.95 TeXcolorgray 4124 4965 25 92 v Black 0.95
TeXcolorgray Black -128 4938 a
SDict begin H.S end
-128 4938 a -128 4938
a
SDict begin 11 H.A end
-128 4938 a -128 4938 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.8) cvn H.B /DEST pdfmark end
-128 4938 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(hpcdir)p Black -1 w(=)p 0 0 0 TeXcolorrgb(DIR)p
Black 0 0 0 TeXcolorrgb 134 w(sub)p Black(-)p 0 0 0 TeXcolorrgb
(directory)p Black 0 0 0 TeXcolorrgb 43 w(that)p Black
0 0 0 TeXcolorrgb 44 w(contains)p Black 44 w(.)p 0 0 0
TeXcolorrgb -1 w(mix)p Black 0 0 0 TeXcolorrgb 45 w(files)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5056 25 92 v Black 0.95 TeXcolorgray -128 5056 4252 92
v Black 0.95 TeXcolorgray 4124 5056 25 92 v Black 0.95
TeXcolorgray Black -128 5029 a
SDict begin H.S end
-128 5029 a -128 5029
a
SDict begin 11 H.A end
-128 5029 a -128 5029 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.9) cvn H.B /DEST pdfmark end
-128 5029 a 0 0 0 TeXcolorrgb
852 w Fo(default)p Black 44 w(.)p 0 0 0 TeXcolorrgb(hpc)p
Black 44 w([)p 0 0 0 TeXcolorrgb(rarely)p Black 0 0 0
TeXcolorrgb 44 w(used)p Black -1 w(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5148 25 92 v Black 0.95
TeXcolorgray -128 5148 4252 92 v Black 0.95 TeXcolorgray
4124 5148 25 92 v Black 0.95 TeXcolorgray Black -128
5120 a
SDict begin H.S end
-128 5120 a -128 5120 a
SDict begin 11 H.A end
-128 5120 a -128 5120
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.10) cvn H.B /DEST pdfmark end
-128 5120 a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(output)p
Black -1 w(=)p 0 0 0 TeXcolorrgb(FILE)p Black 0 0 0 TeXcolorrgb
89 w(output)p Black 0 0 0 TeXcolorrgb 44 w(FILE)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5239 25
92 v Black 0.95 TeXcolorgray -128 5239 4252 92 v Black
0.95 TeXcolorgray 4124 5239 25 92 v Black 0.95 TeXcolorgray
Black -128 5212 a
SDict begin H.S end
-128 5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a
-128 5212 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.11) cvn H.B /DEST pdfmark end
-128 5212 a Fo(\045)p 0 0 0 TeXcolorrgb 45
w(hpc)p Black 0 0 0 TeXcolorrgb 44 w(help)p Black 0 0 0
TeXcolorrgb 45 w(draft)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5330 25 92 v Black 0.95 TeXcolorgray
-128 5330 4252 92 v Black 0.95 TeXcolorgray 4124 5330
25 92 v Black 0.95 TeXcolorgray Black -128 5303 a
SDict begin H.S end
-128
5303 a -128 5303 a
SDict begin 11 H.A end
-128 5303 a -128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.12) cvn H.B /DEST pdfmark end
-128 5303
a 0 0 0 TeXcolorrgb Fo(Usage)p Black(:)p 0 0 0 TeXcolorrgb
44 w(hpc)p Black 0 0 0 TeXcolorrgb 45 w(draft)p Black
44 w([)p 0 0 0 TeXcolorrgb -1 w(OPTION)p Black -1 w(])g(..)g(<)p
0 0 0 TeXcolorrgb -1 w(TIX_FILE)p Black -1 w(>)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5422 25 92
v Black 0.95 TeXcolorgray -128 5422 4252 92 v Black 0.95
TeXcolorgray 4124 5422 25 92 v Black 0.95 TeXcolorgray
Black -128 5394 a
SDict begin H.S end
-128 5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a
-128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.13) cvn H.B /DEST pdfmark end
-128 5394 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5513 25 92 v Black 0.95 TeXcolorgray
-128 5513 4252 92 v Black 0.95 TeXcolorgray 4124 5513
25 92 v Black 0.95 TeXcolorgray Black -128 5485 a
SDict begin H.S end
-128
5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a -128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.14) cvn H.B /DEST pdfmark end
-128 5485
a 0 0 0 TeXcolorrgb Fo(Options)p Black -1 w(:)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5604 25 92
v Black 0.95 TeXcolorgray -128 5604 4252 92 v Black 0.95
TeXcolorgray 4124 5604 25 92 v Black 0.95 TeXcolorgray
Black -128 5577 a
SDict begin H.S end
-128 5577 a -128 5577 a
SDict begin 11 H.A end
-128 5577 a
-128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.15) cvn H.B /DEST pdfmark end
-128 5577 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5696 25 92 v Black 0.95 TeXcolorgray
-128 5696 4252 92 v Black 0.95 TeXcolorgray 4124 5696
25 92 v Black 0.95 TeXcolorgray Black -128 5668 a
SDict begin H.S end
-128
5668 a -128 5668 a
SDict begin 11 H.A end
-128 5668 a -128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.16) cvn H.B /DEST pdfmark end
-128 5668
a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(exclude)p Black
-1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p Black -1 w(:][)p
0 0 0 TeXcolorrgb -1 w(MODULE)p Black -1 w(])p 0 0 0
TeXcolorrgb 90 w(exclude)p Black 0 0 0 TeXcolorrgb 43
w(MODULE)p Black 0 0 0 TeXcolorrgb 44 w(and)p Black(/)p
0 0 0 TeXcolorrgb(or)p Black 0 0 0 TeXcolorrgb 44 w(PACKAGE)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5787 25 92 v Black 0.95 TeXcolorgray -128 5787 4252 92
v Black 0.95 TeXcolorgray 4124 5787 25 92 v Black 0.95
TeXcolorgray Black -128 5759 a
SDict begin H.S end
-128 5759 a -128 5759
a
SDict begin 11 H.A end
-128 5759 a -128 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.17) cvn H.B /DEST pdfmark end
-128 5759 a 180 w Fo(--)p 0 0 0
TeXcolorrgb -1 w(include)p Black -1 w(=[)p 0 0 0 TeXcolorrgb(PACKAGE)p
Black -1 w(:][)p 0 0 0 TeXcolorrgb -1 w(MODULE)p Black
-1 w(])p 0 0 0 TeXcolorrgb 90 w(include)p Black 0 0 0
TeXcolorrgb 43 w(MODULE)p Black 0 0 0 TeXcolorrgb 44
w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(PACKAGE)p Black Black -128 6084 4252
5 v Black eop end
%%Page: 110 125
TeXDict begin 110 124 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.110) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(110)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.18) cvn H.B /DEST pdfmark end
-128 173 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(srcdir)p Black -1 w(=)p 0 0 0
TeXcolorrgb(DIR)p Black 0 0 0 TeXcolorrgb 807 w(path)p
Black 0 0 0 TeXcolorrgb 44 w(to)p Black 0 0 0 TeXcolorrgb
44 w(source)p Black 0 0 0 TeXcolorrgb 44 w(directory)p
Black 0 0 0 TeXcolorrgb 44 w(of)p Black 44 w(.)p 0 0 0
TeXcolorrgb(hs)p Black 0 0 0 TeXcolorrgb 44 w(files)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
292 25 92 v Black 0.95 TeXcolorgray -128 292 4252 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.19) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb 1525 w
Fo(multi)p Black -1 w(-)p 0 0 0 TeXcolorrgb(use)p Black
0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb 45
w(srcdir)p Black 0 0 0 TeXcolorrgb 43 w(possible)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 383 25
92 v Black 0.95 TeXcolorgray -128 383 4252 92 v Black
0.95 TeXcolorgray 4124 383 25 92 v Black 0.95 TeXcolorgray
Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128 356 a -128
356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.20) cvn H.B /DEST pdfmark end
-128 356 a 180 w Fo(--)p 0 0 0 TeXcolorrgb -1 w(hpcdir)p
Black -1 w(=)p 0 0 0 TeXcolorrgb(DIR)p Black 0 0 0 TeXcolorrgb
807 w(sub)p Black -1 w(-)p 0 0 0 TeXcolorrgb(directory)p
Black 0 0 0 TeXcolorrgb 43 w(that)p Black 0 0 0 TeXcolorrgb
45 w(contains)p Black 43 w(.)p 0 0 0 TeXcolorrgb(mix)p
Black 0 0 0 TeXcolorrgb 44 w(files)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.21) cvn H.B /DEST pdfmark end
-128 447 a 0 0 0 TeXcolorrgb
1525 w Fo(default)p Black 43 w(.)p 0 0 0 TeXcolorrgb(hpc)p
Black 45 w([)p 0 0 0 TeXcolorrgb -1 w(rarely)p Black
0 0 0 TeXcolorrgb 44 w(used)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-200.22) cvn H.B /DEST pdfmark end
-128 538 a 180 w Fo(--)p
0 0 0 TeXcolorrgb -1 w(output)p Black -1 w(=)p 0 0 0
TeXcolorrgb(FILE)p Black 0 0 0 TeXcolorrgb 762 w(output)p
Black 0 0 0 TeXcolorrgb 44 w(FILE)p Black 0.95 TeXcolorgray
-152 591 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 757 a
SDict begin H.S end
-128 757 a -128 757 a
SDict begin 12 H.A end
-128 757 a -128
757 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.6.4) cvn H.B /DEST pdfmark end
-128 757 a Black 141 x Fp(5.6.4)p Black 90 w(Ca)o(veats)j(and)h
(Shor)r(tcomings)f(of)h(Haskell)g(Pr)n(ogram)g(Co)n(vera)o(g)q(e)-128
1101 y FA(HPC)k(does)f(not)f(attempt)h(to)g(lock)f(the)h(.tix)g
(\002le,)i(so)e(multiple)f(concurrently)e(running)h(binaries)h(in)h
(the)g(same)g(directory)e(will)j(e)o(xhibit)e(a)h(race)-128
1201 y(condition.)36 b(There)24 b(is)i(no)e(w)o(ay)g(to)h(change)e(the)
h(name)g(of)g(the)h(.tix)f(\002le)i(generated,)d(apart)h(from)g
(renaming)e(the)j(binary)-5 b(.)36 b(HPC)25 b(does)f(not)h(w)o(ork)-128
1300 y(with)c(GHCi.)-128 1426 y
SDict begin H.S end
-128 1426 a -128 1426
a
SDict begin 12 H.A end
-128 1426 a -128 1426 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5.7) cvn H.B /DEST pdfmark end
-128 1426 a Black 199 x Fs(5.7)p
Black 108 w(Using)28 b(\223tic)n(ky-tic)n(ky\224)g(pr)n(o\002ling)g
(\(f)n(or)h(implementor)n(s\))-128 1752 y
SDict begin H.S end
-128 1752 a
-128 1752 a
SDict begin 12 H.A end
-128 1752 a -128 1752 a
SDict begin [ /View [/XYZ H.V] /Dest (ticky-ticky) cvn H.B /DEST pdfmark end
-128 1752 a 114 x
FA(\(T)-7 b(oDo:)25 b(document)18 b(properly)-5 b(.\))-128
2015 y(It)27 b(is)g(possible)f(to)g(compile)f(Glasgo)n(w)h(Hask)o(ell)g
(programs)e(so)j(that)f(the)o(y)f(will)i(count)e(lots)h(and)g(lots)h
(of)e(interesting)g(things,)i(e.g.,)g(number)d(of)-128
2115 y(updates,)17 b(number)e(of)i(data)g(constructors)e(entered,)h
(etc.,)i(etc.)24 b(W)-7 b(e)18 b(call)f(this)h(\223tick)o(y-tick)o
(y\224)c(pro\002ling,)i(because)g(that')-5 b(s)18 b(the)f(sound)f(a)h
(Sun4)f(mak)o(es)-128 2215 y(when)k(it)h(is)g(running)d(up)i(all)h
(those)f(counters)f(\()p Fq(slowly)p FA(\).)-128 2364
y(T)m(ick)o(y-tick)o(y)28 b(pro\002ling)g(is)j(mainly)e(intended)g(for)
g(implementors;)k(it)d(is)h(quite)f(separate)f(from)g(the)h(main)f
(\223cost-centre\224)g(pro\002ling)f(system,)-128 2464
y(intended)19 b(for)h(all)g(users)h(e)n(v)o(erywhere.)-128
2613 y(T)-7 b(o)20 b(be)f(able)g(to)h(use)f(tick)o(y-tick)o(y)e
(pro\002ling,)h(you)h(will)h(need)e(to)i(ha)n(v)o(e)e(b)n(uilt)i(the)f
(tick)o(y)g(R)-5 b(TS.)20 b(\(This)f(should)f(be)h(described)f(in)i
(the)f(b)n(uilding)f(guide,)-128 2713 y(b)n(ut)j(amounts)e(to)h(b)n
(uilding)f(the)h(R)-5 b(TS)21 b(with)g(w)o(ay)f("t")g(enabled.\))-128
2862 y(T)-7 b(o)21 b(get)f(your)f(compiled)g(program)f(to)i(spit)h(out)
f(the)g(tick)o(y-tick)o(y)e(numbers,)g(use)j(a)f Ft(-r)h
FA(R)-5 b(TS)21 b(option.)i(See)e(Section)p 1 0 0 TeXcolorrgb
3233 2863 a
SDict begin H.S end
3233 2863 a 1 0 0 TeXcolorrgb -1 x FA(4.14)p
1 0 0 TeXcolorrgb 3378 2806 a
SDict begin H.R end
3378 2806 a 3378 2862 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.14) cvn H.B /ANN pdfmark end
3378 2862 a Black FA(.)-128 3012 y(Compiling)f(your)g(program)e(with)j
(the)g Ft(-ticky)f FA(switch)h(yields)g(an)g(e)o(x)o(ecutable)e(that)i
(performs)e(these)i(counts.)26 b(Here)21 b(is)g(a)h(sample)e(tick)o
(y-tick)o(y)-128 3111 y(statistics)i(\002le,)f(generated)d(by)i(the)g
(in)m(v)n(ocation)f Fu(f)n(oo)g(+R)m(TS)i(-rf)n(oo.tick)o(y)p
FA(.)-128 3179 y
SDict begin H.S end
-128 3179 a -128 3179 a
SDict begin 12 H.A end
-128 3179 a
-128 3179 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.5.-201) cvn H.B /DEST pdfmark end
-128 3179 a 0.95 TeXcolorgray -153 3194 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3286 25 92 v Black 0.95
TeXcolorgray -128 3286 4252 92 v Black 0.95 TeXcolorgray
4124 3286 25 92 v Black 0.95 TeXcolorgray Black -128
3258 a
SDict begin H.S end
-128 3258 a -128 3258 a
SDict begin 11 H.A end
-128 3258 a -128 3258
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.1) cvn H.B /DEST pdfmark end
-128 3258 a 0 0 0 TeXcolorrgb 45 w Fo(foo)p Black 45
w(+)p 0 0 0 TeXcolorrgb -1 w(RTS)p Black 45 w(-)p 0 0 0
TeXcolorrgb(rfoo)p Black -1 w(.)p 0 0 0 TeXcolorrgb(ticky)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3377 25 92 v Black 0.95 TeXcolorgray -128 3377 4252 92
v Black 0.95 TeXcolorgray 4124 3377 25 92 v Black 0.95
TeXcolorgray Black -128 3350 a
SDict begin H.S end
-128 3350 a -128 3350
a
SDict begin 11 H.A end
-128 3350 a -128 3350 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.2) cvn H.B /DEST pdfmark end
-128 3350 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3468 25 92 v Black 0.95
TeXcolorgray -128 3468 4252 92 v Black 0.95 TeXcolorgray
4124 3468 25 92 v Black 0.95 TeXcolorgray Black -128
3441 a
SDict begin H.S end
-128 3441 a -128 3441 a
SDict begin 11 H.A end
-128 3441 a -128 3441
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.3) cvn H.B /DEST pdfmark end
-128 3441 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3560 25 92 v Black 0.95 TeXcolorgray -128 3560 4252
92 v Black 0.95 TeXcolorgray 4124 3560 25 92 v Black
0.95 TeXcolorgray Black -128 3532 a
SDict begin H.S end
-128 3532 a -128
3532 a
SDict begin 11 H.A end
-128 3532 a -128 3532 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.4) cvn H.B /DEST pdfmark end
-128 3532 a 0 0 0 TeXcolorrgb
Fo(ALLOCATIONS)p Black -1 w(:)44 b(3964631)g(\(11330900)p
0 0 0 TeXcolorrgb 43 w(words)p Black 0 0 0 TeXcolorrgb
44 w(total)p Black -1 w(:)h(3999476)p 0 0 0 TeXcolorrgb
44 w(admin)p Black -1 w(,)g(6098829)p 0 0 0 TeXcolorrgb
43 w(goods)p Black -1 w(,)g(1232595)p 0 0 0 TeXcolorrgb
44 w(slop)p Black -1 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3651 25 92 v Black 0.95 TeXcolorgray
-128 3651 4252 92 v Black 0.95 TeXcolorgray 4124 3651
25 92 v Black 0.95 TeXcolorgray Black -128 3624 a
SDict begin H.S end
-128
3624 a -128 3624 a
SDict begin 11 H.A end
-128 3624 a -128 3624 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.5) cvn H.B /DEST pdfmark end
-128 3624
a 0 0 0 TeXcolorrgb 1435 w Fo(total)p Black 0 0 0 TeXcolorrgb
44 w(words)p Black -1 w(:)359 b(2)224 b(3)g(4)g(5)179
b(6+)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3742 25 92 v Black 0.95 TeXcolorgray -128 3742 4252 92
v Black 0.95 TeXcolorgray 4124 3742 25 92 v Black 0.95
TeXcolorgray Black -128 3715 a
SDict begin H.S end
-128 3715 a -128 3715
a
SDict begin 11 H.A end
-128 3715 a -128 3715 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.6) cvn H.B /DEST pdfmark end
-128 3715 a 90 w Fo(69647)44
b(\()90 b(1.8\045\))p 0 0 0 TeXcolorrgb 44 w(function)p
Black 0 0 0 TeXcolorrgb 43 w(values)p Black 761 w(50.0)f(50.0)134
b(0.0)g(0.0)g(0.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3834 25 92 v Black 0.95 TeXcolorgray -128 3834 4252
92 v Black 0.95 TeXcolorgray 4124 3834 25 92 v Black
0.95 TeXcolorgray Black -128 3806 a
SDict begin H.S end
-128 3806 a -128
3806 a
SDict begin 11 H.A end
-128 3806 a -128 3806 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.7) cvn H.B /DEST pdfmark end
-128 3806 a Fo(2382937)44
b(\()h(60.1\045\))p 0 0 0 TeXcolorrgb 44 w(thunks)p Black
1209 w(0.0)89 b(83.9)g(16.1)134 b(0.0)g(0.0)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3925 25 92 v Black 0.95
TeXcolorgray -128 3925 4252 92 v Black 0.95 TeXcolorgray
4124 3925 25 92 v Black 0.95 TeXcolorgray Black -128
3898 a
SDict begin H.S end
-128 3898 a -128 3898 a
SDict begin 11 H.A end
-128 3898 a -128 3898
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.8) cvn H.B /DEST pdfmark end
-128 3898 a Fo(1477218)44 b(\()h(37.3\045\))p 0 0 0
TeXcolorrgb 44 w(data)p Black 0 0 0 TeXcolorrgb 44 w(values)p
Black 940 w(66.8)89 b(33.2)134 b(0.0)g(0.0)g(0.0)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4016 25 92
v Black 0.95 TeXcolorgray -128 4016 4252 92 v Black 0.95
TeXcolorgray 4124 4016 25 92 v Black 0.95 TeXcolorgray
Black -128 3989 a
SDict begin H.S end
-128 3989 a -128 3989 a
SDict begin 11 H.A end
-128 3989 a
-128 3989 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.9) cvn H.B /DEST pdfmark end
-128 3989 a 269 w Fo(0)45 b(\()90 b(0.0\045\))p
0 0 0 TeXcolorrgb 44 w(big)p Black 0 0 0 TeXcolorrgb
44 w(tuples)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4108 25 92 v Black 0.95 TeXcolorgray -128 4108 4252
92 v Black 0.95 TeXcolorgray 4124 4108 25 92 v Black
0.95 TeXcolorgray Black -128 4080 a
SDict begin H.S end
-128 4080 a -128
4080 a
SDict begin 11 H.A end
-128 4080 a -128 4080 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.10) cvn H.B /DEST pdfmark end
-128 4080 a 269 w Fo(2)45
b(\()90 b(0.0\045\))p 0 0 0 TeXcolorrgb 44 w(black)p
Black 0 0 0 TeXcolorrgb 44 w(holes)p Black 985 w(0.0)44
b(100.0)134 b(0.0)g(0.0)g(0.0)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4199 25 92 v Black 0.95 TeXcolorgray
-128 4199 4252 92 v Black 0.95 TeXcolorgray 4124 4199
25 92 v Black 0.95 TeXcolorgray Black -128 4171 a
SDict begin H.S end
-128
4171 a -128 4171 a
SDict begin 11 H.A end
-128 4171 a -128 4171 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.11) cvn H.B /DEST pdfmark end
-128 4171
a 269 w Fo(0)45 b(\()90 b(0.0\045\))p 0 0 0 TeXcolorrgb
44 w(prim)p Black 0 0 0 TeXcolorrgb 44 w(things)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4290 25
92 v Black 0.95 TeXcolorgray -128 4290 4252 92 v Black
0.95 TeXcolorgray 4124 4290 25 92 v Black 0.95 TeXcolorgray
Black -128 4263 a
SDict begin H.S end
-128 4263 a -128 4263 a
SDict begin 11 H.A end
-128 4263 a
-128 4263 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.12) cvn H.B /DEST pdfmark end
-128 4263 a 90 w Fo(34825)44 b(\()90 b(0.9\045\))p
0 0 0 TeXcolorrgb 44 w(partial)p Black 0 0 0 TeXcolorrgb
43 w(applications)p Black 581 w(0.0)134 b(0.0)g(0.0)44
b(100.0)134 b(0.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4382 25 92 v Black 0.95 TeXcolorgray -128 4382 4252
92 v Black 0.95 TeXcolorgray 4124 4382 25 92 v Black
0.95 TeXcolorgray Black -128 4354 a
SDict begin H.S end
-128 4354 a -128
4354 a
SDict begin 11 H.A end
-128 4354 a -128 4354 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.13) cvn H.B /DEST pdfmark end
-128 4354 a 269 w Fo(2)45
b(\()90 b(0.0\045\))p 0 0 0 TeXcolorrgb 44 w(thread)p
Black 0 0 0 TeXcolorrgb 43 w(state)p Black 0 0 0 TeXcolorrgb
44 w(objects)p Black 582 w(0.0)134 b(0.0)g(0.0)g(0.0)44
b(100.0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4473 25 92 v Black 0.95 TeXcolorgray -128 4473 4252 92
v Black 0.95 TeXcolorgray 4124 4473 25 92 v Black 0.95
TeXcolorgray Black -128 4445 a
SDict begin H.S end
-128 4445 a -128 4445
a
SDict begin 11 H.A end
-128 4445 a -128 4445 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.14) cvn H.B /DEST pdfmark end
-128 4445 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4564 25 92 v Black 0.95
TeXcolorgray -128 4564 4252 92 v Black 0.95 TeXcolorgray
4124 4564 25 92 v Black 0.95 TeXcolorgray Black -128
4537 a
SDict begin H.S end
-128 4537 a -128 4537 a
SDict begin 11 H.A end
-128 4537 a -128 4537
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.15) cvn H.B /DEST pdfmark end
-128 4537 a 0 0 0 TeXcolorrgb Fo(Total)p Black 0 0 0
TeXcolorrgb 44 w(storage)p Black -1 w(-)p 0 0 0 TeXcolorrgb(manager)p
Black 0 0 0 TeXcolorrgb 44 w(allocations)p Black -2 w(:)h(3647137)e
(\(11882004)p 0 0 0 TeXcolorrgb 44 w(words)p Black -1
w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4655 25 92 v Black 0.95 TeXcolorgray -128 4655 4252 92
v Black 0.95 TeXcolorgray 4124 4655 25 92 v Black 0.95
TeXcolorgray Black -128 4628 a
SDict begin H.S end
-128 4628 a -128 4628
a
SDict begin 11 H.A end
-128 4628 a -128 4628 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.16) cvn H.B /DEST pdfmark end
-128 4628 a 359 w Fo([551104)p
0 0 0 TeXcolorrgb 44 w(words)p Black 0 0 0 TeXcolorrgb
44 w(lost)p Black 0 0 0 TeXcolorrgb 44 w(to)p Black 0 0 0
TeXcolorrgb 44 w(speculative)p Black 0 0 0 TeXcolorrgb
43 w(heap)p Black(-)p 0 0 0 TeXcolorrgb(checks)p Black
-1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4747 25 92 v Black 0.95 TeXcolorgray -128 4747 4252 92
v Black 0.95 TeXcolorgray 4124 4747 25 92 v Black 0.95
TeXcolorgray Black -128 4719 a
SDict begin H.S end
-128 4719 a -128 4719
a
SDict begin 11 H.A end
-128 4719 a -128 4719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.17) cvn H.B /DEST pdfmark end
-128 4719 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4838 25 92 v Black 0.95
TeXcolorgray -128 4838 4252 92 v Black 0.95 TeXcolorgray
4124 4838 25 92 v Black 0.95 TeXcolorgray Black -128
4811 a
SDict begin H.S end
-128 4811 a -128 4811 a
SDict begin 11 H.A end
-128 4811 a -128 4811
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.18) cvn H.B /DEST pdfmark end
-128 4811 a 0 0 0 TeXcolorrgb Fo(STACK)p Black 0 0 0
TeXcolorrgb 44 w(USAGE)p Black(:)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4929 25 92 v Black 0.95
TeXcolorgray -128 4929 4252 92 v Black 0.95 TeXcolorgray
4124 4929 25 92 v Black 0.95 TeXcolorgray Black -128
4902 a
SDict begin H.S end
-128 4902 a -128 4902 a
SDict begin 11 H.A end
-128 4902 a -128 4902
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.19) cvn H.B /DEST pdfmark end
-128 4902 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5021 25 92 v Black 0.95 TeXcolorgray -128 5021 4252
92 v Black 0.95 TeXcolorgray 4124 5021 25 92 v Black
0.95 TeXcolorgray Black -128 4993 a
SDict begin H.S end
-128 4993 a -128
4993 a
SDict begin 11 H.A end
-128 4993 a -128 4993 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.20) cvn H.B /DEST pdfmark end
-128 4993 a 0 0 0 TeXcolorrgb
Fo(ENTERS)p Black -1 w(:)i(9400092)p 0 0 0 TeXcolorrgb
89 w(of)p Black 0 0 0 TeXcolorrgb 44 w(which)p Black
44 w(2005772)f(\(21.3\045\))p 0 0 0 TeXcolorrgb 43 w(direct)p
Black 0 0 0 TeXcolorrgb 44 w(to)p Black 0 0 0 TeXcolorrgb
45 w(the)p Black 0 0 0 TeXcolorrgb 44 w(entry)p Black
0 0 0 TeXcolorrgb 44 w(code)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5112 25 92 v Black 0.95
TeXcolorgray -128 5112 4252 92 v Black 0.95 TeXcolorgray
4124 5112 25 92 v Black 0.95 TeXcolorgray Black -128
5085 a
SDict begin H.S end
-128 5085 a -128 5085 a
SDict begin 11 H.A end
-128 5085 a -128 5085
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.21) cvn H.B /DEST pdfmark end
-128 5085 a 807 w Fo([)p 0 0 0 TeXcolorrgb(the)p Black
0 0 0 TeXcolorrgb 45 w(rest)p Black 0 0 0 TeXcolorrgb
44 w(indirected)p Black 0 0 0 TeXcolorrgb 43 w(via)p
Black 0 0 0 TeXcolorrgb 44 w(Node)p Black(')p 0 0 0 TeXcolorrgb
-1 w(s)p Black 0 0 0 TeXcolorrgb 45 w(info)p Black 0 0 0
TeXcolorrgb 44 w(ptr)p Black(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5203 25 92 v Black 0.95 TeXcolorgray
-128 5203 4252 92 v Black 0.95 TeXcolorgray 4124 5203
25 92 v Black 0.95 TeXcolorgray Black -128 5176 a
SDict begin H.S end
-128
5176 a -128 5176 a
SDict begin 11 H.A end
-128 5176 a -128 5176 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.22) cvn H.B /DEST pdfmark end
-128 5176
a Fo(1860318)g(\()h(19.8\045\))p 0 0 0 TeXcolorrgb 44
w(thunks)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5295 25 92 v Black 0.95 TeXcolorgray -128 5295 4252
92 v Black 0.95 TeXcolorgray 4124 5295 25 92 v Black
0.95 TeXcolorgray Black -128 5267 a
SDict begin H.S end
-128 5267 a -128
5267 a
SDict begin 11 H.A end
-128 5267 a -128 5267 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.23) cvn H.B /DEST pdfmark end
-128 5267 a Fo(3733184)f(\()h
(39.7\045\))p 0 0 0 TeXcolorrgb 44 w(data)p Black 0 0 0
TeXcolorrgb 44 w(values)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5386 25 92 v Black 0.95 TeXcolorgray
-128 5386 4252 92 v Black 0.95 TeXcolorgray 4124 5386
25 92 v Black 0.95 TeXcolorgray Black -128 5359 a
SDict begin H.S end
-128
5359 a -128 5359 a
SDict begin 11 H.A end
-128 5359 a -128 5359 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.24) cvn H.B /DEST pdfmark end
-128 5359
a Fo(3149544)f(\()h(33.5\045\))p 0 0 0 TeXcolorrgb 44
w(function)p Black 0 0 0 TeXcolorrgb 43 w(values)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5477 25
92 v Black 0.95 TeXcolorgray -128 5477 4252 92 v Black
0.95 TeXcolorgray 4124 5477 25 92 v Black 0.95 TeXcolorgray
Black -128 5450 a
SDict begin H.S end
-128 5450 a -128 5450 a
SDict begin 11 H.A end
-128 5450 a
-128 5450 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.25) cvn H.B /DEST pdfmark end
-128 5450 a 807 w Fo([)p 0 0 0 TeXcolorrgb(of)p
Black 0 0 0 TeXcolorrgb 45 w(which)p Black 44 w(1999880)e(\(63.5\045\))
p 0 0 0 TeXcolorrgb 44 w(bypassed)p Black 0 0 0 TeXcolorrgb
44 w(arg)p Black -1 w(-)p 0 0 0 TeXcolorrgb(satisfaction)p
Black 0 0 0 TeXcolorrgb 43 w(chk)p Black -1 w(])p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5569 25 92
v Black 0.95 TeXcolorgray -128 5569 4252 92 v Black 0.95
TeXcolorgray 4124 5569 25 92 v Black 0.95 TeXcolorgray
Black -128 5541 a
SDict begin H.S end
-128 5541 a -128 5541 a
SDict begin 11 H.A end
-128 5541 a
-128 5541 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.26) cvn H.B /DEST pdfmark end
-128 5541 a 45 w Fo(348140)h(\()90 b(3.7\045\))p
0 0 0 TeXcolorrgb 44 w(partial)p Black 0 0 0 TeXcolorrgb
43 w(applications)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5660 25 92 v Black 0.95 TeXcolorgray
-128 5660 4252 92 v Black 0.95 TeXcolorgray 4124 5660
25 92 v Black 0.95 TeXcolorgray Black -128 5633 a
SDict begin H.S end
-128
5633 a -128 5633 a
SDict begin 11 H.A end
-128 5633 a -128 5633 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.27) cvn H.B /DEST pdfmark end
-128 5633
a 45 w Fo(308906)44 b(\()90 b(3.3\045\))p 0 0 0 TeXcolorrgb
44 w(normal)p Black 0 0 0 TeXcolorrgb 43 w(indirections)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5751 25 92 v Black 0.95 TeXcolorgray -128 5751 4252 92
v Black 0.95 TeXcolorgray 4124 5751 25 92 v Black 0.95
TeXcolorgray Black -128 5724 a
SDict begin H.S end
-128 5724 a -128 5724
a
SDict begin 11 H.A end
-128 5724 a -128 5724 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.28) cvn H.B /DEST pdfmark end
-128 5724 a 269 w Fo(0)45 b(\()90
b(0.0\045\))p 0 0 0 TeXcolorrgb 44 w(permanent)p Black
0 0 0 TeXcolorrgb 43 w(indirections)p Black Black -128
6084 4252 5 v Black eop end
%%Page: 111 126
TeXDict begin 111 125 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.111) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(111)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.29) cvn H.B /DEST pdfmark end
-128 173 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 292 25 92 v Black 0.95 TeXcolorgray
-128 292 4252 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265
a -128 265 a
SDict begin 11 H.A end
-128 265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.30) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb
Fo(RETURNS)p Black -1 w(:)45 b(5870443)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.31) cvn H.B /DEST pdfmark end
-128 356 a Fo(2137257)f(\()h
(36.4\045\))p 0 0 0 TeXcolorrgb 44 w(from)p Black 0 0 0
TeXcolorrgb 44 w(entering)p Black 0 0 0 TeXcolorrgb 43
w(a)p Black 0 0 0 TeXcolorrgb 45 w(new)p Black 0 0 0
TeXcolorrgb 44 w(constructor)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.32) cvn H.B /DEST pdfmark end
-128 447 a 807 w Fo([)p
0 0 0 TeXcolorrgb(the)p Black 0 0 0 TeXcolorrgb 45 w(rest)p
Black 0 0 0 TeXcolorrgb 44 w(from)p Black 0 0 0 TeXcolorrgb
44 w(entering)p Black 0 0 0 TeXcolorrgb 43 w(an)p Black
0 0 0 TeXcolorrgb 45 w(existing)p Black 0 0 0 TeXcolorrgb
43 w(constructor)p Black -1 w(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.33) cvn H.B /DEST pdfmark end
-128 538 a Fo(2349219)f(\()h
(40.0\045\))p 0 0 0 TeXcolorrgb 44 w(vectored)p Black
43 w([)p 0 0 0 TeXcolorrgb(the)p Black 0 0 0 TeXcolorrgb
44 w(rest)p Black 0 0 0 TeXcolorrgb 44 w(unvectored)p
Black -1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 657 25 92 v Black 0.95 TeXcolorgray -128 657 4252
92 v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.34) cvn H.B /DEST pdfmark end
-128 630 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 749 25 92 v Black 0.95 TeXcolorgray
-128 749 4252 92 v Black 0.95 TeXcolorgray 4124 749 25
92 v Black 0.95 TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721
a -128 721 a
SDict begin 11 H.A end
-128 721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.35) cvn H.B /DEST pdfmark end
-128 721 a 0 0 0 TeXcolorrgb
Fo(RET_NEW)p Black -1 w(:)404 b(2137257:)88 b(32.5\045)44
b(46.2\045)g(21.3\045)89 b(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)g
(0.0\045)g(0.0\045)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 840 25 92 v Black 0.95 TeXcolorgray -128 840 4252
92 v Black 0.95 TeXcolorgray 4124 840 25 92 v Black 0.95
TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812 a -128 812 a
SDict begin 11 H.A end
-128
812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.36) cvn H.B /DEST pdfmark end
-128 812 a 0 0 0 TeXcolorrgb Fo(RET_OLD)p
Black -1 w(:)404 b(3733184:)133 b(2.8\045)44 b(67.9\045)g(29.3\045)89
b(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 931 25
92 v Black 0.95 TeXcolorgray -128 931 4252 92 v Black
0.95 TeXcolorgray 4124 931 25 92 v Black 0.95 TeXcolorgray
Black -128 904 a
SDict begin H.S end
-128 904 a -128 904 a
SDict begin 11 H.A end
-128 904 a -128
904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.37) cvn H.B /DEST pdfmark end
-128 904 a 0 0 0 TeXcolorrgb Fo(RET_UNBOXED_TUP)p
Black -2 w(:)314 b(2:)134 b(0.0\045)89 b(0.0\045100.0\045)f(0.0\045)h
(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1023 25 92
v Black 0.95 TeXcolorgray -128 1023 4252 92 v Black 0.95
TeXcolorgray 4124 1023 25 92 v Black 0.95 TeXcolorgray
Black -128 995 a
SDict begin H.S end
-128 995 a -128 995 a
SDict begin 11 H.A end
-128 995 a -128
995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.38) cvn H.B /DEST pdfmark end
-128 995 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1114 25 92 v Black 0.95 TeXcolorgray -128 1114 4252
92 v Black 0.95 TeXcolorgray 4124 1114 25 92 v Black
0.95 TeXcolorgray Black -128 1086 a
SDict begin H.S end
-128 1086 a -128
1086 a
SDict begin 11 H.A end
-128 1086 a -128 1086 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.39) cvn H.B /DEST pdfmark end
-128 1086 a 0 0 0 TeXcolorrgb
Fo(RET_VEC_RETURN)p Black 43 w(:)45 b(2349219:)133 b(0.0\045)89
b(0.0\045100.0\045)f(0.0\045)h(0.0\045)g(0.0\045)g(0.0\045)g(0.0\045)g
(0.0\045)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1205 25 92 v Black 0.95 TeXcolorgray -128 1205 4252
92 v Black 0.95 TeXcolorgray 4124 1205 25 92 v Black
0.95 TeXcolorgray Black -128 1178 a
SDict begin H.S end
-128 1178 a -128
1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.40) cvn H.B /DEST pdfmark end
-128 1178 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1296 25 92 v Black 0.95
TeXcolorgray -128 1296 4252 92 v Black 0.95 TeXcolorgray
4124 1296 25 92 v Black 0.95 TeXcolorgray Black -128
1269 a
SDict begin H.S end
-128 1269 a -128 1269 a
SDict begin 11 H.A end
-128 1269 a -128 1269
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.41) cvn H.B /DEST pdfmark end
-128 1269 a 0 0 0 TeXcolorrgb Fo(UPDATE)p Black 0 0 0
TeXcolorrgb 44 w(FRAMES)p Black -1 w(:)45 b(2241725)f(\(0)p
0 0 0 TeXcolorrgb 44 w(omitted)p Black 0 0 0 TeXcolorrgb
44 w(from)p Black 0 0 0 TeXcolorrgb 44 w(thunks)p Black
-1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1388 25 92 v Black 0.95 TeXcolorgray -128 1388 4252 92
v Black 0.95 TeXcolorgray 4124 1388 25 92 v Black 0.95
TeXcolorgray Black -128 1360 a
SDict begin H.S end
-128 1360 a -128 1360
a
SDict begin 11 H.A end
-128 1360 a -128 1360 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.42) cvn H.B /DEST pdfmark end
-128 1360 a 0 0 0 TeXcolorrgb
Fo(SEQ)p Black 0 0 0 TeXcolorrgb 45 w(FRAMES)p Black
-1 w(:)179 b(1)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1479 25 92 v Black 0.95 TeXcolorgray -128 1479 4252
92 v Black 0.95 TeXcolorgray 4124 1479 25 92 v Black
0.95 TeXcolorgray Black -128 1452 a
SDict begin H.S end
-128 1452 a -128
1452 a
SDict begin 11 H.A end
-128 1452 a -128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.43) cvn H.B /DEST pdfmark end
-128 1452 a 0 0 0 TeXcolorrgb
Fo(CATCH)p Black 0 0 0 TeXcolorrgb 44 w(FRAMES)p Black
-1 w(:)90 b(1)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1570 25 92 v Black 0.95 TeXcolorgray -128 1570 4252
92 v Black 0.95 TeXcolorgray 4124 1570 25 92 v Black
0.95 TeXcolorgray Black -128 1543 a
SDict begin H.S end
-128 1543 a -128
1543 a
SDict begin 11 H.A end
-128 1543 a -128 1543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.44) cvn H.B /DEST pdfmark end
-128 1543 a 0 0 0 TeXcolorrgb
Fo(UPDATES)p Black -1 w(:)45 b(2241725)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1662 25 92 v Black 0.95
TeXcolorgray -128 1662 4252 92 v Black 0.95 TeXcolorgray
4124 1662 25 92 v Black 0.95 TeXcolorgray Black -128
1634 a
SDict begin H.S end
-128 1634 a -128 1634 a
SDict begin 11 H.A end
-128 1634 a -128 1634
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.45) cvn H.B /DEST pdfmark end
-128 1634 a 269 w Fo(0)g(\()90 b(0.0\045\))p 0 0 0
TeXcolorrgb 44 w(data)p Black 0 0 0 TeXcolorrgb 44 w(values)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1753 25 92 v Black 0.95 TeXcolorgray -128 1753 4252 92
v Black 0.95 TeXcolorgray 4124 1753 25 92 v Black 0.95
TeXcolorgray Black -128 1726 a
SDict begin H.S end
-128 1726 a -128 1726
a
SDict begin 11 H.A end
-128 1726 a -128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.46) cvn H.B /DEST pdfmark end
-128 1726 a 90 w Fo(34827)44
b(\()90 b(1.6\045\))p 0 0 0 TeXcolorrgb 44 w(partial)p
Black 0 0 0 TeXcolorrgb 43 w(applications)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1844 25 92
v Black 0.95 TeXcolorgray -128 1844 4252 92 v Black 0.95
TeXcolorgray 4124 1844 25 92 v Black 0.95 TeXcolorgray
Black -128 1817 a
SDict begin H.S end
-128 1817 a -128 1817 a
SDict begin 11 H.A end
-128 1817 a
-128 1817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.47) cvn H.B /DEST pdfmark end
-128 1817 a 807 w Fo([2)p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(place)p Black(,)44
b(34825)p 0 0 0 TeXcolorrgb 44 w(allocated)p Black 0 0 0
TeXcolorrgb 44 w(new)p Black 0 0 0 TeXcolorrgb 44 w(space)p
Black -1 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1936 25 92 v Black 0.95 TeXcolorgray -128 1936 4252
92 v Black 0.95 TeXcolorgray 4124 1936 25 92 v Black
0.95 TeXcolorgray Black -128 1908 a
SDict begin H.S end
-128 1908 a -128
1908 a
SDict begin 11 H.A end
-128 1908 a -128 1908 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.48) cvn H.B /DEST pdfmark end
-128 1908 a Fo(2206898)g(\()h
(98.4\045\))p 0 0 0 TeXcolorrgb 44 w(updates)p Black
0 0 0 TeXcolorrgb 43 w(to)p Black 0 0 0 TeXcolorrgb 45
w(existing)p Black 0 0 0 TeXcolorrgb 43 w(heap)p Black
0 0 0 TeXcolorrgb 44 w(objects)p Black 44 w(\(46)p 0 0 0
TeXcolorrgb 44 w(by)p Black 0 0 0 TeXcolorrgb 45 w(squeezing)p
Black -2 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2027 25 92 v Black 0.95 TeXcolorgray -128 2027 4252
92 v Black 0.95 TeXcolorgray 4124 2027 25 92 v Black
0.95 TeXcolorgray Black -128 2000 a
SDict begin H.S end
-128 2000 a -128
2000 a
SDict begin 11 H.A end
-128 2000 a -128 2000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.49) cvn H.B /DEST pdfmark end
-128 2000 a 0 0 0 TeXcolorrgb
Fo(UPD_CON_IN_NEW)p Black -2 w(:)403 b(0:)314 b(0)269
b(0)g(0)f(0)h(0)g(0)g(0)g(0)g(0)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 2118 25 92 v Black 0.95 TeXcolorgray
-128 2118 4252 92 v Black 0.95 TeXcolorgray 4124 2118
25 92 v Black 0.95 TeXcolorgray Black -128 2091 a
SDict begin H.S end
-128
2091 a -128 2091 a
SDict begin 11 H.A end
-128 2091 a -128 2091 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.50) cvn H.B /DEST pdfmark end
-128 2091
a 0 0 0 TeXcolorrgb Fo(UPD_PAP_IN_NEW)p Black -2 w(:)224
b(34825:)313 b(0)269 b(0)g(0)89 b(34825)268 b(0)h(0)g(0)g(0)g(0)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 2210 25
92 v Black 0.95 TeXcolorgray -128 2210 4252 92 v Black
0.95 TeXcolorgray 4124 2210 25 92 v Black 0.95 TeXcolorgray
Black -128 2182 a
SDict begin H.S end
-128 2182 a -128 2182 a
SDict begin 11 H.A end
-128 2182 a
-128 2182 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.51) cvn H.B /DEST pdfmark end
-128 2182 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 2301 25 92 v Black 0.95 TeXcolorgray
-128 2301 4252 92 v Black 0.95 TeXcolorgray 4124 2301
25 92 v Black 0.95 TeXcolorgray Black -128 2274 a
SDict begin H.S end
-128
2274 a -128 2274 a
SDict begin 11 H.A end
-128 2274 a -128 2274 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.52) cvn H.B /DEST pdfmark end
-128 2274
a 0 0 0 TeXcolorrgb Fo(NEW)p Black 0 0 0 TeXcolorrgb
45 w(GEN)p Black 0 0 0 TeXcolorrgb 44 w(UPDATES)p Black
-1 w(:)45 b(2274700)e(\()i(99.9\045\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2392 25 92 v Black 0.95
TeXcolorgray -128 2392 4252 92 v Black 0.95 TeXcolorgray
4124 2392 25 92 v Black 0.95 TeXcolorgray Black -128
2365 a
SDict begin H.S end
-128 2365 a -128 2365 a
SDict begin 11 H.A end
-128 2365 a -128 2365
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.53) cvn H.B /DEST pdfmark end
-128 2365 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2484 25 92 v Black 0.95 TeXcolorgray -128 2484 4252
92 v Black 0.95 TeXcolorgray 4124 2484 25 92 v Black
0.95 TeXcolorgray Black -128 2456 a
SDict begin H.S end
-128 2456 a -128
2456 a
SDict begin 11 H.A end
-128 2456 a -128 2456 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.54) cvn H.B /DEST pdfmark end
-128 2456 a 0 0 0 TeXcolorrgb
Fo(OLD)p Black 0 0 0 TeXcolorrgb 45 w(GEN)p Black 0 0 0
TeXcolorrgb 44 w(UPDATES)p Black -1 w(:)g(1852)f(\()89
b(0.1\045\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2575 25 92 v Black 0.95 TeXcolorgray -128 2575 4252
92 v Black 0.95 TeXcolorgray 4124 2575 25 92 v Black
0.95 TeXcolorgray Black -128 2548 a
SDict begin H.S end
-128 2548 a -128
2548 a
SDict begin 11 H.A end
-128 2548 a -128 2548 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.55) cvn H.B /DEST pdfmark end
-128 2548 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2666 25 92 v Black 0.95
TeXcolorgray -128 2666 4252 92 v Black 0.95 TeXcolorgray
4124 2666 25 92 v Black 0.95 TeXcolorgray Black -128
2639 a
SDict begin H.S end
-128 2639 a -128 2639 a
SDict begin 11 H.A end
-128 2639 a -128 2639
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.56) cvn H.B /DEST pdfmark end
-128 2639 a 0 0 0 TeXcolorrgb Fo(Total)p Black 0 0 0
TeXcolorrgb 44 w(bytes)p Black 0 0 0 TeXcolorrgb 44 w(copied)p
Black 0 0 0 TeXcolorrgb 44 w(during)p Black 0 0 0 TeXcolorrgb
44 w(GC)p Black(:)44 b(190096)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 2758 25 92 v Black 0.95 TeXcolorgray
-128 2758 4252 92 v Black 0.95 TeXcolorgray 4124 2758
25 92 v Black 0.95 TeXcolorgray Black -128 2730 a
SDict begin H.S end
-128
2730 a -128 2730 a
SDict begin 11 H.A end
-128 2730 a -128 2730 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.57) cvn H.B /DEST pdfmark end
-128 2730
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 2849
25 92 v Black 0.95 TeXcolorgray -128 2849 4252 92 v Black
0.95 TeXcolorgray 4124 2849 25 92 v Black 0.95 TeXcolorgray
Black -128 2822 a
SDict begin H.S end
-128 2822 a -128 2822 a
SDict begin 11 H.A end
-128 2822 a
-128 2822 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.58) cvn H.B /DEST pdfmark end
-128 2822 a 13 x Fo
(******************************************)o(******)o(**)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 2940 25
92 v Black 0.95 TeXcolorgray -128 2940 4252 92 v Black
0.95 TeXcolorgray 4124 2940 25 92 v Black 0.95 TeXcolorgray
Black -128 2913 a
SDict begin H.S end
-128 2913 a -128 2913 a
SDict begin 11 H.A end
-128 2913 a
-128 2913 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.59) cvn H.B /DEST pdfmark end
-128 2913 a Fo(3647137)p 0 0 0 TeXcolorrgb
44 w(ALLOC_HEAP_ctr)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 3032 25 92 v Black 0.95 TeXcolorgray
-128 3032 4252 92 v Black 0.95 TeXcolorgray 4124 3032
25 92 v Black 0.95 TeXcolorgray Black -128 3004 a
SDict begin H.S end
-128
3004 a -128 3004 a
SDict begin 11 H.A end
-128 3004 a -128 3004 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.60) cvn H.B /DEST pdfmark end
-128 3004
a Fo(11882004)p 0 0 0 TeXcolorrgb 44 w(ALLOC_HEAP_tot)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
3123 25 92 v Black 0.95 TeXcolorgray -128 3123 4252 92
v Black 0.95 TeXcolorgray 4124 3123 25 92 v Black 0.95
TeXcolorgray Black -128 3096 a
SDict begin H.S end
-128 3096 a -128 3096
a
SDict begin 11 H.A end
-128 3096 a -128 3096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.61) cvn H.B /DEST pdfmark end
-128 3096 a 90 w Fo(69647)p
0 0 0 TeXcolorrgb 44 w(ALLOC_FUN_ctr)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3214 25 92 v Black 0.95
TeXcolorgray -128 3214 4252 92 v Black 0.95 TeXcolorgray
4124 3214 25 92 v Black 0.95 TeXcolorgray Black -128
3187 a
SDict begin H.S end
-128 3187 a -128 3187 a
SDict begin 11 H.A end
-128 3187 a -128 3187
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.62) cvn H.B /DEST pdfmark end
-128 3187 a 90 w Fo(69647)p 0 0 0 TeXcolorrgb 44 w(ALLOC_FUN_adm)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
3306 25 92 v Black 0.95 TeXcolorgray -128 3306 4252 92
v Black 0.95 TeXcolorgray 4124 3306 25 92 v Black 0.95
TeXcolorgray Black -128 3278 a
SDict begin H.S end
-128 3278 a -128 3278
a
SDict begin 11 H.A end
-128 3278 a -128 3278 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.63) cvn H.B /DEST pdfmark end
-128 3278 a 90 w Fo(69644)p
0 0 0 TeXcolorrgb 44 w(ALLOC_FUN_gds)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3397 25 92 v Black 0.95
TeXcolorgray -128 3397 4252 92 v Black 0.95 TeXcolorgray
4124 3397 25 92 v Black 0.95 TeXcolorgray Black -128
3370 a
SDict begin H.S end
-128 3370 a -128 3370 a
SDict begin 11 H.A end
-128 3370 a -128 3370
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.64) cvn H.B /DEST pdfmark end
-128 3370 a 90 w Fo(34819)p 0 0 0 TeXcolorrgb 44 w(ALLOC_FUN_slp)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
3488 25 92 v Black 0.95 TeXcolorgray -128 3488 4252 92
v Black 0.95 TeXcolorgray 4124 3488 25 92 v Black 0.95
TeXcolorgray Black -128 3461 a
SDict begin H.S end
-128 3461 a -128 3461
a
SDict begin 11 H.A end
-128 3461 a -128 3461 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.65) cvn H.B /DEST pdfmark end
-128 3461 a 90 w Fo(34831)p
0 0 0 TeXcolorrgb 44 w(ALLOC_FUN_hst_0)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3580 25 92 v Black 0.95
TeXcolorgray -128 3580 4252 92 v Black 0.95 TeXcolorgray
4124 3580 25 92 v Black 0.95 TeXcolorgray Black -128
3552 a
SDict begin H.S end
-128 3552 a -128 3552 a
SDict begin 11 H.A end
-128 3552 a -128 3552
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.66) cvn H.B /DEST pdfmark end
-128 3552 a 90 w Fo(34816)p 0 0 0 TeXcolorrgb 44 w(ALLOC_FUN_hst_1)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
3671 25 92 v Black 0.95 TeXcolorgray -128 3671 4252 92
v Black 0.95 TeXcolorgray 4124 3671 25 92 v Black 0.95
TeXcolorgray Black -128 3644 a
SDict begin H.S end
-128 3644 a -128 3644
a
SDict begin 11 H.A end
-128 3644 a -128 3644 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.67) cvn H.B /DEST pdfmark end
-128 3644 a 269 w Fo(0)p 0 0 0
TeXcolorrgb 45 w(ALLOC_FUN_hst_2)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3762 25 92 v Black 0.95
TeXcolorgray -128 3762 4252 92 v Black 0.95 TeXcolorgray
4124 3762 25 92 v Black 0.95 TeXcolorgray Black -128
3735 a
SDict begin H.S end
-128 3735 a -128 3735 a
SDict begin 11 H.A end
-128 3735 a -128 3735
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.68) cvn H.B /DEST pdfmark end
-128 3735 a 269 w Fo(0)p 0 0 0 TeXcolorrgb 45 w(ALLOC_FUN_hst_3)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
3854 25 92 v Black 0.95 TeXcolorgray -128 3854 4252 92
v Black 0.95 TeXcolorgray 4124 3854 25 92 v Black 0.95
TeXcolorgray Black -128 3826 a
SDict begin H.S end
-128 3826 a -128 3826
a
SDict begin 11 H.A end
-128 3826 a -128 3826 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.69) cvn H.B /DEST pdfmark end
-128 3826 a 269 w Fo(0)p 0 0 0
TeXcolorrgb 45 w(ALLOC_FUN_hst_4)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3945 25 92 v Black 0.95
TeXcolorgray -128 3945 4252 92 v Black 0.95 TeXcolorgray
4124 3945 25 92 v Black 0.95 TeXcolorgray Black -128
3917 a
SDict begin H.S end
-128 3917 a -128 3917 a
SDict begin 11 H.A end
-128 3917 a -128 3917
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.70) cvn H.B /DEST pdfmark end
-128 3917 a Fo(2382937)p 0 0 0 TeXcolorrgb 44 w(ALLOC_UP_THK_ctr)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
4036 25 92 v Black 0.95 TeXcolorgray -128 4036 4252 92
v Black 0.95 TeXcolorgray 4124 4036 25 92 v Black 0.95
TeXcolorgray Black -128 4009 a
SDict begin H.S end
-128 4009 a -128 4009
a
SDict begin 11 H.A end
-128 4009 a -128 4009 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.71) cvn H.B /DEST pdfmark end
-128 4009 a 269 w Fo(0)p 0 0 0
TeXcolorrgb 45 w(ALLOC_SE_THK_ctr)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 4128 25 92 v Black 0.95
TeXcolorgray -128 4128 4252 92 v Black 0.95 TeXcolorgray
4124 4128 25 92 v Black 0.95 TeXcolorgray Black -128
4100 a
SDict begin H.S end
-128 4100 a -128 4100 a
SDict begin 11 H.A end
-128 4100 a -128 4100
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.72) cvn H.B /DEST pdfmark end
-128 4100 a 45 w Fo(308906)p 0 0 0 TeXcolorrgb 44 w(ENT_IND_ctr)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
4219 25 92 v Black 0.95 TeXcolorgray -128 4219 4252 92
v Black 0.95 TeXcolorgray 4124 4219 25 92 v Black 0.95
TeXcolorgray Black -128 4191 a
SDict begin H.S end
-128 4191 a -128 4191
a
SDict begin 11 H.A end
-128 4191 a -128 4191 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.73) cvn H.B /DEST pdfmark end
-128 4191 a 269 w Fo(0)p 0 0 0
TeXcolorrgb 45 w(E)p Black(!)p 0 0 0 TeXcolorrgb(NT_PERM_IND_ctr)p
Black 0 0 0 TeXcolorrgb 42 w(requires)p Black 44 w(+)p
0 0 0 TeXcolorrgb -1 w(RTS)p Black 45 w(-)p 0 0 0 TeXcolorrgb(Z)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
4310 25 92 v Black 0.95 TeXcolorgray -128 4310 4252 92
v Black 0.95 TeXcolorgray 4124 4310 25 92 v Black 0.95
TeXcolorgray Black -128 4283 a
SDict begin H.S end
-128 4283 a -128 4283
a
SDict begin 11 H.A end
-128 4283 a -128 4283 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.74) cvn H.B /DEST pdfmark end
-128 4283 a Fo([...)p 0 0 0
TeXcolorrgb 45 w(lots)p Black 0 0 0 TeXcolorrgb 44 w(more)p
Black 0 0 0 TeXcolorrgb 44 w(info)p Black 0 0 0 TeXcolorrgb
44 w(omitted)p Black 44 w(...])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 4402 25 92 v Black 0.95 TeXcolorgray
-128 4402 4252 92 v Black 0.95 TeXcolorgray 4124 4402
25 92 v Black 0.95 TeXcolorgray Black -128 4374 a
SDict begin H.S end
-128
4374 a -128 4374 a
SDict begin 11 H.A end
-128 4374 a -128 4374 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.75) cvn H.B /DEST pdfmark end
-128 4374
a 269 w Fo(0)p 0 0 0 TeXcolorrgb 45 w(GC_SEL_ABANDONED_ctr)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
4493 25 92 v Black 0.95 TeXcolorgray -128 4493 4252 92
v Black 0.95 TeXcolorgray 4124 4493 25 92 v Black 0.95
TeXcolorgray Black -128 4465 a
SDict begin H.S end
-128 4465 a -128 4465
a
SDict begin 11 H.A end
-128 4465 a -128 4465 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.76) cvn H.B /DEST pdfmark end
-128 4465 a 269 w Fo(0)p 0 0 0
TeXcolorrgb 45 w(GC_SEL_MINOR_ctr)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 4584 25 92 v Black 0.95
TeXcolorgray -128 4584 4252 92 v Black 0.95 TeXcolorgray
4124 4584 25 92 v Black 0.95 TeXcolorgray Black -128
4557 a
SDict begin H.S end
-128 4557 a -128 4557 a
SDict begin 11 H.A end
-128 4557 a -128 4557
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.77) cvn H.B /DEST pdfmark end
-128 4557 a 269 w Fo(0)p 0 0 0 TeXcolorrgb 45 w(GC_SEL_MAJOR_ctr)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
4675 25 92 v Black 0.95 TeXcolorgray -128 4675 4252 92
v Black 0.95 TeXcolorgray 4124 4675 25 92 v Black 0.95
TeXcolorgray Black -128 4648 a
SDict begin H.S end
-128 4648 a -128 4648
a
SDict begin 11 H.A end
-128 4648 a -128 4648 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.78) cvn H.B /DEST pdfmark end
-128 4648 a 269 w Fo(0)p 0 0 0
TeXcolorrgb 45 w(GC_FAILED_PROMOTION_ctr)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 4767 25 92
v Black 0.95 TeXcolorgray -128 4767 4252 92 v Black 0.95
TeXcolorgray 4124 4767 25 92 v Black 0.95 TeXcolorgray
Black -128 4739 a
SDict begin H.S end
-128 4739 a -128 4739 a
SDict begin 11 H.A end
-128 4739 a
-128 4739 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-201.79) cvn H.B /DEST pdfmark end
-128 4739 a 90 w Fo(47524)p 0 0 0 TeXcolorrgb
44 w(GC_WORDS_COPIED_ctr)p Black 0.95 TeXcolorgray -152
4792 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4966 a FA(The)17 b(formatting)f(of)g(the)i(information)c(abo)o(v)o
(e)i(the)h(ro)n(w)g(of)g(asterisks)g(is)h(subject)f(to)h(change,)e(b)n
(ut)h(hopefully)e(pro)o(vides)g(a)j(useful)f(human-readable)-128
5066 y(summary)-5 b(.)23 b(Belo)n(w)18 b(the)g(asterisks)h
Fq(all)f(counter)o(s)g FA(maintained)f(by)g(the)h(tick)o(y-tick)o(y)e
(system)j(are)f(dumped,)e(in)i(a)h(format)e(intended)f(to)i(be)g
(machine-)-128 5165 y(readable:)24 b(zero)c(or)g(more)f(spaces,)i(an)f
(inte)o(ger)m(,)e(a)j(space,)f(the)g(counter)f(name,)g(and)h(a)g(ne)n
(wline.)-128 5315 y(In)e(f)o(act,)g(not)f Fq(all)h FA(counters)f(are)g
(necessarily)g(dumped;)g(compile-)g(or)g(run-time)f(\003ags)i(can)g
(render)e(certain)h(counters)g(in)m(v)n(alid.)22 b(In)c(this)g(case,)g
(either)-128 5414 y(the)25 b(counter)f(will)h(simply)g(not)f(appear)m
(,)g(or)h(it)g(will)h(appear)d(with)i(a)h(modi\002ed)d(counter)h(name,)
h(possibly)f(along)g(with)h(an)f(e)o(xplanation)f(for)h(the)-128
5514 y(omission)18 b(\(notice)g Ft(ENT_PERM_IND_ctr)d
FA(appears)j(with)g(an)g(inserted)g Ft(!)25 b FA(abo)o(v)o(e\).)d
(Softw)o(are)c(analysing)f(this)i(output)e(should)g(al)o(w)o(ays)i
(check)-128 5614 y(that)i(it)g(has)f(the)g(counters)f(it)i(e)o(xpects.)
j(Also,)d(be)n(w)o(are:)j(some)c(of)g(the)h(counters)e(can)h(ha)n(v)o
(e)f Fq(lar)m(g)o(e)h FA(v)n(alues!)p Black -128 6084
4252 5 v Black eop end
%%Page: 112 127
TeXDict begin 112 126 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.112) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(112)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.6) cvn H.B /DEST pdfmark end
-128 90 a 756 x Fy(Chapter)43 b(6)-128
1311 y Fv(Ad)m(vice)53 b(on:)63 b(sooner)-11 b(,)51 b(faster)-11
b(,)52 b(smaller)-11 b(,)53 b(thriftier)-128 1717 y
SDict begin H.S end
-128
1717 a -128 1717 a
SDict begin 12 H.A end
-128 1717 a -128 1717 a
SDict begin [ /View [/XYZ H.V] /Dest (sooner-faster-quicker) cvn H.B /DEST pdfmark end
-128 1717
a 115 x FA(Please)21 b(advise)f(us)h(of)f(other)f(\223helpful)g
(hints\224)h(that)g(should)f(go)h(here!)-128 1975 y
SDict begin H.S end
-128
1975 a -128 1975 a
SDict begin 12 H.A end
-128 1975 a -128 1975 a
SDict begin [ /View [/XYZ H.V] /Dest (section.6.1) cvn H.B /DEST pdfmark end
-128 1975
a Black 181 x Fs(6.1)p Black 108 w(Sooner:)35 b(pr)n(oducing)28
b(a)i(pr)n(ogram)e(more)h(quic)n(kl)n(y)-128 2283 y
SDict begin H.S end
-128
2283 a -128 2283 a
SDict begin 12 H.A end
-128 2283 a -128 2283 a
SDict begin [ /View [/XYZ H.V] /Dest (sooner) cvn H.B /DEST pdfmark end
-128 2283
a Black 182 x Fu(Don't)20 b(use)h Fh(-O)g Fu(or)f(\(especially\))f
Fh(-O2)p Fu(:)p Black 41 w FA(By)i(using)g(them,)g(you)g(are)g(telling)
g(GHC)h(that)g(you)e(are)i(willing)f(to)g(suf)n(fer)g(longer)f
(compilation)g(times)80 2565 y(for)g(better)n(-quality)e(code.)80
2697 y(GHC)j(is)g(surprisingly)e(zipp)o(y)g(for)h(normal)e
(compilations)h(without)h Ft(-O)p FA(!)p Black -128 2863
a Fu(Use)h(mor)o(e)f(memory:)p Black 40 w FA(W)m(ithin)28
b(reason,)g(more)f(memory)f(for)h(heap)g(space)h(means)f(less)i
(garbage)c(collection)i(for)g(GHC,)h(which)g(means)f(less)80
2963 y(compilation)21 b(time.)33 b(If)23 b(you)e(use)i(the)g
Ft(-Rghc-timing)e FA(option,)h(you')o(ll)g(get)h(a)g(garbage-collector)
c(report.)32 b(\(Again,)21 b(you)h(can)h(use)g(the)80
3063 y(cheap-and-nasty)17 b Ft(+RTS)49 b(-S)g(-RTS)20
b FA(option)f(to)i(send)f(the)g(GC)h(stats)g(straight)f(to)g(standard)f
(error)-5 b(.\))80 3196 y(If)27 b(it)g(says)h(you')l(re)d(using)h(more)
g(than)h(20\045)g(of)f(total)h(time)g(in)g(garbage)e(collecting,)j
(then)e(more)g(memory)f(might)i(help:)38 b(use)27 b(the)g
Ft(-H-)80 3295 y()e FA(option.)41 b(Increasing)24
b(the)i(def)o(ault)f(allocation)g(area)g(size)i(used)e(by)h(the)f
(compiler')-5 b(s)25 b(R)-5 b(TS)27 b(might)e(also)h(help:)36
b(use)26 b(the)g Ft(+RTS)80 3395 y(-A)48 b(-RTS)20
b FA(option.)80 3528 y(If)g(GHC)h(persists)g(in)f(being)f(a)i(bad)f
(memory)e(citizen,)i(please)g(report)f(it)i(as)g(a)g(b)n(ug.)p
Black -128 3694 a Fu(Don't)f(use)h(too)f(much)h(memory!)p
Black 40 w FA(As)k(soon)f(as)h(GHC)h(plus)e(its)i(\223fello)n(w)e
(citizens\224)g(\(other)f(processes)i(on)f(your)f(machine\))g(start)i
(using)f(more)80 3793 y(than)c(the)g Fq(r)m(eal)g(memory)g
FA(on)g(your)f(machine,)g(and)g(the)h(machine)f(starts)i
(\223thrashing,)-6 b(\224)18 b Fq(the)j(party)f(is)h(o)o(ver)p
FA(.)k(Compile)19 b(times)i(will)g(be)f(w)o(orse)80 3893
y(than)g(terrible!)k(Use)d(something)d(lik)o(e)j(the)f(csh-b)n(uiltin)f
Fu(time)i FA(command)d(to)i(get)h(a)f(report)f(on)h(ho)n(w)g(man)o(y)f
(page)g(f)o(aults)i(you')l(re)d(getting.)80 4026 y(If)25
b(you)f(don')o(t)f(kno)n(w)h(what)g(virtual)h(memory)-5
b(,)23 b(thrashing,)i(and)f(page)g(f)o(aults)h(are,)h(or)e(you)g(don')o
(t)f(kno)n(w)h(the)h(memory)e(con\002guration)f(of)80
4125 y(your)j(machine,)i Fq(don')n(t)f FA(try)g(to)h(be)f(cle)n(v)o(er)
f(about)h(memory)e(use:)38 b(you')o(ll)26 b(just)h(mak)o(e)f(your)f
(life)h(a)h(misery)f(\(and)g(for)f(other)h(people,)h(too,)80
4225 y(probably\).)p Black -128 4391 a Fu(T)-6 b(ry)21
b(to)f(use)h(local)f(disks)h(when)g(linking:)p Black
42 w FA(Because)26 b(Hask)o(ell)g(objects)g(and)f(libraries)h(tend)g
(to)g(be)g(lar)o(ge,)g(it)h(can)f(tak)o(e)g(man)o(y)e(real)i(seconds)g
(to)80 4491 y(slurp)20 b(the)g(bits)h(to/from)e(a)h(remote)f
(\002lesystem.)80 4623 y(It)24 b(w)o(ould)f(be)h(quite)g(sensible)g(to)
g Fq(compile)f FA(on)g(a)i(f)o(ast)f(machine)f(using)g
(remotely-mounted)d(disks;)26 b(then)e Fq(link)h FA(on)f(a)g(slo)n(w)g
(machine)f(that)80 4723 y(had)d(your)f(disks)h(directly)f(mounted.)p
Black -128 4889 a Fu(Don't)h(deri)o(v)o(e/use)h Fh(Read)f
Fu(unnecessarily:)p Black 41 w FA(It')-5 b(s)21 b(ugly)e(and)h(slo)n(w)
-5 b(.)p Black -128 5055 a Fu(GHC)20 b(compiles)h(some)g(pr)o(ogram)d
(constructs)j(slo)o(wly:)p Black 40 w FA(W)-7 b(e')l(d)31
b(rather)e(you)h(reported)f(such)h(beha)n(viour)e(as)j(a)g(b)n(ug,)h
(so)f(that)g(we)f(can)h(try)f(to)80 5155 y(correct)19
b(it.)80 5288 y(T)-7 b(o)20 b(\002gure)g(out)g(which)f(part)h(of)g(the)
g(compiler)f(is)i(badly)f(beha)n(v)o(ed,)e(the)i Ft(-v2)g
FA(option)f(is)i(your)e(friend.)p Black -128 6084 4252
5 v Black eop end
%%Page: 113 128
TeXDict begin 113 127 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.113) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(113)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.6.2) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(6.2)p
Black 108 w(F)n(aster:)35 b(pr)n(oducing)28 b(a)i(pr)n(ogram)e(that)h
(runs)g(quic)n(ker)-128 322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128
322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (faster) cvn H.B /DEST pdfmark end
-128 322 a 114 x FA(The)21 b(k)o(e)o(y)g(tool)g(to)h
(use)f(in)h(making)e(your)g(Hask)o(ell)h(program)f(run)g(f)o(aster)i
(are)f(GHC')-5 b(s)22 b(pro\002ling)e(f)o(acilities,)i(described)e
(separately)h(in)g(Chapter)p 1 0 0 TeXcolorrgb 4062 437
a
SDict begin H.S end
4062 437 a 1 0 0 TeXcolorrgb -1 x FA(5)p 1 0 0 TeXcolorrgb
4104 379 a
SDict begin H.R end
4104 379 a 4104 436 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end
4104 436 a Black FA(.)-128
535 y(There)f(is)h Fq(no)f(substitute)g FA(for)f(\002nding)g(where)h
(your)f(program')-5 b(s)18 b(time/space)i(is)h Fq(r)m(eally)g
FA(going,)d(as)j(opposed)e(to)h(where)g(you)f(imagine)g(it)i(is)g
(going.)-128 684 y(Another)e(point)g(to)h(bear)f(in)h(mind:)k(By)c(f)o
(ar)g(the)g(best)g(w)o(ay)g(to)g(impro)o(v)o(e)d(a)j(program')-5
b(s)18 b(performance)f Fq(dr)o(amatically)i FA(is)h(to)g(use)g(better)f
(algorithms.)-128 784 y(Once)j(pro\002ling)e(has)i(thro)n(wn)f(the)h
(spotlight)f(on)g(the)h(guilty)f(time-consumer\(s\),)e(it)k(may)e(be)h
(better)f(to)h(re-think)e(your)h(program)f(than)h(to)h(try)f(all)-128
883 y(the)g(tweaks)f(listed)h(belo)n(w)-5 b(.)-128 1032
y(Another)19 b(e)o(xtremely)e(ef)n(\002cient)i(w)o(ay)h(to)g(mak)o(e)f
(your)f(program)f(snapp)o(y)i(is)h(to)g(use)g(library)e(code)h(that)h
(has)f(been)g(Seriously)g(T)l(uned)f(By)i(Someone)-128
1132 y(Else.)38 b(Y)-9 b(ou)24 b Fq(might)h FA(be)f(able)h(to)f(write)h
(a)f(better)g(quicksort)f(than)h(the)g(one)g(in)g Ft(Data.List)p
FA(,)g(b)n(ut)g(it)h(will)g(tak)o(e)g(you)e(much)g(longer)g(than)h
(typing)-128 1231 y Ft(import)49 b(Data.List)p FA(.)-128
1380 y(Please)24 b(report)d(an)o(y)h(o)o(v)o(erly-slo)n(w)f
(GHC-compiled)g(programs.)31 b(Since)23 b(GHC)g(doesn')o(t)e(ha)n(v)o
(e)i(an)o(y)e(credible)h(competition)f(in)i(the)g(performance)-128
1480 y(department)k(these)i(days)g(it')-5 b(s)30 b(hard)e(to)g(say)h
(what)g(o)o(v)o(erly-slo)n(w)e(means,)j(so)f(just)g(use)g(your)f
(judgement!)49 b(Of)29 b(course,)h(if)f(a)g(GHC)g(compiled)-128
1580 y(program)18 b(runs)i(slo)n(wer)g(than)g(the)g(same)g(program)f
(compiled)f(with)j(NHC)g(or)f(Hugs,)f(then)h(it')-5 b(s)21
b(de\002nitely)f(a)g(b)n(ug.)p Black -128 1794 a Fu(Optimise,)h(using)g
Fh(-O)f Fu(or)g Fh(-O2)p Fu(:)p Black 41 w FA(This)29
b(is)h(the)g(most)f(basic)g(w)o(ay)g(to)h(mak)o(e)e(your)g(program)f
(go)i(f)o(aster)-5 b(.)52 b(Compilation)28 b(time)i(will)g(be)f(slo)n
(wer)m(,)80 1893 y(especially)20 b(with)g Ft(-O2)p FA(.)80
2026 y(At)h(present,)e Ft(-O2)h FA(is)h(nearly)f(indistinguishable)e
(from)h Ft(-O)p FA(.)p Black -128 2191 a Fu(Compile)i(via)f(C)h(and)f
(crank)g(up)i(GCC:)p Black 40 w FA(The)h(nati)n(v)o(e)g(code-generator)
d(is)k(designed)f(to)g(be)h(quick,)f(not)g(mind-bogglingly)c(cle)n(v)o
(er)-5 b(.)35 b(Better)24 b(to)80 2291 y(let)d(GCC)g(ha)n(v)o(e)f(a)g
(go,)g(as)h(it)g(tries)g(much)e(harder)g(on)g(re)o(gister)h
(allocation,)f(etc.)80 2423 y(So,)h(when)g(we)g(w)o(ant)h(v)o(ery)e(f)o
(ast)h(code,)g(we)g(use:)26 b Ft(-O)49 b(-fvia-C)p FA(.)p
Black -128 2589 a Fu(Ov)o(erloaded)19 b(functions)i(ar)o(e)e(not)h(y)n
(our)g(friend:)p Black 41 w FA(Hask)o(ell')-5 b(s)22
b(o)o(v)o(erloading)17 b(\(using)j(type)h(classes\))h(is)g(ele)o(gant,)
d(neat,)i(etc.,)g(etc.,)g(b)n(ut)g(it)h(is)g(death)80
2689 y(to)e(performance)e(if)i(left)h(to)f(linger)f(in)i(an)f(inner)f
(loop.)24 b(Ho)n(w)c(can)g(you)g(squash)f(it?)p Black
80 2854 a Fu(Gi)o(v)o(e)h(explicit)g(type)g(signatur)o(es:)p
Black 40 w FA(Signatures)14 b(are)i(the)f(basic)g(trick;)i(putting)d
(them)h(on)g(e)o(xported,)e(top-le)n(v)o(el)h(functions)g(is)i(good)e
(softw)o(are-)263 2954 y(engineering)25 b(practice,)k(an)o(yw)o(ay)-5
b(.)47 b(\(T)m(ip:)40 b(using)28 b Ft(-fwarn-missing-signatures)c
FA(can)k(help)f(enforce)g(good)f(signature-)263 3053
y(practice\).)263 3169 y(The)g(automatic)g(specialisation)h(of)f(o)o(v)
o(erloaded)e(functions)i(\(with)g Ft(-O)p FA(\))h(should)f(tak)o(e)h
(care)g(of)f(o)o(v)o(erloaded)e(local)j(and/or)f(une)o(x-)263
3269 y(ported)19 b(functions.)p Black 80 3401 a Fu(Use)i
Fh(SPECIALIZE)e Fu(pragmas:)p Black 40 w FA(Specialize)i(the)g(o)o(v)o
(erloading)d(on)i(k)o(e)o(y)h(functions)e(in)j(your)d(program.)26
b(See)21 b(Section)p 1 0 0 TeXcolorrgb 3606 3402 a
SDict begin H.S end
3606
3402 a 1 0 0 TeXcolorrgb -1 x FA(7.13.8)p 1 0 0 TeXcolorrgb
3814 3345 a
SDict begin H.R end
3814 3345 a 3814 3401 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.8) cvn H.B /ANN pdfmark end
3814 3401 a Black
21 w FA(and)g(Sec-)263 3501 y(tion)p 1 0 0 TeXcolorrgb
413 3503 a
SDict begin H.S end
413 3503 a 1 0 0 TeXcolorrgb -2 x FA(7.13.9)p
1 0 0 TeXcolorrgb 620 3444 a
SDict begin H.R end
620 3444 a 620 3501 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.9) cvn H.B /ANN pdfmark end
620
3501 a Black FA(.)p Black 80 3633 a Fu(\223But)f(ho)o(w)h(do)f(I)h(kno)
o(w)g(wher)o(e)f(o)o(v)o(erloading)f(is)i(cr)o(eeping)f(in?\224:)p
Black 40 w FA(A)26 b(lo)n(w-tech)e(w)o(ay:)36 b(grep)24
b(\(search\))g(your)g(interf)o(ace)h(\002les)h(for)e(o)o(v)o(er)n(-)263
3733 y(loaded)19 b(type)g(signatures.)25 b(Y)-9 b(ou)19
b(can)h(vie)n(w)g(interf)o(ace)g(\002les)h(using)e(the)i
Ft(--show-iface)d FA(option)h(\(see)h(Section)p 1 0 0
TeXcolorrgb 3590 3734 a
SDict begin H.S end
3590 3734 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.7)p 1 0 0 TeXcolorrgb 3756 3676 a
SDict begin H.R end
3756 3676
a 3756 3733 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.7) cvn H.B /ANN pdfmark end
3756 3733 a Black FA(\).)-128 3800 y
SDict begin H.S end
-128
3800 a -128 3800 a
SDict begin 12 H.A end
-128 3800 a -128 3800 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.6.-202) cvn H.B /DEST pdfmark end
-128 3800
a 0.95 TeXcolorgray 238 3815 3912 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 238 3906
25 92 v Black 0.95 TeXcolorgray 263 3906 3862 92 v Black
0.95 TeXcolorgray 4124 3906 25 92 v Black 0.95 TeXcolorgray
Black 263 3879 a
SDict begin H.S end
263 3879 a 263 3879 a
SDict begin 11 H.A end
263 3879 a 263
3879 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-202.1) cvn H.B /DEST pdfmark end
263 3879 a Fo(\045)p 0 0 0 TeXcolorrgb 44 w(ghc)p
Black 45 w(--)p 0 0 0 TeXcolorrgb -1 w(show)p Black(-)p
0 0 0 TeXcolorrgb -1 w(iface)p Black 0 0 0 TeXcolorrgb
44 w(Foo)p Black(.)p 0 0 0 TeXcolorrgb(hi)p Black 44
w(|)p 0 0 0 TeXcolorrgb 45 w(egrep)p Black 44 w('^[)p
0 0 0 TeXcolorrgb -1 w(a)p Black(-)p 0 0 0 TeXcolorrgb(z)p
Black(].)2146 3892 y(*)2191 3879 y(::.)2326 3892 y(*)2371
3879 y(=>')p 0.95 TeXcolorgray 238 3931 3912 25 v Black
0.95 TeXcolorgray Black Black Black Black -128 4121 a
Fu(Strict)g(functions)h(ar)o(e)e(y)n(our)h(dear)g(friends:)p
Black 41 w FA(and,)g(among)e(other)i(things,)f(lazy)h(pattern-matching)
d(is)k(your)e(enemy)-5 b(.)80 4254 y(\(If)24 b(you)g(don')o(t)f(kno)n
(w)h(what)h(a)g(\223strict)g(function\224)e(is,)k(please)e(consult)f(a)
h(functional-programming)19 b(te)o(xtbook.)36 b(A)26
b(sentence)e(or)g(tw)o(o)h(of)80 4353 y(e)o(xplanation)18
b(here)i(probably)d(w)o(ould)j(not)g(do)g(much)f(good.\))80
4486 y(Consider)h(these)g(tw)o(o)g(code)g(fragments:)-128
4553 y
SDict begin H.S end
-128 4553 a -128 4553 a
SDict begin 12 H.A end
-128 4553 a -128 4553
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.6.-203) cvn H.B /DEST pdfmark end
-128 4553 a 0.95 TeXcolorgray 55 4568 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 4660 25 92 v Black 0.95 TeXcolorgray
80 4660 4045 92 v Black 0.95 TeXcolorgray 4124 4660 25
92 v Black 0.95 TeXcolorgray Black 80 4632 a
SDict begin H.S end
80 4632
a 80 4632 a
SDict begin 11 H.A end
80 4632 a 80 4632 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-203.1) cvn H.B /DEST pdfmark end
80 4632 a 0 0 0 TeXcolorrgb
Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(Wibble)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black(\))44 b(=)90 b(...)44 b(#)p 0 0 0 TeXcolorrgb
45 w(strict)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 4751 25 92 v Black 0.95 TeXcolorgray 80 4751 4045
92 v Black 0.95 TeXcolorgray 4124 4751 25 92 v Black
0.95 TeXcolorgray Black 80 4723 a
SDict begin H.S end
80 4723 a 80 4723 a
SDict begin 11 H.A end
80 4723 a 80 4723 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-203.2) cvn H.B /DEST pdfmark end
80 4723 a 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 4842 25 92 v Black 0.95 TeXcolorgray
80 4842 4045 92 v Black 0.95 TeXcolorgray 4124 4842 25
92 v Black 0.95 TeXcolorgray Black 80 4815 a
SDict begin H.S end
80 4815
a 80 4815 a
SDict begin 11 H.A end
80 4815 a 80 4815 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-203.3) cvn H.B /DEST pdfmark end
80 4815 a 0 0 0 TeXcolorrgb
Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(arg)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(let)p Black 44 w({)h(\()p 0 0 0
TeXcolorrgb -1 w(Wibble)p Black 0 0 0 TeXcolorrgb 44
w(x)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black(\))f(=)p
0 0 0 TeXcolorrgb 45 w(arg)p Black 44 w(})p 0 0 0 TeXcolorrgb
45 w(in)p Black 45 w(...)g(#)p 0 0 0 TeXcolorrgb 45 w(lazy)p
Black 0.95 TeXcolorgray 55 4867 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 5024 a FA(The)20 b(former)f(will)h
(result)h(in)f(f)o(ar)g(better)g(code.)80 5156 y(A)h(less)g(contri)n(v)
o(ed)d(e)o(xample)h(sho)n(ws)h(the)g(use)h(of)f Ft(cases)f
FA(instead)h(of)g Ft(lets)g FA(to)h(get)f(stricter)g(code)g(\(a)g(good)
f(thing\):)-128 5224 y
SDict begin H.S end
-128 5224 a -128 5224 a
SDict begin 12 H.A end
-128 5224
a -128 5224 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.6.-204) cvn H.B /DEST pdfmark end
-128 5224 a 0.95 TeXcolorgray 55 5239 4095
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 5330 25 92 v Black 0.95 TeXcolorgray
80 5330 4045 92 v Black 0.95 TeXcolorgray 4124 5330 25
92 v Black 0.95 TeXcolorgray Black 80 5303 a
SDict begin H.S end
80 5303
a 80 5303 a
SDict begin 11 H.A end
80 5303 a 80 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.1) cvn H.B /DEST pdfmark end
80 5303 a 0 0 0 TeXcolorrgb
Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(Wibble)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black(\))89 b(#)p 0 0 0 TeXcolorrgb 45 w(beautiful)p
Black 0 0 0 TeXcolorrgb 43 w(but)p Black 0 0 0 TeXcolorrgb
45 w(slow)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5422 25 92 v Black 0.95 TeXcolorgray 80 5422 4045
92 v Black 0.95 TeXcolorgray 4124 5422 25 92 v Black
0.95 TeXcolorgray Black 80 5394 a
SDict begin H.S end
80 5394 a 80 5394 a
SDict begin 11 H.A end
80 5394 a 80 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.2) cvn H.B /DEST pdfmark end
80 5394 a 90 w Fo(=)p 0 0 0 TeXcolorrgb
44 w(let)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5513 25 92 v Black 0.95 TeXcolorgray 80 5513 4045
92 v Black 0.95 TeXcolorgray 4124 5513 25 92 v Black
0.95 TeXcolorgray Black 80 5485 a
SDict begin H.S end
80 5485 a 80 5485 a
SDict begin 11 H.A end
80 5485 a 80 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.3) cvn H.B /DEST pdfmark end
80 5485 a 359 w Fo(\()p 0 0 0 TeXcolorrgb
-1 w(a1)p Black(,)p 0 0 0 TeXcolorrgb 45 w(b1)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(c1)p Black(\))44 b(=)p
0 0 0 TeXcolorrgb 45 w(unpackFoo)p Black 0 0 0 TeXcolorrgb
43 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5604 25 92 v Black 0.95 TeXcolorgray 80 5604 4045
92 v Black 0.95 TeXcolorgray 4124 5604 25 92 v Black
0.95 TeXcolorgray Black 80 5577 a
SDict begin H.S end
80 5577 a 80 5577 a
SDict begin 11 H.A end
80 5577 a 80 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.4) cvn H.B /DEST pdfmark end
80 5577 a 359 w Fo(\()p 0 0 0 TeXcolorrgb
-1 w(a2)p Black(,)p 0 0 0 TeXcolorrgb 45 w(b2)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(c2)p Black(\))g(=)p 0 0 0
TeXcolorrgb 45 w(unpackFoo)p Black 0 0 0 TeXcolorrgb
43 w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 5696 25 92 v Black 0.95 TeXcolorgray 80 5696 4045
92 v Black 0.95 TeXcolorgray 4124 5696 25 92 v Black
0.95 TeXcolorgray Black 80 5668 a
SDict begin H.S end
80 5668 a 80 5668 a
SDict begin 11 H.A end
80 5668 a 80 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.5) cvn H.B /DEST pdfmark end
80 5668 a 0 0 0 TeXcolorrgb 179 w
Fo(in)p Black 45 w(...)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 5787 25 92 v Black 0.95 TeXcolorgray
80 5787 4045 92 v Black 0.95 TeXcolorgray 4124 5787 25
92 v Black 0.95 TeXcolorgray Black 80 5759 a
SDict begin H.S end
80 5759
a 80 5759 a
SDict begin 11 H.A end
80 5759 a 80 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.6) cvn H.B /DEST pdfmark end
80 5759 a Black -128
6084 4252 5 v Black eop end
%%Page: 114 129
TeXDict begin 114 128 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.114) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(114)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 201 25 92 v Black 0.95 TeXcolorgray 80
201 4045 92 v Black 0.95 TeXcolorgray 4124 201 25 92
v Black 0.95 TeXcolorgray Black 80 173 a
SDict begin H.S end
80 173 a 80
173 a
SDict begin 11 H.A end
80 173 a 80 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.7) cvn H.B /DEST pdfmark end
80 173 a 0 0 0 TeXcolorrgb Fo(f)p
Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(Wibble)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45
w(y)p Black(\))89 b(#)p 0 0 0 TeXcolorrgb 45 w(ugly)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(and)p Black 0 0 0
TeXcolorrgb 44 w(proud)p Black 0 0 0 TeXcolorrgb 44 w(of)p
Black 0 0 0 TeXcolorrgb 45 w(it)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 292 25 92 v Black 0.95 TeXcolorgray
80 292 4045 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black 80 265 a
SDict begin H.S end
80 265 a
80 265 a
SDict begin 11 H.A end
80 265 a 80 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.8) cvn H.B /DEST pdfmark end
80 265 a 90 w Fo(=)p 0 0 0
TeXcolorrgb 44 w(case)p Black 44 w(\()p 0 0 0 TeXcolorrgb(unpackFoo)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black -1 w(\))p 0 0 0
TeXcolorrgb 45 w(of)p Black 45 w({)44 b(\()p 0 0 0 TeXcolorrgb(a1)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(b1)p Black(,)p 0 0 0
TeXcolorrgb 45 w(c1)p Black -1 w(\))h(->)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 383 25 92 v Black 0.95 TeXcolorgray
80 383 4045 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black 80 356 a
SDict begin H.S end
80 356 a
80 356 a
SDict begin 11 H.A end
80 356 a 80 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.9) cvn H.B /DEST pdfmark end
80 356 a 0 0 0 TeXcolorrgb
179 w Fo(case)p Black 44 w(\()p 0 0 0 TeXcolorrgb(unpackFoo)p
Black 0 0 0 TeXcolorrgb 44 w(y)p Black -1 w(\))p 0 0 0
TeXcolorrgb 45 w(of)p Black 45 w({)f(\()p 0 0 0 TeXcolorrgb(a2)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(b2)p Black(,)p 0 0 0
TeXcolorrgb 45 w(c2)p Black -1 w(\))h(->)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 475 25 92 v Black 0.95 TeXcolorgray
80 475 4045 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black 80 447 a
SDict begin H.S end
80 447 a
80 447 a
SDict begin 11 H.A end
80 447 a 80 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.10) cvn H.B /DEST pdfmark end
80 447 a 179 w Fo(...)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 566 25 92 v Black
0.95 TeXcolorgray 80 566 4045 92 v Black 0.95 TeXcolorgray
4124 566 25 92 v Black 0.95 TeXcolorgray Black 80 538
a
SDict begin H.S end
80 538 a 80 538 a
SDict begin 11 H.A end
80 538 a 80 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-204.11) cvn H.B /DEST pdfmark end
80 538 a 179 w
Fo(}})p 0.95 TeXcolorgray 55 591 4095 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 782 a Fu(GHC)20
b(lo)o(v)o(es)h(single-constructor)d(data-types:)p Black
40 w FA(It')-5 b(s)21 b(all)g(the)f(better)g(if)h(a)g(function)d(is)k
(strict)f(in)f(a)h(single-constructor)d(type)i(\(a)g(type)g(with)h
(only)80 881 y(one)f(data-constructor;)d(for)i(e)o(xample,)g(tuples)h
(are)g(single-constructor)e(types\).)p Black -128 1047
a Fu(Newtypes)i(ar)o(e)g(better)g(than)g(datatypes:)p
Black 39 w FA(If)h(your)f(datatype)h(has)g(a)h(single)f(constructor)e
(with)j(a)f(single)g(\002eld,)h(use)f(a)h Ft(newtype)f
FA(declaration)80 1147 y(instead)f(of)g(a)g Ft(data)g
FA(declaration.)k(The)c Ft(newtype)f FA(will)i(be)f(optimised)f(a)o(w)o
(ay)h(in)h(most)f(cases.)p Black -128 1313 a Fu(\223Ho)o(w)g(do)g(I)h
(\002nd)h(out)e(a)g(function')m(s)g(strictness?\224)p
Black 40 w FA(Don')o(t)f(guess\227look)g(it)i(up.)80
1446 y(Look)k(for)g(your)g(function)f(in)i(the)g(interf)o(ace)f
(\002le,)j(then)e(for)f(the)h(third)f(\002eld)h(in)g(the)g(pragma;)i
(it)f(should)e(say)h Ft(__S)49 b()p FA(.)41 b(The)80
1546 y Ft()25 b FA(gi)n(v)o(es)g(the)h(strictness)h(of)e(the)h
(function')-5 b(s)24 b(ar)o(guments.)40 b Ft(L)26 b FA(is)h(lazy)f
(\(bad\),)g Ft(S)g FA(and)f Ft(E)h FA(are)g(strict)h(\(good\),)e
Ft(P)h FA(is)h(\223primiti)n(v)o(e\224)80 1645 y(\(good\),)18
b Ft(U\(...\))24 b FA(is)e(strict)e(and)g(\223unpackable\224)e(\(v)o
(ery)g(good\),)g(and)i Ft(A)h FA(is)g(absent)f(\(v)o(ery)e(good\).)80
1778 y(F)o(or)26 b(an)g(\223unpackable\224)e Ft(U\(...\))44
b FA(ar)o(gument,)25 b(the)i(info)e(inside)i(tells)g(the)g(strictness)g
(of)f(its)h(components.)42 b(So,)28 b(if)f(the)f(ar)o(gument)e(is)k(a)
80 1878 y(pair)m(,)h(and)f(it)h(says)g Ft(U\(AU\(LSS\)\))p
FA(,)d(that)j(means)f(\223the)g(\002rst)h(component)d(of)i(the)g(pair)g
(isn')o(t)g(used;)k(the)c(second)f(component)f(is)j(itself)80
1977 y(unpackable,)18 b(with)i(three)g(components)e(\(lazy)h(in)i(the)f
(\002rst,)h(strict)f(in)h(the)f(second)f(\\&)i(third\).)-6
b(\224)80 2110 y(If)18 b(the)g(function)f(isn')o(t)g(e)o(xported,)g
(just)h(compile)f(with)i(the)f(e)o(xtra)f(\003ag)i Ft(-ddump-simpl)p
FA(;)e(ne)o(xt)g(to)i(the)f(signature)f(for)g(an)o(y)h(binder)m(,)e(it)
j(will)80 2210 y(print)h(the)g(self-same)g(pragmatic)e(information)g
(as)j(w)o(ould)f(be)g(put)g(in)g(an)g(interf)o(ace)f(\002le.)26
b(\(Besides,)20 b(Core)h(syntax)e(is)i(fun)f(to)g(look)f(at!\))p
Black -128 2376 a Fu(F)n(or)o(ce)g(k)o(ey)i(functions)f(to)g(be)h
Fh(INLINE)p Fu(d)f(\(esp.)25 b(monads\):)p Black 41 w
FA(Placing)15 b Ft(INLINE)h FA(pragmas)e(on)i(certain)f(functions)g
(that)h(are)g(used)f(a)i(lot)f(can)g(ha)n(v)o(e)80 2475
y(a)21 b(dramatic)e(ef)n(fect.)24 b(See)d(Section)p 1 0 0
TeXcolorrgb 1093 2476 a
SDict begin H.S end
1093 2476 a 1 0 0 TeXcolorrgb
-1 x FA(7.13.5.1)p 1 0 0 TeXcolorrgb 1363 2419 a
SDict begin H.R end
1363
2419 a 1363 2475 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.13.5.1) cvn H.B /ANN pdfmark end
1363 2475 a Black FA(.)p Black -128
2641 a Fu(Explicit)g Fh(export)f Fu(list:)p Black 41
w FA(If)i(you)f(do)h(not)g(ha)n(v)o(e)f(an)h(e)o(xplicit)g(e)o(xport)e
(list)j(in)g(a)f(module,)f(GHC)i(must)f(assume)g(that)g(e)n(v)o
(erything)e(in)i(that)g(module)80 2741 y(will)i(be)f(e)o(xported.)32
b(This)23 b(has)h(v)n(arious)e(pessimising)g(ef)n(fects.)34
b(F)o(or)23 b(e)o(xample,)f(if)i(a)f(bit)h(of)f(code)f(is)i(actually)f
Fq(unused)h FA(\(perhaps)e(because)80 2841 y(of)d(unfolding)e(ef)n
(fects\),)i(GHC)h(will)h(not)e(be)g(able)h(to)f(thro)n(w)g(it)h(a)o(w)o
(ay)-5 b(,)19 b(because)g(it)h(is)g(e)o(xported)e(and)h(some)g(other)g
(module)f(may)h(be)g(relying)80 2940 y(on)h(its)h(e)o(xistence.)80
3073 y(GHC)g(can)f(be)g(quite)g(a)h(bit)f(more)f(aggressi)n(v)o(e)g
(with)i(pieces)f(of)g(code)f(if)i(it)g(kno)n(ws)e(the)o(y)h(are)g(not)f
(e)o(xported.)p Black -128 3239 a Fu(Look)i(at)f(the)g(Cor)o(e)g
(syntax!)p Black 39 w FA(\(The)g(form)f(in)i(which)f(GHC)h(manipulates)
e(your)g(code.\))25 b(Just)c(run)e(your)g(compilation)g(with)i
Ft(-ddump-simpl)80 3339 y FA(\(don')o(t)d(for)o(get)h(the)h
Ft(-O)p FA(\).)80 3472 y(If)c(pro\002ling)e(has)j(pointed)d(the)i
(\002nger)g(at)g(particular)f(functions,)g(look)g(at)i(their)f(Core)g
(code.)23 b Ft(lets)15 b FA(are)h(bad,)g Ft(cases)g FA(are)g(good,)f
(dictionar)n(-)80 3571 y(ies)23 b(\()p Ft(d..)p
FA(\))d([or)i(an)o(ything)e(o)o(v)o(erloading-ish])f(are)j(bad,)h
(nested)f(lambdas)g(are)h(bad,)f(e)o(xplicit)g(data)h(constructors)80
3671 y(are)d(good,)f(primiti)n(v)o(e)g(operations)f(\(e.g.,)h
Ft(eqInt#)p FA(\))g(are)i(good,.)12 b(.)g(.)p Black -128
3837 a Fu(Use)21 b(strictness)g(annotations:)p Black
39 w FA(Putting)j(a)h(strictness)g(annotation)d(\('!'\))37
b(on)24 b(a)h(constructor)d(\002eld)j(helps)f(in)g(tw)o(o)h(w)o(ays:)34
b(it)25 b(adds)f(strictness)h(to)80 3937 y(the)20 b(program,)e(which)i
(gi)n(v)o(es)f(the)i(strictness)f(analyser)g(more)f(to)h(w)o(ork)g
(with,)g(and)g(it)h(might)e(help)h(to)g(reduce)f(space)h(leaks.)80
4069 y(It)26 b(can)g(also)g(help)g(in)g(a)g(third)g(w)o(ay:)36
b(when)26 b(used)f(with)h Ft(-funbox-strict-fields)d
FA(\(see)j(Section)p 1 0 0 TeXcolorrgb 3232 4071 a
SDict begin H.S end
3232
4071 a 1 0 0 TeXcolorrgb -2 x FA(4.9.2)p 1 0 0 TeXcolorrgb
3398 4013 a
SDict begin H.R end
3398 4013 a 3398 4069 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.9.2) cvn H.B /ANN pdfmark end
3398 4069 a Black
FA(\),)h(a)g(strict)f(\002eld)g(can)g(be)80 4169 y(unpack)o(ed)19
b(or)i(unbox)o(ed)e(in)j(the)f(constructor)m(,)e(and)i(one)g(or)g(more)
g(le)n(v)o(els)g(of)g(indirection)f(may)h(be)g(remo)o(v)o(ed.)26
b(Unpacking)20 b(only)g(happens)80 4269 y(for)g(single-constructor)d
(datatypes)i(\()p Ft(Int)h FA(is)h(a)g(good)e(candidate,)f(for)i(e)o
(xample\).)80 4402 y(Using)32 b Ft(-funbox-strict-fields)d
FA(is)k(only)e(really)h(a)g(good)f(idea)h(in)h(conjunction)c(with)k
Ft(-O)p FA(,)f(because)f(otherwise)h(the)g(e)o(xtra)80
4501 y(packing)23 b(and)h(unpacking)e(w)o(on')o(t)h(be)i(optimised)e(a)
o(w)o(ay)-5 b(.)37 b(In)24 b(f)o(act,)i(it)f(is)h(possible)e(that)g
Ft(-funbox-strict-fields)d FA(may)j(w)o(orsen)80 4601
y(performance)17 b(e)n(v)o(en)i Fq(with)i Ft(-O)p FA(,)f(b)n(ut)h(this)
f(is)h(unlik)o(ely)e(\(let)i(us)f(kno)n(w)g(if)g(it)h(happens)e(to)h
(you\).)p Black -128 4767 a Fu(Use)h(unboxed)g(types)f(\(a)g(GHC)g
(extension\):)p Black 39 w FA(When)j(you)f(are)g Fq(r)m(eally)h
FA(desperate)f(for)g(speed,)g(and)g(you)g(w)o(ant)h(to)g(get)f(right)g
(do)n(wn)g(to)h(the)f(\223ra)o(w)80 4866 y(bits.)-6 b(\224)21
b(Please)f(see)h(Section)p 1 0 0 TeXcolorrgb 902 4867
a
SDict begin H.S end
902 4867 a 1 0 0 TeXcolorrgb -1 x FA(7.2.1)p 1 0 0
TeXcolorrgb 1068 4810 a
SDict begin H.R end
1068 4810 a 1068 4866 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.2.1) cvn H.B /ANN pdfmark end
1068
4866 a Black 21 w FA(for)e(some)h(information)e(about)h(using)h(unbox)o
(ed)d(types.)80 4999 y(Before)k(resorting)f(to)i(e)o(xplicit)f(unbox)o
(ed)e(types,)i(try)g(using)g(strict)i(constructor)c(\002elds)j(and)f
Ft(-funbox-strict-fields)d FA(\002rst)23 b(\(see)80 5099
y(abo)o(v)o(e\).)g(That)d(w)o(ay)-5 b(,)19 b(your)g(code)h(stays)h
(portable.)p Black -128 5265 a Fu(Use)g Fh(foreign)49
b(import)19 b Fu(\(a)h(GHC)g(extension\))g(to)g(plug)g(into)g(fast)g
(libraries:)p Black 41 w FA(This)25 b(may)e(tak)o(e)h(real)g(w)o(ork,)h
(b)n(ut.)12 b(.)g(.)49 b(There)23 b(e)o(xist)i(piles)f(of)80
5365 y(massi)n(v)o(ely-tuned)18 b(library)h(code,)g(and)h(the)g(best)g
(thing)g(is)h(not)f(to)g(compete)f(with)i(it,)f(b)n(ut)g(link)g(with)h
(it.)80 5497 y(Chapter)p 1 0 0 TeXcolorrgb 364 5498 a
SDict begin H.S end
364 5498 a 1 0 0 TeXcolorrgb -1 x FA(8)p 1 0 0 TeXcolorrgb
405 5441 a
SDict begin H.R end
405 5441 a 405 5497 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.8) cvn H.B /ANN pdfmark end
405 5497 a Black 21
w FA(describes)f(the)g(foreign)e(function)h(interf)o(ace.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 115 130
TeXDict begin 115 129 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.115) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(115)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fu(Don't)g(use)h
Fh(Float)p Fu(s:)p Black 41 w FA(If)i(you')l(re)e(using)i
Ft(Complex)p FA(,)g(de\002nitely)g(use)g Ft(Complex)49
b(Double)23 b FA(rather)f(than)h Ft(Complex)49 b(Float)23
b FA(\(the)g(former)80 273 y(is)e(specialised)f(hea)n(vily)-5
b(,)19 b(b)n(ut)h(the)g(latter)h(isn')o(t\).)80 406 y
Ft(Floats)k FA(\(probably)d(32-bits\))i(are)h(almost)g(al)o(w)o(ays)h
(a)f(bad)g(idea,)h(an)o(yw)o(ay)-5 b(,)25 b(unless)g(you)f(Really)i
(Kno)n(w)e(What)i(Y)-9 b(ou)24 b(Are)h(Doing.)39 b(Use)80
505 y Ft(Double)p FA(s.)h(There')-5 b(s)25 b(rarely)g(a)h(speed)f
(disadv)n(antage\227modern)c(machines)k(will)h(use)g(the)f(same)h
(\003oating-point)d(unit)i(for)g(both.)40 b(W)m(ith)80
605 y Ft(Double)p FA(s,)20 b(you)f(are)h(much)f(less)j(lik)o(ely)e(to)g
(hang)f(yourself)g(with)h(numerical)f(errors.)80 738
y(One)i(time)h(when)e Ft(Float)h FA(might)g(be)g(a)h(good)e(idea)h(is)h
(if)g(you)e(ha)n(v)o(e)h(a)g Fq(lot)i FA(of)e(them,)g(say)h(a)g(giant)e
(array)h(of)g Ft(Float)p FA(s.)28 b(The)o(y)20 b(tak)o(e)h(up)g(half)80
837 y(the)f(space)g(in)h(the)f(heap)f(compared)g(to)h
Ft(Doubles)p FA(.)k(Ho)n(we)n(v)o(er)m(,)18 b(this)j(isn')o(t)f(true)g
(on)f(a)i(64-bit)e(machine.)p Black -128 1003 a Fu(Use)i(unboxed)g
(arrays)e(\()p Fh(UArray)p Fu(\))p Black 40 w FA(GHC)f(supports)e
(arrays)g(of)h(unbox)o(ed)d(elements,)k(for)e(se)n(v)o(eral)h(basic)g
(arithmetic)f(element)h(types)g(including)80 1103 y Ft(Int)i
FA(and)g Ft(Char)p FA(:)25 b(see)20 b(the)f Ft(Data.Array.Unboxed)d
FA(library)j(for)f(details.)25 b(These)19 b(arrays)g(are)g(lik)o(ely)g
(to)h(be)f(much)f(f)o(aster)i(than)f(using)80 1203 y(standard)g(Hask)o
(ell)i(98)e(arrays)h(from)f(the)h Ft(Data.Array)f FA(library)-5
b(.)p Black -128 1369 a Fu(Use)21 b(a)g(bigger)e(heap!)p
Black 41 w FA(If)d(your)e(program')-5 b(s)15 b(GC)h(stats)h(\()p
Ft(-S)f FA(R)-5 b(TS)17 b(option\))d(indicate)h(that)h(it')-5
b(s)17 b(doing)e(lots)h(of)g(garbage-collection)11 b(\(say)-5
b(,)16 b(more)f(than)80 1468 y(20\045)j(of)f(e)o(x)o(ecution)f(time\),)
i(more)e(memory)h(might)g(help\227with)g(the)g Ft(-M)g
FA(or)h Ft(-A)f FA(R)-5 b(TS)18 b(options)f(\(see)h(Section)p
1 0 0 TeXcolorrgb 3868 1469 a
SDict begin H.S end
3868 1469 a 1 0 0 TeXcolorrgb
-1 x FA(4.14.3)p 1 0 0 TeXcolorrgb 4076 1412 a
SDict begin H.R end
4076 1412
a 4076 1468 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.14.3) cvn H.B /ANN pdfmark end
4076 1468 a Black FA(\).)-128 1611 y
SDict begin H.S end
-128
1611 a -128 1611 a
SDict begin 12 H.A end
-128 1611 a -128 1611 a
SDict begin [ /View [/XYZ H.V] /Dest (section.6.3) cvn H.B /DEST pdfmark end
-128 1611
a Black 182 x Fs(6.3)p Black 108 w(Smaller:)35 b(pr)n(oducing)28
b(a)i(pr)n(ogram)e(that)h(is)h(smaller)-128 1920 y
SDict begin H.S end
-128
1920 a -128 1920 a
SDict begin 12 H.A end
-128 1920 a -128 1920 a
SDict begin [ /View [/XYZ H.V] /Dest (smaller) cvn H.B /DEST pdfmark end
-128 1920
a 114 x FA(Decrease)i(the)f(\223go-for)n(-it\224)e(threshold)h(for)h
(unfolding)e(smallish)i(e)o(xpressions.)57 b(Gi)n(v)o(e)31
b(a)h Ft(-funfolding-use-threshold0)27 b FA(option)-128
2134 y(for)i(the)h(e)o(xtreme)e(case.)53 b(\(\223Only)28
b(unfoldings)f(with)j(zero)f(cost)g(should)g(proceed.)-6
b(\224\))27 b(W)-7 b(arning:)43 b(e)o(xcept)28 b(in)i(certain)f
(specialised)g(cases)h(\(lik)o(e)-128 2233 y(Happ)o(y)19
b(parsers\))f(this)i(is)g(lik)o(ely)f(to)g(actually)g
Fq(incr)m(ease)f FA(the)i(size)f(of)g(your)f(program,)f(because)h
(unfolding)f(generally)g(enables)i(e)o(xtra)g(simplifying)-128
2333 y(optimisations)h(to)g(be)g(performed.)-128 2482
y(A)-6 b(v)n(oid)20 b Ft(Read)p FA(.)-128 2632 y(Use)h
Ft(strip)f FA(on)g(your)f(e)o(x)o(ecutables.)-128 2775
y
SDict begin H.S end
-128 2775 a -128 2775 a
SDict begin 12 H.A end
-128 2775 a -128 2775 a
SDict begin [ /View [/XYZ H.V] /Dest (section.6.4) cvn H.B /DEST pdfmark end
-128
2775 a Black 181 x Fs(6.4)p Black 108 w(Thriftier:)35
b(pr)n(oducing)28 b(a)h(pr)n(ogram)g(that)g(gobb)o(les)f(less)h(heap)g
(space)-128 3083 y
SDict begin H.S end
-128 3083 a -128 3083 a
SDict begin 12 H.A end
-128 3083
a -128 3083 a
SDict begin [ /View [/XYZ H.V] /Dest (thriftier) cvn H.B /DEST pdfmark end
-128 3083 a 115 x FA(\223I)f(think)e(I)i(ha)n(v)o(e)e(a)i
(space)f(leak.)12 b(.)g(.)g(\224)28 b(Re-run)e(your)g(program)f(with)j
Ft(+RTS)49 b(-S)p FA(,)27 b(and)g(remo)o(v)o(e)e(all)j(doubt!)44
b(\(Y)-9 b(ou')o(ll)27 b(see)g(the)h(heap)e(usage)h(get)-128
3297 y(bigger)19 b(and)h(bigger.)12 b(.)g(.)g(\))24 b([Hmmm.)12
b(.)g(.)g(this)20 b(might)f(be)h(e)n(v)o(en)g(easier)g(with)g(the)h
Ft(-G1)f FA(R)-5 b(TS)21 b(option;)e(so.)12 b(.)g(.)38
b Fu(./a.out)19 b(+R)m(TS)i(-S)g(-G1)p FA(...])-128 3447
y(Once)f(again,)f(the)h(pro\002ling)f(f)o(acilities)i(\(Chapter)p
1 0 0 TeXcolorrgb 1335 3448 a
SDict begin H.S end
1335 3448 a 1 0 0 TeXcolorrgb
-1 x FA(5)p 1 0 0 TeXcolorrgb 1377 3390 a
SDict begin H.R end
1377 3390 a
1377 3447 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end
1377 3447 a Black FA(\))f(are)g(the)h(basic)f(tool)g(for)f
(demystifying)f(the)j(space)f(beha)n(viour)e(of)i(your)f(program.)-128
3596 y(Strict)f(functions)e(are)i(good)e(for)h(space)g(usage,)g(as)i
(the)o(y)d(are)i(for)f(time,)h(as)g(discussed)f(in)h(the)f(pre)n(vious)
f(section.)24 b(Strict)18 b(functions)e(get)h(right)g(do)n(wn)-128
3696 y(to)23 b(b)n(usiness,)f(rather)f(than)g(\002lling)h(up)g(the)g
(heap)f(with)h(closures)g(\(the)f(system')-5 b(s)23 b(notes)f(to)g
(itself)g(about)f(ho)n(w)h(to)g(e)n(v)n(aluate)f(something,)f(should)h
(it)-128 3795 y(e)n(v)o(entually)e(be)h(required\).)p
Black -128 6084 4252 5 v Black eop end
%%Page: 116 131
TeXDict begin 116 130 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.116) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(116)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.7) cvn H.B /DEST pdfmark end
-128 90 a 756 x Fy(Chapter)43 b(7)-128
1311 y Fv(GHC)52 b(Langua)n(g)r(e)f(Features)-128 1717
y
SDict begin H.S end
-128 1717 a -128 1717 a
SDict begin 12 H.A end
-128 1717 a -128 1717 a
SDict begin [ /View [/XYZ H.V] /Dest (ghc-language-features) cvn H.B /DEST pdfmark end
-128
1717 a 115 x FA(As)28 b(with)g(all)f(kno)n(wn)f(Hask)o(ell)h(systems,)i
(GHC)f(implements)e(some)h(e)o(xtensions)f(to)h(the)h(language.)43
b(The)o(y)26 b(are)i(all)f(enabled)f(by)h(options;)i(by)-128
1931 y(def)o(ault)20 b(GHC)h(understands)d(only)i(plain)f(Hask)o(ell)i
(98.)-128 2081 y(Some)i(of)g(the)g(Glasgo)n(w)g(e)o(xtensions)f(serv)o
(e)h(to)g(gi)n(v)o(e)f(you)h(access)g(to)h(the)f(underlying)d(f)o
(acilities)k(with)f(which)g(we)h(implement)d(Hask)o(ell.)35
b(Thus,)-128 2181 y(you)17 b(can)h(get)g(at)g(the)g(Ra)o(w)g(Iron,)f
(if)h(you)f(are)g(willing)h(to)g(write)g(some)f(non-portable)e(code)i
(at)h(a)g(more)f(primiti)n(v)o(e)f(le)n(v)o(el.)24 b(Y)-9
b(ou)17 b(need)g(not)h(be)f(\223stuck\224)-128 2280 y(on)k(performance)
d(because)j(of)g(the)g(implementation)e(costs)j(of)f(Hask)o(ell')-5
b(s)21 b(\223high-le)n(v)o(el\224)e(features\227you)g(can)i(al)o(w)o
(ays)h(code)e(\223under\224)g(them.)27 b(In)-128 2380
y(an)21 b(e)o(xtreme)d(case,)j(you)e(can)h(write)h(all)f(your)f
(time-critical)h(code)f(in)i(C,)g(and)e(then)h(just)h(glue)e(it)i
(together)e(with)h(Hask)o(ell!)-128 2529 y(Before)27
b(you)f(get)h(too)g(carried)f(a)o(w)o(ay)h(w)o(orking)e(at)j(the)f(lo)n
(west)g(le)n(v)o(el)g(\(e.g.,)h(sloshing)e Ft(MutableByteArray#)p
FA(s)f(around)g(your)h(program\),)-128 2629 y(you)31
b(may)g(wish)h(to)g(check)e(if)i(there)f(are)h(libraries)f(that)g(pro)o
(vide)f(a)i(\223Hask)o(ellised)f(v)o(eneer\224)f(o)o(v)o(er)g(the)i
(features)f(you)f(w)o(ant.)59 b(The)31 b(separate)p 0 1 0 0
TeXcolorcmyk -128 2729 a
SDict begin H.S end
-128 2729 a 0 1 0 0 TeXcolorcmyk
-1 x FA(libraries)20 b(documentation)p 0 1 0 0 TeXcolorcmyk
659 2672 a
SDict begin H.R end
659 2672 a 659 2728 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/index.html) >> /Subtype /Link H.B /ANN pdfmark end
659 2728 a Black 20
w FA(describes)g(all)h(the)f(libraries)g(that)g(come)g(with)g(GHC.)-128
2854 y
SDict begin H.S end
-128 2854 a -128 2854 a
SDict begin 12 H.A end
-128 2854 a -128 2854
a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.1) cvn H.B /DEST pdfmark end
-128 2854 a Black 199 x Fs(7.1)p Black 108 w(Langua)o(g)q(e)28
b(options)-128 3180 y
SDict begin H.S end
-128 3180 a -128 3180 a
SDict begin 12 H.A end
-128 3180
a -128 3180 a
SDict begin [ /View [/XYZ H.V] /Dest (options-language) cvn H.B /DEST pdfmark end
-128 3180 a 114 x FA(The)17 b(language)f(option)g(\003ag)
h(control)f(what)h(v)n(ariation)e(of)i(the)g(language)f(are)h
(permitted.)23 b(Lea)n(ving)16 b(out)g(all)i(of)f(them)g(gi)n(v)o(es)f
(you)h(standard)f(Hask)o(ell)-128 3394 y(98.)-128 3543
y(Generally)k(speaking,)e(all)j(the)f(language)f(options)g(are)h
(introduced)e(by)i(")p Ft(-X)p FA(",)g(e.g.)k Ft(-XTemplateHaskell)p
FA(.)-128 3693 y(All)d(the)g(language)d(options)h(can)h(be)g(turned)f
(of)n(f)h(by)f(using)h(the)g(pre\002x)g(")p Ft(No)p FA(";)g(e.g.)25
b(")p Ft(-XNoTemplateHaskell)p FA(".)-128 3842 y(Language)17
b(options)h(recognised)g(by)g(Cabal)i(can)e(also)i(be)f(enabled)e
(using)i(the)g Ft(LANGUAGE)f FA(pragma,)g(thus)h Ft({-#)49
b(LANGUAGE)f(Template-)-128 3942 y(Haskell)h(#-})20 b
FA(\(see)h(Section)p 1 0 0 TeXcolorrgb 865 3943 a
SDict begin H.S end
865
3943 a 1 0 0 TeXcolorrgb -1 x FA(7.13.1)p 1 0 0 TeXcolorrgb
1073 3885 a
SDict begin H.R end
1073 3885 a 1073 3942 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.1) cvn H.B /ANN pdfmark end
1073 3942 a Black
FA(>\).)-128 4091 y(The)g(\003ag)g Ft(-fglasgow-exts)e
FA(is)j(equi)n(v)n(alent)e(to)h(enabling)e(the)i(follo)n(wing)f(e)o
(xtensions:)25 b Ft(-XPrintExplicitForalls)p FA(,)18
b Ft(-XForei-)-128 4191 y(gnFunctionInterface)p FA(,)25
b Ft(-XUnliftedFFITypes)p FA(,)g Ft(-XGADTs)p FA(,)h
Ft(-XImplicitParams)p FA(,)g Ft(-XScopedTypeVariables)p
FA(,)-128 4290 y Ft(-XUnboxedTuples)p FA(,)31 b Ft
(-XTypeSynonymInstances)p FA(,)e Ft(-XStandaloneDeriving)p
FA(,)h Ft(-XDeriveDataTypeable)p FA(,)f Ft(-XF-)-128
4390 y(lexibleContexts)p FA(,)c Ft(-XFlexibleInstances)p
FA(,)g Ft(-XConstrainedClassMethods)p FA(,)e Ft
(-XMultiParamTypeClasses)p FA(,)-128 4490 y Ft
(-XFunctionalDependencies)p FA(,)14 b Ft(-XMagicHash)p
FA(,)i Ft(-XPolymorphicComponents)p FA(,)e Ft
(-XExistentialQuantificat-)-128 4589 y(ion)p FA(,)22
b Ft(-XUnicodeSyntax)p FA(,)e Ft(-XPostfixOperators)p
FA(,)f Ft(-XPatternGuards)p FA(,)h Ft(-XLiberalTypeSynonyms)p
FA(,)e Ft(-XRankNT-)-128 4689 y(ypes)p FA(,)k Ft(-XImpredicativeTypes)p
FA(,)d Ft(-XTypeOperators)p FA(,)g Ft(-XRecursiveDo)p
FA(,)h Ft(-XParallelListComp)p FA(,)f Ft(-XEmptyDat-)-128
4789 y(aDecls)p FA(,)28 b Ft(-XKindSignatures)p FA(,)d
Ft(-XGeneralizedNewtypeDeriving)p FA(,)e Ft(-XTypeFamilies)p
FA(.)41 b(Enabling)25 b(these)i(options)e(is)-128 4888
y(the)e Fq(only)g FA(ef)n(fect)f(of)h Ft(-fglasgow-exts)p
FA(.)31 b(W)-7 b(e)25 b(are)d(trying)g(to)h(mo)o(v)o(e)f(a)o(w)o(ay)h
(from)f(this)h(portmanteau)e(\003ag,)i(and)g(to)n(w)o(ards)f(enabling)g
(features)-128 4988 y(indi)n(vidually)-5 b(.)-128 5131
y
SDict begin H.S end
-128 5131 a -128 5131 a
SDict begin 12 H.A end
-128 5131 a -128 5131 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.2) cvn H.B /DEST pdfmark end
-128
5131 a Black 181 x Fs(7.2)p Black 108 w(Unbo)m(x)o(ed)27
b(types)i(and)h(primitive)e(operations)-128 5439 y
SDict begin H.S end
-128
5439 a -128 5439 a
SDict begin 12 H.A end
-128 5439 a -128 5439 a
SDict begin [ /View [/XYZ H.V] /Dest (primitives) cvn H.B /DEST pdfmark end
-128 5439
a 115 x FA(GHC)20 b(is)f(b)n(uilt)f(on)g(a)h(raft)f(of)g(primiti)n(v)o
(e)f(data)h(types)g(and)g(operations;)f("primiti)n(v)o(e")g(in)h(the)g
(sense)h(that)f(the)o(y)g(cannot)f(be)h(de\002ned)g(in)g(Hask)o(ell)h
(itself.)-128 5653 y(While)k(you)e(really)g(can)h(use)g(this)h(stuf)n
(f)e(to)h(write)h(f)o(ast)f(code,)g(we)g(generally)e(\002nd)i(it)h(a)f
(lot)g(less)h(painful,)e(and)g(more)g(satisfying)h(in)g(the)g(long)f
(run,)p Black -128 6084 4252 5 v Black eop end
%%Page: 117 132
TeXDict begin 117 131 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.117) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(117)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(to)i(use)g(higher)n(-le)n(v)o
(el)d(language)h(features)h(and)g(libraries.)29 b(W)m(ith)22
b(an)o(y)f(luck,)g(the)g(code)g(you)g(write)h(will)g(be)g(optimised)e
(to)i(the)g(ef)n(\002cient)f(unbox)o(ed)-128 273 y(v)o(ersion)e(in)i
(an)o(y)e(case.)25 b(And)20 b(if)h(it)g(isn')o(t,)e(we')l(d)h(lik)o(e)g
(to)h(kno)n(w)e(about)g(it.)-128 422 y(All)d(these)g(primiti)n(v)o(e)e
(data)h(types)g(and)f(operations)g(are)h(e)o(xported)e(by)i(the)g
(library)f Ft(GHC.Prim)p FA(,)h(for)g(which)g(there)f(is)p
0 1 0 0 TeXcolorcmyk 3235 423 a
SDict begin H.S end
3235 423 a 0 1 0 0 TeXcolorcmyk
-1 x FA(detailed)20 b(online)f(documentation)p 0 1 0 0
TeXcolorcmyk 4241 366 a
SDict begin H.R end
4241 366 a 4241 422 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/GHC.Prim.html) >> /Subtype /Link H.B /ANN pdfmark end
4241 422
a Black FA(.)-128 522 y(\(This)h(documentation)e(is)j(generated)d(from)
h(the)i(\002le)f Ft(compiler/prelude/primops.txt.pp)p
FA(.\))-128 671 y(If)h(you)e(w)o(ant)i(to)f(mention)g(an)o(y)f(of)h
(the)h(primiti)n(v)o(e)e(data)h(types)h(or)f(operations)f(in)h(your)f
(program,)f(you)i(must)g(\002rst)i(import)d Ft(GHC.Prim)h
FA(to)g(bring)-128 771 y(them)i(into)g(scope.)31 b(Man)o(y)21
b(of)h(them)f(ha)n(v)o(e)h(names)g(ending)f(in)h("#",)g(and)g(to)g
(mention)f(such)h(names)g(you)f(need)h(the)g Ft(-XMagicHash)e
FA(e)o(xtension)-128 871 y(\(Section)p 1 0 0 TeXcolorrgb
170 872 a
SDict begin H.S end
170 872 a 1 0 0 TeXcolorrgb -1 x FA(7.3.1)p
1 0 0 TeXcolorrgb 336 814 a
SDict begin H.R end
336 814 a 336 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.1) cvn H.B /ANN pdfmark end
336 871
a Black FA(\).)-128 1020 y(The)g(primops)f(mak)o(e)h(e)o(xtensi)n(v)o
(e)f(use)h(of)p 1 0 0 TeXcolorrgb 1066 1038 a
SDict begin H.S end
1066 1038
a 1 0 0 TeXcolorrgb -18 x FA(unbox)o(ed)d(types)p 1 0 0
TeXcolorrgb 1547 964 a
SDict begin H.R end
1547 964 a 1547 1020 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (glasgow-unboxed) cvn H.B /ANN pdfmark end
1547 1020
a Black 20 w FA(and)p 1 0 0 TeXcolorrgb 1708 1038 a
SDict begin H.S end
1708
1038 a 1 0 0 TeXcolorrgb -18 x FA(unbox)o(ed)h(tuples)p
1 0 0 TeXcolorrgb 2212 964 a
SDict begin H.R end
2212 964 a 2212 1020 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (unboxed-tuples) cvn H.B /ANN pdfmark end
2212
1020 a Black FA(,)i(which)g(we)h(brie\003y)e(summarise)h(here.)-128
1154 y
SDict begin H.S end
-128 1154 a -128 1154 a
SDict begin 12 H.A end
-128 1154 a -128 1154
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.2.1) cvn H.B /DEST pdfmark end
-128 1154 a Black 148 x Fp(7.2.1)p Black 90 w(Unbo)m(x)o(ed)j(types)
-128 1391 y
SDict begin H.S end
-128 1391 a -128 1391 a
SDict begin 12 H.A end
-128 1391 a -128
1391 a
SDict begin [ /View [/XYZ H.V] /Dest (glasgow-unboxed) cvn H.B /DEST pdfmark end
-128 1391 a 114 x FA(Most)f(types)e(in)h(GHC)h(are)f
Fq(boxed)p FA(,)f(which)g(means)h(that)g(v)n(alues)f(of)h(that)g(type)f
(are)h(represented)e(by)i(a)g(pointer)f(to)h(a)g(heap)f(object.)27
b(The)21 b(represen-)-128 1605 y(tation)i(of)g(a)g(Hask)o(ell)h
Ft(Int)p FA(,)f(for)g(e)o(xample,)f(is)i(a)f(tw)o(o-w)o(ord)f(heap)g
(object.)33 b(An)23 b Fq(unboxed)g FA(type,)g(ho)n(we)n(v)o(er)m(,)e
(is)j(represented)e(by)g(the)h(v)n(alue)g(itself,)-128
1705 y(no)d(pointers)f(or)h(heap)g(allocation)f(are)h(in)m(v)n(olv)o
(ed.)-128 1854 y(Unbox)o(ed)f(types)j(correspond)c(to)k(the)f(\223ra)o
(w)g(machine\224)f(types)h(you)g(w)o(ould)f(use)i(in)f(C:)i
Ft(Int#)e FA(\(long)f(int\),)h Ft(Double#)g FA(\(double\),)e
Ft(Addr#)i FA(\(v)n(oid)-128 1954 y(*\),)h(etc.)31 b(The)22
b Fq(primitive)g(oper)o(ations)f FA(\(PrimOps\))g(on)g(these)h(types)g
(are)g(what)g(you)f(might)h(e)o(xpect;)g(e.g.,)f Ft(\(+#\))h
FA(is)h(addition)e(on)g Ft(Int#)p FA(s,)i(and)e(is)-128
2053 y(the)g(machine-addition)16 b(that)21 b(we)f(all)h(kno)n(w)e(and)h
(lo)o(v)o(e\227usually)e(one)i(instruction.)-128 2203
y(Primiti)n(v)o(e)j(\(unbox)o(ed\))c(types)k(cannot)f(be)h(de\002ned)f
(in)h(Hask)o(ell,)h(and)e(are)h(therefore)e(b)n(uilt)i(into)g(the)g
(language)e(and)h(compiler)-5 b(.)33 b(Primiti)n(v)o(e)22
b(types)-128 2302 y(are)e(al)o(w)o(ays)h(unlifted;)e(that)h(is,)h(a)f
(v)n(alue)g(of)f(a)i(primiti)n(v)o(e)e(type)g(cannot)g(be)h(bottom.)k
(W)-7 b(e)21 b(use)f(the)g(con)m(v)o(ention)d(\(b)n(ut)j(it)h(is)g
(only)e(a)h(con)m(v)o(ention\))d(that)-128 2402 y(primiti)n(v)o(e)22
b(types,)g(v)n(alues,)h(and)f(operations)f(ha)n(v)o(e)h(a)h
Ft(#)g FA(suf)n(\002x)f(\(see)h(Section)p 1 0 0 TeXcolorrgb
2132 2403 a
SDict begin H.S end
2132 2403 a 1 0 0 TeXcolorrgb -1 x FA(7.3.1)p
1 0 0 TeXcolorrgb 2298 2346 a
SDict begin H.R end
2298 2346 a 2298 2402 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.1) cvn H.B /ANN pdfmark end
2298 2402 a Black FA(\).)32 b(F)o(or)22 b(some)h(primiti)n(v)o(e)e
(types)h(we)h(ha)n(v)o(e)f(special)h(syntax)f(for)-128
2502 y(literals,)f(also)f(described)f(in)i(the)p 1 0 0
TeXcolorrgb 841 2503 a
SDict begin H.S end
841 2503 a 1 0 0 TeXcolorrgb -1
x FA(same)f(section)p 1 0 0 TeXcolorrgb 1267 2445 a
SDict begin H.R end
1267
2445 a 1267 2502 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (magic-hash) cvn H.B /ANN pdfmark end
1267 2502 a Black FA(.)-128 2651 y(Primiti)n(v)o(e)
25 b(v)n(alues)f(are)h(often)e(represented)g(by)i(a)g(simple)g
(bit-pattern,)f(such)g(as)i Ft(Int#)p FA(,)f Ft(Float#)p
FA(,)g Ft(Double#)p FA(.)38 b(But)25 b(this)g(is)h(not)f(necessarily)
-128 2751 y(the)c(case:)28 b(a)21 b(primiti)n(v)o(e)f(v)n(alue)g(might)
h(be)g(represented)e(by)i(a)g(pointer)f(to)h(a)h(heap-allocated)c
(object.)27 b(Examples)20 b(include)g Ft(Array#)p FA(,)h(the)g(type)f
(of)-128 2850 y(primiti)n(v)o(e)h(arrays.)30 b(A)22 b(primiti)n(v)o(e)f
(array)g(is)h(heap-allocated)e(because)h(it)i(is)g(too)e(big)h(a)g(v)n
(alue)g(to)g(\002t)g(in)g(a)h(re)o(gister)m(,)e(and)g(w)o(ould)h(be)f
(too)h(e)o(xpensi)n(v)o(e)-128 2950 y(to)27 b(cop)o(y)e(around;)i(in)g
(a)f(sense,)i(it)f(is)g(accidental)e(that)h(it)h(is)g(represented)e(by)
g(a)i(pointer)-5 b(.)42 b(If)26 b(a)g(pointer)f(represents)h(a)g
(primiti)n(v)o(e)f(v)n(alue,)i(then)e(it)-128 3049 y(really)e(does)g
(point)f(to)h(that)g(v)n(alue:)31 b(no)22 b(une)n(v)n(aluated)f
(thunks,)h(no)h(indirections.)12 b(.)g(.)g(nothing)20
b(can)j(be)g(at)g(the)g(other)f(end)h(of)g(the)g(pointer)e(than)i(the)
-128 3149 y(primiti)n(v)o(e)g(v)n(alue.)36 b(A)25 b
(numerically-intensi)n(v)o(e)20 b(program)i(using)i(unbox)o(ed)e(types)
h(can)h(go)g(a)h Fq(lot)h FA(f)o(aster)e(than)g(its)h(\223standard\224)
e(counterpart\227we)-128 3249 y(sa)o(w)e(a)g(threefold)d(speedup)h(on)h
(one)f(e)o(xample.)-128 3398 y(There)h(are)g(some)g(restrictions)g(on)f
(the)i(use)f(of)g(primiti)n(v)o(e)f(types:)p Black -128
3614 a(\225)p Black 42 w(The)g(main)g(restriction)g(is)h(that)g(you)f
(can')o(t)f(pass)i(a)g(primiti)n(v)o(e)e(v)n(alue)h(to)h(a)g
(polymorphic)c(function)i(or)h(store)g(one)g(in)h(a)g(polymorphic)c
(data)k(type.)-57 3714 y(This)d(rules)g(out)g(things)g(lik)o(e)g
Ft([Int#])g FA(\(i.e.)23 b(lists)c(of)e(primiti)n(v)o(e)f(inte)o
(gers\).)22 b(The)17 b(reason)f(for)h(this)g(restriction)g(is)h(that)f
(polymorphic)d(ar)o(guments)-57 3813 y(and)21 b(constructor)f(\002elds)
j(are)f(assumed)f(to)h(be)g(pointers:)28 b(if)22 b(an)g(unbox)o(ed)d
(inte)o(ger)i(is)i(stored)e(in)h(one)g(of)g(these,)g(the)g(garbage)e
(collector)h(w)o(ould)-57 3913 y(attempt)g(to)h(follo)n(w)f(it,)h
(leading)e(to)i(unpredictable)d(space)j(leaks.)29 b(Or)21
b(a)h Ft(seq)g FA(operation)e(on)h(the)g(polymorphic)e(component)g(may)
i(attempt)g(to)-57 4013 y(dereference)f(the)i(pointer)m(,)f(with)h
(disastrous)g(results.)31 b(Ev)o(en)21 b(w)o(orse,)i(the)f(unbox)o(ed)d
(v)n(alue)j(might)f(be)h(lar)o(ger)f(than)h(a)h(pointer)e(\()p
Ft(Double#)g FA(for)-57 4112 y(instance\).)p Black -128
4278 a(\225)p Black 42 w(Y)-9 b(ou)21 b(cannot)f(de\002ne)g(a)i(ne)n
(wtype)e(whose)g(representation)f(type)i(\(the)g(ar)o(gument)d(type)j
(of)g(the)g(data)g(constructor\))e(is)j(an)f(unbox)o(ed)d(type.)28
b(Thus,)-57 4378 y(this)21 b(is)g(ille)o(gal:)-128 4446
y
SDict begin H.S end
-128 4446 a -128 4446 a
SDict begin 12 H.A end
-128 4446 a -128 4446 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-205) cvn H.B /DEST pdfmark end
-128
4446 a 0.95 TeXcolorgray -82 4461 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4552 25 92 v Black 0.95 TeXcolorgray -57 4552 4182
92 v Black 0.95 TeXcolorgray 4124 4552 25 92 v Black
0.95 TeXcolorgray Black -57 4525 a
SDict begin H.S end
-57 4525 a -57 4525
a
SDict begin 11 H.A end
-57 4525 a -57 4525 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-205.1) cvn H.B /DEST pdfmark end
-57 4525 a 0 0 0 TeXcolorrgb
90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb 43 w(A)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkA)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black -1 w(#)p 0.95 TeXcolorgray -82 4577
4232 25 v Black 0.95 TeXcolorgray Black Black Black Black
-128 4768 a FA(\225)p Black 42 w(Y)-9 b(ou)20 b(cannot)f(bind)g(a)i(v)n
(ariable)e(with)h(an)g(unbox)o(ed)e(type)h(in)i(a)f Fq(top-le)o(vel)f
FA(binding.)p Black -128 4934 a(\225)p Black 42 w(Y)-9
b(ou)20 b(cannot)f(bind)g(a)i(v)n(ariable)e(with)h(an)g(unbox)o(ed)e
(type)h(in)i(a)f Fq(r)m(ecur)o(sive)h FA(binding.)p Black
-128 5100 a(\225)p Black 42 w(Y)-9 b(ou)25 b(may)g(bind)g(unbox)o(ed)e
(v)n(ariables)h(in)i(a)g(\(non-recursi)n(v)o(e,)d(non-top-le)n(v)o
(el\))f(pattern)j(binding,)g(b)n(ut)g(an)o(y)g(such)g(v)n(ariable)g
(causes)h(the)f(entire)-57 5200 y(pattern-match)18 b(to)i(become)f
(strict.)26 b(F)o(or)20 b(e)o(xample:)-128 5268 y
SDict begin H.S end
-128
5268 a -128 5268 a
SDict begin 12 H.A end
-128 5268 a -128 5268 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-206) cvn H.B /DEST pdfmark end
-128 5268
a 0.95 TeXcolorgray -82 5283 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 5374
25 92 v Black 0.95 TeXcolorgray -57 5374 4182 92 v Black
0.95 TeXcolorgray 4124 5374 25 92 v Black 0.95 TeXcolorgray
Black -57 5347 a
SDict begin H.S end
-57 5347 a -57 5347 a
SDict begin 11 H.A end
-57 5347 a -57
5347 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-206.1) cvn H.B /DEST pdfmark end
-57 5347 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Foo)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(Foo)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black(#)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 5465 25 92 v Black 0.95 TeXcolorgray
-57 5465 4182 92 v Black 0.95 TeXcolorgray 4124 5465
25 92 v Black 0.95 TeXcolorgray Black -57 5438 a
SDict begin H.S end
-57
5438 a -57 5438 a
SDict begin 11 H.A end
-57 5438 a -57 5438 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-206.2) cvn H.B /DEST pdfmark end
-57 5438 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 5557 25 92 v
Black 0.95 TeXcolorgray -57 5557 4182 92 v Black 0.95
TeXcolorgray 4124 5557 25 92 v Black 0.95 TeXcolorgray
Black -57 5529 a
SDict begin H.S end
-57 5529 a -57 5529 a
SDict begin 11 H.A end
-57 5529 a -57
5529 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-206.3) cvn H.B /DEST pdfmark end
-57 5529 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(let)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black(,)p 0 0 0 TeXcolorrgb 44 w(w)p Black(\))45
b(=)f(..)p 0 0 0 TeXcolorrgb(rhs)p Black(..)p 0 0 0 TeXcolorrgb
44 w(in)p Black 45 w(..)p 0 0 0 TeXcolorrgb -1 w(body)p
Black(..)p 0.95 TeXcolorgray -82 5582 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 5739 a FA(Since)20
b Ft(b)h FA(has)f(type)g Ft(Int#)p FA(,)g(the)g(entire)g(pattern)f
(match)h(is)h(strict,)f(and)g(the)g(program)e(beha)n(v)o(es)h(as)i(if)g
(you)e(had)h(written)p Black -128 6084 4252 5 v Black
eop end
%%Page: 118 133
TeXDict begin 118 132 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.118) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(118)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-207) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-207.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black(#)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 356 25
92 v Black 0.95 TeXcolorgray -57 356 4182 92 v Black
0.95 TeXcolorgray 4124 356 25 92 v Black 0.95 TeXcolorgray
Black -57 328 a
SDict begin H.S end
-57 328 a -57 328 a
SDict begin 11 H.A end
-57 328 a -57 328
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-207.2) cvn H.B /DEST pdfmark end
-57 328 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 447 25 92 v Black 0.95 TeXcolorgray -57 447 4182
92 v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -57 420 a
SDict begin H.S end
-57 420 a -57 420 a
SDict begin 11 H.A end
-57
420 a -57 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-207.3) cvn H.B /DEST pdfmark end
-57 420 a 0 0 0 TeXcolorrgb 90 w Fo(f)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(case)p Black 44 w(..)p 0 0 0 TeXcolorrgb
-1 w(rhs)p Black(..)p 0 0 0 TeXcolorrgb 44 w(of)p Black
45 w({)45 b(\()p 0 0 0 TeXcolorrgb -1 w(Foo)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44 w(b)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(w)p Black(\))f(->)h(..)p
0 0 0 TeXcolorrgb(body)p Black -1 w(..)f(})p 0.95 TeXcolorgray
-82 472 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -128 638 a
SDict begin H.S end
-128 638 a -128 638 a
SDict begin 12 H.A end
-128 638 a -128
638 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.2.2) cvn H.B /DEST pdfmark end
-128 638 a Black 141 x Fp(7.2.2)p Black 90 w(Unbo)m(x)o(ed)23
b(T)-8 b(uples)-128 868 y
SDict begin H.S end
-128 868 a -128 868 a
SDict begin 12 H.A end
-128
868 a -128 868 a
SDict begin [ /View [/XYZ H.V] /Dest (unboxed-tuples) cvn H.B /DEST pdfmark end
-128 868 a 114 x FA(Unbox)o(ed)19 b(tuples)h(aren')o
(t)f(really)h(e)o(xported)f(by)h Ft(GHC.Exts)p FA(,)f(the)o(y')l(re)g
(a)n(v)n(ailable)h(by)g(def)o(ault)g(with)g Ft(-fglasgow-exts)p
FA(.)k(An)d(unbox)o(ed)c(tuple)-128 1082 y(looks)j(lik)o(e)h(this:)-128
1132 y
SDict begin H.S end
-128 1132 a -128 1132 a
SDict begin 12 H.A end
-128 1132 a -128 1132
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-208) cvn H.B /DEST pdfmark end
-128 1132 a 0.95 TeXcolorgray -153 1165 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1256 25 92 v Black 0.95 TeXcolorgray
-128 1256 4252 92 v Black 0.95 TeXcolorgray 4124 1256
25 92 v Black 0.95 TeXcolorgray Black -128 1229 a
SDict begin H.S end
-128
1229 a -128 1229 a
SDict begin 11 H.A end
-128 1229 a -128 1229 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-208.1) cvn H.B /DEST pdfmark end
-128 1229
a Fo(\(#)p 0 0 0 TeXcolorrgb 45 w(e_1)p Black -1 w(,)45
b(...,)p 0 0 0 TeXcolorrgb 44 w(e_n)p Black 45 w(#\))p
0.95 TeXcolorgray -153 1281 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1455 a FA(where)20 b Ft(e_1..e_n)f
FA(are)h(e)o(xpressions)f(of)h(an)o(y)g(type)f(\(primiti)n(v)o(e)g(or)h
(non-primiti)n(v)o(e\).)h(The)f(type)g(of)g(an)g(unbox)o(ed)d(tuple)j
(looks)g(the)g(same.)-128 1605 y(Unbox)o(ed)e(tuples)h(are)h(used)g
(for)f(functions)f(that)i(need)f(to)h(return)e(multiple)h(v)n(alues,)g
(b)n(ut)h(the)o(y)f(a)n(v)n(oid)h(the)f(heap)g(allocation)g(normally)f
(associated)-128 1705 y(with)h(using)e(fully-\003edged)e(tuples.)24
b(When)18 b(an)g(unbox)o(ed)d(tuple)i(is)i(returned,)e(the)g
(components)f(are)i(put)g(directly)f(into)g(re)o(gisters)h(or)f(on)h
(the)g(stack;)-128 1804 y(the)f(unbox)o(ed)d(tuple)i(itself)i(does)e
(not)g(ha)n(v)o(e)g(a)i(composite)d(representation.)22
b(Man)o(y)15 b(of)i(the)g(primiti)n(v)o(e)e(operations)g(listed)i(in)g
Ft(primops.txt.pp)-128 1904 y FA(return)g(unbox)o(ed)e(tuples.)25
b(In)17 b(particular)m(,)g(the)h Ft(IO)g FA(and)f Ft(ST)h
FA(monads)f(use)h(unbox)o(ed)e(tuples)i(to)g(a)n(v)n(oid)f(unnecessary)
g(allocation)g(during)f(sequences)-128 2003 y(of)k(operations.)-128
2153 y(There)g(are)g(some)g(pretty)f(stringent)h(restrictions)f(on)h
(the)g(use)h(of)f(unbox)o(ed)d(tuples:)p Black -128 2369
a(\225)p Black 42 w(V)-9 b(alues)30 b(of)f(unbox)o(ed)e(tuple)i(types)g
(are)h(subject)f(to)h(the)g(same)f(restrictions)g(as)i(other)e(unbox)o
(ed)d(types;)35 b(i.e.)53 b(the)o(y)29 b(may)g(not)g(be)h(stored)f(in)
-57 2468 y(polymorphic)17 b(data)j(structures)g(or)g(passed)g(to)g
(polymorphic)d(functions.)p Black -128 2634 a(\225)p
Black 42 w(No)26 b(v)n(ariable)f(can)h(ha)n(v)o(e)g(an)g(unbox)o(ed)e
(tuple)i(type,)h(nor)e(may)h(a)h(constructor)d(or)i(function)f(ar)o
(gument)e(ha)n(v)o(e)j(an)g(unbox)o(ed)e(tuple)i(type.)42
b(The)-57 2734 y(follo)n(wing)19 b(are)h(all)g(ille)o(gal:)-128
2802 y
SDict begin H.S end
-128 2802 a -128 2802 a
SDict begin 12 H.A end
-128 2802 a -128 2802
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-209) cvn H.B /DEST pdfmark end
-128 2802 a 0.95 TeXcolorgray -82 2817 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2908 25 92 v Black 0.95 TeXcolorgray
-57 2908 4182 92 v Black 0.95 TeXcolorgray 4124 2908
25 92 v Black 0.95 TeXcolorgray Black -57 2881 a
SDict begin H.S end
-57
2881 a -57 2881 a
SDict begin 11 H.A end
-57 2881 a -57 2881 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.1) cvn H.B /DEST pdfmark end
-57 2881 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(Foo)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black
44 w(\(#)p 0 0 0 TeXcolorrgb 45 w(Int)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(#\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3000 25 92 v Black 0.95 TeXcolorgray
-57 3000 4182 92 v Black 0.95 TeXcolorgray 4124 3000
25 92 v Black 0.95 TeXcolorgray Black -57 2972 a
SDict begin H.S end
-57
2972 a -57 2972 a
SDict begin 11 H.A end
-57 2972 a -57 2972 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.2) cvn H.B /DEST pdfmark end
-57 2972 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3091 25 92 v
Black 0.95 TeXcolorgray -57 3091 4182 92 v Black 0.95
TeXcolorgray 4124 3091 25 92 v Black 0.95 TeXcolorgray
Black -57 3064 a
SDict begin H.S end
-57 3064 a -57 3064 a
SDict begin 11 H.A end
-57 3064 a -57
3064 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.3) cvn H.B /DEST pdfmark end
-57 3064 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black
44 w(::)45 b(\(#)p 0 0 0 TeXcolorrgb 44 w(Int)p Black(,)p
0 0 0 TeXcolorrgb 44 w(Int)p Black 45 w(#\))f(->)h(\(#)p
0 0 0 TeXcolorrgb 44 w(Int)p Black(,)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 45 w(#\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3182 25 92 v Black 0.95 TeXcolorgray
-57 3182 4182 92 v Black 0.95 TeXcolorgray 4124 3182
25 92 v Black 0.95 TeXcolorgray Black -57 3155 a
SDict begin H.S end
-57
3155 a -57 3155 a
SDict begin 11 H.A end
-57 3155 a -57 3155 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.4) cvn H.B /DEST pdfmark end
-57 3155 a 0 0 0
TeXcolorrgb 90 w Fo(f)p Black 0 0 0 TeXcolorrgb 44 w(x)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3274 25 92 v
Black 0.95 TeXcolorgray -57 3274 4182 92 v Black 0.95
TeXcolorgray 4124 3274 25 92 v Black 0.95 TeXcolorgray
Black -57 3246 a
SDict begin H.S end
-57 3246 a -57 3246 a
SDict begin 11 H.A end
-57 3246 a -57
3246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.5) cvn H.B /DEST pdfmark end
-57 3246 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3365 25 92 v Black 0.95 TeXcolorgray -57 3365 4182
92 v Black 0.95 TeXcolorgray 4124 3365 25 92 v Black
0.95 TeXcolorgray Black -57 3338 a
SDict begin H.S end
-57 3338 a -57 3338
a
SDict begin 11 H.A end
-57 3338 a -57 3338 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.6) cvn H.B /DEST pdfmark end
-57 3338 a 0 0 0 TeXcolorrgb
90 w Fo(g)p Black 44 w(::)g(\(#)p 0 0 0 TeXcolorrgb 44
w(Int)p Black(,)p 0 0 0 TeXcolorrgb 44 w(Int)p Black
45 w(#\))f(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3456 25 92 v
Black 0.95 TeXcolorgray -57 3456 4182 92 v Black 0.95
TeXcolorgray 4124 3456 25 92 v Black 0.95 TeXcolorgray
Black -57 3429 a
SDict begin H.S end
-57 3429 a -57 3429 a
SDict begin 11 H.A end
-57 3429 a -57
3429 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.7) cvn H.B /DEST pdfmark end
-57 3429 a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black
44 w(\(#)p 0 0 0 TeXcolorrgb 45 w(a)p Black(,)p 0 0 0
TeXcolorrgb(b)p Black 44 w(#\))h(=)p 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3548 25 92 v Black 0.95 TeXcolorgray -57 3548 4182
92 v Black 0.95 TeXcolorgray 4124 3548 25 92 v Black
0.95 TeXcolorgray Black -57 3520 a
SDict begin H.S end
-57 3520 a -57 3520
a
SDict begin 11 H.A end
-57 3520 a -57 3520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.8) cvn H.B /DEST pdfmark end
-57 3520 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3639 25 92 v Black 0.95 TeXcolorgray
-57 3639 4182 92 v Black 0.95 TeXcolorgray 4124 3639
25 92 v Black 0.95 TeXcolorgray Black -57 3612 a
SDict begin H.S end
-57
3612 a -57 3612 a
SDict begin 11 H.A end
-57 3612 a -57 3612 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-209.9) cvn H.B /DEST pdfmark end
-57 3612 a 0 0 0
TeXcolorrgb 90 w Fo(h)p Black 0 0 0 TeXcolorrgb 44 w(x)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0
TeXcolorrgb 44 w(y)p Black 45 w(=)f(\(#)p 0 0 0 TeXcolorrgb
45 w(x)p Black(,)p 0 0 0 TeXcolorrgb -1 w(x)p Black 45
w(#\))p 0 0 0 TeXcolorrgb 45 w(in)p Black 44 w(...)p
0.95 TeXcolorgray -82 3664 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3905 a FA(The)26 b(typical)f(use)h(of)g(unbox)o
(ed)d(tuples)i(is)i(simply)e(to)h(return)f(multiple)g(v)n(alues,)h
(binding)e(those)i(multiple)f(results)h(with)g(a)g Ft(case)g
FA(e)o(xpression,)-128 4004 y(thus:)-128 4055 y
SDict begin H.S end
-128
4055 a -128 4055 a
SDict begin 12 H.A end
-128 4055 a -128 4055 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-210) cvn H.B /DEST pdfmark end
-128 4055
a 0.95 TeXcolorgray -153 4087 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4179 25 92 v Black 0.95 TeXcolorgray -128 4179 4252 92
v Black 0.95 TeXcolorgray 4124 4179 25 92 v Black 0.95
TeXcolorgray Black -128 4151 a
SDict begin H.S end
-128 4151 a -128 4151
a
SDict begin 11 H.A end
-128 4151 a -128 4151 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-210.1) cvn H.B /DEST pdfmark end
-128 4151 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0
TeXcolorrgb 44 w(y)p Black 45 w(=)45 b(\(#)p 0 0 0 TeXcolorrgb
44 w(x)p Black(+1,)p 0 0 0 TeXcolorrgb 44 w(y)p Black(-1)g(#\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4270 25
92 v Black 0.95 TeXcolorgray -128 4270 4252 92 v Black
0.95 TeXcolorgray 4124 4270 25 92 v Black 0.95 TeXcolorgray
Black -128 4242 a
SDict begin H.S end
-128 4242 a -128 4242 a
SDict begin 11 H.A end
-128 4242 a
-128 4242 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-210.2) cvn H.B /DEST pdfmark end
-128 4242 a 0 0 0 TeXcolorrgb 90 w Fo(g)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(case)p Black 0 0 0 TeXcolorrgb 44 w(f)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black 45 w({)f(\(#)p
0 0 0 TeXcolorrgb 45 w(a)p Black(,)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(#\))h(->)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(+)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(})p
0.95 TeXcolorgray -153 4295 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4469 a FA(Y)-9 b(ou)20 b(can)g(ha)n(v)o(e)g(an)g
(unbox)o(ed)d(tuple)j(in)g(a)h(pattern)e(binding,)f(thus)-128
4537 y
SDict begin H.S end
-128 4537 a -128 4537 a
SDict begin 12 H.A end
-128 4537 a -128 4537
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-211) cvn H.B /DEST pdfmark end
-128 4537 a 0.95 TeXcolorgray -153 4552 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4643 25 92 v Black 0.95 TeXcolorgray
-128 4643 4252 92 v Black 0.95 TeXcolorgray 4124 4643
25 92 v Black 0.95 TeXcolorgray Black -128 4616 a
SDict begin H.S end
-128
4616 a -128 4616 a
SDict begin 11 H.A end
-128 4616 a -128 4616 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-211.1) cvn H.B /DEST pdfmark end
-128 4616
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(let)p
Black 44 w(\(#)p 0 0 0 TeXcolorrgb 45 w(p)p Black(,)p
0 0 0 TeXcolorrgb(q)p Black 44 w(#\))45 b(=)p 0 0 0 TeXcolorrgb
44 w(h)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0
TeXcolorrgb 45 w(in)p Black 44 w(..)p 0 0 0 TeXcolorrgb(body)p
Black -1 w(..)p 0.95 TeXcolorgray -153 4668 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 4843 a
FA(If)21 b(the)g(types)g(of)g Ft(p)g FA(and)g Ft(q)g
FA(are)g(not)g(unbox)o(ed,)d(the)j(resulting)f(binding)g(is)i(lazy)e
(lik)o(e)i(an)o(y)e(other)g(Hask)o(ell)i(pattern)e(binding.)25
b(The)c(abo)o(v)o(e)e(e)o(xample)-128 4942 y(desugars)g(lik)o(e)i
(this:)-128 5010 y
SDict begin H.S end
-128 5010 a -128 5010 a
SDict begin 12 H.A end
-128 5010
a -128 5010 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-212) cvn H.B /DEST pdfmark end
-128 5010 a 0.95 TeXcolorgray -153 5025
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5117 25 92 v Black 0.95
TeXcolorgray -128 5117 4252 92 v Black 0.95 TeXcolorgray
4124 5117 25 92 v Black 0.95 TeXcolorgray Black -128
5089 a
SDict begin H.S end
-128 5089 a -128 5089 a
SDict begin 11 H.A end
-128 5089 a -128 5089
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-212.1) cvn H.B /DEST pdfmark end
-128 5089 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 0 0 0
TeXcolorrgb 45 w(x)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(let)p Black 0 0 0 TeXcolorrgb 44 w(t)p Black 45
w(=)p 0 0 0 TeXcolorrgb 45 w(case)p Black 0 0 0 TeXcolorrgb
44 w(h)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0
TeXcolorrgb 44 w(o)p Black 0 0 0 TeXcolorrgb 45 w(f)p
Black({)44 b(\(#)p 0 0 0 TeXcolorrgb 45 w(p)p Black(,)p
0 0 0 TeXcolorrgb(q)p Black 44 w(#\))h(->)f(\()p 0 0 0
TeXcolorrgb(p)p Black(,)p 0 0 0 TeXcolorrgb(q)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5208 25
92 v Black 0.95 TeXcolorgray -128 5208 4252 92 v Black
0.95 TeXcolorgray 4124 5208 25 92 v Black 0.95 TeXcolorgray
Black -128 5181 a
SDict begin H.S end
-128 5181 a -128 5181 a
SDict begin 11 H.A end
-128 5181 a
-128 5181 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-212.2) cvn H.B /DEST pdfmark end
-128 5181 a 0 0 0 TeXcolorrgb 538 w Fo(p)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(fst)p Black 0 0 0
TeXcolorrgb 44 w(t)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5299 25 92 v Black 0.95 TeXcolorgray
-128 5299 4252 92 v Black 0.95 TeXcolorgray 4124 5299
25 92 v Black 0.95 TeXcolorgray Black -128 5272 a
SDict begin H.S end
-128
5272 a -128 5272 a
SDict begin 11 H.A end
-128 5272 a -128 5272 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-212.3) cvn H.B /DEST pdfmark end
-128 5272
a 0 0 0 TeXcolorrgb 538 w Fo(q)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(snd)p Black 0 0 0 TeXcolorrgb 44 w(t)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5391 25 92 v Black 0.95 TeXcolorgray -128 5391 4252 92
v Black 0.95 TeXcolorgray 4124 5391 25 92 v Black 0.95
TeXcolorgray Black -128 5363 a
SDict begin H.S end
-128 5363 a -128 5363
a
SDict begin 11 H.A end
-128 5363 a -128 5363 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-212.4) cvn H.B /DEST pdfmark end
-128 5363 a 0 0 0 TeXcolorrgb
359 w Fo(in)p Black 45 w(..)p 0 0 0 TeXcolorrgb -1 w(body)p
Black(..)p 0.95 TeXcolorgray -153 5416 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 5590 a FA(Indeed,)19
b(the)h(bindings)f(can)h(e)n(v)o(en)f(be)h(recursi)n(v)o(e.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 119 134
TeXDict begin 119 133 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.119) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(119)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.3) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(7.3)p
Black 108 w(Syntactic)28 b(e)n(xtensions)-128 322 y
SDict begin H.S end
-128
322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (syntax-extns) cvn H.B /DEST pdfmark end
-128 322 a -128
322 a
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a -128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.1) cvn H.B /DEST pdfmark end
-128
322 a Black 139 x Fp(7.3.1)p Black 90 w(The)c(ma)o(gic)g(hash)-128
550 y
SDict begin H.S end
-128 550 a -128 550 a
SDict begin 12 H.A end
-128 550 a -128 550 a
SDict begin [ /View [/XYZ H.V] /Dest (magic-hash) cvn H.B /DEST pdfmark end
-128
550 a 114 x FA(The)e(language)f(e)o(xtension)g Ft(-XMagicHash)f
FA(allo)n(ws)j("#")f(as)h(a)g(post\002x)f(modi\002er)f(to)h
(identi\002ers.)31 b(Thus,)22 b("x#")g(is)h(a)g(v)n(alid)e(v)n
(ariable,)h(and)f("T#")-128 764 y(is)h(a)e(v)n(alid)g(type)g
(constructor)e(or)i(data)g(constructor)-5 b(.)-128 913
y(The)25 b(hash)g(sign)g(does)f(not)h(change)f(sematics)h(at)h(all.)39
b(W)-7 b(e)27 b(tend)d(to)h(use)g(v)n(ariable)f(names)h(ending)e(in)j
("#")e(for)h(unbox)o(ed)d(v)n(alues)i(or)h(types)g(\(e.g.)-128
1013 y Ft(Int#)p FA(\),)19 b(b)n(ut)g(there)g(is)g(no)g(requirement)e
(to)i(do)g(so;)g(the)o(y)g(are)g(just)g(plain)g(ordinary)e(v)n
(ariables.)24 b(Nor)18 b(does)h(the)g Ft(-XMagicHash)f
FA(e)o(xtension)f(bring)-128 1113 y(an)o(ything)g(into)i(scope.)24
b(F)o(or)19 b(e)o(xample,)f(to)h(bring)f Ft(Int#)g FA(into)h(scope)g
(you)f(must)h(import)f Ft(GHC.Prim)g FA(\(see)h(Section)p
1 0 0 TeXcolorrgb 3281 1114 a
SDict begin H.S end
3281 1114 a 1 0 0 TeXcolorrgb
-1 x FA(7.2)p 1 0 0 TeXcolorrgb 3385 1056 a
SDict begin H.R end
3385 1056
a 3385 1113 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.2) cvn H.B /ANN pdfmark end
3385 1113 a Black FA(\);)g(the)g Ft(-XMagicHash)-128
1212 y FA(e)o(xtension)g(then)h(allo)n(ws)g(you)g(to)g
Fq(r)m(efer)j FA(to)d(the)h Ft(Int#)f FA(that)g(is)h(no)n(w)f(in)g
(scope.)-128 1362 y(The)g Ft(-XMagicHash)f FA(also)h(enables)g(some)g
(ne)n(w)g(forms)g(of)g(literals)g(\(see)h(Section)p 1 0 0
TeXcolorrgb 2344 1363 a
SDict begin H.S end
2344 1363 a 1 0 0 TeXcolorrgb
-1 x FA(7.2.1)p 1 0 0 TeXcolorrgb 2510 1305 a
SDict begin H.R end
2510 1305
a 2510 1362 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.2.1) cvn H.B /ANN pdfmark end
2510 1362 a Black FA(\):)p Black -128 1578
a(\225)p Black 42 w Ft('x'#)f FA(has)g(type)g Ft(Char#)p
Black -128 1744 a FA(\225)p Black 42 w Ft("foo"#)g FA(has)g(type)g
Ft(Addr#)p Black -128 1910 a FA(\225)p Black 42 w Ft(3#)g
FA(has)f(type)h Ft(Int#)p FA(.)k(In)19 b(general,)g(an)o(y)f(Hask)o
(ell)i(98)f(inte)o(ger)g(le)o(x)o(eme)f(follo)n(wed)g(by)h(a)h
Ft(#)g FA(is)h(an)e Ft(Int#)g FA(literal,)h(e.g.)k Ft(-0x3A#)19
b FA(as)i(well)f(as)g Ft(32#)-57 2009 y FA(.)p Black
-128 2175 a(\225)p Black 42 w Ft(3##)g FA(has)h(type)e
Ft(Word#)p FA(.)25 b(In)20 b(general,)f(an)o(y)g(non-ne)o(gati)n(v)o(e)
d(Hask)o(ell)21 b(98)f(inte)o(ger)f(le)o(x)o(eme)g(follo)n(wed)g(by)g
Ft(##)i FA(is)g(a)f Ft(Word#)p FA(.)p Black -128 2341
a(\225)p Black 42 w Ft(3.2#)g FA(has)g(type)g Ft(Float#)p
FA(.)p Black -128 2507 a(\225)p Black 42 w Ft(3.2##)g
FA(has)g(type)g Ft(Double#)-128 2642 y
SDict begin H.S end
-128 2642 a -128
2642 a
SDict begin 12 H.A end
-128 2642 a -128 2642 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.2) cvn H.B /DEST pdfmark end
-128 2642 a Black 148
x Fp(7.3.2)p Black 90 w(Ne)o(w)j(quali\002ed)h(operator)g(syntax)-128
2878 y
SDict begin H.S end
-128 2878 a -128 2878 a
SDict begin 12 H.A end
-128 2878 a -128 2878
a
SDict begin [ /View [/XYZ H.V] /Dest (new-qualified-operators) cvn H.B /DEST pdfmark end
-128 2878 a 115 x FA(A)19 b(ne)n(w)f(syntax)f(for)h(referencing)e
(quali\002ed)h(operators)f(is)k(planned)c(to)i(be)g(introduced)e(by)i
(Hask)o(ell',)g(and)g(is)h(enabled)e(in)h(GHC)h(with)f(the)g
Ft(-XNe-)-128 3092 y(wQualifiedOperators)f FA(option.)24
b(In)19 b(the)h(ne)n(w)f(syntax,)g(the)g(pre\002x)g(form)g(of)g(a)h
(quali\002ed)f(operator)f(is)i(written)g Fr(module)p
Ft(.\()p Fr(symbol)p Ft(\))d FA(\(in)-128 3192 y(Hask)o(ell)24
b(98)f(this)h(w)o(ould)f(be)g Ft(\()p Fr(module)p Ft(.)p
Fr(symbol)p Ft(\))p FA(\),)f(and)g(the)i(in\002x)f(form)f(is)j(written)
e Ft(`)p Fr(module)p Ft(.\()p Fr(symbol)p Ft(\)`)e FA(\(in)i(Hask)o
(ell)h(98)f(this)h(w)o(ould)-128 3292 y(be)d Ft(`)p Fr(module)p
Ft(.)p Fr(symbol)p Ft(`)p FA(.)h(F)o(or)e(e)o(xample:)-128
3359 y
SDict begin H.S end
-128 3359 a -128 3359 a
SDict begin 12 H.A end
-128 3359 a -128 3359
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-213) cvn H.B /DEST pdfmark end
-128 3359 a 0.95 TeXcolorgray -153 3375 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3466 25 92 v Black 0.95 TeXcolorgray
-128 3466 4252 92 v Black 0.95 TeXcolorgray 4124 3466
25 92 v Black 0.95 TeXcolorgray Black -128 3438 a
SDict begin H.S end
-128
3438 a -128 3438 a
SDict begin 11 H.A end
-128 3438 a -128 3438 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-213.1) cvn H.B /DEST pdfmark end
-128 3438
a 0 0 0 TeXcolorrgb 90 w Fo(add)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(Prelude)p Black -1 w(.\(+\))p
0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45
w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3557 25 92 v Black 0.95 TeXcolorgray -128 3557 4252
92 v Black 0.95 TeXcolorgray 4124 3557 25 92 v Black
0.95 TeXcolorgray Black -128 3530 a
SDict begin H.S end
-128 3530 a -128
3530 a
SDict begin 11 H.A end
-128 3530 a -128 3530 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-213.2) cvn H.B /DEST pdfmark end
-128 3530 a 0 0 0 TeXcolorrgb
90 w Fo(subtract)p Black 0 0 0 TeXcolorrgb 44 w(y)p Black
44 w(=)45 b(\(`)p 0 0 0 TeXcolorrgb(Prelude)p Black -2
w(.\(-\)`)p 0 0 0 TeXcolorrgb 44 w(y)p Black(\))p 0.95
TeXcolorgray -153 3582 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3756 a FA(The)17 b(ne)n(w)g(form)e(of)i
(quali\002ed)f(operators)f(is)j(intended)d(to)i(re)o(gularise)f(the)h
(syntax)f(by)g(eliminating)g(odd)g(cases)h(lik)o(e)g
Ft(Prelude..)p FA(.)23 b(F)o(or)17 b(e)o(xample,)-128
3856 y(when)31 b Ft(NewQualifiedOperators)d FA(is)k(on,)i(it)e(is)g
(possible)f(to)g(write)h(the)f(enumerated)e(sequence)h
Ft([Monday..])57 b FA(without)31 b(spaces,)-128 3956
y(whereas)20 b(in)h(Hask)o(ell)f(98)g(this)h(w)o(ould)e(be)h(a)h
(reference)d(to)j(the)f(operator)e(`)p Ft(.)p FA(`)i(from)f(module)g
Ft(Monday)p FA(.)-128 4105 y(When)24 b Ft(-XNewQualifiedOperators)c
FA(is)k(on,)g(the)g(old)f(Hask)o(ell)h(98)g(syntax)f(for)g(quali\002ed)
g(operators)f(is)i(not)g(accepted,)f(so)h(this)g(option)-128
4205 y(may)c(cause)g(e)o(xisting)g(Hask)o(ell)g(98)g(code)g(to)g
(break.)-128 4339 y
SDict begin H.S end
-128 4339 a -128 4339 a
SDict begin 12 H.A end
-128 4339
a -128 4339 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.3) cvn H.B /DEST pdfmark end
-128 4339 a Black 148 x Fp(7.3.3)p Black
90 w(Hierar)n(c)o(hical)j(Modules)-128 4575 y
SDict begin H.S end
-128 4575
a -128 4575 a
SDict begin 12 H.A end
-128 4575 a -128 4575 a
SDict begin [ /View [/XYZ H.V] /Dest (hierarchical-modules) cvn H.B /DEST pdfmark end
-128 4575 a 115
x FA(GHC)i(supports)e(a)h(small)h(e)o(xtension)d(to)i(the)g(syntax)g
(of)f(module)g(names:)32 b(a)25 b(module)d(name)h(is)i(allo)n(wed)f(to)
g(contain)f(a)h(dot)g Ft(`.')p FA(.)36 b(This)24 b(is)h(also)-128
4790 y(kno)n(wn)18 b(as)j(the)e(\223hierarchical)f(module)g
(namespace\224)g(e)o(xtension,)g(because)g(it)j(e)o(xtends)d(the)h
(normally)f(\003at)i(Hask)o(ell)g(module)e(namespace)g(into)i(a)-128
4889 y(more)g(\003e)o(xible)f(hierarchy)f(of)i(modules.)-128
5039 y(This)k(e)o(xtension)f(has)g(v)o(ery)g(little)h(impact)g(on)f
(the)h(language)e(itself;)k(modules)c(names)i(are)f Fq(always)h
FA(fully)f(quali\002ed,)h(so)g(you)f(can)g(just)h(think)f(of)-128
5138 y(the)h(fully)f(quali\002ed)g(module)f(name)h(as)h(`the)f(module)f
(name'.)34 b(In)24 b(particular)m(,)e(this)i(means)f(that)h(the)g(full)
f(module)f(name)h(must)h(be)f(gi)n(v)o(en)f(after)-128
5238 y(the)f Ft(module)e FA(k)o(e)o(yw)o(ord)g(at)h(the)h(be)o(ginning)
c(of)j(the)g(module;)f(for)h(e)o(xample,)e(the)i(module)f
Ft(A.B.C)h FA(must)g(be)o(gin)-128 5306 y
SDict begin H.S end
-128 5306 a
-128 5306 a
SDict begin 12 H.A end
-128 5306 a -128 5306 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-214) cvn H.B /DEST pdfmark end
-128 5306 a 0.95
TeXcolorgray -153 5321 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5412 25 92 v Black 0.95 TeXcolorgray -128 5412 4252 92
v Black 0.95 TeXcolorgray 4124 5412 25 92 v Black 0.95
TeXcolorgray Black -128 5385 a
SDict begin H.S end
-128 5385 a -128 5385
a
SDict begin 11 H.A end
-128 5385 a -128 5385 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-214.1) cvn H.B /DEST pdfmark end
-128 5385 a 0 0 0 TeXcolorrgb
Fo(module)p Black 0 0 0 TeXcolorrgb 44 w(A)p Black(.)p
0 0 0 TeXcolorrgb(B)p Black(.)p 0 0 0 TeXcolorrgb(C)p
Black 0.95 TeXcolorgray -153 5437 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5612 a FA(It)j(is)f(a)h(common)c
(strate)o(gy)i(to)h(use)g(the)g Ft(as)g FA(k)o(e)o(yw)o(ord)e(to)i(sa)n
(v)o(e)g(some)g(typing)e(when)i(using)f(quali\002ed)g(names)g(with)h
(hierarchical)f(modules.)28 b(F)o(or)-128 5711 y(e)o(xample:)p
Black -128 6084 4252 5 v Black eop end
%%Page: 120 135
TeXDict begin 120 134 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.120) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(120)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-215) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-215.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(import)p Black 0 0 0 TeXcolorrgb 44 w(qualified)p
Black 0 0 0 TeXcolorrgb 44 w(Control)p Black -2 w(.)p
0 0 0 TeXcolorrgb(Monad)p Black -1 w(.)p 0 0 0 TeXcolorrgb(ST)p
Black(.)p 0 0 0 TeXcolorrgb(Strict)p Black 0 0 0 TeXcolorrgb
44 w(as)p Black 0 0 0 TeXcolorrgb 44 w(ST)p Black 0.95
TeXcolorgray -153 289 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 444 a FA(F)o(or)g(details)h(on)f(ho)n(w)f(GHC)i
(searches)f(for)g(source)f(and)h(interf)o(ace)f(\002les)i(in)g(the)f
(presence)f(of)h(hierarchical)f(modules,)f(see)j(Section)p
1 0 0 TeXcolorrgb 3714 445 a
SDict begin H.S end
3714 445 a 1 0 0 TeXcolorrgb
-1 x FA(4.6.3)p 1 0 0 TeXcolorrgb 3880 388 a
SDict begin H.R end
3880 388
a 3880 444 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.3) cvn H.B /ANN pdfmark end
3880 444 a Black FA(.)-128 583 y(GHC)31
b(comes)e(with)h(a)g(lar)o(ge)e(collection)h(of)g(libraries)h(arranged)
d(hierarchically;)33 b(see)d(the)f(accompan)o(ying)p
0 1 0 0 TeXcolorcmyk 3134 601 a
SDict begin H.S end
3134 601 a 0 1 0 0 TeXcolorcmyk
-18 x FA(library)19 b(documentation)p 0 1 0 0 TeXcolorcmyk
3870 527 a
SDict begin H.R end
3870 527 a 3870 583 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/index.html) >> /Subtype /Link H.B /ANN pdfmark end
3870 583 a Black FA(.)54
b(More)-128 683 y(libraries)20 b(to)h(install)f(are)g(a)n(v)n(ailable)g
(from)p 0 1 0 0 TeXcolorcmyk 1095 701 a
SDict begin H.S end
1095 701 a 0 1 0 0
TeXcolorcmyk -18 x FA(HackageDB)p 0 1 0 0 TeXcolorcmyk
1501 627 a
SDict begin H.R end
1501 627 a 1501 683 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/packages/hackage.html) >> /Subtype /Link H.B /ANN pdfmark end
1501 683 a Black FA(.)-128
813 y
SDict begin H.S end
-128 813 a -128 813 a
SDict begin 12 H.A end
-128 813 a -128 813 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.4) cvn H.B /DEST pdfmark end
-128
813 a Black 138 x Fp(7.3.4)p Black 90 w(P)m(attern)k(guar)n(ds)-128
1039 y
SDict begin H.S end
-128 1039 a -128 1039 a
SDict begin 12 H.A end
-128 1039 a -128 1039
a
SDict begin [ /View [/XYZ H.V] /Dest (pattern-guards) cvn H.B /DEST pdfmark end
-128 1039 a 105 x FA(The)i(discussion)g(that)g(follo)n(ws)f(is)i(an)f
(abbre)n(viated)e(v)o(ersion)g(of)i(Simon)f(Pe)o(yton)g(Jones')-5
b(s)27 b(original)p 0 1 0 0 TeXcolorcmyk 2839 1162 a
SDict begin H.S end
2839 1162 a 0 1 0 0 TeXcolorcmyk -18 x FA(proposal)p
0 1 0 0 TeXcolorcmyk 3125 1088 a
SDict begin H.R end
3125 1088 a 3125 1144
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/Haskell/guards.html) >> /Subtype /Link H.B /ANN pdfmark end
3125 1144 a Black FA(.)43 b(\(Note)26 b(that)g(the)g(proposal)e(w)o
(as)-128 1243 y(written)c(before)f(pattern)g(guards)h(were)g
(implemented,)e(so)i(refers)g(to)g(them)g(as)h(unimplemented.\))-128
1383 y(Suppose)f(we)g(ha)n(v)o(e)g(an)g(abstract)g(data)g(type)g(of)f
(\002nite)i(maps,)f(with)g(a)h(lookup)d(operation:)-128
1441 y
SDict begin H.S end
-128 1441 a -128 1441 a
SDict begin 12 H.A end
-128 1441 a -128 1441
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-216) cvn H.B /DEST pdfmark end
-128 1441 a 0.95 TeXcolorgray -153 1456 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1547 25 92 v Black 0.95 TeXcolorgray
-128 1547 4252 92 v Black 0.95 TeXcolorgray 4124 1547
25 92 v Black 0.95 TeXcolorgray Black -128 1520 a
SDict begin H.S end
-128
1520 a -128 1520 a
SDict begin 11 H.A end
-128 1520 a -128 1520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-216.1) cvn H.B /DEST pdfmark end
-128 1520
a 0 0 0 TeXcolorrgb Fo(lookup)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(FiniteMap)p Black 43 w(->)p 0 0 0 TeXcolorrgb
45 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Maybe)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
-153 1572 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1727 a FA(The)h(lookup)e(returns)i Ft(Nothing)f
FA(if)h(the)g(supplied)f(k)o(e)o(y)h(is)h(not)e(in)h(the)h(domain)d(of)
i(the)g(mapping,)e(and)i Ft(\(Just)49 b(v\))19 b FA(otherwise,)f(where)
h Ft(v)g FA(is)h(the)-128 1826 y(v)n(alue)g(that)g(the)g(k)o(e)o(y)g
(maps)g(to.)25 b(No)n(w)20 b(consider)f(the)h(follo)n(wing)f
(de\002nition:)-128 1884 y
SDict begin H.S end
-128 1884 a -128 1884 a
SDict begin 12 H.A end
-128
1884 a -128 1884 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-217) cvn H.B /DEST pdfmark end
-128 1884 a 0.95 TeXcolorgray -153
1899 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1991 25 92 v Black 0.95
TeXcolorgray -128 1991 4252 92 v Black 0.95 TeXcolorgray
4124 1991 25 92 v Black 0.95 TeXcolorgray Black -128
1963 a
SDict begin H.S end
-128 1963 a -128 1963 a
SDict begin 11 H.A end
-128 1963 a -128 1963
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.1) cvn H.B /DEST pdfmark end
-128 1963 a 0 0 0 TeXcolorrgb Fo(clunky)p Black 0 0 0
TeXcolorrgb 44 w(env)p Black 0 0 0 TeXcolorrgb 45 w(var1)p
Black 0 0 0 TeXcolorrgb 44 w(var2)p Black 44 w(|)p 0 0 0
TeXcolorrgb 45 w(ok1)p Black 44 w(&&)p 0 0 0 TeXcolorrgb
44 w(ok2)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(val1)p
Black 45 w(+)p 0 0 0 TeXcolorrgb 44 w(val2)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2082 25 92
v Black 0.95 TeXcolorgray -128 2082 4252 92 v Black 0.95
TeXcolorgray 4124 2082 25 92 v Black 0.95 TeXcolorgray
Black -128 2054 a
SDict begin H.S end
-128 2054 a -128 2054 a
SDict begin 11 H.A end
-128 2054 a
-128 2054 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.2) cvn H.B /DEST pdfmark end
-128 2054 a Fo(|)p 0 0 0 TeXcolorrgb 45 w(otherwise)p
Black 88 w(=)p 0 0 0 TeXcolorrgb 45 w(var1)p Black 44
w(+)p 0 0 0 TeXcolorrgb 45 w(var2)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2173 25 92 v Black 0.95
TeXcolorgray -128 2173 4252 92 v Black 0.95 TeXcolorgray
4124 2173 25 92 v Black 0.95 TeXcolorgray Black -128
2146 a
SDict begin H.S end
-128 2146 a -128 2146 a
SDict begin 11 H.A end
-128 2146 a -128 2146
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.3) cvn H.B /DEST pdfmark end
-128 2146 a 0 0 0 TeXcolorrgb Fo(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2265 25 92
v Black 0.95 TeXcolorgray -128 2265 4252 92 v Black 0.95
TeXcolorgray 4124 2265 25 92 v Black 0.95 TeXcolorgray
Black -128 2237 a
SDict begin H.S end
-128 2237 a -128 2237 a
SDict begin 11 H.A end
-128 2237 a
-128 2237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.4) cvn H.B /DEST pdfmark end
-128 2237 a 0 0 0 TeXcolorrgb 90 w Fo(m1)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(lookup)p Black
0 0 0 TeXcolorrgb 44 w(env)p Black 0 0 0 TeXcolorrgb
44 w(var1)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2356 25 92 v Black 0.95 TeXcolorgray -128 2356 4252
92 v Black 0.95 TeXcolorgray 4124 2356 25 92 v Black
0.95 TeXcolorgray Black -128 2328 a
SDict begin H.S end
-128 2328 a -128
2328 a
SDict begin 11 H.A end
-128 2328 a -128 2328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.5) cvn H.B /DEST pdfmark end
-128 2328 a 0 0 0 TeXcolorrgb
90 w Fo(m2)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(lookup)p
Black 0 0 0 TeXcolorrgb 44 w(env)p Black 0 0 0 TeXcolorrgb
44 w(var2)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2447 25 92 v Black 0.95 TeXcolorgray -128 2447 4252
92 v Black 0.95 TeXcolorgray 4124 2447 25 92 v Black
0.95 TeXcolorgray Black -128 2420 a
SDict begin H.S end
-128 2420 a -128
2420 a
SDict begin 11 H.A end
-128 2420 a -128 2420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.6) cvn H.B /DEST pdfmark end
-128 2420 a 0 0 0 TeXcolorrgb
90 w Fo(ok1)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(maybeToBool)p
Black 0 0 0 TeXcolorrgb 43 w(m1)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2538 25 92 v Black 0.95
TeXcolorgray -128 2538 4252 92 v Black 0.95 TeXcolorgray
4124 2538 25 92 v Black 0.95 TeXcolorgray Black -128
2511 a
SDict begin H.S end
-128 2511 a -128 2511 a
SDict begin 11 H.A end
-128 2511 a -128 2511
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.7) cvn H.B /DEST pdfmark end
-128 2511 a 0 0 0 TeXcolorrgb 90 w Fo(ok2)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(maybeToBool)p Black 0 0 0
TeXcolorrgb 43 w(m2)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2630 25 92 v Black 0.95 TeXcolorgray
-128 2630 4252 92 v Black 0.95 TeXcolorgray 4124 2630
25 92 v Black 0.95 TeXcolorgray Black -128 2602 a
SDict begin H.S end
-128
2602 a -128 2602 a
SDict begin 11 H.A end
-128 2602 a -128 2602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.8) cvn H.B /DEST pdfmark end
-128 2602
a 0 0 0 TeXcolorrgb 90 w Fo(val1)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(expectJust)p Black 0 0 0 TeXcolorrgb
43 w(m1)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2721 25 92 v Black 0.95 TeXcolorgray -128 2721 4252
92 v Black 0.95 TeXcolorgray 4124 2721 25 92 v Black
0.95 TeXcolorgray Black -128 2694 a
SDict begin H.S end
-128 2694 a -128
2694 a
SDict begin 11 H.A end
-128 2694 a -128 2694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-217.9) cvn H.B /DEST pdfmark end
-128 2694 a 0 0 0 TeXcolorrgb
90 w Fo(val2)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(expectJust)p
Black 0 0 0 TeXcolorrgb 43 w(m2)p Black 0.95 TeXcolorgray
-153 2746 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2900 a FA(The)h(auxiliary)f(functions)g(are)-128
2958 y
SDict begin H.S end
-128 2958 a -128 2958 a
SDict begin 12 H.A end
-128 2958 a -128 2958
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-218) cvn H.B /DEST pdfmark end
-128 2958 a 0.95 TeXcolorgray -153 2973 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3065 25 92 v Black 0.95 TeXcolorgray
-128 3065 4252 92 v Black 0.95 TeXcolorgray 4124 3065
25 92 v Black 0.95 TeXcolorgray Black -128 3037 a
SDict begin H.S end
-128
3037 a -128 3037 a
SDict begin 11 H.A end
-128 3037 a -128 3037 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.1) cvn H.B /DEST pdfmark end
-128 3037
a 0 0 0 TeXcolorrgb Fo(maybeToBool)p Black 43 w(::)p
0 0 0 TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Bool)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3156 25 92 v Black 0.95 TeXcolorgray -128 3156 4252 92
v Black 0.95 TeXcolorgray 4124 3156 25 92 v Black 0.95
TeXcolorgray Black -128 3129 a
SDict begin H.S end
-128 3129 a -128 3129
a
SDict begin 11 H.A end
-128 3129 a -128 3129 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.2) cvn H.B /DEST pdfmark end
-128 3129 a 0 0 0 TeXcolorrgb
Fo(maybeToBool)p Black 43 w(\()p 0 0 0 TeXcolorrgb(Just)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black(\))45 b(=)p 0 0 0
TeXcolorrgb 45 w(True)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3247 25 92 v Black 0.95 TeXcolorgray
-128 3247 4252 92 v Black 0.95 TeXcolorgray 4124 3247
25 92 v Black 0.95 TeXcolorgray Black -128 3220 a
SDict begin H.S end
-128
3220 a -128 3220 a
SDict begin 11 H.A end
-128 3220 a -128 3220 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.3) cvn H.B /DEST pdfmark end
-128 3220
a 0 0 0 TeXcolorrgb Fo(maybeToBool)p Black 0 0 0 TeXcolorrgb
43 w(Nothing)p Black 89 w(=)p 0 0 0 TeXcolorrgb 45 w(False)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3339 25 92 v Black 0.95 TeXcolorgray -128 3339 4252 92
v Black 0.95 TeXcolorgray 4124 3339 25 92 v Black 0.95
TeXcolorgray Black -128 3311 a
SDict begin H.S end
-128 3311 a -128 3311
a
SDict begin 11 H.A end
-128 3311 a -128 3311 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.4) cvn H.B /DEST pdfmark end
-128 3311 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3430 25 92 v Black 0.95
TeXcolorgray -128 3430 4252 92 v Black 0.95 TeXcolorgray
4124 3430 25 92 v Black 0.95 TeXcolorgray Black -128
3403 a
SDict begin H.S end
-128 3403 a -128 3403 a
SDict begin 11 H.A end
-128 3403 a -128 3403
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.5) cvn H.B /DEST pdfmark end
-128 3403 a 0 0 0 TeXcolorrgb Fo(expectJust)p Black
44 w(::)p 0 0 0 TeXcolorrgb 44 w(Maybe)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3521 25 92 v Black 0.95 TeXcolorgray -128 3521 4252
92 v Black 0.95 TeXcolorgray 4124 3521 25 92 v Black
0.95 TeXcolorgray Black -128 3494 a
SDict begin H.S end
-128 3494 a -128
3494 a
SDict begin 11 H.A end
-128 3494 a -128 3494 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.6) cvn H.B /DEST pdfmark end
-128 3494 a 0 0 0 TeXcolorrgb
Fo(expectJust)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1
w(Just)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black -1 w(\))g(=)p
0 0 0 TeXcolorrgb 45 w(x)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3613 25 92 v Black 0.95 TeXcolorgray
-128 3613 4252 92 v Black 0.95 TeXcolorgray 4124 3613
25 92 v Black 0.95 TeXcolorgray Black -128 3585 a
SDict begin H.S end
-128
3585 a -128 3585 a
SDict begin 11 H.A end
-128 3585 a -128 3585 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-218.7) cvn H.B /DEST pdfmark end
-128 3585
a 0 0 0 TeXcolorrgb Fo(expectJust)p Black 0 0 0 TeXcolorrgb
44 w(Nothing)p Black 88 w(=)p 0 0 0 TeXcolorrgb 45 w(error)p
Black 44 w(")p 0 0 0 TeXcolorrgb(Unexpected)p Black 0 0 0
TeXcolorrgb 43 w(Nothing)p Black -1 w(")p 0.95 TeXcolorgray
-153 3638 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3792 a FA(What)23 b(is)g Ft(clunky)e FA(doing?)30
b(The)21 b(guard)g Ft(ok1)49 b(&&)h(ok2)22 b FA(checks)f(that)h(both)f
(lookups)g(succeed,)h(using)f Ft(maybeToBool)g FA(to)h(con)m(v)o(ert)e
(the)i Ft(M-)-128 3892 y(aybe)e FA(types)g(to)g(booleans.)j(The)d
(\(lazily)g(e)n(v)n(aluated\))e Ft(expectJust)g FA(calls)j(e)o(xtract)e
(the)h(v)n(alues)f(from)g(the)h(results)g(of)g(the)g(lookups,)e(and)i
(binds)-128 3991 y(the)j(returned)e(v)n(alues)h(to)h
Ft(val1)f FA(and)g Ft(val2)g FA(respecti)n(v)o(ely)-5
b(.)30 b(If)23 b(either)f(lookup)f(f)o(ails,)i(then)f(clunk)o(y)f(tak)o
(es)i(the)f Ft(otherwise)g FA(case)h(and)f(returns)-128
4091 y(the)f(sum)f(of)g(its)h(ar)o(guments.)-128 4230
y(This)k(is)g(certainly)f(le)o(gal)g(Hask)o(ell,)h(b)n(ut)g(it)g(is)g
(a)g(tremendously)d(v)o(erbose)h(and)h(un-ob)o(vious)d(w)o(ay)k(to)f
(achie)n(v)o(e)g(the)g(desired)g(ef)n(fect.)37 b(Ar)o(guably)-5
b(,)23 b(a)-128 4330 y(more)d(direct)g(w)o(ay)g(to)g(write)h(clunk)o(y)
d(w)o(ould)i(be)g(to)g(use)g(case)h(e)o(xpressions:)-128
4388 y
SDict begin H.S end
-128 4388 a -128 4388 a
SDict begin 12 H.A end
-128 4388 a -128 4388
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-219) cvn H.B /DEST pdfmark end
-128 4388 a 0.95 TeXcolorgray -153 4403 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4494 25 92 v Black 0.95 TeXcolorgray
-128 4494 4252 92 v Black 0.95 TeXcolorgray 4124 4494
25 92 v Black 0.95 TeXcolorgray Black -128 4467 a
SDict begin H.S end
-128
4467 a -128 4467 a
SDict begin 11 H.A end
-128 4467 a -128 4467 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.1) cvn H.B /DEST pdfmark end
-128 4467
a 0 0 0 TeXcolorrgb Fo(clunky)p Black 0 0 0 TeXcolorrgb
44 w(env)p Black 0 0 0 TeXcolorrgb 45 w(var1)p Black
0 0 0 TeXcolorrgb 44 w(var2)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(case)p Black 0 0 0 TeXcolorrgb 44 w(lookup)p Black
0 0 0 TeXcolorrgb 44 w(env)p Black 0 0 0 TeXcolorrgb
44 w(var1)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4586 25 92
v Black 0.95 TeXcolorgray -128 4586 4252 92 v Black 0.95
TeXcolorgray 4124 4586 25 92 v Black 0.95 TeXcolorgray
Black -128 4558 a
SDict begin H.S end
-128 4558 a -128 4558 a
SDict begin 11 H.A end
-128 4558 a
-128 4558 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.2) cvn H.B /DEST pdfmark end
-128 4558 a 0 0 0 TeXcolorrgb 90 w Fo(Nothing)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(fail)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4677 25 92
v Black 0.95 TeXcolorgray -128 4677 4252 92 v Black 0.95
TeXcolorgray 4124 4677 25 92 v Black 0.95 TeXcolorgray
Black -128 4650 a
SDict begin H.S end
-128 4650 a -128 4650 a
SDict begin 11 H.A end
-128 4650 a
-128 4650 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.3) cvn H.B /DEST pdfmark end
-128 4650 a 0 0 0 TeXcolorrgb 90 w Fo(Just)p
Black 0 0 0 TeXcolorrgb 44 w(val1)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(case)p Black 0 0 0 TeXcolorrgb 44 w(lookup)p
Black 0 0 0 TeXcolorrgb 44 w(env)p Black 0 0 0 TeXcolorrgb
44 w(var2)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4768 25 92
v Black 0.95 TeXcolorgray -128 4768 4252 92 v Black 0.95
TeXcolorgray 4124 4768 25 92 v Black 0.95 TeXcolorgray
Black -128 4741 a
SDict begin H.S end
-128 4741 a -128 4741 a
SDict begin 11 H.A end
-128 4741 a
-128 4741 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.4) cvn H.B /DEST pdfmark end
-128 4741 a 0 0 0 TeXcolorrgb 180 w Fo(Nothing)p
Black 43 w(->)p 0 0 0 TeXcolorrgb 45 w(fail)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4860 25 92
v Black 0.95 TeXcolorgray -128 4860 4252 92 v Black 0.95
TeXcolorgray 4124 4860 25 92 v Black 0.95 TeXcolorgray
Black -128 4832 a
SDict begin H.S end
-128 4832 a -128 4832 a
SDict begin 11 H.A end
-128 4832 a
-128 4832 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.5) cvn H.B /DEST pdfmark end
-128 4832 a 0 0 0 TeXcolorrgb 180 w Fo(Just)p
Black 0 0 0 TeXcolorrgb 44 w(val2)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(val1)p Black 44 w(+)p 0 0 0 TeXcolorrgb
44 w(val2)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4951 25 92 v Black 0.95 TeXcolorgray -128 4951 4252
92 v Black 0.95 TeXcolorgray 4124 4951 25 92 v Black
0.95 TeXcolorgray Black -128 4924 a
SDict begin H.S end
-128 4924 a -128
4924 a
SDict begin 11 H.A end
-128 4924 a -128 4924 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.6) cvn H.B /DEST pdfmark end
-128 4924 a 0 0 0 TeXcolorrgb
Fo(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5042 25 92 v Black 0.95 TeXcolorgray -128 5042 4252
92 v Black 0.95 TeXcolorgray 4124 5042 25 92 v Black
0.95 TeXcolorgray Black -128 5015 a
SDict begin H.S end
-128 5015 a -128
5015 a
SDict begin 11 H.A end
-128 5015 a -128 5015 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-219.7) cvn H.B /DEST pdfmark end
-128 5015 a 0 0 0 TeXcolorrgb
90 w Fo(fail)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(var1)p
Black 44 w(+)p 0 0 0 TeXcolorrgb 45 w(var2)p Black 0.95
TeXcolorgray -153 5067 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5222 a FA(This)h(is)h(a)f(bit)g(shorter)m(,)e(b)
n(ut)i(hardly)e(better)-5 b(.)30 b(Of)22 b(course,)f(we)h(can)f(re)n
(write)g(an)o(y)g(set)i(of)e(pattern-matching,)e(guarded)g(equations)i
(as)h(case)g(e)o(xpres-)-128 5321 y(sions;)j(that)e(is)h(precisely)e
(what)h(the)g(compiler)f(does)h(when)f(compiling)g(equations!)32
b(The)22 b(reason)h(that)g(Hask)o(ell)g(pro)o(vides)e(guarded)g
(equations)-128 5421 y(is)i(because)e(the)o(y)g(allo)n(w)h(us)g(to)f
(write)h(do)n(wn)f(the)g(cases)i(we)f(w)o(ant)g(to)f(consider)m(,)g
(one)g(at)h(a)g(time,)g(independently)d(of)i(each)g(other)-5
b(.)29 b(This)22 b(structure)-128 5520 y(is)f(hidden)e(in)h(the)g(case)
g(v)o(ersion.)k(T)-7 b(w)o(o)20 b(of)g(the)g(right-hand)d(sides)k(are)f
(really)f(the)h(same)g(\()p Ft(fail)p FA(\),)f(and)h(the)g(whole)f(e)o
(xpression)f(tends)i(to)g(become)-128 5620 y(more)g(and)f(more)h
(indented.)-128 5759 y(Here)h(is)g(ho)n(w)e(I)i(w)o(ould)e(write)i
(clunk)o(y:)p Black -128 6084 4252 5 v Black eop end
%%Page: 121 136
TeXDict begin 121 135 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.121) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(121)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-220) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-220.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(clunky)p Black 0 0 0 TeXcolorrgb 44 w(env)p Black
0 0 0 TeXcolorrgb 45 w(var1)p Black 0 0 0 TeXcolorrgb
44 w(var2)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-220.2) cvn H.B /DEST pdfmark end
-128 328 a 90 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(Just)p Black 0 0 0 TeXcolorrgb 44 w(val1)p Black
44 w(<-)p 0 0 0 TeXcolorrgb 45 w(lookup)p Black 0 0 0
TeXcolorrgb 43 w(env)p Black 0 0 0 TeXcolorrgb 45 w(var1)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
447 25 92 v Black 0.95 TeXcolorgray -128 447 4252 92
v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128
420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-220.3) cvn H.B /DEST pdfmark end
-128 420 a 90 w Fo(,)p 0 0 0 TeXcolorrgb
45 w(Just)p Black 0 0 0 TeXcolorrgb 44 w(val2)p Black
44 w(<-)p 0 0 0 TeXcolorrgb 45 w(lookup)p Black 0 0 0
TeXcolorrgb 43 w(env)p Black 0 0 0 TeXcolorrgb 45 w(var2)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
538 25 92 v Black 0.95 TeXcolorgray -128 538 4252 92
v Black 0.95 TeXcolorgray 4124 538 25 92 v Black 0.95
TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511 a -128 511 a
SDict begin 11 H.A end
-128
511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-220.4) cvn H.B /DEST pdfmark end
-128 511 a 90 w Fo(=)p 0 0 0 TeXcolorrgb
45 w(val1)p Black 44 w(+)p 0 0 0 TeXcolorrgb 45 w(val2)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
630 25 92 v Black 0.95 TeXcolorgray -128 630 4252 92
v Black 0.95 TeXcolorgray 4124 630 25 92 v Black 0.95
TeXcolorgray Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128
602 a -128 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-220.5) cvn H.B /DEST pdfmark end
-128 602 a Fo(...)p 0 0 0 TeXcolorrgb(other)p
Black 0 0 0 TeXcolorrgb 44 w(equations)p Black 0 0 0
TeXcolorrgb 43 w(for)p Black 0 0 0 TeXcolorrgb 45 w(clunky)p
Black -1 w(...)p 0.95 TeXcolorgray -153 655 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 817 a
FA(The)i(semantics)g(should)g(be)g(clear)g(enough.)28
b(The)22 b(quali\002ers)g(are)g(matched)f(in)h(order)-5
b(.)30 b(F)o(or)22 b(a)h Ft(<-)f FA(quali\002er)m(,)g(which)f(I)h(call)
h(a)g(pattern)e(guard,)g(the)-128 917 y(right)f(hand)f(side)i(is)g(e)n
(v)n(aluated)e(and)g(matched)g(against)h(the)g(pattern)f(on)h(the)g
(left.)26 b(If)20 b(the)g(match)g(f)o(ails)g(then)g(the)g(whole)g
(guard)f(f)o(ails)i(and)e(the)i(ne)o(xt)-128 1016 y(equation)k(is)i
(tried.)42 b(If)26 b(it)g(succeeds,)h(then)e(the)h(appropriate)e
(binding)g(tak)o(es)i(place,)h(and)f(the)g(ne)o(xt)f(quali\002er)g(is)i
(matched,)f(in)g(the)g(augmented)-128 1116 y(en)m(vironment.)34
b(Unlik)o(e)24 b(list)h(comprehensions,)d(ho)n(we)n(v)o(er)m(,)h(the)h
(type)f(of)h(the)g(e)o(xpression)f(to)h(the)g(right)g(of)g(the)g
Ft(<-)g FA(is)h(the)f(same)h(as)f(the)h(type)e(of)-128
1216 y(the)e(pattern)e(to)i(its)g(left.)k(The)20 b(bindings)f
(introduced)f(by)i(pattern)f(guards)h(scope)g(o)o(v)o(er)e(all)j(the)g
(remaining)d(guard)h(quali\002ers,)h(and)f(o)o(v)o(er)g(the)i(right)
-128 1315 y(hand)f(side)g(of)g(the)g(equation.)-128 1459
y(Just)h(as)g(with)g(list)g(comprehensions,)c(boolean)i(e)o(xpressions)
f(can)i(be)h(freely)e(mix)o(ed)g(with)h(among)f(the)h(pattern)g
(guards.)j(F)o(or)d(e)o(xample:)-128 1521 y
SDict begin H.S end
-128 1521
a -128 1521 a
SDict begin 12 H.A end
-128 1521 a -128 1521 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-221) cvn H.B /DEST pdfmark end
-128 1521 a 0.95
TeXcolorgray -153 1536 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1627 25 92 v Black 0.95 TeXcolorgray -128 1627 4252 92
v Black 0.95 TeXcolorgray 4124 1627 25 92 v Black 0.95
TeXcolorgray Black -128 1600 a
SDict begin H.S end
-128 1600 a -128 1600
a
SDict begin 11 H.A end
-128 1600 a -128 1600 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-221.1) cvn H.B /DEST pdfmark end
-128 1600 a 0 0 0 TeXcolorrgb
Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(|)44
b([)p 0 0 0 TeXcolorrgb(y)p Black(])h(<-)p 0 0 0 TeXcolorrgb
44 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1719 25 92 v Black 0.95 TeXcolorgray -128 1719 4252
92 v Black 0.95 TeXcolorgray 4124 1719 25 92 v Black
0.95 TeXcolorgray Black -128 1691 a
SDict begin H.S end
-128 1691 a -128
1691 a
SDict begin 11 H.A end
-128 1691 a -128 1691 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-221.2) cvn H.B /DEST pdfmark end
-128 1691 a 180 w Fo(,)p
0 0 0 TeXcolorrgb 44 w(y)p Black 45 w(>)g(3)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1810 25 92 v Black 0.95
TeXcolorgray -128 1810 4252 92 v Black 0.95 TeXcolorgray
4124 1810 25 92 v Black 0.95 TeXcolorgray Black -128
1783 a
SDict begin H.S end
-128 1783 a -128 1783 a
SDict begin 11 H.A end
-128 1783 a -128 1783
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-221.3) cvn H.B /DEST pdfmark end
-128 1783 a 180 w Fo(,)p 0 0 0 TeXcolorrgb 44 w(Just)p
Black 0 0 0 TeXcolorrgb 45 w(z)p Black 44 w(<-)p 0 0 0
TeXcolorrgb 45 w(h)p Black 0 0 0 TeXcolorrgb 44 w(y)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1901 25 92 v Black 0.95 TeXcolorgray -128 1901 4252 92
v Black 0.95 TeXcolorgray 4124 1901 25 92 v Black 0.95
TeXcolorgray Black -128 1874 a
SDict begin H.S end
-128 1874 a -128 1874
a
SDict begin 11 H.A end
-128 1874 a -128 1874 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-221.4) cvn H.B /DEST pdfmark end
-128 1874 a 180 w Fo(=)f(...)p
0.95 TeXcolorgray -153 1926 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2089 a FA(Hask)o(ell')-5 b(s)20
b(current)e(guards)f(therefore)g(emer)o(ge)h(as)h(a)h(special)f(case,)g
(in)g(which)f(the)h(quali\002er)f(list)i(has)f(just)h(one)e(element,)g
(a)i(boolean)d(e)o(xpression.)-128 2220 y
SDict begin H.S end
-128 2220 a
-128 2220 a
SDict begin 12 H.A end
-128 2220 a -128 2220 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.5) cvn H.B /DEST pdfmark end
-128 2220 a Black
142 x Fp(7.3.5)p Black 90 w(Vie)o(w)23 b(patterns)-128
2451 y
SDict begin H.S end
-128 2451 a -128 2451 a
SDict begin 12 H.A end
-128 2451 a -128 2451
a
SDict begin [ /View [/XYZ H.V] /Dest (view-patterns) cvn H.B /DEST pdfmark end
-128 2451 a 109 x FA(V)-5 b(ie)n(w)25 b(patterns)f(are)g(enabled)g
(by)g(the)g(\003ag)h Ft(-XViewPatterns)p FA(.)35 b(More)24
b(information)e(and)i(e)o(xamples)g(of)g(vie)n(w)g(patterns)g(can)g(be)
h(found)d(on)-128 2659 y(the)p 0 1 0 0 TeXcolorcmyk -5
2677 a
SDict begin H.S end
-5 2677 a 0 1 0 0 TeXcolorcmyk -18 x FA(W)m(iki)e(page)p
0 1 0 0 TeXcolorcmyk 335 2603 a
SDict begin H.R end
335 2603 a 335 2659 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/ghc/wiki/ViewPatterns) >> /Subtype /Link H.B /ANN pdfmark end
335 2659 a Black FA(.)-128 2803 y(V)-5 b(ie)n(w)20 b(patterns)f(are)g
(some)n(what)f(lik)o(e)i(pattern)e(guards)g(that)h(can)g(be)g(nested)g
(inside)g(of)g(other)g(patterns.)24 b(The)o(y)18 b(are)h(a)h(con)m(v)o
(enient)c(w)o(ay)j(of)g(pattern-)-128 2902 y(matching)26
b(against)h(v)n(alues)g(of)g(abstract)g(types.)46 b(F)o(or)27
b(e)o(xample,)g(in)h(a)g(programming)23 b(language)j(implementation,)h
(we)g(might)g(represent)f(the)-128 3002 y(syntax)20 b(of)g(the)g(types)
g(of)g(the)g(language)f(as)i(follo)n(ws:)-128 3064 y
SDict begin H.S end
-128 3064 a -128 3064 a
SDict begin 12 H.A end
-128 3064 a -128 3064 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-222) cvn H.B /DEST pdfmark end
-128
3064 a 0.95 TeXcolorgray -153 3079 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3170 25 92 v Black 0.95 TeXcolorgray -128 3170 4252
92 v Black 0.95 TeXcolorgray 4124 3170 25 92 v Black
0.95 TeXcolorgray Black -128 3143 a
SDict begin H.S end
-128 3143 a -128
3143 a
SDict begin 11 H.A end
-128 3143 a -128 3143 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.1) cvn H.B /DEST pdfmark end
-128 3143 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(Typ)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3262 25 92
v Black 0.95 TeXcolorgray -128 3262 4252 92 v Black 0.95
TeXcolorgray 4124 3262 25 92 v Black 0.95 TeXcolorgray
Black -128 3234 a
SDict begin H.S end
-128 3234 a -128 3234 a
SDict begin 11 H.A end
-128 3234 a
-128 3234 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.2) cvn H.B /DEST pdfmark end
-128 3234 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3353 25 92 v Black 0.95 TeXcolorgray
-128 3353 4252 92 v Black 0.95 TeXcolorgray 4124 3353
25 92 v Black 0.95 TeXcolorgray Black -128 3326 a
SDict begin H.S end
-128
3326 a -128 3326 a
SDict begin 11 H.A end
-128 3326 a -128 3326 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.3) cvn H.B /DEST pdfmark end
-128 3326
a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(TypView)p Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(Unit)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3444 25 92 v Black 0.95 TeXcolorgray -128 3444 4252 92
v Black 0.95 TeXcolorgray 4124 3444 25 92 v Black 0.95
TeXcolorgray Black -128 3417 a
SDict begin H.S end
-128 3417 a -128 3417
a
SDict begin 11 H.A end
-128 3417 a -128 3417 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.4) cvn H.B /DEST pdfmark end
-128 3417 a 583 w Fo(|)p 0 0 0
TeXcolorrgb 45 w(Arrow)p Black 0 0 0 TeXcolorrgb 44 w(Typ)p
Black 0 0 0 TeXcolorrgb 44 w(Typ)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3536 25 92 v Black 0.95
TeXcolorgray -128 3536 4252 92 v Black 0.95 TeXcolorgray
4124 3536 25 92 v Black 0.95 TeXcolorgray Black -128
3508 a
SDict begin H.S end
-128 3508 a -128 3508 a
SDict begin 11 H.A end
-128 3508 a -128 3508
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.5) cvn H.B /DEST pdfmark end
-128 3508 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3627 25 92 v Black 0.95 TeXcolorgray -128 3627 4252
92 v Black 0.95 TeXcolorgray 4124 3627 25 92 v Black
0.95 TeXcolorgray Black -128 3600 a
SDict begin H.S end
-128 3600 a -128
3600 a
SDict begin 11 H.A end
-128 3600 a -128 3600 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.6) cvn H.B /DEST pdfmark end
-128 3600 a 0 0 0 TeXcolorrgb
Fo(view)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Type)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(TypeView)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3718 25
92 v Black 0.95 TeXcolorgray -128 3718 4252 92 v Black
0.95 TeXcolorgray 4124 3718 25 92 v Black 0.95 TeXcolorgray
Black -128 3691 a
SDict begin H.S end
-128 3691 a -128 3691 a
SDict begin 11 H.A end
-128 3691 a
-128 3691 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.7) cvn H.B /DEST pdfmark end
-128 3691 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3810 25 92 v Black 0.95 TeXcolorgray
-128 3810 4252 92 v Black 0.95 TeXcolorgray 4124 3810
25 92 v Black 0.95 TeXcolorgray Black -128 3782 a
SDict begin H.S end
-128
3782 a -128 3782 a
SDict begin 11 H.A end
-128 3782 a -128 3782 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-222.8) cvn H.B /DEST pdfmark end
-128 3782
a Fo(--)p 0 0 0 TeXcolorrgb 45 w(additional)p Black 0 0 0
TeXcolorrgb 43 w(operations)p Black 0 0 0 TeXcolorrgb
43 w(for)p Black 0 0 0 TeXcolorrgb 45 w(constructing)p
Black 0 0 0 TeXcolorrgb 42 w(Typ)p Black(')p 0 0 0 TeXcolorrgb(s)p
Black 44 w(...)p 0.95 TeXcolorgray -153 3834 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3997
a FA(The)16 b(representation)e(of)i(T)-7 b(yp)16 b(is)h(held)f
(abstract,)g(permitting)f(implementations)f(to)i(use)h(a)f(f)o(anc)o(y)
f(representation)f(\(e.g.,)i(hash-consing)e(to)i(manage)-128
4097 y(sharing\).)24 b(W)m(ithout)c(vie)n(w)g(patterns,)f(using)h(this)
g(signature)f(a)i(little)g(incon)m(v)o(enient:)-128 4158
y
SDict begin H.S end
-128 4158 a -128 4158 a
SDict begin 12 H.A end
-128 4158 a -128 4158 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-223) cvn H.B /DEST pdfmark end
-128
4158 a 0.95 TeXcolorgray -153 4174 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4265 25 92 v Black 0.95 TeXcolorgray -128 4265 4252
92 v Black 0.95 TeXcolorgray 4124 4265 25 92 v Black
0.95 TeXcolorgray Black -128 4238 a
SDict begin H.S end
-128 4238 a -128
4238 a
SDict begin 11 H.A end
-128 4238 a -128 4238 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-223.1) cvn H.B /DEST pdfmark end
-128 4238 a 0 0 0 TeXcolorrgb
Fo(size)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Typ)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Integer)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4356 25
92 v Black 0.95 TeXcolorgray -128 4356 4252 92 v Black
0.95 TeXcolorgray 4124 4356 25 92 v Black 0.95 TeXcolorgray
Black -128 4329 a
SDict begin H.S end
-128 4329 a -128 4329 a
SDict begin 11 H.A end
-128 4329 a
-128 4329 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-223.2) cvn H.B /DEST pdfmark end
-128 4329 a 0 0 0 TeXcolorrgb Fo(size)p Black
0 0 0 TeXcolorrgb 45 w(t)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(case)p Black 0 0 0 TeXcolorrgb 44 w(view)p Black
0 0 0 TeXcolorrgb 44 w(t)p Black 0 0 0 TeXcolorrgb 45
w(of)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4448 25 92 v Black 0.95 TeXcolorgray -128 4448 4252
92 v Black 0.95 TeXcolorgray 4124 4448 25 92 v Black
0.95 TeXcolorgray Black -128 4420 a
SDict begin H.S end
-128 4420 a -128
4420 a
SDict begin 11 H.A end
-128 4420 a -128 4420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-223.3) cvn H.B /DEST pdfmark end
-128 4420 a 0 0 0 TeXcolorrgb
90 w Fo(Unit)p Black 44 w(->)45 b(1)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4539 25 92 v Black 0.95
TeXcolorgray -128 4539 4252 92 v Black 0.95 TeXcolorgray
4124 4539 25 92 v Black 0.95 TeXcolorgray Black -128
4512 a
SDict begin H.S end
-128 4512 a -128 4512 a
SDict begin 11 H.A end
-128 4512 a -128 4512
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-223.4) cvn H.B /DEST pdfmark end
-128 4512 a 0 0 0 TeXcolorrgb 90 w Fo(Arrow)p Black
0 0 0 TeXcolorrgb 44 w(t1)p Black 0 0 0 TeXcolorrgb 45
w(t2)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(size)p
Black 0 0 0 TeXcolorrgb 44 w(t1)p Black 44 w(+)p 0 0 0
TeXcolorrgb 45 w(size)p Black 0 0 0 TeXcolorrgb 44 w(t2)p
Black 0.95 TeXcolorgray -153 4564 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 4726 a FA(It)24 b(is)g(necessary)f
(to)g(iterate)g(the)h(case,)g(rather)e(than)h(using)g(an)g(equational)e
(function)h(de\002nition.)33 b(And)23 b(the)g(situation)g(is)h(e)n(v)o
(en)e(w)o(orse)h(when)g(the)-128 4826 y(matching)c(against)h
Ft(t)g FA(is)h(b)n(uried)f(deep)f(inside)h(another)f(pattern.)-128
4970 y(V)-5 b(ie)n(w)21 b(patterns)f(permit)f(calling)h(the)g(vie)n(w)g
(function)f(inside)h(the)g(pattern)f(and)h(matching)f(against)g(the)h
(result:)-128 5031 y
SDict begin H.S end
-128 5031 a -128 5031 a
SDict begin 12 H.A end
-128 5031
a -128 5031 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-224) cvn H.B /DEST pdfmark end
-128 5031 a 0.95 TeXcolorgray -153 5047
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5138 25 92 v Black 0.95
TeXcolorgray -128 5138 4252 92 v Black 0.95 TeXcolorgray
4124 5138 25 92 v Black 0.95 TeXcolorgray Black -128
5111 a
SDict begin H.S end
-128 5111 a -128 5111 a
SDict begin 11 H.A end
-128 5111 a -128 5111
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-224.1) cvn H.B /DEST pdfmark end
-128 5111 a 0 0 0 TeXcolorrgb Fo(size)p Black 45 w(\()p
0 0 0 TeXcolorrgb -1 w(view)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Unit)p Black -1 w(\))45 b(=)g(1)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5229 25 92 v Black 0.95
TeXcolorgray -128 5229 4252 92 v Black 0.95 TeXcolorgray
4124 5229 25 92 v Black 0.95 TeXcolorgray Black -128
5202 a
SDict begin H.S end
-128 5202 a -128 5202 a
SDict begin 11 H.A end
-128 5202 a -128 5202
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-224.2) cvn H.B /DEST pdfmark end
-128 5202 a 0 0 0 TeXcolorrgb Fo(size)p Black 45 w(\()p
0 0 0 TeXcolorrgb -1 w(view)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Arrow)p Black 0 0 0 TeXcolorrgb 44 w(t1)p Black
0 0 0 TeXcolorrgb 45 w(t2)p Black -1 w(\))g(=)p 0 0 0
TeXcolorrgb 45 w(size)p Black 0 0 0 TeXcolorrgb 44 w(t1)p
Black 44 w(+)p 0 0 0 TeXcolorrgb 45 w(size)p Black 0 0 0
TeXcolorrgb 44 w(t2)p Black 0.95 TeXcolorgray -153 5254
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5417 a FA(That)24 b(is,)i(we)e(add)g(a)g(ne)n(w)g(form)f(of)h(pattern,)
g(written)g Fr(expression)f Ft(->)h Fr(pattern)f FA(that)i(means)e
("apply)g(the)h(e)o(xpression)f(to)h(whate)n(v)o(er)f(we')l(re)-128
5516 y(trying)i(to)h(match)g(against,)g(and)f(then)h(match)f(the)h
(result)g(of)g(that)g(application)e(against)h(the)h(pattern".)41
b(The)26 b(e)o(xpression)e(can)i(be)g(an)o(y)f(Hask)o(ell)-128
5616 y(e)o(xpression)19 b(of)h(function)e(type,)i(and)g(vie)n(w)g
(patterns)f(can)h(be)g(used)g(where)n(v)o(er)f(patterns)g(are)h(used.)
-128 5759 y(The)g(semantics)g(of)g(a)h(pattern)e Ft(\()i
Fr(exp)g Ft(->)f Fr(pat)g Ft(\))h FA(are)f(as)h(follo)n(ws:)p
Black -128 6084 4252 5 v Black eop end
%%Page: 122 137
TeXDict begin 122 136 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.122) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(122)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(Scoping:)k(The)c(v)n(ariables)f(bound)g(by)g(the)i(vie)n(w)f
(pattern)f(are)h(the)g(v)n(ariables)g(bound)e(by)i Fr(pat)p
FA(.)-57 306 y(An)o(y)i(v)n(ariables)h(in)g Fr(exp)g
FA(are)g(bound)e(occurrences,)h(b)n(ut)h(v)n(ariables)f(bound)f("to)i
(the)g(left")g(in)h(a)f(pattern)f(are)h(in)g(scope.)33
b(This)24 b(feature)e(permits,)-57 406 y(for)e(e)o(xample,)f(one)h(ar)o
(gument)e(to)j(a)g(function)e(to)h(be)h(used)f(in)h(the)f(vie)n(w)h(of)
f(another)f(ar)o(gument.)24 b(F)o(or)c(e)o(xample,)f(the)h(function)f
Ft(clunky)h FA(from)-57 505 y(Section)p 1 0 0 TeXcolorrgb
213 506 a
SDict begin H.S end
213 506 a 1 0 0 TeXcolorrgb -1 x FA(7.3.4)p
1 0 0 TeXcolorrgb 379 449 a
SDict begin H.R end
379 449 a 379 505 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.4) cvn H.B /ANN pdfmark end
379 505
a Black 21 w FA(can)g(be)g(written)g(using)f(vie)n(w)h(patterns)g(as)h
(follo)n(ws:)-128 573 y
SDict begin H.S end
-128 573 a -128 573 a
SDict begin 12 H.A end
-128 573
a -128 573 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-225) cvn H.B /DEST pdfmark end
-128 573 a 0.95 TeXcolorgray -82 588 4232
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 680 25 92 v Black 0.95 TeXcolorgray
-57 680 4182 92 v Black 0.95 TeXcolorgray 4124 680 25
92 v Black 0.95 TeXcolorgray Black -57 652 a
SDict begin H.S end
-57 652
a -57 652 a
SDict begin 11 H.A end
-57 652 a -57 652 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-225.1) cvn H.B /DEST pdfmark end
-57 652 a 0 0 0 TeXcolorrgb
Fo(clunky)p Black 0 0 0 TeXcolorrgb 44 w(env)p Black
44 w(\()p 0 0 0 TeXcolorrgb(lookup)p Black 0 0 0 TeXcolorrgb
44 w(env)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Just)p
Black 0 0 0 TeXcolorrgb 44 w(val1)p Black -1 w(\))45
b(\()p 0 0 0 TeXcolorrgb(lookup)p Black 0 0 0 TeXcolorrgb
43 w(env)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Just)p
Black 0 0 0 TeXcolorrgb 44 w(val2)p Black(\))f(=)p 0 0 0
TeXcolorrgb 45 w(val1)p Black 44 w(+)p 0 0 0 TeXcolorrgb
45 w(val2)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 771 25 92 v Black 0.95 TeXcolorgray -57 771 4182
92 v Black 0.95 TeXcolorgray 4124 771 25 92 v Black 0.95
TeXcolorgray Black -57 744 a
SDict begin H.S end
-57 744 a -57 744 a
SDict begin 11 H.A end
-57
744 a -57 744 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-225.2) cvn H.B /DEST pdfmark end
-57 744 a Fo(...)p 0 0 0 TeXcolorrgb(other)p
Black 0 0 0 TeXcolorrgb 44 w(equations)p Black 0 0 0
TeXcolorrgb 43 w(for)p Black 0 0 0 TeXcolorrgb 44 w(clunky)p
Black -1 w(...)p 0.95 TeXcolorgray -82 796 4232 25 v
Black 0.95 TeXcolorgray Black Black Black -57 954 a FA(More)20
b(precisely)-5 b(,)18 b(the)j(scoping)e(rules)h(are:)p
Black -57 1120 a Fu(\226)p Black 41 w FA(In)g(a)h(single)f(pattern,)f
(v)n(ariables)g(bound)f(by)i(patterns)g(to)g(the)g(left)h(of)f(a)g(vie)
n(w)g(pattern)g(e)o(xpression)e(are)i(in)h(scope.)j(F)o(or)c(e)o
(xample:)-128 1187 y
SDict begin H.S end
-128 1187 a -128 1187 a
SDict begin 12 H.A end
-128 1187
a -128 1187 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-226) cvn H.B /DEST pdfmark end
-128 1187 a 0.95 TeXcolorgray 1 1203 4149
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 1 1294 25 92 v Black 0.95 TeXcolorgray
26 1294 4099 92 v Black 0.95 TeXcolorgray 4124 1294 25
92 v Black 0.95 TeXcolorgray Black 26 1267 a
SDict begin H.S end
26 1267
a 26 1267 a
SDict begin 11 H.A end
26 1267 a 26 1267 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-226.1) cvn H.B /DEST pdfmark end
26 1267 a 0 0 0 TeXcolorrgb
Fo(example)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(Maybe)p
Black 44 w(\(\()p 0 0 0 TeXcolorrgb(String)p Black 44
w(->)p 0 0 0 TeXcolorrgb 44 w(Integer)p Black -1 w(,)p
0 0 0 TeXcolorrgb(Integer)p Black -1 w(\))o(,)p 0 0 0
TeXcolorrgb 45 w(String)p Black -1 w(\))45 b(->)p 0 0 0
TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray 1 1385 25 92 v Black 0.95 TeXcolorgray
26 1385 4099 92 v Black 0.95 TeXcolorgray 4124 1385 25
92 v Black 0.95 TeXcolorgray Black 26 1358 a
SDict begin H.S end
26 1358
a 26 1358 a
SDict begin 11 H.A end
26 1358 a 26 1358 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-226.2) cvn H.B /DEST pdfmark end
26 1358 a 0 0 0 TeXcolorrgb
Fo(example)p Black 0 0 0 TeXcolorrgb 44 w(Just)p Black
44 w(\(\()p 0 0 0 TeXcolorrgb(f)p Black -1 w(,)p 0 0 0
TeXcolorrgb(_)p Black(\),)p 0 0 0 TeXcolorrgb 45 w(f)p
Black 44 w(->)g(4\))f(=)p 0 0 0 TeXcolorrgb 45 w(True)p
Black 0.95 TeXcolorgray 1 1410 4149 25 v Black 0.95 TeXcolorgray
Black Black Black 26 1551 a FA(Additionally)-5 b(,)26
b(in)g(function)f(de\002nitions,)i(v)n(ariables)e(bound)g(by)h
(matching)f(earlier)g(curried)h(ar)o(guments)e(may)i(be)g(used)g(in)h
(vie)n(w)f(pattern)26 1651 y(e)o(xpressions)19 b(in)h(later)h(ar)o
(guments:)-128 1719 y
SDict begin H.S end
-128 1719 a -128 1719 a
SDict begin 12 H.A end
-128 1719
a -128 1719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-227) cvn H.B /DEST pdfmark end
-128 1719 a 0.95 TeXcolorgray 1 1734 4149
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 1 1825 25 92 v Black 0.95 TeXcolorgray
26 1825 4099 92 v Black 0.95 TeXcolorgray 4124 1825 25
92 v Black 0.95 TeXcolorgray Black 26 1798 a
SDict begin H.S end
26 1798
a 26 1798 a
SDict begin 11 H.A end
26 1798 a 26 1798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-227.1) cvn H.B /DEST pdfmark end
26 1798 a 0 0 0 TeXcolorrgb
Fo(example)p Black 44 w(::)44 b(\()p 0 0 0 TeXcolorrgb(String)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Integer)p Black
-1 w(\))h(->)p 0 0 0 TeXcolorrgb 44 w(String)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 1 1917 25 92 v Black 0.95 TeXcolorgray
26 1917 4099 92 v Black 0.95 TeXcolorgray 4124 1917 25
92 v Black 0.95 TeXcolorgray Black 26 1889 a
SDict begin H.S end
26 1889
a 26 1889 a
SDict begin 11 H.A end
26 1889 a 26 1889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-227.2) cvn H.B /DEST pdfmark end
26 1889 a 0 0 0 TeXcolorrgb
Fo(example)p Black 0 0 0 TeXcolorrgb 44 w(f)p Black 44
w(\()p 0 0 0 TeXcolorrgb(f)p Black 45 w(->)f(4\))h(=)p
0 0 0 TeXcolorrgb 45 w(True)p Black 0.95 TeXcolorgray
1 1942 4149 25 v Black 0.95 TeXcolorgray Black Black
Black 26 2083 a FA(That)20 b(is,)h(the)f(scoping)f(is)i(the)f(same)h
(as)g(it)g(w)o(ould)e(be)h(if)h(the)f(curried)f(ar)o(guments)f(were)i
(collected)f(into)h(a)h(tuple.)p Black -57 2216 a Fu(\226)p
Black 41 w FA(In)26 b(mutually)f(recursi)n(v)o(e)f(bindings,)i(such)g
(as)h Ft(let)p FA(,)g Ft(where)p FA(,)g(or)f(the)g(top)g(le)n(v)o(el,)h
(vie)n(w)f(patterns)g(in)g(one)f(declaration)g(may)g(not)h(mention)26
2315 y(v)n(ariables)18 b(bound)f(by)h(other)f(declarations.)24
b(That)18 b(is,)h(each)g(declaration)e(must)h(be)h(self-contained.)j(F)
o(or)c(e)o(xample,)g(the)g(follo)n(wing)f(program)26
2415 y(is)k(not)f(allo)n(wed:)-128 2465 y
SDict begin H.S end
-128 2465 a
-128 2465 a
SDict begin 12 H.A end
-128 2465 a -128 2465 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-228) cvn H.B /DEST pdfmark end
-128 2465 a 0.95
TeXcolorgray 1 2498 4149 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 1 2589
25 92 v Black 0.95 TeXcolorgray 26 2589 4099 92 v Black
0.95 TeXcolorgray 4124 2589 25 92 v Black 0.95 TeXcolorgray
Black 26 2562 a
SDict begin H.S end
26 2562 a 26 2562 a
SDict begin 11 H.A end
26 2562 a 26 2562
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-228.1) cvn H.B /DEST pdfmark end
26 2562 a 0 0 0 TeXcolorrgb Fo(let)p Black 44 w({\()p
0 0 0 TeXcolorrgb(x)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(y)p Black(\))45 b(=)p 0 0 0 TeXcolorrgb 44 w(e1)p
Black 45 w(;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
1 2680 25 92 v Black 0.95 TeXcolorgray 26 2680 4099 92
v Black 0.95 TeXcolorgray 4124 2680 25 92 v Black 0.95
TeXcolorgray Black 26 2653 a
SDict begin H.S end
26 2653 a 26 2653 a
SDict begin 11 H.A end
26 2653
a 26 2653 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-228.2) cvn H.B /DEST pdfmark end
26 2653 a 224 w Fo(\()p 0 0 0 TeXcolorrgb(y)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(x)p Black(\))g(=)p
0 0 0 TeXcolorrgb 44 w(e2)p Black 45 w(})p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0.95
TeXcolorgray 1 2705 4149 25 v Black 0.95 TeXcolorgray
Black Black Black 26 2847 a FA(\(W)-7 b(e)21 b(may)f(lift)g(this)h
(restriction)f(in)g(the)g(future;)f(the)h(only)g(cost)g(is)h(that)g
(type)e(checking)g(patterns)g(w)o(ould)h(get)g(a)h(little)g(more)e
(complicated.\))p Black -128 3013 a(\225)p Black 42 w(T)-7
b(yping:)24 b(If)c Fr(exp)h FA(has)f(type)g Fr(T1)g Ft(->)h
Fr(T2)f FA(and)g Fr(pat)g FA(matches)g(a)g Fr(T2)p FA(,)h(then)e(the)h
(whole)g(vie)n(w)g(pattern)g(matches)f(a)i Fr(T1)p FA(.)p
Black -128 3179 a(\225)p Black 42 w(Matching:)j(T)-7
b(o)20 b(the)h(equations)e(in)h(Section)g(3.17.3)e(of)i(the)p
0 1 0 0 TeXcolorcmyk 1673 3197 a
SDict begin H.S end
1673 3197 a 0 1 0 0
TeXcolorcmyk -18 x FA(Hask)o(ell)h(98)f(Report)p 0 1 0 0
TeXcolorcmyk 2276 3122 a
SDict begin H.R end
2276 3122 a 2276 3179 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/) >> /Subtype /Link H.B /ANN pdfmark end
2276
3179 a Black FA(,)h(add)f(the)g(follo)n(wing:)-128 3246
y
SDict begin H.S end
-128 3246 a -128 3246 a
SDict begin 12 H.A end
-128 3246 a -128 3246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-229) cvn H.B /DEST pdfmark end
-128
3246 a 0.95 TeXcolorgray -82 3262 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3353 25 92 v Black 0.95 TeXcolorgray -57 3353 4182
92 v Black 0.95 TeXcolorgray 4124 3353 25 92 v Black
0.95 TeXcolorgray Black -57 3326 a
SDict begin H.S end
-57 3326 a -57 3326
a
SDict begin 11 H.A end
-57 3326 a -57 3326 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-229.1) cvn H.B /DEST pdfmark end
-57 3326 a 0 0 0 TeXcolorrgb
Fo(case)p Black 0 0 0 TeXcolorrgb 44 w(v)p Black 0 0 0
TeXcolorrgb 45 w(of)p Black 44 w({)45 b(\()p 0 0 0 TeXcolorrgb(e)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(p)p Black(\))f(->)p
0 0 0 TeXcolorrgb 45 w(e1)p Black 44 w(;)p 0 0 0 TeXcolorrgb
45 w(_)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(e2)p
Black 45 w(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3444 25 92 v Black 0.95 TeXcolorgray -57 3444 4182
92 v Black 0.95 TeXcolorgray 4124 3444 25 92 v Black
0.95 TeXcolorgray Black -57 3417 a
SDict begin H.S end
-57 3417 a -57 3417
a
SDict begin 11 H.A end
-57 3417 a -57 3417 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-229.2) cvn H.B /DEST pdfmark end
-57 3417 a 45 w Fo(=)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3536 25 92 v Black 0.95 TeXcolorgray
-57 3536 4182 92 v Black 0.95 TeXcolorgray 4124 3536
25 92 v Black 0.95 TeXcolorgray Black -57 3508 a
SDict begin H.S end
-57
3508 a -57 3508 a
SDict begin 11 H.A end
-57 3508 a -57 3508 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-229.3) cvn H.B /DEST pdfmark end
-57 3508 a 0 0 0
TeXcolorrgb Fo(case)p Black 44 w(\()p 0 0 0 TeXcolorrgb(e)p
Black 0 0 0 TeXcolorrgb 45 w(v)p Black(\))p 0 0 0 TeXcolorrgb
44 w(of)p Black 45 w({)p 0 0 0 TeXcolorrgb 44 w(p)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(e1)p Black 45 w(;)p
0 0 0 TeXcolorrgb 45 w(_)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(e2)p Black 44 w(})p 0.95 TeXcolorgray -82 3560 4232
25 v Black 0.95 TeXcolorgray Black Black Black -57 3718
a FA(That)20 b(is,)h(to)f(match)g(a)g(v)n(ariable)g Fr(v)26
b FA(against)20 b(a)g(pattern)g Ft(\()g Fr(exp)h Ft(->)f
Fr(pat)g Ft(\))p FA(,)h(e)n(v)n(aluate)e Ft(\()i Fr(exp)65
b(v)27 b Ft(\))20 b FA(and)g(match)g(the)g(result)g(against)g
Fr(pat)p FA(.)p Black -128 3884 a(\225)p Black 42 w(Ef)n(\002cienc)o
(y:)55 b(When)35 b(the)h(same)g(vie)n(w)g(function)e(is)i(applied)f(in)
h(multiple)f(branches)f(of)i(a)g(function)e(de\002nition)h(or)g(a)h
(case)h(e)o(xpression)-57 3984 y(\(e.g.,)e(in)e Ft(size)f
FA(abo)o(v)o(e\),)i(GHC)f(mak)o(es)g(an)f(attempt)g(to)h(collect)g
(these)g(applications)e(into)i(a)g(single)f(nested)h(case)g(e)o
(xpression,)h(so)f(that)-57 4084 y(the)d(vie)n(w)g(function)e(is)j
(only)e(applied)g(once.)53 b(P)o(attern)30 b(compilation)e(in)i(GHC)h
(follo)n(ws)e(the)h(matrix)f(algorithm)g(described)f(in)j(Chapter)e(4)
-57 4183 y(of)p 0 1 0 0 TeXcolorcmyk 33 4201 a
SDict begin H.S end
33 4201
a 0 1 0 0 TeXcolorcmyk -18 x FA(The)19 b(Implementation)f(of)i
(Functional)f(Programming)e(Languages)p 0 1 0 0 TeXcolorcmyk
2032 4127 a
SDict begin H.R end
2032 4127 a 2032 4183 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/Papers/slpj-book-1987/) >> /Subtype /Link H.B /ANN pdfmark end
2032 4183 a Black
FA(.)25 b(When)20 b(the)g(top)f(ro)n(ws)h(of)g(the)g(\002rst)g(column)f
(of)g(a)i(matrix)e(are)h(all)g(vie)n(w)-57 4283 y(patterns)29
b(with)g(the)h("same")f(e)o(xpression,)h(these)g(patterns)f(are)g
(transformed)e(into)i(a)h(single)f(nested)g(case.)53
b(This)30 b(includes,)h(for)e(e)o(xample,)-57 4382 y(adjacent)19
b(vie)n(w)h(patterns)g(that)g(line)h(up)e(in)i(a)f(tuple,)g(as)h(in)
-128 4450 y
SDict begin H.S end
-128 4450 a -128 4450 a
SDict begin 12 H.A end
-128 4450 a -128
4450 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-230) cvn H.B /DEST pdfmark end
-128 4450 a 0.95 TeXcolorgray -82 4465 4232 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 4557 25 92 v Black 0.95 TeXcolorgray
-57 4557 4182 92 v Black 0.95 TeXcolorgray 4124 4557
25 92 v Black 0.95 TeXcolorgray Black -57 4529 a
SDict begin H.S end
-57
4529 a -57 4529 a
SDict begin 11 H.A end
-57 4529 a -57 4529 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-230.1) cvn H.B /DEST pdfmark end
-57 4529 a 0 0 0
TeXcolorrgb Fo(f)p Black 45 w(\(\()p 0 0 0 TeXcolorrgb
-1 w(view)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(A)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(p1)p Black(\),)p 0 0 0
TeXcolorrgb 45 w(p2)p Black -1 w(\))45 b(=)p 0 0 0 TeXcolorrgb
45 w(e1)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4648 25 92 v Black 0.95 TeXcolorgray -57 4648 4182
92 v Black 0.95 TeXcolorgray 4124 4648 25 92 v Black
0.95 TeXcolorgray Black -57 4621 a
SDict begin H.S end
-57 4621 a -57 4621
a
SDict begin 11 H.A end
-57 4621 a -57 4621 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-230.2) cvn H.B /DEST pdfmark end
-57 4621 a 0 0 0 TeXcolorrgb
Fo(f)p Black 45 w(\(\()p 0 0 0 TeXcolorrgb -1 w(view)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(B)p Black(,)p
0 0 0 TeXcolorrgb 44 w(p3)p Black(\),)p 0 0 0 TeXcolorrgb
45 w(p4)p Black -1 w(\))g(=)p 0 0 0 TeXcolorrgb 45 w(e2)p
Black 0.95 TeXcolorgray -82 4673 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 4831 a FA(The)19 b(current)f(notion)
h(of)g(when)g(tw)o(o)h(vie)n(w)f(pattern)g(e)o(xpressions)f(are)h("the)
h(same")f(is)i(v)o(ery)d(restricted:)25 b(it)20 b(is)g(not)f(e)n(v)o
(en)g(full)g(syntactic)h(equality)-5 b(.)-57 4930 y(Ho)n(we)n(v)o(er)m
(,)21 b(it)j(does)e(include)g(v)n(ariables,)g(literals,)i
(applications,)e(and)g(tuples;)i(e.g.,)f(tw)o(o)g(instances)f(of)h
Ft(view)49 b(\("hi",)f("there"\))22 b FA(will)-57 5030
y(be)d(collected.)24 b(Ho)n(we)n(v)o(er)m(,)18 b(the)h(current)g
(implementation)e(does)i(not)g(compare)f(up)h(to)h(alpha-equi)n(v)n
(alence,)c(so)k(tw)o(o)f(instances)h(of)f Ft(\(x,)49
b(view)-57 5130 y(x)h(->)f(y\))20 b FA(will)h(not)f(be)g(coalesced.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 123 138
TeXDict begin 123 137 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.123) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(123)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.6) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.3.6)p
Black 90 w(The)k(recur)o(sive)f(do-notation)-128 262
y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (mdo-notation) cvn H.B /DEST pdfmark end
-128 262
a 111 x FA(The)i(recursi)n(v)o(e)f(do-notation)e(\(also)k(kno)n(wn)d
(as)j(mdo-notation\))c(is)k(implemented)d(as)j(described)e(in)p
0 1 0 0 TeXcolorcmyk 2864 374 a
SDict begin H.S end
2864 374 a 0 1 0 0 TeXcolorcmyk
-1 x FA(A)d(recursi)n(v)o(e)e(do)g(for)h(Hask)o(ell)p
0 1 0 0 TeXcolorcmyk 3741 317 a
SDict begin H.R end
3741 317 a 3741 373 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://citeseer.ist.psu.edu/erk02recursive.html) >> /Subtype /Link H.B /ANN pdfmark end
3741 373 a Black FA(,)26 b(by)f(Le)n(v)o(ent)-128 473
y(Erk)o(ok,)f(John)g(Launchb)n(ury)-5 b(,)22 b(Hask)o(ell)i(W)-7
b(orkshop)23 b(2002,)h(pages:)33 b(29-37.)j(Pittsb)n(ur)o(gh,)24
b(Pennsylv)n(ania.)35 b(This)24 b(paper)g(is)h(essential)g(reading)e
(for)-128 573 y(an)o(yone)c(making)g(non-tri)n(vial)f(use)i(of)g
(mdo-notation,)d(and)j(we)g(do)g(not)g(repeat)f(it)i(here.)-128
719 y(The)27 b(do-notation)d(of)i(Hask)o(ell)i(does)e(not)g(allo)n(w)h
Fq(r)m(ecur)o(sive)g(bindings)p FA(,)g(that)g(is,)i(the)e(v)n(ariables)
f(bound)f(in)h(a)i(do-e)o(xpression)23 b(are)k(visible)g(only)-128
819 y(in)d(the)f(te)o(xtually)f(follo)n(wing)g(code)g(block.)33
b(Compare)22 b(this)i(to)f(a)h(let-e)o(xpression,)e(where)g(bound)g(v)n
(ariables)g(are)h(visible)g(in)h(the)f(entire)g(binding)-128
918 y(group.)35 b(It)24 b(turns)g(out)g(that)g(se)n(v)o(eral)f
(applications)g(can)h(bene\002t)g(from)f(recursi)n(v)o(e)f(bindings)h
(in)h(the)g(do-notation,)e(and)i(this)g(e)o(xtension)f(pro)o(vides)-128
1018 y(the)e(necessary)e(syntactic)h(support.)-128 1164
y(Here)h(is)g(a)f(simple)g(\(yet)g(contri)n(v)o(ed\))e(e)o(xample:)-128
1229 y
SDict begin H.S end
-128 1229 a -128 1229 a
SDict begin 12 H.A end
-128 1229 a -128 1229
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-231) cvn H.B /DEST pdfmark end
-128 1229 a 0.95 TeXcolorgray -153 1245 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1336 25 92 v Black 0.95 TeXcolorgray
-128 1336 4252 92 v Black 0.95 TeXcolorgray 4124 1336
25 92 v Black 0.95 TeXcolorgray Black -128 1308 a
SDict begin H.S end
-128
1308 a -128 1308 a
SDict begin 11 H.A end
-128 1308 a -128 1308 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-231.1) cvn H.B /DEST pdfmark end
-128 1308
a 0 0 0 TeXcolorrgb Fo(import)p Black 0 0 0 TeXcolorrgb
44 w(Control)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Monad)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(Fix)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1427 25 92 v Black 0.95
TeXcolorgray -128 1427 4252 92 v Black 0.95 TeXcolorgray
4124 1427 25 92 v Black 0.95 TeXcolorgray Black -128
1400 a
SDict begin H.S end
-128 1400 a -128 1400 a
SDict begin 11 H.A end
-128 1400 a -128 1400
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-231.2) cvn H.B /DEST pdfmark end
-128 1400 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1519 25 92 v Black 0.95 TeXcolorgray -128 1519 4252
92 v Black 0.95 TeXcolorgray 4124 1519 25 92 v Black
0.95 TeXcolorgray Black -128 1491 a
SDict begin H.S end
-128 1491 a -128
1491 a
SDict begin 11 H.A end
-128 1491 a -128 1491 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-231.3) cvn H.B /DEST pdfmark end
-128 1491 a 0 0 0 TeXcolorrgb
Fo(justOnes)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(mdo)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 44 w(<-)p 0 0 0
TeXcolorrgb 45 w(Just)p Black 44 w(\(1:)p 0 0 0 TeXcolorrgb(xs)p
Black -1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1610 25 92 v Black 0.95 TeXcolorgray -128 1610 4252
92 v Black 0.95 TeXcolorgray 4124 1610 25 92 v Black
0.95 TeXcolorgray Black -128 1582 a
SDict begin H.S end
-128 1582 a -128
1582 a
SDict begin 11 H.A end
-128 1582 a -128 1582 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-231.4) cvn H.B /DEST pdfmark end
-128 1582 a 0 0 0 TeXcolorrgb
673 w Fo(return)p Black 0 0 0 TeXcolorrgb 44 w(xs)p Black
0.95 TeXcolorgray -153 1635 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1803 a FA(As)j(you)f(can)g(guess)g
Ft(justOnes)f FA(will)i(e)n(v)n(aluate)e(to)i Ft(Just)49
b([1,1,1,...)p FA(.)-128 1950 y(The)20 b(Control.Monad.Fix)d(library)i
(introduces)g(the)h Ft(MonadFix)f FA(class.)26 b(It')-5
b(s)21 b(de\002nition)e(is:)-128 2015 y
SDict begin H.S end
-128 2015 a -128
2015 a
SDict begin 12 H.A end
-128 2015 a -128 2015 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-232) cvn H.B /DEST pdfmark end
-128 2015 a 0.95 TeXcolorgray
-153 2030 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2121 25 92
v Black 0.95 TeXcolorgray -128 2121 4252 92 v Black 0.95
TeXcolorgray 4124 2121 25 92 v Black 0.95 TeXcolorgray
Black -128 2094 a
SDict begin H.S end
-128 2094 a -128 2094 a
SDict begin 11 H.A end
-128 2094 a
-128 2094 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-232.1) cvn H.B /DEST pdfmark end
-128 2094 a 0 0 0 TeXcolorrgb Fo(class)p
Black 0 0 0 TeXcolorrgb 44 w(Monad)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 45 w(MonadFix)p
Black 0 0 0 TeXcolorrgb 43 w(m)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2212 25 92 v Black 0.95 TeXcolorgray -128 2212 4252
92 v Black 0.95 TeXcolorgray 4124 2212 25 92 v Black
0.95 TeXcolorgray Black -128 2185 a
SDict begin H.S end
-128 2185 a -128
2185 a
SDict begin 11 H.A end
-128 2185 a -128 2185 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-232.2) cvn H.B /DEST pdfmark end
-128 2185 a 0 0 0 TeXcolorrgb
135 w Fo(mfix)p Black 44 w(::)45 b(\()p 0 0 0 TeXcolorrgb
-1 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(m)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(\))g(->)p 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray -153 2237 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2406 a FA(The)24 b(function)f
Ft(mfix)h FA(dictates)h(ho)n(w)f(the)g(required)e(recursion)h
(operation)g(should)g(be)h(performed.)35 b(F)o(or)24
b(e)o(xample,)g Ft(justOnes)f FA(desugars)g(as)-128 2506
y(follo)n(ws:)-128 2553 y
SDict begin H.S end
-128 2553 a -128 2553 a
SDict begin 12 H.A end
-128
2553 a -128 2553 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-233) cvn H.B /DEST pdfmark end
-128 2553 a 0.95 TeXcolorgray -153
2586 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2677 25 92 v Black 0.95
TeXcolorgray -128 2677 4252 92 v Black 0.95 TeXcolorgray
4124 2677 25 92 v Black 0.95 TeXcolorgray Black -128
2650 a
SDict begin H.S end
-128 2650 a -128 2650 a
SDict begin 11 H.A end
-128 2650 a -128 2650
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-233.1) cvn H.B /DEST pdfmark end
-128 2650 a 0 0 0 TeXcolorrgb Fo(justOnes)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(mfix)p Black 44 w(\(\\)p
0 0 0 TeXcolorrgb -1 w(xs)p Black(')45 b(->)p 0 0 0 TeXcolorrgb
44 w(do)p Black 45 w({)p 0 0 0 TeXcolorrgb 44 w(xs)p
Black 45 w(<-)p 0 0 0 TeXcolorrgb 44 w(Just)p Black 45
w(\(1:)p 0 0 0 TeXcolorrgb -1 w(xs)p Black('\))o(;)p
0 0 0 TeXcolorrgb 45 w(return)p Black 0 0 0 TeXcolorrgb
44 w(xs)p Black 44 w(})p 0.95 TeXcolorgray -153 2702
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2870 a FA(F)o(or)23 b(full)h(details)f(of)g(the)h(w)o(ay)f(in)h(which)e
(mdo)h(is)h(typecheck)o(ed)d(and)i(desugared,)f(see)i(the)f(paper)p
0 1 0 0 TeXcolorcmyk 2763 2871 a
SDict begin H.S end
2763 2871 a 0 1 0 0
TeXcolorcmyk -1 x FA(A)e(recursi)n(v)o(e)e(do)g(for)h(Hask)o(ell)p
0 1 0 0 TeXcolorcmyk 3640 2814 a
SDict begin H.R end
3640 2814 a 3640 2870
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://citeseer.ist.psu.edu/erk02recursive.html) >> /Subtype /Link H.B /ANN pdfmark end
3640 2870 a Black FA(.)35 b(In)23 b(particular)m(,)-128
2970 y(GHC)e(implements)f(the)g(se)o(gmentation)e(technique)h
(described)g(in)h(Section)g(3.2)f(of)h(the)g(paper)-5
b(.)-128 3116 y(If)29 b(recursi)n(v)o(e)e(bindings)g(are)i(required)d
(for)i(a)h(monad,)g(then)f(that)h(monad)e(must)h(be)h(declared)e(an)i
(instance)f(of)g(the)h Ft(MonadFix)e FA(class.)51 b(The)-128
3216 y(follo)n(wing)21 b(instances)h(of)g Ft(MonadFix)g
FA(are)g(automatically)f(pro)o(vided:)27 b(List,)c(Maybe,)f(IO.)g
(Furthermore,)e(the)i(Control.Monad.ST)e(and)h(Con-)-128
3316 y(trol.Monad.ST)-6 b(.Lazy)25 b(modules)i(pro)o(vide)f(the)i
(instances)h(of)e(the)i(MonadFix)e(class)i(for)e(Hask)o(ell')-5
b(s)29 b(internal)f(state)h(monad)e(\(strict)h(and)g(lazy)-5
b(,)-128 3415 y(respecti)n(v)o(ely\).)-128 3562 y(Here)21
b(are)f(some)g(important)e(points)i(in)g(using)g(the)g(recursi)n(v)o
(e-do)e(notation:)p Black -128 3769 a(\225)p Black 42
w(The)i(recursi)n(v)o(e)f(v)o(ersion)f(of)i(the)h(do-notation)c(uses)k
(the)f(k)o(e)o(yw)o(ord)e Ft(mdo)j FA(\(rather)e(than)g
Ft(do)p FA(\).)p Black -128 3932 a(\225)p Black 42 w(It)h(is)i(enabled)
d(with)h(the)g(\003ag)g Ft(-XRecursiveDo)p FA(,)f(which)g(is)i(in)g
(turn)e(implied)h(by)f Ft(-fglasgow-exts)p FA(.)p Black
-128 4095 a(\225)p Black 42 w(Unlik)o(e)j(ordinary)e(do-notation,)f(b)n
(ut)j(lik)o(e)g Ft(let)g FA(and)g Ft(where)f FA(bindings,)g(name)g
(shado)n(wing)g(is)i(not)e(allo)n(wed;)h(that)h(is,)g(all)f(the)g
(names)g(bound)-57 4195 y(in)e(a)h(single)f Ft(mdo)g
FA(must)g(be)h(distinct)f(\(Section)f(3.3)h(of)g(the)g(paper\).)p
Black -128 4358 a(\225)p Black 42 w(V)-9 b(ariables)19
b(bound)f(by)h(a)h Ft(let)f FA(statement)h(in)f(an)h
Ft(mdo)f FA(are)h(monomorphic)c(in)j(the)h Ft(mdo)g FA(\(Section)e(3.1)
h(of)h(the)f(paper\).)k(Ho)n(we)n(v)o(er)18 b(GHC)j(breaks)-57
4457 y(the)f Ft(mdo)g FA(into)g(se)o(gments)g(to)g(enhance)f
(polymorphism,)e(and)i(impro)o(v)o(e)f(termination)h(\(Section)g(3.2)h
(of)g(the)g(paper\).)-128 4665 y(Historical)k(note:)32
b(The)24 b(old)f(implementation)f(of)i(the)f(mdo-notation)e(\(and)i
(most)h(of)g(the)f(e)o(xisting)g(documents\))f(used)i(the)g(name)f
Ft(MonadRec)-128 4764 y FA(for)d(the)g(class)h(and)f(the)g
(corresponding)d(library)-5 b(.)23 b(This)e(name)e(is)i(not)f
(supported)e(by)i(GHC.)-128 4897 y
SDict begin H.S end
-128 4897 a -128 4897
a
SDict begin 12 H.A end
-128 4897 a -128 4897 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.7) cvn H.B /DEST pdfmark end
-128 4897 a Black 145 x Fp(7.3.7)p
Black 90 w(P)m(arallel)k(List)g(Comprehensions)-128 5131
y
SDict begin H.S end
-128 5131 a -128 5131 a
SDict begin 12 H.A end
-128 5131 a -128 5131 a
SDict begin [ /View [/XYZ H.V] /Dest (parallel-list-comprehensions) cvn H.B /DEST pdfmark end
-128
5131 a 111 x FA(P)o(arallel)j(list)i(comprehensions)24
b(are)j(a)g(natural)g(e)o(xtension)e(to)j(list)g(comprehensions.)43
b(List)27 b(comprehensions)e(can)i(be)g(thought)e(of)i(as)h(a)f(nice)
-128 5342 y(syntax)20 b(for)g(writing)f(maps)h(and)g(\002lters.)25
b(P)o(arallel)c(comprehensions)c(e)o(xtend)i(this)h(to)h(include)e(the)
h(zipW)m(ith)g(f)o(amily)-5 b(.)-128 5488 y(A)23 b(parallel)e(list)i
(comprehension)18 b(has)k(multiple)f(independent)e(branches)h(of)i
(quali\002er)e(lists,)k(each)d(separated)g(by)g(a)h(`|')f(symbol.)28
b(F)o(or)22 b(e)o(xample,)-128 5588 y(the)f(follo)n(wing)d(zips)j
(together)e(tw)o(o)h(lists:)-128 5653 y
SDict begin H.S end
-128 5653 a -128
5653 a
SDict begin 12 H.A end
-128 5653 a -128 5653 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-234) cvn H.B /DEST pdfmark end
-128 5653 a 0.95 TeXcolorgray
-153 5668 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5759 25 92
v Black 0.95 TeXcolorgray -128 5759 4252 92 v Black 0.95
TeXcolorgray 4124 5759 25 92 v Black 0.95 TeXcolorgray
Black -128 5732 a
SDict begin H.S end
-128 5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a
-128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-234.1) cvn H.B /DEST pdfmark end
-128 5732 a 135 w Fo([)45 b(\()p 0 0 0 TeXcolorrgb
-1 w(x)p Black(,)p 0 0 0 TeXcolorrgb 45 w(y)p Black(\))f(|)p
0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(<-)p 0 0 0 TeXcolorrgb
44 w(xs)p Black 45 w(|)p 0 0 0 TeXcolorrgb 44 w(y)p Black
45 w(<-)p 0 0 0 TeXcolorrgb 45 w(ys)p Black 44 w(])p
0.95 TeXcolorgray -153 5784 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 124 139
TeXDict begin 124 138 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.124) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(124)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(The)f(beha)n(vior)f(of)h
(parallel)g(list)h(comprehensions)d(follo)n(ws)i(that)g(of)g(zip,)h(in)
f(that)g(the)h(resulting)e(list)j(will)f(ha)n(v)o(e)e(the)i(same)f
(length)g(as)h(the)f(shortest)-128 273 y(branch.)-128
414 y(W)-7 b(e)22 b(can)e(de\002ne)f(parallel)h(list)h(comprehensions)d
(by)i(translation)f(to)h(re)o(gular)f(comprehensions.)j(Here')-5
b(s)20 b(the)g(basic)h(idea:)-128 556 y(Gi)n(v)o(en)f(a)g(parallel)g
(comprehension)d(of)j(the)g(form:)-128 616 y
SDict begin H.S end
-128 616
a -128 616 a
SDict begin 12 H.A end
-128 616 a -128 616 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-235) cvn H.B /DEST pdfmark end
-128 616 a 0.95 TeXcolorgray
-153 631 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 722 25 92 v
Black 0.95 TeXcolorgray -128 722 4252 92 v Black 0.95
TeXcolorgray 4124 722 25 92 v Black 0.95 TeXcolorgray
Black -128 695 a
SDict begin H.S end
-128 695 a -128 695 a
SDict begin 11 H.A end
-128 695 a -128
695 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-235.1) cvn H.B /DEST pdfmark end
-128 695 a 135 w Fo([)p 0 0 0 TeXcolorrgb 45 w(e)p
Black 44 w(|)p 0 0 0 TeXcolorrgb 45 w(p1)p Black 44 w(<-)p
0 0 0 TeXcolorrgb 45 w(e11)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(p2)p Black 45 w(<-)p 0 0 0 TeXcolorrgb 44 w(e12)p
Black(,)44 b(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 814 25 92 v Black 0.95 TeXcolorgray -128 814 4252
92 v Black 0.95 TeXcolorgray 4124 814 25 92 v Black 0.95
TeXcolorgray Black -128 786 a
SDict begin H.S end
-128 786 a -128 786 a
SDict begin 11 H.A end
-128
786 a -128 786 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-235.2) cvn H.B /DEST pdfmark end
-128 786 a 314 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(q1)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(e21)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(q2)p Black 45 w(<-)p
0 0 0 TeXcolorrgb 44 w(e22)p Black(,)g(...)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 905 25 92 v Black 0.95 TeXcolorgray
-128 905 4252 92 v Black 0.95 TeXcolorgray 4124 905 25
92 v Black 0.95 TeXcolorgray Black -128 878 a
SDict begin H.S end
-128 878
a -128 878 a
SDict begin 11 H.A end
-128 878 a -128 878 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-235.3) cvn H.B /DEST pdfmark end
-128 878 a 314 w Fo(...)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 996 25
92 v Black 0.95 TeXcolorgray -128 996 4252 92 v Black
0.95 TeXcolorgray 4124 996 25 92 v Black 0.95 TeXcolorgray
Black -128 969 a
SDict begin H.S end
-128 969 a -128 969 a
SDict begin 11 H.A end
-128 969 a -128
969 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-235.4) cvn H.B /DEST pdfmark end
-128 969 a 135 w Fo(])p 0.95 TeXcolorgray -153
1021 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1180 a FA(This)21 b(will)g(be)f(translated)f(to:)-128
1223 y
SDict begin H.S end
-128 1223 a -128 1223 a
SDict begin 12 H.A end
-128 1223 a -128 1223
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-236) cvn H.B /DEST pdfmark end
-128 1223 a 0.95 TeXcolorgray -153 1255 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1346 25 92 v Black 0.95 TeXcolorgray
-128 1346 4252 92 v Black 0.95 TeXcolorgray 4124 1346
25 92 v Black 0.95 TeXcolorgray Black -128 1319 a
SDict begin H.S end
-128
1319 a -128 1319 a
SDict begin 11 H.A end
-128 1319 a -128 1319 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-236.1) cvn H.B /DEST pdfmark end
-128 1319
a 135 w Fo([)p 0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(|)45
b(\(\()p 0 0 0 TeXcolorrgb(p1)p Black -1 w(,)p 0 0 0
TeXcolorrgb(p2)p Black(\),)f(\()p 0 0 0 TeXcolorrgb(q1)p
Black(,)p 0 0 0 TeXcolorrgb(q2)p Black -1 w(\),)h(...\))f(<-)p
0 0 0 TeXcolorrgb 44 w(zipN)p Black 45 w([\()p 0 0 0
TeXcolorrgb -1 w(p1)p Black(,)p 0 0 0 TeXcolorrgb(p2)p
Black -1 w(\))h(|)p 0 0 0 TeXcolorrgb 45 w(p1)p Black
44 w(<-)p 0 0 0 TeXcolorrgb 45 w(e11)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(p2)p Black 44 w(<-)p 0 0 0 TeXcolorrgb
45 w(e12)p Black -1 w(,)g(...])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1438 25 92 v Black 0.95 TeXcolorgray
-128 1438 4252 92 v Black 0.95 TeXcolorgray 4124 1438
25 92 v Black 0.95 TeXcolorgray Black -128 1410 a
SDict begin H.S end
-128
1410 a -128 1410 a
SDict begin 11 H.A end
-128 1410 a -128 1410 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-236.2) cvn H.B /DEST pdfmark end
-128 1410
a 1839 w Fo([\()p 0 0 0 TeXcolorrgb -1 w(q1)p Black(,)p
0 0 0 TeXcolorrgb(q2)p Black -1 w(\))g(|)p 0 0 0 TeXcolorrgb
45 w(q1)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(e21)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(q2)p Black 44 w(<-)p
0 0 0 TeXcolorrgb 45 w(e22)p Black -1 w(,)g(...])p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1529 25 92
v Black 0.95 TeXcolorgray -128 1529 4252 92 v Black 0.95
TeXcolorgray 4124 1529 25 92 v Black 0.95 TeXcolorgray
Black -128 1502 a
SDict begin H.S end
-128 1502 a -128 1502 a
SDict begin 11 H.A end
-128 1502 a
-128 1502 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-236.3) cvn H.B /DEST pdfmark end
-128 1502 a 1839 w Fo(...)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1620 25 92 v Black 0.95
TeXcolorgray -128 1620 4252 92 v Black 0.95 TeXcolorgray
4124 1620 25 92 v Black 0.95 TeXcolorgray Black -128
1593 a
SDict begin H.S end
-128 1593 a -128 1593 a
SDict begin 11 H.A end
-128 1593 a -128 1593
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-236.4) cvn H.B /DEST pdfmark end
-128 1593 a 135 w Fo(])p 0.95 TeXcolorgray -153 1645
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
1804 a FA(where)20 b(`zipN')f(is)j(the)e(appropriate)e(zip)i(for)f(the)
i(gi)n(v)o(en)e(number)f(of)i(branches.)-128 1934 y
SDict begin H.S end
-128
1934 a -128 1934 a
SDict begin 12 H.A end
-128 1934 a -128 1934 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.8) cvn H.B /DEST pdfmark end
-128 1934
a Black 141 x Fp(7.3.8)p Black 90 w(Generalised)j(\(SQL-Like\))g(List)h
(Comprehensions)-128 2163 y
SDict begin H.S end
-128 2163 a -128 2163 a
SDict begin 12 H.A end
-128
2163 a -128 2163 a
SDict begin [ /View [/XYZ H.V] /Dest (generalised-list-comprehensions) cvn H.B /DEST pdfmark end
-128 2163 a 107 x FA(Generalised)e(list)h
(comprehensions)c(are)j(a)h(further)d(enhancement)g(to)i(the)g(list)i
(comprehension)18 b(syntatic)k(sugar)g(to)g(allo)n(w)g(operations)e
(such)i(as)-128 2369 y(sorting)15 b(and)g(grouping)d(which)j(are)g(f)o
(amiliar)g(from)f(SQL.)h(The)o(y)f(are)h(fully)g(described)f(in)h(the)h
(paper)p 0 1 0 0 TeXcolorcmyk 2761 2387 a
SDict begin H.S end
2761 2387 a
0 1 0 0 TeXcolorcmyk 2782 2369 a FA(Comprehensi)n(v)o(e)h
(comprehensions:)22 b(comprehensions)c(with)i("order)f(by")h(and)f
("group)g(by")p 0 1 0 0 TeXcolorcmyk 5510 2313 a
SDict begin H.R end
5510
2313 a 5510 2369 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/papers/list-comp) >> /Subtype /Link H.B /ANN pdfmark end
5510 2369 a Black FA(,)-128 2469 y(e)o(xcept)h(that)
g(the)g(syntax)g(we)g(use)h(dif)n(fers)e(slightly)h(from)f(the)h(paper)
-5 b(.)-128 2611 y(Here)21 b(is)g(an)f(e)o(xample:)-128
2671 y
SDict begin H.S end
-128 2671 a -128 2671 a
SDict begin 12 H.A end
-128 2671 a -128 2671
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-237) cvn H.B /DEST pdfmark end
-128 2671 a 0.95 TeXcolorgray -153 2686 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2777 25 92 v Black 0.95 TeXcolorgray
-128 2777 4252 92 v Black 0.95 TeXcolorgray 4124 2777
25 92 v Black 0.95 TeXcolorgray Black -128 2750 a
SDict begin H.S end
-128
2750 a -128 2750 a
SDict begin 11 H.A end
-128 2750 a -128 2750 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.1) cvn H.B /DEST pdfmark end
-128 2750
a 0 0 0 TeXcolorrgb Fo(employees)p Black 44 w(=)44 b([)h(\(")p
0 0 0 TeXcolorrgb(Simon)p Black -1 w(",)f(")p 0 0 0 TeXcolorrgb(MS)p
Black(",)g(80\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2868 25 92 v Black 0.95 TeXcolorgray -128 2868 4252
92 v Black 0.95 TeXcolorgray 4124 2868 25 92 v Black
0.95 TeXcolorgray Black -128 2841 a
SDict begin H.S end
-128 2841 a -128
2841 a
SDict begin 11 H.A end
-128 2841 a -128 2841 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.2) cvn H.B /DEST pdfmark end
-128 2841 a Fo(,)h(\(")p
0 0 0 TeXcolorrgb(Erik)p Black -1 w(",)g(")p 0 0 0 TeXcolorrgb
-1 w(MS)p Black(",)g(100\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2960 25 92 v Black 0.95 TeXcolorgray
-128 2960 4252 92 v Black 0.95 TeXcolorgray 4124 2960
25 92 v Black 0.95 TeXcolorgray Black -128 2932 a
SDict begin H.S end
-128
2932 a -128 2932 a
SDict begin 11 H.A end
-128 2932 a -128 2932 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.3) cvn H.B /DEST pdfmark end
-128 2932
a Fo(,)g(\(")p 0 0 0 TeXcolorrgb(Phil)p Black -1 w(",)g(")p
0 0 0 TeXcolorrgb -1 w(Ed)p Black(",)g(40\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3051 25 92 v Black 0.95
TeXcolorgray -128 3051 4252 92 v Black 0.95 TeXcolorgray
4124 3051 25 92 v Black 0.95 TeXcolorgray Black -128
3024 a
SDict begin H.S end
-128 3024 a -128 3024 a
SDict begin 11 H.A end
-128 3024 a -128 3024
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.4) cvn H.B /DEST pdfmark end
-128 3024 a Fo(,)g(\(")p 0 0 0 TeXcolorrgb(Gordon)p
Black -1 w(",)f(")p 0 0 0 TeXcolorrgb(Ed)p Black(",)g(45\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3142 25
92 v Black 0.95 TeXcolorgray -128 3142 4252 92 v Black
0.95 TeXcolorgray 4124 3142 25 92 v Black 0.95 TeXcolorgray
Black -128 3115 a
SDict begin H.S end
-128 3115 a -128 3115 a
SDict begin 11 H.A end
-128 3115 a
-128 3115 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.5) cvn H.B /DEST pdfmark end
-128 3115 a Fo(,)h(\(")p 0 0 0 TeXcolorrgb(Paul)p
Black -1 w(",)g(")p 0 0 0 TeXcolorrgb -1 w(Yale)p Black(",)f(60\)])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3234 25
92 v Black 0.95 TeXcolorgray -128 3234 4252 92 v Black
0.95 TeXcolorgray 4124 3234 25 92 v Black 0.95 TeXcolorgray
Black -128 3206 a
SDict begin H.S end
-128 3206 a -128 3206 a
SDict begin 11 H.A end
-128 3206 a
-128 3206 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.6) cvn H.B /DEST pdfmark end
-128 3206 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3325 25 92 v Black 0.95 TeXcolorgray
-128 3325 4252 92 v Black 0.95 TeXcolorgray 4124 3325
25 92 v Black 0.95 TeXcolorgray Black -128 3298 a
SDict begin H.S end
-128
3298 a -128 3298 a
SDict begin 11 H.A end
-128 3298 a -128 3298 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.7) cvn H.B /DEST pdfmark end
-128 3298
a 0 0 0 TeXcolorrgb Fo(output)p Black 44 w(=)h([)g(\()p
0 0 0 TeXcolorrgb -1 w(the)p Black 0 0 0 TeXcolorrgb
45 w(dept)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(sum)p
Black 0 0 0 TeXcolorrgb 44 w(salary)p Black -1 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3416 25
92 v Black 0.95 TeXcolorgray -128 3416 4252 92 v Black
0.95 TeXcolorgray 4124 3416 25 92 v Black 0.95 TeXcolorgray
Black -128 3389 a
SDict begin H.S end
-128 3389 a -128 3389 a
SDict begin 11 H.A end
-128 3389 a
-128 3389 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.8) cvn H.B /DEST pdfmark end
-128 3389 a Fo(|)g(\()p 0 0 0 TeXcolorrgb(name)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(dept)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(salary)p Black -1 w(\))g(<-)p
0 0 0 TeXcolorrgb 44 w(employees)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3508 25 92 v Black 0.95
TeXcolorgray -128 3508 4252 92 v Black 0.95 TeXcolorgray
4124 3508 25 92 v Black 0.95 TeXcolorgray Black -128
3480 a
SDict begin H.S end
-128 3480 a -128 3480 a
SDict begin 11 H.A end
-128 3480 a -128 3480
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.9) cvn H.B /DEST pdfmark end
-128 3480 a Fo(,)p 0 0 0 TeXcolorrgb 45 w(then)p Black
0 0 0 TeXcolorrgb 44 w(group)p Black 0 0 0 TeXcolorrgb
44 w(by)p Black 0 0 0 TeXcolorrgb 45 w(dept)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3599 25 92
v Black 0.95 TeXcolorgray -128 3599 4252 92 v Black 0.95
TeXcolorgray 4124 3599 25 92 v Black 0.95 TeXcolorgray
Black -128 3572 a
SDict begin H.S end
-128 3572 a -128 3572 a
SDict begin 11 H.A end
-128 3572 a
-128 3572 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.10) cvn H.B /DEST pdfmark end
-128 3572 a Fo(,)p 0 0 0 TeXcolorrgb 45 w(then)p
Black 0 0 0 TeXcolorrgb 44 w(sortWith)p Black 0 0 0 TeXcolorrgb
44 w(by)p Black 44 w(\()p 0 0 0 TeXcolorrgb(sum)p Black
0 0 0 TeXcolorrgb 44 w(salary)p Black -1 w(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3690 25 92
v Black 0.95 TeXcolorgray -128 3690 4252 92 v Black 0.95
TeXcolorgray 4124 3690 25 92 v Black 0.95 TeXcolorgray
Black -128 3663 a
SDict begin H.S end
-128 3663 a -128 3663 a
SDict begin 11 H.A end
-128 3663 a
-128 3663 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-237.11) cvn H.B /DEST pdfmark end
-128 3663 a Fo(,)p 0 0 0 TeXcolorrgb 45 w(then)p
Black 0 0 0 TeXcolorrgb 44 w(take)p Black 44 w(5)g(])p
0.95 TeXcolorgray -153 3715 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3874 a FA(In)20 b(this)h(e)o(xample,)e(the)h
(list)h Ft(output)f FA(w)o(ould)f(tak)o(e)h(on)g(the)g(v)n(alue:)-128
3934 y
SDict begin H.S end
-128 3934 a -128 3934 a
SDict begin 12 H.A end
-128 3934 a -128 3934
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-238) cvn H.B /DEST pdfmark end
-128 3934 a 0.95 TeXcolorgray -153 3949 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4040 25 92 v Black 0.95 TeXcolorgray
-128 4040 4252 92 v Black 0.95 TeXcolorgray 4124 4040
25 92 v Black 0.95 TeXcolorgray Black -128 4013 a
SDict begin H.S end
-128
4013 a -128 4013 a
SDict begin 11 H.A end
-128 4013 a -128 4013 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-238.1) cvn H.B /DEST pdfmark end
-128 4013
a Fo([\(")p 0 0 0 TeXcolorrgb(Yale)p Black -1 w(",)45
b(60\))o(,)g(\(")p 0 0 0 TeXcolorrgb(Ed)p Black -1 w(",)g(85\))o(,)g
(\(")p 0 0 0 TeXcolorrgb(MS)p Black -1 w(",)g(180\))o(])p
0.95 TeXcolorgray -153 4065 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4224 a FA(There)21 b(are)g(three)g(ne)n(w)g(k)o
(e)o(yw)o(ords:)26 b Ft(group)p FA(,)21 b Ft(by)p FA(,)h(and)f
Ft(using)p FA(.)28 b(\(The)20 b(function)g Ft(sortWith)h
FA(is)h(not)f(a)h(k)o(e)o(yw)o(ord;)e(it)i(is)g(an)g(ordinary)d
(function)-128 4323 y(that)i(is)g(e)o(xported)d(by)i
Ft(GHC.Exts)p FA(.\))-128 4465 y(There)g(are)g(\002)n(v)o(e)g(ne)n(w)g
(forms)f(of)h(comprehension)d(quali\002er)m(,)i(all)i(introduced)d(by)i
(the)g(\(e)o(xisting\))e(k)o(e)o(yw)o(ord)h Ft(then)p
FA(:)-128 4588 y
SDict begin H.S end
-128 4588 a -128 4588 a
SDict begin 12 H.A end
-128 4588 a
-128 4588 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-239) cvn H.B /DEST pdfmark end
-128 4588 a Black 15 x FA(\225)p Black 0.95
TeXcolorgray -82 4603 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4695
25 92 v Black 0.95 TeXcolorgray -57 4695 4182 92 v Black
0.95 TeXcolorgray 4124 4695 25 92 v Black 0.95 TeXcolorgray
Black -57 4667 a
SDict begin H.S end
-57 4667 a -57 4667 a
SDict begin 11 H.A end
-57 4667 a -57
4667 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-239.1) cvn H.B /DEST pdfmark end
-57 4667 a 0 0 0 TeXcolorrgb Fo(then)p Black 0 0 0
TeXcolorrgb 44 w(f)p Black 0.95 TeXcolorgray -82 4720
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
4866 a FA(This)31 b(statement)g(requires)f(that)i Ft(f)f
FA(ha)n(v)o(e)g(the)g(type)80 b Ft(forall)49 b(a.)99
b([a])50 b(->)f([a])p FA(.)58 b(Y)-9 b(ou)31 b(can)f(see)i(an)f(e)o
(xample)f(of)h(it')-5 b(s)32 b(use)g(in)f(the)-57 4965
y(moti)n(v)n(ating)18 b(e)o(xample,)h(as)i(this)g(form)e(is)i(used)f
(to)g(apply)f Ft(take)49 b(5)p FA(.)-128 5054 y
SDict begin H.S end
-128
5054 a -128 5054 a
SDict begin 12 H.A end
-128 5054 a -128 5054 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-240) cvn H.B /DEST pdfmark end
-128 5054
a Black 16 x FA(\225)p Black 0.95 TeXcolorgray -82 5070
4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 5161 25 92 v Black 0.95 TeXcolorgray
-57 5161 4182 92 v Black 0.95 TeXcolorgray 4124 5161
25 92 v Black 0.95 TeXcolorgray Black -57 5133 a
SDict begin H.S end
-57
5133 a -57 5133 a
SDict begin 11 H.A end
-57 5133 a -57 5133 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-240.1) cvn H.B /DEST pdfmark end
-57 5133 a 0 0 0
TeXcolorrgb Fo(then)p Black 0 0 0 TeXcolorrgb 44 w(f)p
Black 0 0 0 TeXcolorrgb 45 w(by)p Black 0 0 0 TeXcolorrgb
44 w(e)p Black 0.95 TeXcolorgray -82 5186 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 5332 a FA(This)25
b(form)g(is)h(similar)f(to)g(the)h(pre)n(vious)d(one,)j(b)n(ut)f(allo)n
(ws)g(you)g(to)g(create)g(a)h(function)d(which)i(will)h(be)f(passed)g
(as)h(the)f(\002rst)h(ar)o(gument)d(to)i(f.)-57 5431
y(As)f(a)g(consequence)c(f)k(must)f(ha)n(v)o(e)g(the)g(type)g
Ft(forall)48 b(a.)100 b(\(a)49 b(->)g(t\))h(->)f([a])h(->)f([a])p
FA(.)34 b(As)24 b(you)e(can)h(see)h(from)e(the)h(type,)g(this)-57
5531 y(function)18 b(lets)k(f)e("project)f(out")h(some)g(information)e
(from)h(the)h(elements)g(of)g(the)g(list)h(it)g(is)g(transforming.)-57
5660 y(An)29 b(e)o(xample)f(is)i(sho)n(wn)e(in)h(the)g(opening)e(e)o
(xample,)j(where)e Ft(sortWith)h FA(is)h(supplied)e(with)h(a)g
(function)f(that)h(lets)h(it)f(\002nd)g(out)g(the)g Ft(sum)-57
5759 y(salary)20 b FA(for)f(an)o(y)h(item)g(in)g(the)h(list)g
(comprehension)c(it)k(transforms.)p Black -128 6084 4252
5 v Black eop end
%%Page: 125 140
TeXDict begin 125 139 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.125) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(125)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-241) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x FA(\225)p
Black 0.95 TeXcolorgray -82 173 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 265 25 92 v Black 0.95 TeXcolorgray -57 265 4182
92 v Black 0.95 TeXcolorgray 4124 265 25 92 v Black 0.95
TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237 a -57 237 a
SDict begin 11 H.A end
-57
237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-241.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb Fo(then)p
Black 0 0 0 TeXcolorrgb 44 w(group)p Black 0 0 0 TeXcolorrgb
44 w(by)p Black 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0
TeXcolorrgb 44 w(using)p Black 0 0 0 TeXcolorrgb 44 w(f)p
Black 0.95 TeXcolorgray -82 289 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 446 a FA(This)i(is)i(the)e(most)g
(general)f(of)h(the)h(grouping-type)18 b(statements.)31
b(In)22 b(this)h(form,)e(f)i(is)g(required)d(to)j(ha)n(v)o(e)e(type)h
Ft(forall)49 b(a.)99 b(\(a)49 b(->)h(t\))-57 546 y(->)f([a])h(->)f
([[a]])p FA(.)28 b(As)22 b(with)f(the)h Ft(then)49 b(f)g(by)h(e)21
b FA(case)h(abo)o(v)o(e,)e(the)h(\002rst)h(ar)o(gument)d(is)j(a)g
(function)d(supplied)h(to)i(f)f(by)g(the)g(compiler)-57
646 y(which)g(lets)h(it)g(compute)e(e)i(on)f(e)n(v)o(ery)f(element)g
(of)i(the)f(list)h(being)f(transformed.)26 b(Ho)n(we)n(v)o(er)m(,)19
b(unlik)o(e)i(the)g(non-grouping)c(case,)22 b(f)g(additionally)-57
745 y(partitions)c(the)h(list)i(into)d(a)i(number)d(of)i(sublists:)25
b(this)20 b(means)f(that)g(at)g(e)n(v)o(ery)f(point)g(after)h(this)h
(statement,)e(binders)h(occurring)d(before)i(it)i(in)f(the)-57
845 y(comprehension)e(refer)i(to)i Fq(lists)g FA(of)f(possible)g(v)n
(alues,)g(not)g(single)g(v)n(alues.)k(T)-7 b(o)21 b(help)e(understand)f
(this,)j(let')-5 b(s)21 b(look)e(at)i(an)f(e)o(xample:)-128
912 y
SDict begin H.S end
-128 912 a -128 912 a
SDict begin 12 H.A end
-128 912 a -128 912 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-242) cvn H.B /DEST pdfmark end
-128
912 a 0.95 TeXcolorgray -82 927 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1019 25 92 v Black 0.95 TeXcolorgray -57 1019 4182
92 v Black 0.95 TeXcolorgray 4124 1019 25 92 v Black
0.95 TeXcolorgray Black -57 991 a
SDict begin H.S end
-57 991 a -57 991 a
SDict begin 11 H.A end
-57 991 a -57 991 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.1) cvn H.B /DEST pdfmark end
-57 991 a Fo(--)p 0 0 0 TeXcolorrgb
45 w(This)p Black 0 0 0 TeXcolorrgb 44 w(works)p Black
0 0 0 TeXcolorrgb 44 w(similarly)p Black 0 0 0 TeXcolorrgb
43 w(to)p Black 0 0 0 TeXcolorrgb 44 w(groupWith)p Black
0 0 0 TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 44
w(GHC)p Black(.)p 0 0 0 TeXcolorrgb(Exts)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(but)p Black 0 0 0 TeXcolorrgb
44 w(doesn)p Black -1 w(')p 0 0 0 TeXcolorrgb(t)p Black
0 0 0 TeXcolorrgb 45 w(sort)p Black 0 0 0 TeXcolorrgb
44 w(its)p Black 0 0 0 TeXcolorrgb 44 w(input)p Black
0 0 0 TeXcolorrgb 44 w(first)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 1110 25 92 v Black 0.95 TeXcolorgray
-57 1110 4182 92 v Black 0.95 TeXcolorgray 4124 1110
25 92 v Black 0.95 TeXcolorgray Black -57 1083 a
SDict begin H.S end
-57
1083 a -57 1083 a
SDict begin 11 H.A end
-57 1083 a -57 1083 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.2) cvn H.B /DEST pdfmark end
-57 1083 a 0 0 0
TeXcolorrgb Fo(groupRuns)p Black 43 w(::)p 0 0 0 TeXcolorrgb
45 w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(=>)44
b(\()p 0 0 0 TeXcolorrgb(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black(\))h(->)f([)p 0 0 0 TeXcolorrgb(a)p Black(])h(->)f([[)p
0 0 0 TeXcolorrgb(a)p Black(]])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 1201 25 92 v Black 0.95 TeXcolorgray
-57 1201 4182 92 v Black 0.95 TeXcolorgray 4124 1201
25 92 v Black 0.95 TeXcolorgray Black -57 1174 a
SDict begin H.S end
-57
1174 a -57 1174 a
SDict begin 11 H.A end
-57 1174 a -57 1174 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.3) cvn H.B /DEST pdfmark end
-57 1174 a 0 0 0
TeXcolorrgb Fo(groupRuns)p Black 0 0 0 TeXcolorrgb 43
w(f)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(groupBy)p
Black 43 w(\(\\)p 0 0 0 TeXcolorrgb(x)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(f)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(==)p 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(y)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1293 25
92 v Black 0.95 TeXcolorgray -57 1293 4182 92 v Black
0.95 TeXcolorgray 4124 1293 25 92 v Black 0.95 TeXcolorgray
Black -57 1265 a
SDict begin H.S end
-57 1265 a -57 1265 a
SDict begin 11 H.A end
-57 1265 a -57
1265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.4) cvn H.B /DEST pdfmark end
-57 1265 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1384 25 92 v Black 0.95 TeXcolorgray -57 1384 4182
92 v Black 0.95 TeXcolorgray 4124 1384 25 92 v Black
0.95 TeXcolorgray Black -57 1357 a
SDict begin H.S end
-57 1357 a -57 1357
a
SDict begin 11 H.A end
-57 1357 a -57 1357 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.5) cvn H.B /DEST pdfmark end
-57 1357 a 0 0 0 TeXcolorrgb
Fo(output)p Black 44 w(=)h([)f(\()p 0 0 0 TeXcolorrgb(the)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black(,)p 0 0 0 TeXcolorrgb
45 w(y)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1475 25 92 v Black 0.95 TeXcolorgray -57 1475 4182
92 v Black 0.95 TeXcolorgray 4124 1475 25 92 v Black
0.95 TeXcolorgray Black -57 1448 a
SDict begin H.S end
-57 1448 a -57 1448
a
SDict begin 11 H.A end
-57 1448 a -57 1448 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.6) cvn H.B /DEST pdfmark end
-57 1448 a Fo(|)p 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(<-)h(\([1..3])e(++)i([1..2]\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1567 25 92 v
Black 0.95 TeXcolorgray -57 1567 4182 92 v Black 0.95
TeXcolorgray 4124 1567 25 92 v Black 0.95 TeXcolorgray
Black -57 1539 a
SDict begin H.S end
-57 1539 a -57 1539 a
SDict begin 11 H.A end
-57 1539 a -57
1539 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.7) cvn H.B /DEST pdfmark end
-57 1539 a Fo(,)p 0 0 0 TeXcolorrgb 45 w(y)p Black
44 w(<-)g([4..6])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1658 25 92 v Black 0.95 TeXcolorgray -57 1658 4182
92 v Black 0.95 TeXcolorgray 4124 1658 25 92 v Black
0.95 TeXcolorgray Black -57 1630 a
SDict begin H.S end
-57 1630 a -57 1630
a
SDict begin 11 H.A end
-57 1630 a -57 1630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-242.8) cvn H.B /DEST pdfmark end
-57 1630 a Fo(,)p 0 0 0 TeXcolorrgb
45 w(then)p Black 0 0 0 TeXcolorrgb 44 w(group)p Black
0 0 0 TeXcolorrgb 44 w(by)p Black 0 0 0 TeXcolorrgb 44
w(x)p Black 0 0 0 TeXcolorrgb 45 w(using)p Black 0 0 0
TeXcolorrgb 44 w(groupRuns)p Black 43 w(])p 0.95 TeXcolorgray
-82 1683 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 1840 a FA(This)20 b(results)h(in)f(the)g(v)n(ariable)g
Ft(output)f FA(taking)g(on)h(the)g(v)n(alue)g(belo)n(w:)-128
1907 y
SDict begin H.S end
-128 1907 a -128 1907 a
SDict begin 12 H.A end
-128 1907 a -128 1907
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-243) cvn H.B /DEST pdfmark end
-128 1907 a 0.95 TeXcolorgray -82 1922 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2013 25 92 v Black 0.95 TeXcolorgray
-57 2013 4182 92 v Black 0.95 TeXcolorgray 4124 2013
25 92 v Black 0.95 TeXcolorgray Black -57 1986 a
SDict begin H.S end
-57
1986 a -57 1986 a
SDict begin 11 H.A end
-57 1986 a -57 1986 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-243.1) cvn H.B /DEST pdfmark end
-57 1986 a Fo([\(1,)44
b([4,)h(5,)f(6]\))o(,)h(\(2,)f([4,)h(5,)f(6]\),)g(\(3,)h([4,)f(5,)h
(6]\))o(,)g(\(1,)f([4,)g(5,)h(6]\))o(,)g(\(2,)f([4,)h(5,)f(6]\)])p
0.95 TeXcolorgray -82 2038 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 2195 a FA(Note)25 b(that)g(we)h(ha)n(v)o(e)e
(used)h(the)g Ft(the)g FA(function)f(to)h(change)f(the)h(type)f(of)h(x)
g(from)f(a)i(list)g(to)f(its)h(original)e(numeric)g(type.)39
b(The)25 b(v)n(ariable)f(y)-5 b(,)26 b(in)-57 2295 y(contrast,)19
b(is)i(left)g(unchanged)c(from)i(the)i(list)g(form)e(introduced)f(by)i
(the)g(grouping.)-128 2395 y
SDict begin H.S end
-128 2395 a -128 2395 a
SDict begin 12 H.A end
-128 2395 a -128 2395 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-244) cvn H.B /DEST pdfmark end
-128 2395 a Black 15 x FA(\225)p
Black 0.95 TeXcolorgray -82 2410 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2502 25 92 v Black 0.95 TeXcolorgray -57 2502 4182
92 v Black 0.95 TeXcolorgray 4124 2502 25 92 v Black
0.95 TeXcolorgray Black -57 2474 a
SDict begin H.S end
-57 2474 a -57 2474
a
SDict begin 11 H.A end
-57 2474 a -57 2474 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-244.1) cvn H.B /DEST pdfmark end
-57 2474 a 0 0 0 TeXcolorrgb
Fo(then)p Black 0 0 0 TeXcolorrgb 44 w(group)p Black
0 0 0 TeXcolorrgb 44 w(by)p Black 0 0 0 TeXcolorrgb 45
w(e)p Black 0.95 TeXcolorgray -82 2527 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 2683 a FA(This)i(form)f(of)h
(grouping)d(is)k(essentially)f(the)f(same)i(as)f(the)g(one)f(described)
g(abo)o(v)o(e.)28 b(Ho)n(we)n(v)o(er)m(,)21 b(since)h(no)f(function)f
(to)i(use)g(for)g(the)g(grouping)-57 2783 y(has)f(been)g(supplied)e(it)
j(will)g(f)o(all)f(back)g(on)f(the)h Ft(groupWith)f FA(function)f
(de\002ned)h(in)p 0 1 0 0 TeXcolorcmyk 2433 2784 a
SDict begin H.S end
2433
2784 a 0 1 0 0 TeXcolorcmyk -1 x FA(GHC.Exts)p 0 1 0 0
TeXcolorcmyk 2776 2727 a
SDict begin H.R end
2776 2727 a 2776 2783 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/GHC-Exts.html) >> /Subtype /Link H.B /ANN pdfmark end
2776
2783 a Black FA(.)28 b(This)21 b(is)h(the)f(form)f(of)h(the)g(group)e
(statement)-57 2883 y(that)h(we)h(made)e(use)i(of)f(in)g(the)g(opening)
f(e)o(xample.)-128 2983 y
SDict begin H.S end
-128 2983 a -128 2983 a
SDict begin 12 H.A end
-128
2983 a -128 2983 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-245) cvn H.B /DEST pdfmark end
-128 2983 a Black 15 x FA(\225)p Black
0.95 TeXcolorgray -82 2998 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3089
25 92 v Black 0.95 TeXcolorgray -57 3089 4182 92 v Black
0.95 TeXcolorgray 4124 3089 25 92 v Black 0.95 TeXcolorgray
Black -57 3062 a
SDict begin H.S end
-57 3062 a -57 3062 a
SDict begin 11 H.A end
-57 3062 a -57
3062 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-245.1) cvn H.B /DEST pdfmark end
-57 3062 a 0 0 0 TeXcolorrgb Fo(then)p Black 0 0 0
TeXcolorrgb 44 w(group)p Black 0 0 0 TeXcolorrgb 44 w(using)p
Black 0 0 0 TeXcolorrgb 44 w(f)p Black 0.95 TeXcolorgray
-82 3114 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 3271 a FA(W)m(ith)j(this)h(form)e(of)h(the)g(group)e
(statement,)i(f)h(is)g(required)d(to)i(simply)g(ha)n(v)o(e)f(the)h
(type)g Ft(forall)49 b(a.)99 b([a])49 b(->)h([[a]])p
FA(,)22 b(which)f(will)i(be)-57 3371 y(used)d(to)g(group)f(up)h(the)g
(comprehension)d(so)j(f)o(ar)g(directly)-5 b(.)24 b(An)c(e)o(xample)f
(of)h(this)h(form)e(is)i(as)g(follo)n(ws:)-128 3438 y
SDict begin H.S end
-128 3438 a -128 3438 a
SDict begin 12 H.A end
-128 3438 a -128 3438 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-246) cvn H.B /DEST pdfmark end
-128
3438 a 0.95 TeXcolorgray -82 3453 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3545 25 92 v Black 0.95 TeXcolorgray -57 3545 4182
92 v Black 0.95 TeXcolorgray 4124 3545 25 92 v Black
0.95 TeXcolorgray Black -57 3517 a
SDict begin H.S end
-57 3517 a -57 3517
a
SDict begin 11 H.A end
-57 3517 a -57 3517 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-246.1) cvn H.B /DEST pdfmark end
-57 3517 a 0 0 0 TeXcolorrgb
Fo(output)p Black 44 w(=)45 b([)p 0 0 0 TeXcolorrgb 44
w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3636 25 92 v Black 0.95 TeXcolorgray -57 3636 4182
92 v Black 0.95 TeXcolorgray 4124 3636 25 92 v Black
0.95 TeXcolorgray Black -57 3609 a
SDict begin H.S end
-57 3609 a -57 3609
a
SDict begin 11 H.A end
-57 3609 a -57 3609 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-246.2) cvn H.B /DEST pdfmark end
-57 3609 a Fo(|)p 0 0 0 TeXcolorrgb
45 w(y)p Black 44 w(<-)g([1..5])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3727 25 92 v Black 0.95 TeXcolorgray
-57 3727 4182 92 v Black 0.95 TeXcolorgray 4124 3727
25 92 v Black 0.95 TeXcolorgray Black -57 3700 a
SDict begin H.S end
-57
3700 a -57 3700 a
SDict begin 11 H.A end
-57 3700 a -57 3700 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-246.3) cvn H.B /DEST pdfmark end
-57 3700 a Fo(,)p
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(<-)g(")p 0 0 0
TeXcolorrgb(hello)p Black -1 w(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3819 25 92 v Black 0.95 TeXcolorgray
-57 3819 4182 92 v Black 0.95 TeXcolorgray 4124 3819
25 92 v Black 0.95 TeXcolorgray Black -57 3791 a
SDict begin H.S end
-57
3791 a -57 3791 a
SDict begin 11 H.A end
-57 3791 a -57 3791 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-246.4) cvn H.B /DEST pdfmark end
-57 3791 a Fo(,)p
0 0 0 TeXcolorrgb 45 w(then)p Black 0 0 0 TeXcolorrgb
44 w(group)p Black 0 0 0 TeXcolorrgb 44 w(using)p Black
0 0 0 TeXcolorrgb 44 w(inits)p Black -1 w(])p 0.95 TeXcolorgray
-82 3844 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 4000 a FA(This)20 b(will)h(yield)f(a)h(list)g(containing)d(e)
n(v)o(ery)h(pre\002x)h(of)f(the)i(w)o(ord)e("hello")h(written)g(out)g
(5)g(times:)-128 4068 y
SDict begin H.S end
-128 4068 a -128 4068 a
SDict begin 12 H.A end
-128
4068 a -128 4068 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-247) cvn H.B /DEST pdfmark end
-128 4068 a 0.95 TeXcolorgray -82
4083 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4174 25 92 v Black 0.95 TeXcolorgray
-57 4174 4182 92 v Black 0.95 TeXcolorgray 4124 4174
25 92 v Black 0.95 TeXcolorgray Black -57 4147 a
SDict begin H.S end
-57
4147 a -57 4147 a
SDict begin 11 H.A end
-57 4147 a -57 4147 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-247.1) cvn H.B /DEST pdfmark end
-57 4147 a Fo(["",")p
0 0 0 TeXcolorrgb -1 w(h)p Black(",")p 0 0 0 TeXcolorrgb(he)p
Black -1 w(",")p 0 0 0 TeXcolorrgb(hel)p Black -1 w(",")p
0 0 0 TeXcolorrgb(hell)p Black -1 w(",")p 0 0 0 TeXcolorrgb
-1 w(hello)p Black(",")p 0 0 0 TeXcolorrgb -1 w(helloh)p
Black -1 w(",")p 0 0 0 TeXcolorrgb(hellohe)p Black -2
w(",")p 0 0 0 TeXcolorrgb(hellohel)p Black -1 w(",")p
0 0 0 TeXcolorrgb -1 w(hellohell)p Black -1 w(",")p 0 0 0
TeXcolorrgb -1 w(hellohello)p Black -2 w(",")45 b Fd( )-12
b Fb(-)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82
4266 25 92 v Black 0.95 TeXcolorgray -57 4266 4182 92
v Black 0.95 TeXcolorgray 4124 4266 25 92 v Black 0.95
TeXcolorgray Black 0 0 0 TeXcolorrgb 109 4238 a Fo(hellohelloh)p
Black -2 w(",...])p 0.95 TeXcolorgray -82 4290 4232 25
v Black 0.95 TeXcolorgray Black Black Black -128 4456
a
SDict begin H.S end
-128 4456 a -128 4456 a
SDict begin 12 H.A end
-128 4456 a -128 4456 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.9) cvn H.B /DEST pdfmark end
-128
4456 a Black 140 x Fp(7.3.9)p Black 90 w(Rebindab)o(le)23
b(syntax)h(and)g(the)h(implicit)e(Prelude)h(impor)r(t)-128
4685 y
SDict begin H.S end
-128 4685 a -128 4685 a
SDict begin 12 H.A end
-128 4685 a -128 4685
a
SDict begin [ /View [/XYZ H.V] /Dest (rebindable-syntax) cvn H.B /DEST pdfmark end
-128 4685 a 114 x FA(GHC)g(normally)c(imports)i Ft(Prelude.hi)f
FA(\002les)i(for)e(you.)31 b(If)22 b(you')l(d)e(rather)h(it)i(didn')o
(t,)e(then)h(gi)n(v)o(e)g(it)h(a)f Ft(-XNoImplicitPrelude)d
FA(option.)-128 4898 y(The)j(idea)f(is)i(that)e(you)g(can)g(then)h
(import)e(a)i(Prelude)f(of)g(your)g(o)n(wn.)28 b(\(But)22
b(don')o(t)e(call)i(it)g Ft(Prelude)p FA(;)g(the)f(Hask)o(ell)h(module)
f(namespace)f(is)j(\003at,)-128 4998 y(and)d(you)f(must)i(not)e
(con\003ict)h(with)h(an)o(y)e(Prelude)g(module.\))-128
5147 y(Suppose)25 b(you)g(are)h(importing)e(a)j(Prelude)e(of)h(your)e
(o)n(wn)i(in)g(order)f(to)h(de\002ne)f(your)g(o)n(wn)g(numeric)g(class)
i(hierarchy)-5 b(.)40 b(It)26 b(completely)e(defeats)-128
5246 y(that)d(purpose)e(if)i(the)g(literal)g("1")g(means)f(")p
Ft(Prelude.fromInteger)46 b(1)p FA(",)21 b(which)f(is)i(what)e(the)h
(Hask)o(ell)g(Report)g(speci\002es.)26 b(So)21 b(the)g
Ft(-XN-)-128 5346 y(oImplicitPrelude)f FA(\003ag)j Fq(also)f
FA(causes)h(the)f(follo)n(wing)f(pieces)i(of)f(b)n(uilt-in)f(syntax)h
(to)h(refer)e(to)i Fq(whate)o(ver)f(is)h(in)g(scope)p
FA(,)f(not)g(the)h(Prelude)-128 5446 y(v)o(ersions:)p
Black -128 5660 a(\225)p Black 42 w(An)h(inte)o(ger)f(literal)h
Ft(368)g FA(means)f(")p Ft(fromInteger)48 b(\(368::Integer\))p
FA(",)22 b(rather)h(than)h(")p Ft(Prelude.fromInteger)46
b(\(368::-)-57 5759 y(Integer\))p FA(".)p Black -128
6084 4252 5 v Black eop end
%%Page: 126 141
TeXDict begin 126 140 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.126) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(126)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(Fractional)f(literals)i(are)f(handed)f(in)h(just)h(the)f(same)g(w)
o(ay)-5 b(,)20 b(e)o(xcept)f(that)i(the)f(translation)f(is)i
Ft(fromRational)48 b(\(3.68::Rational\))p FA(.)p Black
-128 338 a(\225)p Black 42 w(The)20 b(equality)f(test)i(in)g(an)f(o)o
(v)o(erloaded)d(numeric)i(pattern)g(uses)i(whate)n(v)o(er)d
Ft(\(==\))i FA(is)h(in)g(scope.)p Black -128 503 a(\225)p
Black 42 w(The)f(subtraction)f(operation,)f(and)h(the)h(greater)n
(-than-or)n(-equal)c(test,)21 b(in)f Ft(n+k)h FA(patterns)e(use)i
(whate)n(v)o(er)d Ft(\(-\))j FA(and)e Ft(\(>=\))h FA(are)g(in)h(scope.)
p Black -128 668 a(\225)p Black 42 w(Ne)o(gation)d(\(e.g.)25
b(")p Ft(-)49 b(\(f)h(x\))p FA("\))20 b(means)f(")p Ft(negate)49
b(\(f)g(x\))p FA(",)20 b(both)g(in)g(numeric)f(patterns,)g(and)h(e)o
(xpressions.)p Black -128 833 a(\225)p Black 42 w("Do")j(notation)f(is)
j(translated)d(using)h(whate)n(v)o(er)f(functions)g Ft(\(>>=\))p
FA(,)i Ft(\(>>\))p FA(,)g(and)e Ft(fail)p FA(,)i(are)g(in)f(scope)g
(\(not)g(the)g(Prelude)g(v)o(ersions\).)33 b(List)-57
932 y(comprehensions,)17 b(mdo)i(\(Section)p 1 0 0 TeXcolorrgb
990 933 a
SDict begin H.S end
990 933 a 1 0 0 TeXcolorrgb -1 x FA(7.3.6)p
1 0 0 TeXcolorrgb 1156 876 a
SDict begin H.R end
1156 876 a 1156 932 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.6) cvn H.B /ANN pdfmark end
1156
932 a Black FA(\),)h(and)g(parallel)f(array)h(comprehensions,)d(are)j
(unaf)n(fected.)p Black -128 1097 a(\225)p Black 42 w(Arro)n(w)i
(notation)g(\(see)i(Section)p 1 0 0 TeXcolorrgb 908 1098
a
SDict begin H.S end
908 1098 a 1 0 0 TeXcolorrgb -1 x FA(7.10)p 1 0 0 TeXcolorrgb
1053 1041 a
SDict begin H.R end
1053 1041 a 1053 1097 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.10) cvn H.B /ANN pdfmark end
1053 1097 a Black
FA(\))f(uses)h(whate)n(v)o(er)e Ft(arr)p FA(,)i Ft(\(>>>\))p
FA(,)f Ft(first)p FA(,)g Ft(app)p FA(,)h Ft(\(|||\))f
FA(and)f Ft(loop)i FA(functions)d(are)i(in)h(scope.)33
b(But)-57 1197 y(unlik)o(e)22 b(the)h(other)e(constructs,)i(the)f
(types)h(of)f(these)h(functions)e(must)i(match)f(the)h(Prelude)f(types)
g(v)o(ery)g(closely)-5 b(.)31 b(Details)24 b(are)e(in)h(\003ux;)h(if)f
(you)-57 1297 y(w)o(ant)d(to)h(use)f(this,)h(ask!)-128
1509 y(In)16 b(all)g(cases)g(\(apart)e(from)h(arro)n(w)f(notation\),)h
(the)g(static)h(semantics)g(should)e(be)h(that)h(of)f(the)h(desugared)d
(form,)i(e)n(v)o(en)f(if)i(that)f(is)i(a)f(little)g(une)o(xpected.)-128
1609 y(F)o(or)k(e)o(xample,)e(the)h(static)h(semantics)g(of)f(the)h
(literal)f Ft(368)h FA(is)g(e)o(xactly)f(that)h(of)f
Ft(fromInteger)48 b(\(368::Integer\))p FA(;)17 b(it')-5
b(s)21 b(\002ne)e(for)g Ft(from-)-128 1708 y(Integer)h
FA(to)g(ha)n(v)o(e)g(an)o(y)f(of)h(the)g(types:)-128
1775 y
SDict begin H.S end
-128 1775 a -128 1775 a
SDict begin 12 H.A end
-128 1775 a -128 1775
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-248) cvn H.B /DEST pdfmark end
-128 1775 a 0.95 TeXcolorgray -153 1790 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1881 25 92 v Black 0.95 TeXcolorgray
-128 1881 4252 92 v Black 0.95 TeXcolorgray 4124 1881
25 92 v Black 0.95 TeXcolorgray Black -128 1854 a
SDict begin H.S end
-128
1854 a -128 1854 a
SDict begin 11 H.A end
-128 1854 a -128 1854 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-248.1) cvn H.B /DEST pdfmark end
-128 1854
a 0 0 0 TeXcolorrgb Fo(fromInteger)p Black 43 w(::)p
0 0 0 TeXcolorrgb 45 w(Integer)p Black 44 w(->)p 0 0 0
TeXcolorrgb 44 w(Integer)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1973 25 92 v Black 0.95 TeXcolorgray
-128 1973 4252 92 v Black 0.95 TeXcolorgray 4124 1973
25 92 v Black 0.95 TeXcolorgray Black -128 1945 a
SDict begin H.S end
-128
1945 a -128 1945 a
SDict begin 11 H.A end
-128 1945 a -128 1945 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-248.2) cvn H.B /DEST pdfmark end
-128 1945
a 0 0 0 TeXcolorrgb Fo(fromInteger)p Black 43 w(::)p
0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(.)p 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb
45 w(Integer)p Black 43 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2064 25 92 v Black 0.95 TeXcolorgray -128 2064 4252 92
v Black 0.95 TeXcolorgray 4124 2064 25 92 v Black 0.95
TeXcolorgray Black -128 2037 a
SDict begin H.S end
-128 2037 a -128 2037
a
SDict begin 11 H.A end
-128 2037 a -128 2037 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-248.3) cvn H.B /DEST pdfmark end
-128 2037 a 0 0 0 TeXcolorrgb
Fo(fromInteger)p Black 43 w(::)p 0 0 0 TeXcolorrgb 45
w(Num)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(Integer)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2155 25 92 v Black 0.95 TeXcolorgray -128 2155 4252
92 v Black 0.95 TeXcolorgray 4124 2155 25 92 v Black
0.95 TeXcolorgray Black -128 2128 a
SDict begin H.S end
-128 2128 a -128
2128 a
SDict begin 11 H.A end
-128 2128 a -128 2128 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-248.4) cvn H.B /DEST pdfmark end
-128 2128 a 0 0 0 TeXcolorrgb
Fo(fromInteger)p Black 43 w(::)p 0 0 0 TeXcolorrgb 45
w(Integer)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Bool)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95
TeXcolorgray -153 2180 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2352 a FA(Be)30 b(w)o(arned:)42
b(this)30 b(is)g(an)f(e)o(xperimental)e(f)o(acility)-5
b(,)30 b(with)g(fe)n(wer)e(checks)h(than)f(usual.)51
b(Use)30 b Ft(-dcore-lint)e FA(to)h(typecheck)e(the)i(desugared)-128
2452 y(program.)23 b(If)d(Core)g(Lint)h(is)g(happ)o(y)e(you)g(should)g
(be)h(all)h(right.)-128 2586 y
SDict begin H.S end
-128 2586 a -128 2586
a
SDict begin 12 H.A end
-128 2586 a -128 2586 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.10) cvn H.B /DEST pdfmark end
-128 2586 a Black 146 x Fp(7.3.10)p
Black 89 w(P)l(ost\002x)k(operator)o(s)-128 2821 y
SDict begin H.S end
-128
2821 a -128 2821 a
SDict begin 12 H.A end
-128 2821 a -128 2821 a
SDict begin [ /View [/XYZ H.V] /Dest (postfix-operators) cvn H.B /DEST pdfmark end
-128 2821
a 113 x FA(The)c Ft(-XPostfixOperators)d FA(\003ag)i(enables)h(a)g
(small)g(e)o(xtension)e(to)i(the)f(syntax)g(of)h(left)g(operator)d
(sections,)j(which)f(allo)n(ws)h(you)f(to)h(de\002ne)-128
3034 y(post\002x)f(operators.)k(The)c(e)o(xtension)e(is)j(this:)26
b(the)20 b(left)h(section)-128 3101 y
SDict begin H.S end
-128 3101 a -128
3101 a
SDict begin 12 H.A end
-128 3101 a -128 3101 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-249) cvn H.B /DEST pdfmark end
-128 3101 a 0.95 TeXcolorgray
-153 3116 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3207 25 92
v Black 0.95 TeXcolorgray -128 3207 4252 92 v Black 0.95
TeXcolorgray 4124 3207 25 92 v Black 0.95 TeXcolorgray
Black -128 3180 a
SDict begin H.S end
-128 3180 a -128 3180 a
SDict begin 11 H.A end
-128 3180 a
-128 3180 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-249.1) cvn H.B /DEST pdfmark end
-128 3180 a 90 w Fo(\()p 0 0 0 TeXcolorrgb(e)p
Black 45 w(!\))p 0.95 TeXcolorgray -153 3232 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3404
a FA(is)h(equi)n(v)n(alent)c(\(from)h(the)h(point)f(of)h(vie)n(w)g(of)g
(both)g(type)f(checking)g(and)h(e)o(x)o(ecution\))d(to)k(the)f(e)o
(xpression)-128 3471 y
SDict begin H.S end
-128 3471 a -128 3471 a
SDict begin 12 H.A end
-128 3471
a -128 3471 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-250) cvn H.B /DEST pdfmark end
-128 3471 a 0.95 TeXcolorgray -153 3486
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3577 25 92 v Black 0.95
TeXcolorgray -128 3577 4252 92 v Black 0.95 TeXcolorgray
4124 3577 25 92 v Black 0.95 TeXcolorgray Black -128
3550 a
SDict begin H.S end
-128 3550 a -128 3550 a
SDict begin 11 H.A end
-128 3550 a -128 3550
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-250.1) cvn H.B /DEST pdfmark end
-128 3550 a 90 w Fo(\(\(!\))p 0 0 0 TeXcolorrgb 44
w(e)p Black(\))p 0.95 TeXcolorgray -153 3602 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3774
a FA(\(for)g(an)o(y)f(e)o(xpression)g Ft(e)h FA(and)g(operator)e
Ft(\(!\))p FA(.)25 b(The)20 b(strict)h(Hask)o(ell)f(98)g
(interpretation)e(is)j(that)g(the)f(section)g(is)h(equi)n(v)n(alent)d
(to)-128 3841 y
SDict begin H.S end
-128 3841 a -128 3841 a
SDict begin 12 H.A end
-128 3841 a -128
3841 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-251) cvn H.B /DEST pdfmark end
-128 3841 a 0.95 TeXcolorgray -153 3856 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3947 25 92 v Black 0.95 TeXcolorgray
-128 3947 4252 92 v Black 0.95 TeXcolorgray 4124 3947
25 92 v Black 0.95 TeXcolorgray Black -128 3920 a
SDict begin H.S end
-128
3920 a -128 3920 a
SDict begin 11 H.A end
-128 3920 a -128 3920 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-251.1) cvn H.B /DEST pdfmark end
-128 3920
a 90 w Fo(\(\\)p 0 0 0 TeXcolorrgb(y)p Black 44 w(->)45
b(\(!\))p 0 0 0 TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black(\))p 0.95 TeXcolorgray -153 3972 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 4144
a FA(That)21 b(is,)g(the)g(operator)e(must)h(be)h(a)g(function)e(of)h
(tw)o(o)h(ar)o(guments.)j(GHC)d(allo)n(ws)g(it)g(to)g(tak)o(e)g(only)f
(one)g(ar)o(gument,)e(and)i(that)g(in)h(turn)f(allo)n(ws)h(you)-128
4244 y(to)g(write)f(the)g(function)f(post\002x.)-128
4392 y(The)h(e)o(xtension)f(does)h(not)g(e)o(xtend)f(to)h(the)g
(left-hand)f(side)h(of)g(function)f(de\002nitions;)g(you)g(must)i
(de\002ne)e(such)h(a)h(function)d(in)j(pre\002x)e(form.)-128
4526 y
SDict begin H.S end
-128 4526 a -128 4526 a
SDict begin 12 H.A end
-128 4526 a -128 4526
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.11) cvn H.B /DEST pdfmark end
-128 4526 a Black 147 x Fp(7.3.11)p Black 89 w(Recor)n(d)24
b(\002eld)h(disambiguation)-128 4761 y
SDict begin H.S end
-128 4761 a -128
4761 a
SDict begin 12 H.A end
-128 4761 a -128 4761 a
SDict begin [ /View [/XYZ H.V] /Dest (disambiguate-fields) cvn H.B /DEST pdfmark end
-128 4761 a 114 x FA(In)h(record)f
(construction)f(and)i(record)f(pattern)g(matching)g(it)i(is)g(entirely)
f(unambiguous)d(which)i(\002eld)i(is)g(referred)d(to,)k(e)n(v)o(en)d
(if)i(there)f(are)g(tw)o(o)-128 4974 y(dif)n(ferent)19
b(data)h(types)g(in)g(scope)g(with)h(a)f(common)e(\002eld)j(name.)j(F)o
(or)c(e)o(xample:)-128 5041 y
SDict begin H.S end
-128 5041 a -128 5041 a
SDict begin 12 H.A end
-128 5041 a -128 5041 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-252) cvn H.B /DEST pdfmark end
-128 5041 a 0.95 TeXcolorgray
-153 5056 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5148 25 92
v Black 0.95 TeXcolorgray -128 5148 4252 92 v Black 0.95
TeXcolorgray 4124 5148 25 92 v Black 0.95 TeXcolorgray
Black -128 5120 a
SDict begin H.S end
-128 5120 a -128 5120 a
SDict begin 11 H.A end
-128 5120 a
-128 5120 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.1) cvn H.B /DEST pdfmark end
-128 5120 a 0 0 0 TeXcolorrgb Fo(module)p
Black 0 0 0 TeXcolorrgb 44 w(M)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5239 25 92 v Black 0.95 TeXcolorgray -128 5239 4252
92 v Black 0.95 TeXcolorgray 4124 5239 25 92 v Black
0.95 TeXcolorgray Black -128 5212 a
SDict begin H.S end
-128 5212 a -128
5212 a
SDict begin 11 H.A end
-128 5212 a -128 5212 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.2) cvn H.B /DEST pdfmark end
-128 5212 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(S)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkS)p Black 44 w({)p
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Int)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(y)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Bool)p Black 44
w(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5330 25 92 v Black 0.95 TeXcolorgray -128 5330 4252 92
v Black 0.95 TeXcolorgray 4124 5330 25 92 v Black 0.95
TeXcolorgray Black -128 5303 a
SDict begin H.S end
-128 5303 a -128 5303
a
SDict begin 11 H.A end
-128 5303 a -128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.3) cvn H.B /DEST pdfmark end
-128 5303 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5422 25 92 v Black 0.95
TeXcolorgray -128 5422 4252 92 v Black 0.95 TeXcolorgray
4124 5422 25 92 v Black 0.95 TeXcolorgray Black -128
5394 a
SDict begin H.S end
-128 5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a -128 5394
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.4) cvn H.B /DEST pdfmark end
-128 5394 a 0 0 0 TeXcolorrgb Fo(module)p Black 0 0 0
TeXcolorrgb 44 w(Foo)p Black 0 0 0 TeXcolorrgb 45 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5513 25 92 v Black 0.95 TeXcolorgray -128 5513 4252 92
v Black 0.95 TeXcolorgray 4124 5513 25 92 v Black 0.95
TeXcolorgray Black -128 5485 a
SDict begin H.S end
-128 5485 a -128 5485
a
SDict begin 11 H.A end
-128 5485 a -128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.5) cvn H.B /DEST pdfmark end
-128 5485 a 0 0 0 TeXcolorrgb
90 w Fo(import)p Black 0 0 0 TeXcolorrgb 44 w(M)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5604 25
92 v Black 0.95 TeXcolorgray -128 5604 4252 92 v Black
0.95 TeXcolorgray 4124 5604 25 92 v Black 0.95 TeXcolorgray
Black -128 5577 a
SDict begin H.S end
-128 5577 a -128 5577 a
SDict begin 11 H.A end
-128 5577 a
-128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.6) cvn H.B /DEST pdfmark end
-128 5577 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5696 25 92 v Black 0.95 TeXcolorgray
-128 5696 4252 92 v Black 0.95 TeXcolorgray 4124 5696
25 92 v Black 0.95 TeXcolorgray Black -128 5668 a
SDict begin H.S end
-128
5668 a -128 5668 a
SDict begin 11 H.A end
-128 5668 a -128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.7) cvn H.B /DEST pdfmark end
-128 5668
a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkT)p
Black 44 w({)p 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5787 25 92 v Black 0.95
TeXcolorgray -128 5787 4252 92 v Black 0.95 TeXcolorgray
4124 5787 25 92 v Black 0.95 TeXcolorgray Black -128
5759 a
SDict begin H.S end
-128 5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.8) cvn H.B /DEST pdfmark end
-128 5759 a Black -128 6084 4252 5 v Black eop end
%%Page: 127 142
TeXDict begin 127 141 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.127) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(127)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.9) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
90 w Fo(ok1)p Black 44 w(\()p 0 0 0 TeXcolorrgb(MkS)p
Black 45 w({)p 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(n)p Black 44 w(}\))45 b(=)p 0 0 0
TeXcolorrgb 44 w(n)p Black(+1)134 b(--)p 0 0 0 TeXcolorrgb
45 w(Unambiguous)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 292 25 92 v Black 0.95 TeXcolorgray
-128 292 4252 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265
a -128 265 a
SDict begin 11 H.A end
-128 265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.10) cvn H.B /DEST pdfmark end
-128 265 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.11) cvn H.B /DEST pdfmark end
-128 356 a 0 0 0 TeXcolorrgb
90 w Fo(ok2)p Black 0 0 0 TeXcolorrgb 44 w(n)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkT)p Black 44 w({)p
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(n)p Black(+1)44 b(})224 b(--)p 0 0 0 TeXcolorrgb
45 w(Unambiguous)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.12) cvn H.B /DEST pdfmark end
-128 447 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.13) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb
90 w Fo(bad1)p Black 0 0 0 TeXcolorrgb 44 w(k)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(k)p Black 44 w({)p 0 0 0
TeXcolorrgb 45 w(x)p Black 45 w(=)44 b(3)h(})89 b(--)p
0 0 0 TeXcolorrgb 45 w(Ambiguous)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 657 25 92 v Black 0.95 TeXcolorgray
-128 657 4252 92 v Black 0.95 TeXcolorgray 4124 657 25
92 v Black 0.95 TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630
a -128 630 a
SDict begin 11 H.A end
-128 630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-252.14) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb
90 w Fo(bad2)p Black 0 0 0 TeXcolorrgb 44 w(k)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb
44 w(k)p Black 448 w(--)p 0 0 0 TeXcolorrgb 45 w(Ambiguous)p
Black 0.95 TeXcolorgray -152 682 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 856 a FA(Ev)o(en)18
b(though)f(there)h(are)h(tw)o(o)g Ft(x)p FA(')-5 b(s)19
b(in)g(scope,)g(it)g(is)h(clear)e(that)h(the)g Ft(x)g
FA(in)g(the)g(pattern)e(in)i(the)g(de\002nition)f(of)g
Ft(ok1)h FA(can)f(only)g(mean)g(the)h(\002eld)g Ft(x)g
FA(from)-128 956 y(type)k Ft(S)p FA(.)f(Similarly)h(for)f(the)g
(function)f Ft(ok2)p FA(.)32 b(Ho)n(we)n(v)o(er)m(,)21
b(in)i(the)g(record)e(update)g(in)i Ft(bad1)g FA(and)f(the)g(record)f
(selection)i(in)g Ft(bad2)f FA(it)h(is)h(not)e(clear)-128
1056 y(which)e(of)g(the)g(tw)o(o)h(types)f(is)h(intended.)-128
1205 y(Hask)o(ell)i(98)e(re)o(gards)f(all)j(four)e(as)h(ambiguous,)e(b)
n(ut)i(with)g(the)g Ft(-XDisambiguateRecordFields)c FA(\003ag,)k(GHC)g
(will)h(accept)f(the)g(former)-128 1305 y(tw)o(o.)28
b(The)21 b(rules)f(are)h(precisely)g(the)g(same)g(as)g(those)g(for)f
(instance)h(declarations)f(in)h(Hask)o(ell)g(98,)g(where)f(the)h
(method)f(names)g(on)h(the)g(left-hand)-128 1404 y(side)28
b(of)f(the)h(method)e(bindings)g(in)i(an)f(instance)g(declaration)f
(refer)h(unambiguously)d(to)j(the)h(method)e(of)h(that)h(class)g(\(pro)
o(vided)d(the)o(y)h(are)i(in)-128 1504 y(scope)20 b(at)g(all\),)f(e)n
(v)o(en)g(if)g(there)g(are)h(other)f(v)n(ariables)f(in)i(scope)f(with)h
(the)f(same)h(name.)k(This)c(reduces)e(the)i(clutter)f(of)g
(quali\002ed)g(names)g(when)g(you)-128 1604 y(import)h(tw)o(o)g
(records)f(from)g(dif)n(ferent)g(modules)g(that)h(use)h(the)f(same)g
(\002eld)h(name.)-128 1738 y
SDict begin H.S end
-128 1738 a -128 1738 a
SDict begin 12 H.A end
-128 1738 a -128 1738 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.12) cvn H.B /DEST pdfmark end
-128 1738 a Black 148 x Fp(7.3.12)p
Black 89 w(Recor)n(d)j(puns)-128 1974 y
SDict begin H.S end
-128 1974 a -128
1974 a
SDict begin 12 H.A end
-128 1974 a -128 1974 a
SDict begin [ /View [/XYZ H.V] /Dest (record-puns) cvn H.B /DEST pdfmark end
-128 1974 a 115 x FA(Record)c(puns)g
(are)g(enabled)f(by)g(the)i(\003ag)f Ft(-XNamedFieldPuns)p
FA(.)-128 2238 y(When)g(using)g(records,)f(it)i(is)g(common)d(to)j
(write)f(a)h(pattern)e(that)h(binds)g(a)h(v)n(ariable)e(with)h(the)g
(same)h(name)e(as)i(a)g(record)d(\002eld,)j(such)f(as:)-128
2306 y
SDict begin H.S end
-128 2306 a -128 2306 a
SDict begin 12 H.A end
-128 2306 a -128 2306
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-253) cvn H.B /DEST pdfmark end
-128 2306 a 0.95 TeXcolorgray -153 2321 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2413 25 92 v Black 0.95 TeXcolorgray
-128 2413 4252 92 v Black 0.95 TeXcolorgray 4124 2413
25 92 v Black 0.95 TeXcolorgray Black -128 2385 a
SDict begin H.S end
-128
2385 a -128 2385 a
SDict begin 11 H.A end
-128 2385 a -128 2385 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-253.1) cvn H.B /DEST pdfmark end
-128 2385
a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(C)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(C)p Black
45 w({)p 0 0 0 TeXcolorrgb -1 w(a)p Black 45 w(::)p 0 0 0
TeXcolorrgb 45 w(Int)p Black -1 w(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2504 25 92 v Black 0.95
TeXcolorgray -128 2504 4252 92 v Black 0.95 TeXcolorgray
4124 2504 25 92 v Black 0.95 TeXcolorgray Black -128
2477 a
SDict begin H.S end
-128 2477 a -128 2477 a
SDict begin 11 H.A end
-128 2477 a -128 2477
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-253.2) cvn H.B /DEST pdfmark end
-128 2477 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(\()p
0 0 0 TeXcolorrgb(C)p Black 45 w({)p 0 0 0 TeXcolorrgb
-1 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(a)p Black(}\))44
b(=)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
-153 2529 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2703 a FA(Record)20 b(punning)e(permits)i(the)g(v)n(ariable)
f(name)h(to)g(be)g(elided,)f(so)i(one)f(can)g(simply)f(write)-128
2771 y
SDict begin H.S end
-128 2771 a -128 2771 a
SDict begin 12 H.A end
-128 2771 a -128 2771
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-254) cvn H.B /DEST pdfmark end
-128 2771 a 0.95 TeXcolorgray -153 2786 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2878 25 92 v Black 0.95 TeXcolorgray
-128 2878 4252 92 v Black 0.95 TeXcolorgray 4124 2878
25 92 v Black 0.95 TeXcolorgray Black -128 2850 a
SDict begin H.S end
-128
2850 a -128 2850 a
SDict begin 11 H.A end
-128 2850 a -128 2850 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-254.1) cvn H.B /DEST pdfmark end
-128 2850
a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb(C)p
Black 45 w({)p 0 0 0 TeXcolorrgb -1 w(a)p Black(}\))45
b(=)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
-153 2903 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3077 a FA(to)21 b(mean)f(the)h(same)g(pattern)e(as)j(abo)o
(v)o(e.)i(That)d(is,)g(in)g(a)g(record)e(pattern,)h(the)g(pattern)g
Ft(a)h FA(e)o(xpands)e(into)i(the)f(pattern)g Ft(a)50
b(=)f(a)21 b FA(for)f(the)h(same)g(name)-128 3176 y Ft(a)p
FA(.)-128 3326 y(Note)g(that)f(puns)f(and)h(other)f(patterns)h(can)g
(be)g(mix)o(ed)f(in)i(the)f(same)g(record:)-128 3394
y
SDict begin H.S end
-128 3394 a -128 3394 a
SDict begin 12 H.A end
-128 3394 a -128 3394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-255) cvn H.B /DEST pdfmark end
-128
3394 a 0.95 TeXcolorgray -153 3409 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3500 25 92 v Black 0.95 TeXcolorgray -128 3500 4252
92 v Black 0.95 TeXcolorgray 4124 3500 25 92 v Black
0.95 TeXcolorgray Black -128 3473 a
SDict begin H.S end
-128 3473 a -128
3473 a
SDict begin 11 H.A end
-128 3473 a -128 3473 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-255.1) cvn H.B /DEST pdfmark end
-128 3473 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(C)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(C)p Black 45 w({)p 0 0 0 TeXcolorrgb
-1 w(a)p Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(Int)p Black -1 w(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3592 25 92 v Black 0.95
TeXcolorgray -128 3592 4252 92 v Black 0.95 TeXcolorgray
4124 3592 25 92 v Black 0.95 TeXcolorgray Black -128
3564 a
SDict begin H.S end
-128 3564 a -128 3564 a
SDict begin 11 H.A end
-128 3564 a -128 3564
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-255.2) cvn H.B /DEST pdfmark end
-128 3564 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(\()p
0 0 0 TeXcolorrgb(C)p Black 45 w({)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(b)p Black 45
w(=)44 b(4}\))h(=)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray -153 3617 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3791 a FA(and)20 b(that)g(puns)g(can)g(be)g
(used)g(where)n(v)o(er)e(record)h(patterns)h(occur)f(\(e.g.)24
b(in)c Ft(let)h FA(bindings)d(or)i(at)h(the)f(top-le)n(v)o(el\).)-128
3940 y(Record)g(punning)e(can)i(also)g(be)g(used)g(in)h(an)f(e)o
(xpression,)e(writing,)i(for)f(e)o(xample,)-128 4008
y
SDict begin H.S end
-128 4008 a -128 4008 a
SDict begin 12 H.A end
-128 4008 a -128 4008 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-256) cvn H.B /DEST pdfmark end
-128
4008 a 0.95 TeXcolorgray -153 4023 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4115 25 92 v Black 0.95 TeXcolorgray -128 4115 4252
92 v Black 0.95 TeXcolorgray 4124 4115 25 92 v Black
0.95 TeXcolorgray Black -128 4087 a
SDict begin H.S end
-128 4087 a -128
4087 a
SDict begin 11 H.A end
-128 4087 a -128 4087 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-256.1) cvn H.B /DEST pdfmark end
-128 4087 a 0 0 0 TeXcolorrgb
Fo(let)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)45
b(1)p 0 0 0 TeXcolorrgb 45 w(in)p Black 0 0 0 TeXcolorrgb
44 w(C)p Black 45 w({)p 0 0 0 TeXcolorrgb(a)p Black(})p
0.95 TeXcolorgray -153 4140 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4314 a FA(instead)20 b(of)-128
4365 y
SDict begin H.S end
-128 4365 a -128 4365 a
SDict begin 12 H.A end
-128 4365 a -128 4365
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-257) cvn H.B /DEST pdfmark end
-128 4365 a 0.95 TeXcolorgray -153 4397 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4488 25 92 v Black 0.95 TeXcolorgray
-128 4488 4252 92 v Black 0.95 TeXcolorgray 4124 4488
25 92 v Black 0.95 TeXcolorgray Black -128 4461 a
SDict begin H.S end
-128
4461 a -128 4461 a
SDict begin 11 H.A end
-128 4461 a -128 4461 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-257.1) cvn H.B /DEST pdfmark end
-128 4461
a 0 0 0 TeXcolorrgb Fo(let)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(=)45 b(1)p 0 0 0 TeXcolorrgb 45 w(in)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 45 w({)p 0 0 0
TeXcolorrgb(a)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(a)p
Black(})p 0.95 TeXcolorgray -153 4513 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4687 a FA(Note)23
b(that)h(this)f(e)o(xpansion)e(is)j(purely)e(syntactic,)h(so)g(the)h
(record)d(pun)h(e)o(xpression)g(refers)g(to)i(the)f(nearest)f
(enclosing)g(v)n(ariable)g(that)h(is)h(spelled)-128 4787
y(the)d(same)f(as)h(the)f(\002eld)g(name.)-128 4904 y
SDict begin H.S end
-128 4904 a -128 4904 a
SDict begin 12 H.A end
-128 4904 a -128 4904 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.13) cvn H.B /DEST pdfmark end
-128
4904 a Black 165 x Fp(7.3.13)p Black 89 w(Recor)n(d)k(wildcar)n(ds)-128
5158 y
SDict begin H.S end
-128 5158 a -128 5158 a
SDict begin 12 H.A end
-128 5158 a -128 5158
a
SDict begin [ /View [/XYZ H.V] /Dest (record-wildcards) cvn H.B /DEST pdfmark end
-128 5158 a 114 x FA(Record)c(wildcards)g(are)g(enabled)f(by)g(the)i
(\003ag)f Ft(-XRecordWildCards)p FA(.)-128 5422 y(F)o(or)g(records)f
(with)i(man)o(y)e(\002elds,)h(it)h(can)f(be)g(tiresome)g(to)g(write)h
(out)e(each)h(\002eld)h(indi)n(vidually)d(in)i(a)h(record)d(pattern,)h
(as)i(in)-128 5490 y
SDict begin H.S end
-128 5490 a -128 5490 a
SDict begin 12 H.A end
-128 5490
a -128 5490 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-258) cvn H.B /DEST pdfmark end
-128 5490 a 0.95 TeXcolorgray -153 5505
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5596 25 92 v Black 0.95
TeXcolorgray -128 5596 4252 92 v Black 0.95 TeXcolorgray
4124 5596 25 92 v Black 0.95 TeXcolorgray Black -128
5569 a
SDict begin H.S end
-128 5569 a -128 5569 a
SDict begin 11 H.A end
-128 5569 a -128 5569
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-258.1) cvn H.B /DEST pdfmark end
-128 5569 a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0
TeXcolorrgb 45 w(C)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(C)p Black 45 w({)p 0 0 0 TeXcolorrgb -1 w(a)p Black
45 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Int)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(c)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p Black(,)p
0 0 0 TeXcolorrgb 44 w(d)p Black 45 w(::)p 0 0 0 TeXcolorrgb
45 w(Int)p Black -1 w(})p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5687 25 92 v Black 0.95 TeXcolorgray
-128 5687 4252 92 v Black 0.95 TeXcolorgray 4124 5687
25 92 v Black 0.95 TeXcolorgray Black -128 5660 a
SDict begin H.S end
-128
5660 a -128 5660 a
SDict begin 11 H.A end
-128 5660 a -128 5660 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-258.2) cvn H.B /DEST pdfmark end
-128 5660
a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb(C)p
Black 45 w({)p 0 0 0 TeXcolorrgb -1 w(a)p Black 45 w(=)45
b(1,)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(b)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(c)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(c)p Black(,)p
0 0 0 TeXcolorrgb 45 w(d)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(d)p Black(}\))g(=)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(+)p 0 0 0 TeXcolorrgb 45 w(c)p Black 44 w(+)p 0 0 0
TeXcolorrgb 45 w(d)p Black 0.95 TeXcolorgray -153 5712
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
6084 4252 5 v Black eop end
%%Page: 128 143
TeXDict begin 128 142 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.128) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(128)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Record)26
b(wildcard)g(syntax)g(permits)g(a)h(\()p Ft(..)p FA(\))44
b(in)27 b(a)g(record)e(pattern,)j(where)e(each)g(elided)g(\002eld)h
Ft(f)g FA(is)g(replaced)f(by)g(the)h(pattern)e Ft(f)50
b(=)g(f)p FA(.)44 b(F)o(or)-128 273 y(e)o(xample,)19
b(the)h(abo)o(v)o(e)f(pattern)g(can)h(be)g(written)g(as)-128
332 y
SDict begin H.S end
-128 332 a -128 332 a
SDict begin 12 H.A end
-128 332 a -128 332 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-259) cvn H.B /DEST pdfmark end
-128
332 a 0.95 TeXcolorgray -153 347 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 438 25 92 v Black 0.95 TeXcolorgray -128 438 4252
92 v Black 0.95 TeXcolorgray 4124 438 25 92 v Black 0.95
TeXcolorgray Black -128 411 a
SDict begin H.S end
-128 411 a -128 411 a
SDict begin 11 H.A end
-128
411 a -128 411 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-259.1) cvn H.B /DEST pdfmark end
-128 411 a 0 0 0 TeXcolorrgb Fo(f)p
Black 45 w(\()p 0 0 0 TeXcolorrgb(C)p Black 45 w({)p
0 0 0 TeXcolorrgb -1 w(a)p Black 45 w(=)45 b(1,)f(..}\))g(=)p
0 0 0 TeXcolorrgb 45 w(b)p Black 45 w(+)p 0 0 0 TeXcolorrgb
44 w(c)p Black 45 w(+)p 0 0 0 TeXcolorrgb 45 w(d)p Black
0.95 TeXcolorgray -153 463 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 620 a FA(Note)25 b(that)g(wildcards)f(can)g(be)h
(mix)o(ed)e(with)i(other)f(patterns,)h(including)e(puns)h(\(Section)p
1 0 0 TeXcolorrgb 2534 621 a
SDict begin H.S end
2534 621 a 1 0 0 TeXcolorrgb
-1 x FA(7.3.12)p 1 0 0 TeXcolorrgb 2741 563 a
SDict begin H.R end
2741 563
a 2741 620 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.12) cvn H.B /ANN pdfmark end
2741 620 a Black FA(\);)j(for)d(e)o(xample,)g(in)h(a)g
(pattern)f Ft(C)50 b({a)f(=)h(1,)-128 719 y(b,)g(..}\))p
FA(.)45 b(Additionally)-5 b(,)26 b(record)g(wildcards)g(can)h(be)g
(used)f(where)n(v)o(er)f(record)h(patterns)g(occur)m(,)h(including)f
(in)h Ft(let)g FA(bindings)e(and)i(at)g(the)-128 819
y(top-le)n(v)o(el.)d(F)o(or)c(e)o(xample,)e(the)i(top-le)n(v)o(el)f
(binding)-128 878 y
SDict begin H.S end
-128 878 a -128 878 a
SDict begin 12 H.A end
-128 878 a
-128 878 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-260) cvn H.B /DEST pdfmark end
-128 878 a 0.95 TeXcolorgray -153 893 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 984 25 92 v Black 0.95 TeXcolorgray
-128 984 4252 92 v Black 0.95 TeXcolorgray 4124 984 25
92 v Black 0.95 TeXcolorgray Black -128 957 a
SDict begin H.S end
-128 957
a -128 957 a
SDict begin 11 H.A end
-128 957 a -128 957 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-260.1) cvn H.B /DEST pdfmark end
-128 957 a 0 0 0 TeXcolorrgb
Fo(C)p Black 45 w({)p 0 0 0 TeXcolorrgb(a)p Black 45
w(=)44 b(1,)h(..})f(=)p 0 0 0 TeXcolorrgb 45 w(e)p Black
0.95 TeXcolorgray -153 1009 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1166 a FA(de\002nes)20 b Ft(b)p
FA(,)h Ft(c)p FA(,)f(and)g Ft(d)p FA(.)-128 1306 y(Record)g(wildcards)g
(can)f(also)i(be)f(used)g(in)g(e)o(xpressions,)f(writing,)g(for)h(e)o
(xample,)-128 1365 y
SDict begin H.S end
-128 1365 a -128 1365 a
SDict begin 12 H.A end
-128 1365
a -128 1365 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-261) cvn H.B /DEST pdfmark end
-128 1365 a 0.95 TeXcolorgray -153 1381
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1472 25 92 v Black 0.95
TeXcolorgray -128 1472 4252 92 v Black 0.95 TeXcolorgray
4124 1472 25 92 v Black 0.95 TeXcolorgray Black -128
1444 a
SDict begin H.S end
-128 1444 a -128 1444 a
SDict begin 11 H.A end
-128 1444 a -128 1444
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-261.1) cvn H.B /DEST pdfmark end
-128 1444 a 0 0 0 TeXcolorrgb Fo(let)p Black 45 w({)p
0 0 0 TeXcolorrgb(a)p Black 44 w(=)45 b(1;)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(=)g(2;)p 0 0 0 TeXcolorrgb 44 w(c)p
Black 45 w(=)g(3;)p 0 0 0 TeXcolorrgb 44 w(d)p Black
45 w(=)f(4})p 0 0 0 TeXcolorrgb 45 w(in)p Black 0 0 0
TeXcolorrgb 44 w(C)p Black 45 w({..})p 0.95 TeXcolorgray
-153 1497 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1653 a FA(in)21 b(place)f(of)-128 1712 y
SDict begin H.S end
-128
1712 a -128 1712 a
SDict begin 12 H.A end
-128 1712 a -128 1712 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-262) cvn H.B /DEST pdfmark end
-128 1712
a 0.95 TeXcolorgray -153 1727 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1819 25 92 v Black 0.95 TeXcolorgray -128 1819 4252 92
v Black 0.95 TeXcolorgray 4124 1819 25 92 v Black 0.95
TeXcolorgray Black -128 1791 a
SDict begin H.S end
-128 1791 a -128 1791
a
SDict begin 11 H.A end
-128 1791 a -128 1791 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-262.1) cvn H.B /DEST pdfmark end
-128 1791 a 0 0 0 TeXcolorrgb
Fo(let)p Black 45 w({)p 0 0 0 TeXcolorrgb(a)p Black 44
w(=)45 b(1;)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(=)g(2;)p
0 0 0 TeXcolorrgb 44 w(c)p Black 45 w(=)g(3;)p 0 0 0
TeXcolorrgb 44 w(d)p Black 45 w(=)f(4})p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black 45 w({)p
0 0 0 TeXcolorrgb(a)p Black(=)p 0 0 0 TeXcolorrgb(a)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(b)p Black(=)p 0 0 0
TeXcolorrgb(b)p Black(,)p 0 0 0 TeXcolorrgb 44 w(c)p
Black(=)p 0 0 0 TeXcolorrgb(c)p Black(,)p 0 0 0 TeXcolorrgb
44 w(d)p Black(=)p 0 0 0 TeXcolorrgb(d)p Black(})p 0.95
TeXcolorgray -153 1844 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2000 a FA(Note)24 b(that)g(this)g(e)o(xpansion)e
(is)j(purely)d(syntactic,)j(so)f(the)g(record)e(wildcard)h(e)o
(xpression)f(refers)h(to)h(the)g(nearest)g(enclosing)e(v)n(ariables)h
(that)h(are)-128 2100 y(spelled)c(the)h(same)f(as)h(the)f(omitted)g
(\002eld)g(names.)-128 2230 y
SDict begin H.S end
-128 2230 a -128 2230 a
SDict begin 12 H.A end
-128 2230 a -128 2230 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.14) cvn H.B /DEST pdfmark end
-128 2230 a Black 139 x Fp(7.3.14)p
Black 89 w(Local)k(Fixity)h(Dec)n(larations)-128 2458
y
SDict begin H.S end
-128 2458 a -128 2458 a
SDict begin 12 H.A end
-128 2458 a -128 2458 a
SDict begin [ /View [/XYZ H.V] /Dest (local-fixity-declarations) cvn H.B /DEST pdfmark end
-128
2458 a 105 x FA(A)j(careful)e(reading)g(of)g(the)h(Hask)o(ell)h(98)e
(Report)h(re)n(v)o(eals)f(that)h(\002xity)g(declarations)f(\()p
Ft(infix)p FA(,)i Ft(infixl)p FA(,)g(and)e Ft(infixr)p
FA(\))g(are)h(permitted)f(to)-128 2663 y(appear)k(inside)g(local)g
(bindings)f(such)h(those)g(introduced)e(by)i Ft(let)h
FA(and)e Ft(where)p FA(.)55 b(Ho)n(we)n(v)o(er)m(,)31
b(the)g(Hask)o(ell)f(Report)g(does)g(not)g(specify)g(the)-128
2763 y(semantics)21 b(of)f(such)f(bindings)g(v)o(ery)g(precisely)-5
b(.)-128 2903 y(In)20 b(GHC,)h(a)g(\002xity)f(declaration)e(may)i
(accompan)o(y)e(a)i(local)h(binding:)-128 2962 y
SDict begin H.S end
-128
2962 a -128 2962 a
SDict begin 12 H.A end
-128 2962 a -128 2962 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-263) cvn H.B /DEST pdfmark end
-128 2962
a 0.95 TeXcolorgray -153 2977 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3069 25 92 v Black 0.95 TeXcolorgray -128 3069 4252 92
v Black 0.95 TeXcolorgray 4124 3069 25 92 v Black 0.95
TeXcolorgray Black -128 3041 a
SDict begin H.S end
-128 3041 a -128 3041
a
SDict begin 11 H.A end
-128 3041 a -128 3041 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-263.1) cvn H.B /DEST pdfmark end
-128 3041 a 0 0 0 TeXcolorrgb
Fo(let)p Black 0 0 0 TeXcolorrgb 45 w(f)p Black 44 w(=)45
b(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3160 25 92 v Black 0.95 TeXcolorgray -128 3160 4252 92
v Black 0.95 TeXcolorgray 4124 3160 25 92 v Black 0.95
TeXcolorgray Black -128 3133 a
SDict begin H.S end
-128 3133 a -128 3133
a
SDict begin 11 H.A end
-128 3133 a -128 3133 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-263.2) cvn H.B /DEST pdfmark end
-128 3133 a 0 0 0 TeXcolorrgb
180 w Fo(infixr)p Black 44 w(3)f(`)p 0 0 0 TeXcolorrgb(f)p
Black(`)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3251 25 92 v Black 0.95 TeXcolorgray -128 3251 4252 92
v Black 0.95 TeXcolorgray 4124 3251 25 92 v Black 0.95
TeXcolorgray Black -128 3224 a
SDict begin H.S end
-128 3224 a -128 3224
a
SDict begin 11 H.A end
-128 3224 a -128 3224 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-263.3) cvn H.B /DEST pdfmark end
-128 3224 a 0 0 0 TeXcolorrgb
Fo(in)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3343 25 92 v Black 0.95 TeXcolorgray -128 3343 4252
92 v Black 0.95 TeXcolorgray 4124 3343 25 92 v Black
0.95 TeXcolorgray Black -128 3315 a
SDict begin H.S end
-128 3315 a -128
3315 a
SDict begin 11 H.A end
-128 3315 a -128 3315 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-263.4) cvn H.B /DEST pdfmark end
-128 3315 a 180 w Fo(...)p
0.95 TeXcolorgray -153 3367 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3524 a FA(and)24 b(the)f(\002xity)h(declaration)
e(applies)h(where)n(v)o(er)f(the)h(binding)f(is)j(in)f(scope.)35
b(F)o(or)23 b(e)o(xample,)g(in)g(a)i Ft(let)p FA(,)f(it)g(applies)g(in)
f(the)h(right-hand)d(sides)j(of)-128 3624 y(other)d Ft(let)p
FA(-bindings)e(and)i(the)h(body)e(of)h(the)h Ft(let)p
FA(C.)f(Or)m(,)h(in)f(recursi)n(v)o(e)f Ft(do)i FA(e)o(xpressions)e
(\(Section)p 1 0 0 TeXcolorrgb 2832 3625 a
SDict begin H.S end
2832 3625
a 1 0 0 TeXcolorrgb -1 x FA(7.3.6)p 1 0 0 TeXcolorrgb
2998 3567 a
SDict begin H.R end
2998 3567 a 2998 3624 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.3.6) cvn H.B /ANN pdfmark end
2998 3624 a Black
FA(\),)i(the)f(local)h(\002xity)f(declarations)f(of)i(a)-128
3723 y Ft(let)f FA(statement)f(scope)f(o)o(v)o(er)g(other)h(statements)
g(in)g(the)g(group,)f(just)h(as)h(the)f(bound)f(name)g(does.)-128
3864 y(Moreo)o(v)o(er)m(,)d(a)k(local)e(\002xity)h(declaration)e
(*must*)h(accompan)o(y)e(a)j(local)g(binding)e(of)h(that)h(name:)24
b(it)c(is)f(not)g(possible)f(to)h(re)n(vise)g(the)f(\002xity)h(of)g
(name)-128 3963 y(bound)g(else)n(where,)g(as)i(in)-128
4016 y
SDict begin H.S end
-128 4016 a -128 4016 a
SDict begin 12 H.A end
-128 4016 a -128 4016
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-264) cvn H.B /DEST pdfmark end
-128 4016 a 0.95 TeXcolorgray -153 4038 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4129 25 92 v Black 0.95 TeXcolorgray
-128 4129 4252 92 v Black 0.95 TeXcolorgray 4124 4129
25 92 v Black 0.95 TeXcolorgray Black -128 4101 a
SDict begin H.S end
-128
4101 a -128 4101 a
SDict begin 11 H.A end
-128 4101 a -128 4101 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-264.1) cvn H.B /DEST pdfmark end
-128 4101
a 0 0 0 TeXcolorrgb Fo(let)p Black 0 0 0 TeXcolorrgb
45 w(infixr)p Black 44 w(9)p 0 0 0 TeXcolorrgb 44 w($)p
Black 0 0 0 TeXcolorrgb 45 w(in)p Black 44 w(...)p 0.95
TeXcolorgray -153 4154 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4310 a FA(Because)g(local)f(\002xity)g
(declarations)f(are)h(technically)f(Hask)o(ell)i(98,)e(no)h(\003ag)g
(is)h(necessary)f(to)g(enable)g(them.)-128 4441 y
SDict begin H.S end
-128
4441 a -128 4441 a
SDict begin 12 H.A end
-128 4441 a -128 4441 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.15) cvn H.B /DEST pdfmark end
-128 4441
a Black 139 x Fp(7.3.15)p Black 89 w(P)m(ac)n(ka)o(g)q(e-quali\002ed)j
(impor)r(ts)-128 4668 y
SDict begin H.S end
-128 4668 a -128 4668 a
SDict begin 12 H.A end
-128
4668 a -128 4668 a
SDict begin [ /View [/XYZ H.V] /Dest (package-imports) cvn H.B /DEST pdfmark end
-128 4668 a 106 x FA(W)m(ith)h(the)g
Ft(-XPackageImports)d FA(\003ag,)j(GHC)g(allo)n(ws)g(import)e
(declarations)g(to)i(be)f(quali\002ed)g(by)g(the)g(package)f(name)h
(that)h(the)f(module)f(is)-128 4874 y(intended)d(to)h(be)h(imported)d
(from.)24 b(F)o(or)c(e)o(xample:)-128 4932 y
SDict begin H.S end
-128 4932
a -128 4932 a
SDict begin 12 H.A end
-128 4932 a -128 4932 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-265) cvn H.B /DEST pdfmark end
-128 4932 a 0.95
TeXcolorgray -153 4948 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5039 25 92 v Black 0.95 TeXcolorgray -128 5039 4252 92
v Black 0.95 TeXcolorgray 4124 5039 25 92 v Black 0.95
TeXcolorgray Black -128 5012 a
SDict begin H.S end
-128 5012 a -128 5012
a
SDict begin 11 H.A end
-128 5012 a -128 5012 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-265.1) cvn H.B /DEST pdfmark end
-128 5012 a 0 0 0 TeXcolorrgb
Fo(import)p Black 44 w(")p 0 0 0 TeXcolorrgb(network)p
Black -1 w(")p 0 0 0 TeXcolorrgb 45 w(Network)p Black
-2 w(.)p 0 0 0 TeXcolorrgb(Socket)p Black 0.95 TeXcolorgray
-153 5064 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5220 a FA(w)o(ould)f(import)g(the)g(module)g
Ft(Network.Socket)e FA(from)i(the)g(package)f Ft(network)h
FA(\(an)o(y)g(v)o(ersion\).)k(This)c(may)h(be)f(used)g(to)h
(disambiguate)e(an)-128 5320 y(import)k(when)h(the)g(same)g(module)f
(is)i(a)n(v)n(ailable)e(from)g(multiple)h(packages,)f(or)h(is)h
(present)e(in)i(both)e(the)h(current)f(package)f(being)h(b)n(uilt)i
(and)e(an)-128 5420 y(e)o(xternal)d(package.)-128 5560
y(Note:)32 b(you)23 b(probably)f(don')o(t)f(need)i(to)h(use)g(this)g
(feature,)f(it)i(w)o(as)f(added)f(mainly)f(so)i(that)g(we)g(can)f(b)n
(uild)h(backw)o(ards-compatible)c(v)o(ersions)i(of)-128
5660 y(packages)k(when)h(APIs)h(change.)45 b(It)27 b(can)g(lead)g(to)h
(fragile)e(dependencies)f(in)i(the)h(common)d(case:)40
b(modules)26 b(occasionally)g(mo)o(v)o(e)f(from)i(one)-128
5759 y(package)19 b(to)i(another)m(,)d(rendering)g(an)o(y)h
(package-quali\002ed)e(imports)i(brok)o(en.)p Black -128
6084 4252 5 v Black eop end
%%Page: 129 144
TeXDict begin 129 143 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.129) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(129)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.3.16) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.3.16)p
Black 89 w(Summar)q(y)k(of)g(stolen)g(syntax)-128 262
y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (syntax-stolen) cvn H.B /DEST pdfmark end
-128 262
a 114 x FA(T)l(urning)18 b(on)h(an)g(option)e(that)j(enables)e(special)
h(syntax)g Fq(might)h FA(cause)f(w)o(orking)f(Hask)o(ell)h(98)g(code)f
(to)i(f)o(ail)f(to)g(compile,)f(perhaps)g(because)h(it)g(uses)-128
476 y(a)i(v)n(ariable)d(name)i(which)f(has)h(become)e(a)j(reserv)o(ed)d
(w)o(ord.)24 b(This)c(section)g(lists)h(the)f(syntax)f(that)h(is)g
("stolen")g(by)f(language)f(e)o(xtensions.)24 b(W)-7
b(e)21 b(use)-128 575 y(notation)c(and)h(nonterminal)e(names)i(from)f
(the)h(Hask)o(ell)h(98)e(le)o(xical)h(syntax)g(\(see)g(the)g(Hask)o
(ell)h(98)f(Report\).)23 b(W)-7 b(e)19 b(only)f(list)h(syntax)e
(changes)h(here)-128 675 y(that)24 b(might)f(af)n(fect)h(e)o(xisting)f
(w)o(orking)f(programs)g(\(i.e.)35 b("stolen")24 b(syntax\).)35
b(Man)o(y)22 b(of)i(these)g(e)o(xtensions)e(will)j(also)f(enable)f(ne)n
(w)h(conte)o(xt-free)-128 775 y(syntax,)c(b)n(ut)g(in)g(all)h(cases)g
(programs)d(written)i(to)h(use)f(the)g(ne)n(w)g(syntax)g(w)o(ould)f
(not)h(be)g(compilable)f(without)g(the)i(option)e(enabled.)-128
924 y(There)h(are)g(tw)o(o)g(classes)i(of)e(special)g(syntax:)p
Black -128 1140 a(\225)p Black 42 w(Ne)n(w)g(reserv)o(ed)f(w)o(ords)h
(and)g(symbols:)k(character)19 b(sequences)g(which)h(are)g(no)g(longer)
f(a)n(v)n(ailable)h(for)f(use)i(as)g(identi\002ers)e(in)i(the)f
(program.)p Black -128 1306 a(\225)p Black 42 w(Other)g(special)g
(syntax:)25 b(sequences)19 b(of)h(characters)f(that)h(ha)n(v)o(e)g(a)h
(dif)n(ferent)d(meaning)h(when)g(this)i(particular)e(option)g(is)i
(turned)e(on.)-128 1522 y(The)h(follo)n(wing)f(syntax)g(is)i(stolen:)p
Black -107 1738 a Fh(forall)p Black 61 w FA(Stolen)g(\(in)g(types\))f
(by:)26 b Ft(-XScopedTypeVariables)p FA(,)17 b Ft
(-XLiberalTypeSynonyms)p FA(,)h Ft(-XRank2Types)p FA(,)h
Ft(-XRank-)80 1837 y(NTypes)p FA(,)g Ft(-XPolymorphicComponents)p
FA(,)e Ft(-XExistentialQuantification)p Black -107 2003
a Fh(mdo)p Black 62 w FA(Stolen)j(by:)25 b Ft(-XRecursiveDo)p
FA(,)p Black -107 2170 a Fh(foreign)p Black 61 w FA(Stolen)20
b(by:)25 b Ft(-XForeignFunctionInterface)p FA(,)p Black
-107 2336 a Fh(rec)p Fu(,)20 b Fh(proc)p Fu(,)g Fh(-<)p
Fu(,)g Fh(>-)p Fu(,)g Fh(-<<)p Fu(,)g Fh(>>-)p Fu(,)g(and)h
Fh(\(|)p Fu(,)f Fh(|\))g Fu(brack)o(ets)p Black 62 w
FA(Stolen)g(by:)25 b Ft(-XArrows)p FA(,)p Black -107
2502 a Fh(?)p Ff(varid)s Fu(,)20 b Fh(\045)p Ff(varid)p
Black 64 w FA(Stolen)g(by:)25 b Ft(-XImplicitParams)p
FA(,)p Black -107 2668 a Fh([|)p Fu(,)20 b Fh([e|)p Fu(,)g
Fh([p|)p Fu(,)g Fh([d|)p Fu(,)g Fh([t|)p Fu(,)g Fh($\()p
Fu(,)g Fh($)p Ff(varid)p Black 65 w FA(Stolen)g(by:)25
b Ft(-XTemplateHaskell)p FA(,)p Black -107 2834 a Fh([:)p
Ff(varid)s Fh(|)p Black 61 w FA(Stolen)20 b(by:)25 b
Ft(-XQuasiQuotes)p FA(,)p Black -107 3000 a Ff(varid)s
Fu({)p Fh(#)p Fu(},)19 b Ff(char)t Fh(#)p Fu(,)h Ff(string)5
b Fh(#)p Fu(,)20 b Ff(integer)t Fh(#)p Fu(,)f Ff(float)p
Fh(#)p Fu(,)h Ff(float)p Fh(##)p Fu(,)f Fh(\(#)p Fu(,)h
Fh(#\))p Fu(,)p Black 62 w FA(Stolen)g(by:)k Ft(-XMagicHash)p
FA(,)-128 3143 y
SDict begin H.S end
-128 3143 a -128 3143 a
SDict begin 12 H.A end
-128 3143 a
-128 3143 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.4) cvn H.B /DEST pdfmark end
-128 3143 a Black 181 x Fs(7.4)p Black 108
w(Extensions)k(to)h(data)g(types)g(and)g(type)g(synon)n(yms)-128
3451 y
SDict begin H.S end
-128 3451 a -128 3451 a
SDict begin 12 H.A end
-128 3451 a -128 3451
a
SDict begin [ /View [/XYZ H.V] /Dest (data-type-extensions) cvn H.B /DEST pdfmark end
-128 3451 a -128 3451 a
SDict begin H.S end
-128 3451 a -128 3451 a
SDict begin 12 H.A end
-128
3451 a -128 3451 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.4.1) cvn H.B /DEST pdfmark end
-128 3451 a Black 140 x Fp(7.4.1)p
Black 90 w(Data)24 b(types)g(with)g(no)h(constructor)o(s)-128
3679 y
SDict begin H.S end
-128 3679 a -128 3679 a
SDict begin 12 H.A end
-128 3679 a -128 3679
a
SDict begin [ /View [/XYZ H.V] /Dest (nullary-types) cvn H.B /DEST pdfmark end
-128 3679 a 115 x FA(W)m(ith)c(the)f Ft(-fglasgow-exts)e
FA(\003ag,)i(GHC)h(lets)g(you)f(declare)f(a)i(data)f(type)g(with)g(no)g
(constructors.)j(F)o(or)d(e)o(xample:)-128 3861 y
SDict begin H.S end
-128
3861 a -128 3861 a
SDict begin 12 H.A end
-128 3861 a -128 3861 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-266) cvn H.B /DEST pdfmark end
-128 3861
a 0.95 TeXcolorgray -153 3877 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3968 25 92 v Black 0.95 TeXcolorgray -128 3968 4252 92
v Black 0.95 TeXcolorgray 4124 3968 25 92 v Black 0.95
TeXcolorgray Black -128 3941 a
SDict begin H.S end
-128 3941 a -128 3941
a
SDict begin 11 H.A end
-128 3941 a -128 3941 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-266.1) cvn H.B /DEST pdfmark end
-128 3941 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(S)p Black
269 w(--)p 0 0 0 TeXcolorrgb 45 w(S)p Black 44 w(::)859
3954 y(*)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4059 25 92 v Black 0.95 TeXcolorgray -128 4059 4252
92 v Black 0.95 TeXcolorgray 4124 4059 25 92 v Black
0.95 TeXcolorgray Black -128 4032 a
SDict begin H.S end
-128 4032 a -128
4032 a
SDict begin 11 H.A end
-128 4032 a -128 4032 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-266.2) cvn H.B /DEST pdfmark end
-128 4032 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 179 w(--)p 0 0 0 TeXcolorrgb
45 w(T)p Black 44 w(::)859 4045 y(*)948 4032 y(->)1083
4045 y(*)p 0.95 TeXcolorgray -153 4084 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4259 a FA(Syntactically)-5
b(,)21 b(the)g(declaration)f(lacks)i(the)f("=)h(constrs")f(part.)29
b(The)21 b(type)g(can)g(be)h(parameterised)d(o)o(v)o(er)i(types)g(of)g
(an)o(y)g(kind,)g(b)n(ut)g(if)h(the)f(kind)g(is)-128
4358 y(not)-1 4373 y Ft(*)70 4358 y FA(then)f(an)g(e)o(xplicit)f(kind)h
(annotation)e(must)i(be)g(used)g(\(see)h(Section)p 1 0 0
TeXcolorrgb 2019 4359 a
SDict begin H.S end
2019 4359 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.3)p 1 0 0 TeXcolorrgb 2185 4302 a
SDict begin H.R end
2185 4302
a 2185 4358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.3) cvn H.B /ANN pdfmark end
2185 4358 a Black FA(\).)-128 4508 y(Such)f(data)g(types)
g(ha)n(v)o(e)g(only)f(one)h(v)n(alue,)f(namely)g(bottom.)24
b(Ne)n(v)o(ertheless,)19 b(the)o(y)h(can)g(be)g(useful)f(when)h
(de\002ning)f("phantom)f(types".)-128 4642 y
SDict begin H.S end
-128 4642
a -128 4642 a
SDict begin 12 H.A end
-128 4642 a -128 4642 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.4.2) cvn H.B /DEST pdfmark end
-128 4642 a Black
148 x Fp(7.4.2)p Black 90 w(In\002x)24 b(type)g(constructor)o(s,)f(c)n
(lasses,)h(and)g(type)g(v)n(ariab)o(les)-128 4878 y
SDict begin H.S end
-128
4878 a -128 4878 a
SDict begin 12 H.A end
-128 4878 a -128 4878 a
SDict begin [ /View [/XYZ H.V] /Dest (infix-tycons) cvn H.B /DEST pdfmark end
-128 4878
a 115 x FA(GHC)i(allo)n(ws)e(type)g(constructors,)f(classes,)j(and)e
(type)g(v)n(ariables)f(to)i(be)f(operators,)f(and)h(to)h(be)f(written)g
(in\002x,)h(v)o(ery)e(much)g(lik)o(e)i(e)o(xpressions.)-128
5092 y(More)20 b(speci\002cally:)p Black -128 5308 a(\225)p
Black 42 w(A)f(type)f(constructor)f(or)h(class)i(can)e(be)h(an)f
(operator)m(,)f(be)o(ginning)f(with)j(a)g(colon;)f(e.g.)24
b Ft(:)2484 5323 y(*)2534 5308 y(:)p FA(.)h(The)18 b(le)o(xical)g
(syntax)g(is)i(the)e(same)h(as)g(that)g(for)f(data)-57
5408 y(constructors.)p Black -128 5574 a(\225)p Black
42 w(Data)j(type)e(and)h(type-synon)o(ym)c(declarations)j(can)h(be)g
(written)g(in\002x,)g(parenthesised)f(if)h(you)g(w)o(ant)g(further)f
(ar)o(guments.)j(E.g.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 130 145
TeXDict begin 130 144 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.130) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(130)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-267) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-267.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(:)392 250 y(*)437 237 y(:)p 0 0 0 TeXcolorrgb 44
w(b)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 356 25 92 v Black 0.95 TeXcolorgray -57 356 4182
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -57 328 a
SDict begin H.S end
-57 328 a -57 328 a
SDict begin 11 H.A end
-57
328 a -57 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-267.2) cvn H.B /DEST pdfmark end
-57 328 a 0 0 0 TeXcolorrgb 90 w Fo(type)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(:+:)p 0 0 0
TeXcolorrgb 44 w(b)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(Either)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 447 25 92 v Black 0.95 TeXcolorgray
-57 447 4182 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -57 420 a
SDict begin H.S end
-57 420
a -57 420 a
SDict begin 11 H.A end
-57 420 a -57 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-267.3) cvn H.B /DEST pdfmark end
-57 420 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
44 w(:=:)p 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 538 25 92 v Black 0.95 TeXcolorgray
-57 538 4182 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -57 511 a
SDict begin H.S end
-57 511
a -57 511 a
SDict begin 11 H.A end
-57 511 a -57 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-267.4) cvn H.B /DEST pdfmark end
-57 511 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 630 25 92 v Black 0.95 TeXcolorgray
-57 630 4182 92 v Black 0.95 TeXcolorgray 4124 630 25
92 v Black 0.95 TeXcolorgray Black -57 602 a
SDict begin H.S end
-57 602
a -57 602 a
SDict begin 11 H.A end
-57 602 a -57 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-267.5) cvn H.B /DEST pdfmark end
-57 602 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p
Black 44 w(:)436 615 y(**)526 602 y(:)p 0 0 0 TeXcolorrgb
44 w(b)p Black(\))p 0 0 0 TeXcolorrgb 45 w(x)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(Baz)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0
TeXcolorrgb 45 w(x)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 721 25 92 v Black 0.95 TeXcolorgray
-57 721 4182 92 v Black 0.95 TeXcolorgray 4124 721 25
92 v Black 0.95 TeXcolorgray Black -57 694 a
SDict begin H.S end
-57 694
a -57 694 a
SDict begin 11 H.A end
-57 694 a -57 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-267.6) cvn H.B /DEST pdfmark end
-57 694 a 0 0 0 TeXcolorrgb
90 w Fo(type)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p
Black 44 w(:++:)p 0 0 0 TeXcolorrgb 44 w(b)p Black(\))p
0 0 0 TeXcolorrgb 45 w(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(Either)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(,)p
0 0 0 TeXcolorrgb(b)p Black -1 w(\))p 0 0 0 TeXcolorrgb
45 w(y)p Black 0.95 TeXcolorgray -82 746 4232 25 v Black
0.95 TeXcolorgray Black Black Black Black -128 933 a
FA(\225)p Black 42 w(T)-7 b(ypes,)20 b(and)f(class)j(constraints,)d
(can)h(be)g(written)g(in\002x.)25 b(F)o(or)19 b(e)o(xample)-128
999 y
SDict begin H.S end
-128 999 a -128 999 a
SDict begin 12 H.A end
-128 999 a -128 999 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-268) cvn H.B /DEST pdfmark end
-128
999 a 0.95 TeXcolorgray -82 1014 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1105 25 92 v Black 0.95 TeXcolorgray -57 1105 4182
92 v Black 0.95 TeXcolorgray 4124 1105 25 92 v Black
0.95 TeXcolorgray Black -57 1078 a
SDict begin H.S end
-57 1078 a -57 1078
a
SDict begin 11 H.A end
-57 1078 a -57 1078 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-268.1) cvn H.B /DEST pdfmark end
-57 1078 a 0 0 0 TeXcolorrgb
90 w Fo(x)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 44 w(:)481 1091 y(*)526 1078 y(:)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1197 25 92 v Black 0.95 TeXcolorgray -57 1197 4182
92 v Black 0.95 TeXcolorgray 4124 1197 25 92 v Black
0.95 TeXcolorgray Black -57 1169 a
SDict begin H.S end
-57 1169 a -57 1169
a
SDict begin 11 H.A end
-57 1169 a -57 1169 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-268.2) cvn H.B /DEST pdfmark end
-57 1169 a 0 0 0 TeXcolorrgb
359 w Fo(f)p Black 44 w(::)45 b(\()p 0 0 0 TeXcolorrgb(a)p
Black 44 w(:=:)p 0 0 0 TeXcolorrgb 45 w(b)p Black -1
w(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray -82
1222 4232 25 v Black 0.95 TeXcolorgray Black Black Black
Black -128 1408 a FA(\225)p Black 42 w(A)20 b(type)g(v)n(ariable)f(can)
g(be)h(an)g(\(unquali\002ed\))d(operator)h(e.g.)25 b
Ft(+)p FA(.)g(The)20 b(le)o(xical)f(syntax)h(is)g(the)g(same)g(as)h
(that)f(for)f(v)n(ariable)g(operators,)f(e)o(xcluding)-57
1508 y("\(.\)",)h("\(!\)",)h(and)f("\(*\)".)24 b(In)c(a)h(binding)d
(position,)h(the)h(operator)f(must)h(be)g(parenthesised.)k(F)o(or)19
b(e)o(xample:)-128 1574 y
SDict begin H.S end
-128 1574 a -128 1574 a
SDict begin 12 H.A end
-128
1574 a -128 1574 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-269) cvn H.B /DEST pdfmark end
-128 1574 a 0.95 TeXcolorgray -82
1589 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 1680 25 92 v Black 0.95 TeXcolorgray
-57 1680 4182 92 v Black 0.95 TeXcolorgray 4124 1680
25 92 v Black 0.95 TeXcolorgray Black -57 1653 a
SDict begin H.S end
-57
1653 a -57 1653 a
SDict begin 11 H.A end
-57 1653 a -57 1653 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.1) cvn H.B /DEST pdfmark end
-57 1653 a 0 0 0
TeXcolorrgb 135 w Fo(type)p Black 0 0 0 TeXcolorrgb 44
w(T)p Black 44 w(\(+\))45 b(=)p 0 0 0 TeXcolorrgb 44
w(Int)p Black 45 w(+)p 0 0 0 TeXcolorrgb 44 w(Int)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1772 25
92 v Black 0.95 TeXcolorgray -57 1772 4182 92 v Black
0.95 TeXcolorgray 4124 1772 25 92 v Black 0.95 TeXcolorgray
Black -57 1744 a
SDict begin H.S end
-57 1744 a -57 1744 a
SDict begin 11 H.A end
-57 1744 a -57
1744 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.2) cvn H.B /DEST pdfmark end
-57 1744 a 0 0 0 TeXcolorrgb 135 w Fo(f)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(T)p Black 0 0 0 TeXcolorrgb
44 w(Either)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1863 25 92 v Black 0.95 TeXcolorgray -57 1863 4182
92 v Black 0.95 TeXcolorgray 4124 1863 25 92 v Black
0.95 TeXcolorgray Black -57 1836 a
SDict begin H.S end
-57 1836 a -57 1836
a
SDict begin 11 H.A end
-57 1836 a -57 1836 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.3) cvn H.B /DEST pdfmark end
-57 1836 a 0 0 0 TeXcolorrgb
135 w Fo(f)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(Left)p
Black 44 w(3)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1954 25 92 v Black 0.95 TeXcolorgray -57 1954 4182
92 v Black 0.95 TeXcolorgray 4124 1954 25 92 v Black
0.95 TeXcolorgray Black -57 1927 a
SDict begin H.S end
-57 1927 a -57 1927
a
SDict begin 11 H.A end
-57 1927 a -57 1927 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.4) cvn H.B /DEST pdfmark end
-57 1927 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 2046 25 92 v Black 0.95 TeXcolorgray
-57 2046 4182 92 v Black 0.95 TeXcolorgray 4124 2046
25 92 v Black 0.95 TeXcolorgray Black -57 2018 a
SDict begin H.S end
-57
2018 a -57 2018 a
SDict begin 11 H.A end
-57 2018 a -57 2018 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.5) cvn H.B /DEST pdfmark end
-57 2018 a 0 0 0
TeXcolorrgb 135 w Fo(liftA2)p Black 43 w(::)p 0 0 0 TeXcolorrgb
45 w(Arrow)p Black 44 w(\(~>\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 2137 25 92 v Black 0.95 TeXcolorgray
-57 2137 4182 92 v Black 0.95 TeXcolorgray 4124 2137
25 92 v Black 0.95 TeXcolorgray Black -57 2110 a
SDict begin H.S end
-57
2110 a -57 2110 a
SDict begin 11 H.A end
-57 2110 a -57 2110 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.6) cvn H.B /DEST pdfmark end
-57 2110 a 179
w Fo(=>)g(\()p 0 0 0 TeXcolorrgb(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(c)p Black(\))f(->)h(\()p 0 0 0 TeXcolorrgb(e)p Black
44 w(~>)p 0 0 0 TeXcolorrgb 45 w(a)p Black(\))f(->)h(\()p
0 0 0 TeXcolorrgb(e)p Black 44 w(~>)p 0 0 0 TeXcolorrgb
45 w(b)p Black(\))f(->)h(\()p 0 0 0 TeXcolorrgb(e)p Black
44 w(~>)p 0 0 0 TeXcolorrgb 45 w(c)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2228 25 92 v
Black 0.95 TeXcolorgray -57 2228 4182 92 v Black 0.95
TeXcolorgray 4124 2228 25 92 v Black 0.95 TeXcolorgray
Black -57 2201 a
SDict begin H.S end
-57 2201 a -57 2201 a
SDict begin 11 H.A end
-57 2201 a -57
2201 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-269.7) cvn H.B /DEST pdfmark end
-57 2201 a 0 0 0 TeXcolorrgb 135 w Fo(liftA2)p
Black 43 w(=)g(...)p 0.95 TeXcolorgray -82 2253 4232
25 v Black 0.95 TeXcolorgray Black Black Black Black
-128 2440 a FA(\225)p Black 42 w(Back-quotes)26 b(w)o(ork)g(as)i(for)e
(e)o(xpressions,)i(both)e(for)h(type)f(constructors)g(and)g(type)h(v)n
(ariables;)j(e.g.)45 b Ft(Int)k(`Either`)g(Bool)p FA(,)28
b(or)f Ft(Int)-57 2540 y(`a`)49 b(Bool)p FA(.)25 b(Similarly)-5
b(,)19 b(parentheses)g(w)o(ork)h(the)g(same;)g(e.g.)25
b Ft(\(:)1914 2555 y(*)1964 2540 y(:\))99 b(Int)49 b(Bool)p
FA(.)p Black -128 2704 a(\225)p Black 42 w(Fixities)32
b(may)e(be)h(declared)f(for)g(type)g(constructors,)i(or)f(classes,)j
(just)e(as)g(for)e(data)h(constructors.)55 b(Ho)n(we)n(v)o(er)m(,)32
b(one)e(cannot)g(distinguish)-57 2803 y(between)c(the)g(tw)o(o)h(in)g
(a)f(\002xity)h(declaration;)h(a)f(\002xity)f(declaration)f(sets)j(the)
e(\002xity)g(for)g(a)h(data)g(constructor)d(and)i(the)g(corresponding)d
(type)-57 2903 y(constructor)-5 b(.)23 b(F)o(or)d(e)o(xample:)-128
2969 y
SDict begin H.S end
-128 2969 a -128 2969 a
SDict begin 12 H.A end
-128 2969 a -128 2969
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-270) cvn H.B /DEST pdfmark end
-128 2969 a 0.95 TeXcolorgray -82 2984 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3075 25 92 v Black 0.95 TeXcolorgray
-57 3075 4182 92 v Black 0.95 TeXcolorgray 4124 3075
25 92 v Black 0.95 TeXcolorgray Black -57 3048 a
SDict begin H.S end
-57
3048 a -57 3048 a
SDict begin 11 H.A end
-57 3048 a -57 3048 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-270.1) cvn H.B /DEST pdfmark end
-57 3048 a 0 0 0
TeXcolorrgb 90 w Fo(infixl)p Black 44 w(7)p 0 0 0 TeXcolorrgb
44 w(T)p Black(,)45 b(:)616 3061 y(*)661 3048 y(:)p 0.95
TeXcolorgray -82 3100 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 3255 a FA(sets)21 b(the)g(\002xity)f(for)f(both)h
(type)f(constructor)g Ft(T)h FA(and)g(data)g(constructor)e
Ft(T)p FA(,)i(and)g(similarly)g(for)g Ft(:)2731 3270
y(*)2781 3255 y(:)p FA(.)k Ft(Int)50 b(`a`)f(Bool)p FA(.)p
Black -128 3419 a(\225)p Black 42 w(Function)19 b(arro)n(w)g(is)i
Ft(infixr)f FA(with)g(\002xity)h(0.)k(\(This)20 b(might)f(change;)g
(I'm)h(not)f(sure)i(what)f(it)h(should)e(be.\))-128 3552
y
SDict begin H.S end
-128 3552 a -128 3552 a
SDict begin 12 H.A end
-128 3552 a -128 3552 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.4.3) cvn H.B /DEST pdfmark end
-128
3552 a Black 146 x Fp(7.4.3)p Black 90 w(Liberalised)k(type)h(synon)n
(yms)-128 3787 y
SDict begin H.S end
-128 3787 a -128 3787 a
SDict begin 12 H.A end
-128 3787 a
-128 3787 a
SDict begin [ /View [/XYZ H.V] /Dest (type-synonyms) cvn H.B /DEST pdfmark end
-128 3787 a 112 x FA(T)-7 b(ype)22 b(synon)o(yms)e(are)j
(lik)o(e)f(macros)g(at)g(the)g(type)g(le)n(v)o(el,)g(b)n(ut)g(Hask)o
(ell)h(98)f(imposes)g(man)o(y)f(rules)h(on)g(indi)n(vidual)e(synon)o
(ym)g(declarations.)30 b(W)m(ith)-128 3999 y(the)24 b
Ft(-XLiberalTypeSynonyms)c FA(e)o(xtension,)j(GHC)i(does)e(v)n(alidity)
g(checking)f(on)h(types)g Fq(only)h(after)g(e)n(xpanding)d(type)j
(synonyms)p FA(.)34 b(That)-128 4099 y(means)20 b(that)h(GHC)g(can)f
(be)g(v)o(ery)f(much)g(more)g(liberal)h(about)f(type)h(synon)o(yms)e
(than)i(Hask)o(ell)h(98.)p Black -128 4308 a(\225)p Black
42 w(Y)-9 b(ou)20 b(can)g(write)g(a)h Ft(forall)e FA(\(including)f(o)o
(v)o(erloading\))f(in)j(a)h(type)e(synon)o(ym,)f(thus:)-128
4374 y
SDict begin H.S end
-128 4374 a -128 4374 a
SDict begin 12 H.A end
-128 4374 a -128 4374
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-271) cvn H.B /DEST pdfmark end
-128 4374 a 0.95 TeXcolorgray -82 4389 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4481 25 92 v Black 0.95 TeXcolorgray
-57 4481 4182 92 v Black 0.95 TeXcolorgray 4124 4481
25 92 v Black 0.95 TeXcolorgray Black -57 4453 a
SDict begin H.S end
-57
4453 a -57 4453 a
SDict begin 11 H.A end
-57 4453 a -57 4453 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.1) cvn H.B /DEST pdfmark end
-57 4453 a 0 0 0
TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44
w(Discard)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black 45
w(=)p 0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black -1 w(.)p 0 0 0 TeXcolorrgb 45 w(Show)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black 44 w(->)45 b(\()p 0 0 0 TeXcolorrgb(a)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(String)p Black
-1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82
4572 25 92 v Black 0.95 TeXcolorgray -57 4572 4182 92
v Black 0.95 TeXcolorgray 4124 4572 25 92 v Black 0.95
TeXcolorgray Black -57 4545 a
SDict begin H.S end
-57 4545 a -57 4545 a
SDict begin 11 H.A end
-57
4545 a -57 4545 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.2) cvn H.B /DEST pdfmark end
-57 4545 a 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 4663 25 92 v Black 0.95 TeXcolorgray
-57 4663 4182 92 v Black 0.95 TeXcolorgray 4124 4663
25 92 v Black 0.95 TeXcolorgray Black -57 4636 a
SDict begin H.S end
-57
4636 a -57 4636 a
SDict begin 11 H.A end
-57 4636 a -57 4636 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.3) cvn H.B /DEST pdfmark end
-57 4636 a 0 0 0
TeXcolorrgb 90 w Fo(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Discard)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4755 25
92 v Black 0.95 TeXcolorgray -57 4755 4182 92 v Black
0.95 TeXcolorgray 4124 4755 25 92 v Black 0.95 TeXcolorgray
Black -57 4727 a
SDict begin H.S end
-57 4727 a -57 4727 a
SDict begin 11 H.A end
-57 4727 a -57
4727 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.4) cvn H.B /DEST pdfmark end
-57 4727 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45
w(y)p Black 45 w(=)f(\()p 0 0 0 TeXcolorrgb(x)p Black(,)p
0 0 0 TeXcolorrgb 45 w(show)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4846 25 92 v Black 0.95 TeXcolorgray -57 4846 4182
92 v Black 0.95 TeXcolorgray 4124 4846 25 92 v Black
0.95 TeXcolorgray Black -57 4819 a
SDict begin H.S end
-57 4819 a -57 4819
a
SDict begin 11 H.A end
-57 4819 a -57 4819 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.5) cvn H.B /DEST pdfmark end
-57 4819 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4937 25 92 v Black 0.95 TeXcolorgray
-57 4937 4182 92 v Black 0.95 TeXcolorgray 4124 4937
25 92 v Black 0.95 TeXcolorgray Black -57 4910 a
SDict begin H.S end
-57
4910 a -57 4910 a
SDict begin 11 H.A end
-57 4910 a -57 4910 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.6) cvn H.B /DEST pdfmark end
-57 4910 a 0 0 0
TeXcolorrgb 90 w Fo(g)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Discard)p Black 0 0 0 TeXcolorrgb 43 w(Int)p Black
45 w(->)g(\()p 0 0 0 TeXcolorrgb(Int)p Black(,)p 0 0 0
TeXcolorrgb -1 w(String)p Black -1 w(\))180 b(--)p 0 0 0
TeXcolorrgb 44 w(A)p Black 0 0 0 TeXcolorrgb 45 w(rank)p
Black -1 w(-2)p 0 0 0 TeXcolorrgb 45 w(type)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 5029 25 92 v
Black 0.95 TeXcolorgray -57 5029 4182 92 v Black 0.95
TeXcolorgray 4124 5029 25 92 v Black 0.95 TeXcolorgray
Black -57 5001 a
SDict begin H.S end
-57 5001 a -57 5001 a
SDict begin 11 H.A end
-57 5001 a -57
5001 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-271.7) cvn H.B /DEST pdfmark end
-57 5001 a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black
0 0 0 TeXcolorrgb 44 w(f)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(f)p Black 44 w(3)p 0 0 0 TeXcolorrgb 45 w(True)p
Black 0.95 TeXcolorgray -82 5054 4232 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 5240 a FA(\225)p
Black 42 w(If)20 b(you)f(also)i(use)f Ft(-XUnboxedTuples)p
FA(,)e(you)h(can)h(write)h(an)f(unbox)o(ed)d(tuple)j(in)g(a)h(type)f
(synon)o(ym:)-128 5306 y
SDict begin H.S end
-128 5306 a -128 5306 a
SDict begin 12 H.A end
-128
5306 a -128 5306 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-272) cvn H.B /DEST pdfmark end
-128 5306 a 0.95 TeXcolorgray -82
5321 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 5413 25 92 v Black 0.95 TeXcolorgray
-57 5413 4182 92 v Black 0.95 TeXcolorgray 4124 5413
25 92 v Black 0.95 TeXcolorgray Black -57 5385 a
SDict begin H.S end
-57
5385 a -57 5385 a
SDict begin 11 H.A end
-57 5385 a -57 5385 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-272.1) cvn H.B /DEST pdfmark end
-57 5385 a 0 0 0
TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44
w(Pr)p Black 44 w(=)45 b(\(#)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(#\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 5504 25
92 v Black 0.95 TeXcolorgray -57 5504 4182 92 v Black
0.95 TeXcolorgray 4124 5504 25 92 v Black 0.95 TeXcolorgray
Black -57 5477 a
SDict begin H.S end
-57 5477 a -57 5477 a
SDict begin 11 H.A end
-57 5477 a -57
5477 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-272.2) cvn H.B /DEST pdfmark end
-57 5477 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 5595 25 92 v Black 0.95 TeXcolorgray -57 5595 4182
92 v Black 0.95 TeXcolorgray 4124 5595 25 92 v Black
0.95 TeXcolorgray Black -57 5568 a
SDict begin H.S end
-57 5568 a -57 5568
a
SDict begin 11 H.A end
-57 5568 a -57 5568 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-272.3) cvn H.B /DEST pdfmark end
-57 5568 a 0 0 0 TeXcolorrgb
90 w Fo(h)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Pr)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 5687 25 92 v
Black 0.95 TeXcolorgray -57 5687 4182 92 v Black 0.95
TeXcolorgray 4124 5687 25 92 v Black 0.95 TeXcolorgray
Black -57 5659 a
SDict begin H.S end
-57 5659 a -57 5659 a
SDict begin 11 H.A end
-57 5659 a -57
5659 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-272.4) cvn H.B /DEST pdfmark end
-57 5659 a 0 0 0 TeXcolorrgb 90 w Fo(h)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)g(\(#)p 0 0 0
TeXcolorrgb 44 w(x)p Black(,)p 0 0 0 TeXcolorrgb 45 w(x)p
Black 44 w(#\))p 0.95 TeXcolorgray -82 5712 4232 25 v
Black 0.95 TeXcolorgray Black Black Black Black -128
6084 4252 5 v Black eop end
%%Page: 131 146
TeXDict begin 131 145 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.131) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(131)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(Y)-9 b(ou)20 b(can)g(apply)f(a)h(type)g(synon)o(ym)e(to)i(a)h
(forall)f(type:)-128 241 y
SDict begin H.S end
-128 241 a -128 241 a
SDict begin 12 H.A end
-128
241 a -128 241 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-273) cvn H.B /DEST pdfmark end
-128 241 a 0.95 TeXcolorgray -82 256
4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 348 25 92 v Black 0.95 TeXcolorgray
-57 348 4182 92 v Black 0.95 TeXcolorgray 4124 348 25
92 v Black 0.95 TeXcolorgray Black -57 320 a
SDict begin H.S end
-57 320
a -57 320 a
SDict begin 11 H.A end
-57 320 a -57 320 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-273.1) cvn H.B /DEST pdfmark end
-57 320 a 0 0 0 TeXcolorrgb
90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 439 25 92 v Black 0.95 TeXcolorgray
-57 439 4182 92 v Black 0.95 TeXcolorgray 4124 439 25
92 v Black 0.95 TeXcolorgray Black -57 411 a
SDict begin H.S end
-57 411
a -57 411 a
SDict begin 11 H.A end
-57 411 a -57 411 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-273.2) cvn H.B /DEST pdfmark end
-57 411 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 530 25 92 v Black 0.95 TeXcolorgray
-57 530 4182 92 v Black 0.95 TeXcolorgray 4124 530 25
92 v Black 0.95 TeXcolorgray Black -57 503 a
SDict begin H.S end
-57 503
a -57 503 a
SDict begin 11 H.A end
-57 503 a -57 503 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-273.3) cvn H.B /DEST pdfmark end
-57 503 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Foo)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(forall)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black(.)p 0 0 0 TeXcolorrgb 44 w(b)p
Black(->)p 0 0 0 TeXcolorrgb(b)p Black(\))p 0.95 TeXcolorgray
-82 555 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 713 a FA(After)g(e)o(xpanding)d(the)k(synon)o(ym,)c
Ft(f)k FA(has)f(the)g(le)o(gal)g(\(in)g(GHC\))h(type:)-128
781 y
SDict begin H.S end
-128 781 a -128 781 a
SDict begin 12 H.A end
-128 781 a -128 781 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-274) cvn H.B /DEST pdfmark end
-128
781 a 0.95 TeXcolorgray -82 796 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 887 25 92 v Black 0.95 TeXcolorgray -57 887 4182
92 v Black 0.95 TeXcolorgray 4124 887 25 92 v Black 0.95
TeXcolorgray Black -57 860 a
SDict begin H.S end
-57 860 a -57 860 a
SDict begin 11 H.A end
-57
860 a -57 860 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-274.1) cvn H.B /DEST pdfmark end
-57 860 a 0 0 0 TeXcolorrgb 90 w Fo(f)p
Black 44 w(::)45 b(\()p 0 0 0 TeXcolorrgb(forall)p Black
0 0 0 TeXcolorrgb 43 w(b)p Black(.)p 0 0 0 TeXcolorrgb
45 w(b)p Black(->)p 0 0 0 TeXcolorrgb -1 w(b)p Black(\))g(->)f(\()p
0 0 0 TeXcolorrgb(forall)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black(.)p 0 0 0 TeXcolorrgb 45 w(b)p Black -1 w(->)p
0 0 0 TeXcolorrgb(b)p Black(\))h(->)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black 0.95 TeXcolorgray -82 912 4232 25 v
Black 0.95 TeXcolorgray Black Black Black Black -128
1103 a FA(\225)p Black 42 w(Y)-9 b(ou)20 b(can)g(apply)f(a)h(type)g
(synon)o(ym)e(to)i(a)h(partially)f(applied)f(type)g(synon)o(ym:)-128
1171 y
SDict begin H.S end
-128 1171 a -128 1171 a
SDict begin 12 H.A end
-128 1171 a -128 1171
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-275) cvn H.B /DEST pdfmark end
-128 1171 a 0.95 TeXcolorgray -82 1186 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 1277 25 92 v Black 0.95 TeXcolorgray
-57 1277 4182 92 v Black 0.95 TeXcolorgray 4124 1277
25 92 v Black 0.95 TeXcolorgray Black -57 1250 a
SDict begin H.S end
-57
1250 a -57 1250 a
SDict begin 11 H.A end
-57 1250 a -57 1250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-275.1) cvn H.B /DEST pdfmark end
-57 1250 a 0 0 0
TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44
w(Generic)p Black 0 0 0 TeXcolorrgb 43 w(i)p Black 0 0 0
TeXcolorrgb 45 w(o)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(forall)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black(.)p
0 0 0 TeXcolorrgb 45 w(i)p Black 0 0 0 TeXcolorrgb 44
w(x)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(o)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 1369 25 92 v Black 0.95 TeXcolorgray
-57 1369 4182 92 v Black 0.95 TeXcolorgray 4124 1369
25 92 v Black 0.95 TeXcolorgray Black -57 1341 a
SDict begin H.S end
-57
1341 a -57 1341 a
SDict begin 11 H.A end
-57 1341 a -57 1341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-275.2) cvn H.B /DEST pdfmark end
-57 1341 a 0 0 0
TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44
w(Id)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(x)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 1460 25 92 v Black 0.95 TeXcolorgray
-57 1460 4182 92 v Black 0.95 TeXcolorgray 4124 1460
25 92 v Black 0.95 TeXcolorgray Black -57 1433 a
SDict begin H.S end
-57
1433 a -57 1433 a
SDict begin 11 H.A end
-57 1433 a -57 1433 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-275.3) cvn H.B /DEST pdfmark end
-57 1433 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1551 25 92 v
Black 0.95 TeXcolorgray -57 1551 4182 92 v Black 0.95
TeXcolorgray 4124 1551 25 92 v Black 0.95 TeXcolorgray
Black -57 1524 a
SDict begin H.S end
-57 1524 a -57 1524 a
SDict begin 11 H.A end
-57 1524 a -57
1524 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-275.4) cvn H.B /DEST pdfmark end
-57 1524 a 0 0 0 TeXcolorrgb 90 w Fo(foo)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(Generic)p Black 0 0 0
TeXcolorrgb 43 w(Id)p Black 45 w([])p 0.95 TeXcolorgray
-82 1576 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 1734 a FA(After)h(e)o(xpanding)d(the)k(synon)o(ym,)c
Ft(foo)j FA(has)h(the)f(le)o(gal)g(\(in)g(GHC\))g(type:)-128
1802 y
SDict begin H.S end
-128 1802 a -128 1802 a
SDict begin 12 H.A end
-128 1802 a -128 1802
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-276) cvn H.B /DEST pdfmark end
-128 1802 a 0.95 TeXcolorgray -82 1817 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 1908 25 92 v Black 0.95 TeXcolorgray
-57 1908 4182 92 v Black 0.95 TeXcolorgray 4124 1908
25 92 v Black 0.95 TeXcolorgray Black -57 1881 a
SDict begin H.S end
-57
1881 a -57 1881 a
SDict begin 11 H.A end
-57 1881 a -57 1881 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-276.1) cvn H.B /DEST pdfmark end
-57 1881 a 0 0 0
TeXcolorrgb 90 w Fo(foo)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 0 0 0 TeXcolorrgb 43 w(x)p Black(.)p
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(->)45 b([)p 0 0 0
TeXcolorrgb(x)p Black(])p 0.95 TeXcolorgray -82 1933
4232 25 v Black 0.95 TeXcolorgray Black Black Black -128
2174 a FA(GHC)21 b(currently)e(does)h(kind)f(checking)g(before)f(e)o
(xpanding)g(synon)o(yms)g(\(though)g(e)n(v)o(en)h(that)i(could)e(be)h
(changed.\))-128 2323 y(After)26 b(e)o(xpanding)c(type)j(synon)o(yms,)g
(GHC)h(does)f(v)n(alidity)g(checking)e(on)i(types,)i(looking)c(for)i
(the)h(follo)n(wing)e(mal-formedness)e(which)j(isn')o(t)-128
2423 y(detected)20 b(simply)g(by)f(kind)h(checking:)p
Black -128 2639 a(\225)p Black 42 w(T)-7 b(ype)20 b(constructor)e
(applied)h(to)i(a)f(type)g(in)m(v)n(olving)e(for)n(-alls.)p
Black -128 2805 a(\225)p Black 42 w(Unbox)o(ed)g(tuple)i(on)f(left)i
(of)f(an)g(arro)n(w)-5 b(.)p Black -128 2971 a(\225)p
Black 42 w(P)o(artially-applied)18 b(type)i(synon)o(ym.)-128
3187 y(So,)h(for)e(e)o(xample,)g(this)h(will)h(be)g(rejected:)-128
3255 y
SDict begin H.S end
-128 3255 a -128 3255 a
SDict begin 12 H.A end
-128 3255 a -128 3255
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-277) cvn H.B /DEST pdfmark end
-128 3255 a 0.95 TeXcolorgray -153 3270 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3361 25 92 v Black 0.95 TeXcolorgray
-128 3361 4252 92 v Black 0.95 TeXcolorgray 4124 3361
25 92 v Black 0.95 TeXcolorgray Black -128 3334 a
SDict begin H.S end
-128
3334 a -128 3334 a
SDict begin 11 H.A end
-128 3334 a -128 3334 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-277.1) cvn H.B /DEST pdfmark end
-128 3334
a 0 0 0 TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb
44 w(Pr)p Black 45 w(=)44 b(\(#)p 0 0 0 TeXcolorrgb 45
w(Int)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(Int)p Black
44 w(#\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3453 25 92 v Black 0.95 TeXcolorgray -128 3453 4252
92 v Black 0.95 TeXcolorgray 4124 3453 25 92 v Black
0.95 TeXcolorgray Black -128 3425 a
SDict begin H.S end
-128 3425 a -128
3425 a
SDict begin 11 H.A end
-128 3425 a -128 3425 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-277.2) cvn H.B /DEST pdfmark end
-128 3425 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3544 25 92 v Black 0.95
TeXcolorgray -128 3544 4252 92 v Black 0.95 TeXcolorgray
4124 3544 25 92 v Black 0.95 TeXcolorgray Black -128
3516 a
SDict begin H.S end
-128 3516 a -128 3516 a
SDict begin 11 H.A end
-128 3516 a -128 3516
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-277.3) cvn H.B /DEST pdfmark end
-128 3516 a 0 0 0 TeXcolorrgb 90 w Fo(h)p Black 45
w(::)p 0 0 0 TeXcolorrgb 44 w(Pr)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3635 25 92 v Black 0.95 TeXcolorgray
-128 3635 4252 92 v Black 0.95 TeXcolorgray 4124 3635
25 92 v Black 0.95 TeXcolorgray Black -128 3608 a
SDict begin H.S end
-128
3608 a -128 3608 a
SDict begin 11 H.A end
-128 3608 a -128 3608 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-277.4) cvn H.B /DEST pdfmark end
-128 3608
a 0 0 0 TeXcolorrgb 90 w Fo(h)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(=)h(...)p 0.95 TeXcolorgray -153
3660 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3834 a FA(because)20 b(GHC)h(does)f(not)g(allo)n(w)g(unbox)o(ed)d
(tuples)j(on)g(the)g(left)h(of)f(a)g(function)f(arro)n(w)-5
b(.)-128 3969 y
SDict begin H.S end
-128 3969 a -128 3969 a
SDict begin 12 H.A end
-128 3969 a -128
3969 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.4.4) cvn H.B /DEST pdfmark end
-128 3969 a Black 148 x Fp(7.4.4)p Black 90 w(Existentiall)o(y)
22 b(quanti\002ed)i(data)g(constructor)o(s)-128 4205
y
SDict begin H.S end
-128 4205 a -128 4205 a
SDict begin 12 H.A end
-128 4205 a -128 4205 a
SDict begin [ /View [/XYZ H.V] /Dest (existential-quantification) cvn H.B /DEST pdfmark end
-128
4205 a 115 x FA(The)e(idea)f(of)h(using)f(e)o(xistential)g
(quanti\002cation)f(in)i(data)g(type)f(declarations)f(w)o(as)j
(suggested)d(by)i(Perry)-5 b(,)21 b(and)g(implemented)f(in)h(Hope+)g
(\(Nigel)-128 4419 y(Perry)-5 b(,)22 b Fq(The)h(Implementation)d(of)i
(Pr)o(actical)g(Functional)f(Pr)l(o)o(gr)o(amming)g(Langua)o(g)o(es)p
FA(,)g(PhD)h(Thesis,)h(Uni)n(v)o(ersity)f(of)g(London,)e(1991\).)30
b(It)23 b(w)o(as)-128 4519 y(later)28 b(formalised)e(by)g(Laufer)g(and)
h(Odersk)o(y)f(\()p Fq(P)-7 b(olymorphic)25 b(type)i(infer)m(ence)g
(and)f(abstr)o(act)h(data)f(types)p FA(,)j(T)o(OPLAS,)e(16\(5\),)g
(pp1411-1430,)-128 4619 y(1994\).)54 b(It')-5 b(s)32
b(been)d(in)i(Lennart)e(Augustsson')-5 b(s)30 b Fu(hbc)h
FA(Hask)o(ell)g(compiler)e(for)h(se)n(v)o(eral)g(years,)j(and)c(pro)o
(v)o(ed)g(v)o(ery)g(useful.)55 b(Here')-5 b(s)31 b(the)f(idea.)-128
4718 y(Consider)20 b(the)g(declaration:)-128 4769 y
SDict begin H.S end
-128
4769 a -128 4769 a
SDict begin 12 H.A end
-128 4769 a -128 4769 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-278) cvn H.B /DEST pdfmark end
-128 4769
a 0.95 TeXcolorgray -153 4801 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4893 25 92 v Black 0.95 TeXcolorgray -128 4893 4252 92
v Black 0.95 TeXcolorgray 4124 4893 25 92 v Black 0.95
TeXcolorgray Black -128 4865 a
SDict begin H.S end
-128 4865 a -128 4865
a
SDict begin 11 H.A end
-128 4865 a -128 4865 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-278.1) cvn H.B /DEST pdfmark end
-128 4865 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(.)p 0 0 0 TeXcolorrgb 45 w(MkFoo)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 44 w(\()p 0 0 0
TeXcolorrgb(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44
w(Bool)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4984 25 92 v Black 0.95 TeXcolorgray -128 4984 4252
92 v Black 0.95 TeXcolorgray 4124 4984 25 92 v Black
0.95 TeXcolorgray Black -128 4956 a
SDict begin H.S end
-128 4956 a -128
4956 a
SDict begin 11 H.A end
-128 4956 a -128 4956 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-278.2) cvn H.B /DEST pdfmark end
-128 4956 a 494 w Fo(|)p
0 0 0 TeXcolorrgb 44 w(Nil)p Black 0.95 TeXcolorgray
-153 5009 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5183 a FA(The)g(data)g(type)g Ft(Foo)g FA(has)h(tw)o(o)f
(constructors)f(with)h(types:)-128 5251 y
SDict begin H.S end
-128 5251 a
-128 5251 a
SDict begin 12 H.A end
-128 5251 a -128 5251 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-279) cvn H.B /DEST pdfmark end
-128 5251 a 0.95
TeXcolorgray -153 5266 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5357 25 92 v Black 0.95 TeXcolorgray -128 5357 4252 92
v Black 0.95 TeXcolorgray 4124 5357 25 92 v Black 0.95
TeXcolorgray Black -128 5330 a
SDict begin H.S end
-128 5330 a -128 5330
a
SDict begin 11 H.A end
-128 5330 a -128 5330 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-279.1) cvn H.B /DEST pdfmark end
-128 5330 a 0 0 0 TeXcolorrgb
90 w Fo(MkFoo)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45
w(forall)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)44 b(\()p 0 0 0
TeXcolorrgb(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44
w(Bool)p Black -1 w(\))h(->)p 0 0 0 TeXcolorrgb 45 w(Foo)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5449 25 92 v Black 0.95 TeXcolorgray -128 5449 4252 92
v Black 0.95 TeXcolorgray 4124 5449 25 92 v Black 0.95
TeXcolorgray Black -128 5421 a
SDict begin H.S end
-128 5421 a -128 5421
a
SDict begin 11 H.A end
-128 5421 a -128 5421 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-279.2) cvn H.B /DEST pdfmark end
-128 5421 a 0 0 0 TeXcolorrgb
90 w Fo(Nil)p Black 134 w(::)p 0 0 0 TeXcolorrgb 45 w(Foo)p
Black 0.95 TeXcolorgray -153 5474 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5648 a FA(Notice)19
b(that)g(the)g(type)g(v)n(ariable)f Ft(a)h FA(in)g(the)g(type)g(of)f
Ft(MkFoo)h FA(does)g(not)f(appear)g(in)h(the)g(data)g(type)g(itself,)g
(which)g(is)h(plain)e Ft(Foo)p FA(.)25 b(F)o(or)18 b(e)o(xample,)g(the)
-128 5748 y(follo)n(wing)h(e)o(xpression)g(is)i(\002ne:)p
Black -128 6084 4252 5 v Black eop end
%%Page: 132 147
TeXDict begin 132 146 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.132) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(132)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-280) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-280.1) cvn H.B /DEST pdfmark end
-128 237 a 90 w Fo([)p
0 0 0 TeXcolorrgb(MkFoo)p Black 44 w(3)p 0 0 0 TeXcolorrgb
45 w(even)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(MkFoo)p
Black 44 w(')p 0 0 0 TeXcolorrgb -1 w(c)p Black(')p 0 0 0
TeXcolorrgb 45 w(isUpper)p Black -1 w(])44 b(::)h([)p
0 0 0 TeXcolorrgb(Foo)p Black -1 w(])p 0.95 TeXcolorgray
-153 289 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 445 a FA(Here,)21 b Ft(\(MkFoo)48 b(3)i(even\))20
b FA(packages)g(an)g(inte)o(ger)g(with)g(a)h(function)e
Ft(even)i FA(that)f(maps)h(an)f(inte)o(ger)g(to)h Ft(Bool)p
FA(;)f(and)g Ft(MkFoo)49 b('c')g(isUp-)-128 544 y(per)21
b FA(packages)e(a)h(character)f(with)i(a)f(compatible)f(function.)k
(These)d(tw)o(o)h(things)e(are)h(each)g(of)g(type)g Ft(Foo)g
FA(and)g(can)g(be)g(put)g(in)g(a)h(list.)-128 684 y(What)g(can)f(we)h
(do)e(with)i(a)f(v)n(alue)g(of)g(type)f Ft(Foo)p FA(?.)25
b(In)20 b(particular)m(,)e(what)j(happens)d(when)i(we)h(pattern-match)c
(on)j Ft(MkFoo)p FA(?)-128 743 y
SDict begin H.S end
-128 743 a -128 743
a
SDict begin 12 H.A end
-128 743 a -128 743 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-281) cvn H.B /DEST pdfmark end
-128 743 a 0.95 TeXcolorgray
-153 758 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 849 25 92 v
Black 0.95 TeXcolorgray -128 849 4252 92 v Black 0.95
TeXcolorgray 4124 849 25 92 v Black 0.95 TeXcolorgray
Black -128 822 a
SDict begin H.S end
-128 822 a -128 822 a
SDict begin 11 H.A end
-128 822 a -128
822 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-281.1) cvn H.B /DEST pdfmark end
-128 822 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black
45 w(\()p 0 0 0 TeXcolorrgb(MkFoo)p Black 0 0 0 TeXcolorrgb
44 w(val)p Black 0 0 0 TeXcolorrgb 44 w(fn)p Black(\))44
b(=)h(???)p 0.95 TeXcolorgray -153 874 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1030 a FA(Since)22
b(all)h(we)f(kno)n(w)f(about)g Ft(val)h FA(and)f Ft(fn)h
FA(is)h(that)f(the)o(y)f(are)h(compatible,)e(the)i(only)f(\(useful\))g
(thing)g(we)h(can)g(do)f(with)i(them)e(is)i(to)f(apply)f
Ft(fn)h FA(to)-128 1129 y Ft(val)f FA(to)f(get)g(a)h(boolean.)i(F)o(or)
d(e)o(xample:)-128 1187 y
SDict begin H.S end
-128 1187 a -128 1187 a
SDict begin 12 H.A end
-128
1187 a -128 1187 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-282) cvn H.B /DEST pdfmark end
-128 1187 a 0.95 TeXcolorgray -153
1203 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1294 25 92 v Black 0.95
TeXcolorgray -128 1294 4252 92 v Black 0.95 TeXcolorgray
4124 1294 25 92 v Black 0.95 TeXcolorgray Black -128
1267 a
SDict begin H.S end
-128 1267 a -128 1267 a
SDict begin 11 H.A end
-128 1267 a -128 1267
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-282.1) cvn H.B /DEST pdfmark end
-128 1267 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45
w(::)p 0 0 0 TeXcolorrgb 44 w(Foo)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1385 25 92 v Black 0.95 TeXcolorgray
-128 1385 4252 92 v Black 0.95 TeXcolorgray 4124 1385
25 92 v Black 0.95 TeXcolorgray Black -128 1358 a
SDict begin H.S end
-128
1358 a -128 1358 a
SDict begin 11 H.A end
-128 1358 a -128 1358 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-282.2) cvn H.B /DEST pdfmark end
-128 1358
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(\()p 0 0 0
TeXcolorrgb(MkFoo)p Black 0 0 0 TeXcolorrgb 44 w(val)p
Black 0 0 0 TeXcolorrgb 44 w(fn)p Black(\))44 b(=)p 0 0 0
TeXcolorrgb 45 w(fn)p Black 0 0 0 TeXcolorrgb 44 w(val)p
Black 0.95 TeXcolorgray -153 1410 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 1566 a FA(What)22
b(this)g(allo)n(ws)f(us)g(to)h(do)e(is)i(to)g(package)d(heterogeneous)g
(v)n(alues)h(together)g(with)h(a)h(b)n(unch)e(of)h(functions)e(that)j
(manipulate)d(them,)i(and)f(then)-128 1665 y(treat)h(that)f(collection)
f(of)h(packages)f(in)h(a)h(uniform)d(manner)-5 b(.)24
b(Y)-9 b(ou)20 b(can)g(e)o(xpress)f(quite)h(a)h(bit)f(of)g
(object-oriented-lik)o(e)d(programming)g(this)j(w)o(ay)-5
b(.)-128 1795 y
SDict begin H.S end
-128 1795 a -128 1795 a
SDict begin 12 H.A end
-128 1795 a -128
1795 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.4.4.1) cvn H.B /DEST pdfmark end
-128 1795 a Black 122 x Fx(7.4.4.1)p Black 73
w(Wh)o(y)19 b(e)o(xistential?)-128 2001 y
SDict begin H.S end
-128 2001 a
-128 2001 a
SDict begin 12 H.A end
-128 2001 a -128 2001 a
SDict begin [ /View [/XYZ H.V] /Dest (existential) cvn H.B /DEST pdfmark end
-128 2001 a 110 x
FA(What)i(has)f(this)h(to)g(do)e(with)i Fq(e)n(xistential)f
FA(quanti\002cation?)j(Simply)d(that)g Ft(MkFoo)g FA(has)h(the)f
(\(nearly\))e(isomorphic)h(type)-128 2169 y
SDict begin H.S end
-128 2169
a -128 2169 a
SDict begin 12 H.A end
-128 2169 a -128 2169 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-283) cvn H.B /DEST pdfmark end
-128 2169 a 0.95
TeXcolorgray -153 2184 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2276 25 92 v Black 0.95 TeXcolorgray -128 2276 4252 92
v Black 0.95 TeXcolorgray 4124 2276 25 92 v Black 0.95
TeXcolorgray Black -128 2248 a
SDict begin H.S end
-128 2248 a -128 2248
a
SDict begin 11 H.A end
-128 2248 a -128 2248 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-283.1) cvn H.B /DEST pdfmark end
-128 2248 a 0 0 0 TeXcolorrgb
90 w Fo(MkFoo)p Black 44 w(::)45 b(\()p 0 0 0 TeXcolorrgb
-1 w(exists)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(.)g(\()p 0 0 0 TeXcolorrgb -1 w(a)p Black(,)p 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black -1 w(\)\))g(->)p 0 0 0 TeXcolorrgb
44 w(Foo)p Black 0.95 TeXcolorgray -153 2301 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 2456
a FA(But)27 b(Hask)o(ell)g(programmers)d(can)i(safely)g(think)g(of)g
(the)h(ordinary)d Fq(univer)o(sally)i FA(quanti\002ed)f(type)h(gi)n(v)o
(en)f(abo)o(v)o(e,)h(thereby)f(a)n(v)n(oiding)h(adding)f(a)-128
2556 y(ne)n(w)20 b(e)o(xistential)g(quanti\002cation)f(construct.)-128
2686 y
SDict begin H.S end
-128 2686 a -128 2686 a
SDict begin 12 H.A end
-128 2686 a -128 2686
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.4.4.2) cvn H.B /DEST pdfmark end
-128 2686 a Black 122 x Fx(7.4.4.2)p Black 73 w(Existentials)e(and)i
(type)h(c)o(lasses)-128 2891 y
SDict begin H.S end
-128 2891 a -128 2891
a
SDict begin 12 H.A end
-128 2891 a -128 2891 a
SDict begin [ /View [/XYZ H.V] /Dest (existential-with-context) cvn H.B /DEST pdfmark end
-128 2891 a 110 x FA(An)h(easy)f(e)o
(xtension)f(is)i(to)f(allo)n(w)g(arbitrary)f(conte)o(xts)g(before)g
(the)h(constructor)-5 b(.)24 b(F)o(or)19 b(e)o(xample:)-128
3059 y
SDict begin H.S end
-128 3059 a -128 3059 a
SDict begin 12 H.A end
-128 3059 a -128 3059
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-284) cvn H.B /DEST pdfmark end
-128 3059 a 0.95 TeXcolorgray -153 3075 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3166 25 92 v Black 0.95 TeXcolorgray
-128 3166 4252 92 v Black 0.95 TeXcolorgray 4124 3166
25 92 v Black 0.95 TeXcolorgray Black -128 3139 a
SDict begin H.S end
-128
3139 a -128 3139 a
SDict begin 11 H.A end
-128 3139 a -128 3139 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-284.1) cvn H.B /DEST pdfmark end
-128 3139
a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(Baz)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(forall)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 45 w(Baz1)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3257 25 92
v Black 0.95 TeXcolorgray -128 3257 4252 92 v Black 0.95
TeXcolorgray 4124 3257 25 92 v Black 0.95 TeXcolorgray
Black -128 3230 a
SDict begin H.S end
-128 3230 a -128 3230 a
SDict begin 11 H.A end
-128 3230 a
-128 3230 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-284.2) cvn H.B /DEST pdfmark end
-128 3230 a 404 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 0 0 0 TeXcolorrgb 43 w(b)p Black(.)p
0 0 0 TeXcolorrgb 45 w(Show)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(Baz2)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(\()p 0 0 0
TeXcolorrgb(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44
w(b)p Black(\))p 0.95 TeXcolorgray -153 3282 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3438
a FA(The)h(tw)o(o)h(constructors)d(ha)n(v)o(e)i(the)g(types)g(you')l(d)
e(e)o(xpect:)-128 3496 y
SDict begin H.S end
-128 3496 a -128 3496 a
SDict begin 12 H.A end
-128
3496 a -128 3496 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-285) cvn H.B /DEST pdfmark end
-128 3496 a 0.95 TeXcolorgray -153
3511 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3602 25 92 v Black 0.95
TeXcolorgray -128 3602 4252 92 v Black 0.95 TeXcolorgray
4124 3602 25 92 v Black 0.95 TeXcolorgray Black -128
3575 a
SDict begin H.S end
-128 3575 a -128 3575 a
SDict begin 11 H.A end
-128 3575 a -128 3575
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-285.1) cvn H.B /DEST pdfmark end
-128 3575 a 0 0 0 TeXcolorrgb Fo(Baz1)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(.)p 0 0 0 TeXcolorrgb 44 w(Eq)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(Baz)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3694 25 92 v Black 0.95
TeXcolorgray -128 3694 4252 92 v Black 0.95 TeXcolorgray
4124 3694 25 92 v Black 0.95 TeXcolorgray Black -128
3666 a
SDict begin H.S end
-128 3666 a -128 3666 a
SDict begin 11 H.A end
-128 3666 a -128 3666
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-285.2) cvn H.B /DEST pdfmark end
-128 3666 a 0 0 0 TeXcolorrgb Fo(Baz2)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black(.)p 0 0 0 TeXcolorrgb 44 w(Show)p Black
0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(=>)p 0 0 0 TeXcolorrgb
45 w(b)p Black 44 w(->)45 b(\()p 0 0 0 TeXcolorrgb(b)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black(\))f(->)p
0 0 0 TeXcolorrgb 45 w(Baz)p Black 0.95 TeXcolorgray
-153 3719 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3874 a FA(But)21 b(when)f(pattern)f(matching)g(on)g
Ft(Baz1)h FA(the)g(matched)f(v)n(alues)h(can)g(be)g(compared)e(for)i
(equality)-5 b(,)18 b(and)i(when)f(pattern)h(matching)e(on)i
Ft(Baz2)g FA(the)-128 3974 y(\002rst)h(matched)e(v)n(alue)h(can)g(be)g
(con)m(v)o(erted)e(to)i(a)h(string)e(\(as)i(well)g(as)g(applying)d(the)
i(function)f(to)h(it\).)25 b(So)c(this)f(program)e(is)k(le)o(gal:)-128
4032 y
SDict begin H.S end
-128 4032 a -128 4032 a
SDict begin 12 H.A end
-128 4032 a -128 4032
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-286) cvn H.B /DEST pdfmark end
-128 4032 a 0.95 TeXcolorgray -153 4047 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4139 25 92 v Black 0.95 TeXcolorgray
-128 4139 4252 92 v Black 0.95 TeXcolorgray 4124 4139
25 92 v Black 0.95 TeXcolorgray Black -128 4111 a
SDict begin H.S end
-128
4111 a -128 4111 a
SDict begin 11 H.A end
-128 4111 a -128 4111 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-286.1) cvn H.B /DEST pdfmark end
-128 4111
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(Baz)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(String)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4230 25 92 v Black 0.95 TeXcolorgray -128 4230 4252
92 v Black 0.95 TeXcolorgray 4124 4230 25 92 v Black
0.95 TeXcolorgray Black -128 4202 a
SDict begin H.S end
-128 4202 a -128
4202 a
SDict begin 11 H.A end
-128 4202 a -128 4202 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-286.2) cvn H.B /DEST pdfmark end
-128 4202 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb(Baz1)p
Black 0 0 0 TeXcolorrgb 44 w(p)p Black 0 0 0 TeXcolorrgb
44 w(q)p Black(\))45 b(|)p 0 0 0 TeXcolorrgb 45 w(p)p
Black 44 w(==)p 0 0 0 TeXcolorrgb 45 w(q)p Black 179
w(=)g(")p 0 0 0 TeXcolorrgb -1 w(Yes)p Black(")p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4321 25 92
v Black 0.95 TeXcolorgray -128 4321 4252 92 v Black 0.95
TeXcolorgray 4124 4321 25 92 v Black 0.95 TeXcolorgray
Black -128 4294 a
SDict begin H.S end
-128 4294 a -128 4294 a
SDict begin 11 H.A end
-128 4294 a
-128 4294 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-286.3) cvn H.B /DEST pdfmark end
-128 4294 a 673 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(otherwise)p Black 43 w(=)g(")p 0 0 0 TeXcolorrgb
-1 w(No)p Black(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4413 25 92 v Black 0.95 TeXcolorgray -128 4413 4252
92 v Black 0.95 TeXcolorgray 4124 4413 25 92 v Black
0.95 TeXcolorgray Black -128 4385 a
SDict begin H.S end
-128 4385 a -128
4385 a
SDict begin 11 H.A end
-128 4385 a -128 4385 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-286.4) cvn H.B /DEST pdfmark end
-128 4385 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb(Baz2)p
Black 0 0 0 TeXcolorrgb 44 w(v)p Black 0 0 0 TeXcolorrgb
44 w(fn)p Black(\))538 b(=)p 0 0 0 TeXcolorrgb 45 w(show)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(fn)p Black 0 0 0 TeXcolorrgb
44 w(v)p Black(\))p 0.95 TeXcolorgray -153 4437 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 4593
a FA(Operationally)-5 b(,)21 b(in)i(a)f(dictionary-passing)e
(implementation,)g(the)j(constructors)e Ft(Baz1)h FA(and)g
Ft(Baz2)g FA(must)h(store)f(the)h(dictionaries)e(for)h
Ft(Eq)h FA(and)-128 4692 y Ft(Show)d FA(respecti)n(v)o(ely)-5
b(,)18 b(and)i(e)o(xtract)f(it)i(on)f(pattern)f(matching.)-128
4822 y
SDict begin H.S end
-128 4822 a -128 4822 a
SDict begin 12 H.A end
-128 4822 a -128 4822
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.4.4.3) cvn H.B /DEST pdfmark end
-128 4822 a Black 122 x Fx(7.4.4.3)p Black 73 w(Recor)o(d)f
(Constructor)o(s)-128 5028 y
SDict begin H.S end
-128 5028 a -128 5028 a
SDict begin 12 H.A end
-128 5028 a -128 5028 a
SDict begin [ /View [/XYZ H.V] /Dest (existential-records) cvn H.B /DEST pdfmark end
-128 5028 a 110 x FA(GHC)j(allo)n(ws)g(e)o
(xistentials)f(to)g(be)g(used)g(with)h(records)e(syntax)g(as)i(well.)26
b(F)o(or)20 b(e)o(xample:)-128 5196 y
SDict begin H.S end
-128 5196 a -128
5196 a
SDict begin 12 H.A end
-128 5196 a -128 5196 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-287) cvn H.B /DEST pdfmark end
-128 5196 a 0.95 TeXcolorgray
-153 5212 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5303 25 92
v Black 0.95 TeXcolorgray -128 5303 4252 92 v Black 0.95
TeXcolorgray 4124 5303 25 92 v Black 0.95 TeXcolorgray
Black -128 5275 a
SDict begin H.S end
-128 5275 a -128 5275 a
SDict begin 11 H.A end
-128 5275 a
-128 5275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-287.1) cvn H.B /DEST pdfmark end
-128 5275 a 0 0 0 TeXcolorrgb Fo(data)p Black
0 0 0 TeXcolorrgb 45 w(Counter)p Black 0 0 0 TeXcolorrgb
43 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(forall)p
Black 0 0 0 TeXcolorrgb 43 w(self)p Black(.)p 0 0 0 TeXcolorrgb
44 w(NewCounter)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5394 25 92 v Black 0.95 TeXcolorgray
-128 5394 4252 92 v Black 0.95 TeXcolorgray 4124 5394
25 92 v Black 0.95 TeXcolorgray Black -128 5367 a
SDict begin H.S end
-128
5367 a -128 5367 a
SDict begin 11 H.A end
-128 5367 a -128 5367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-287.2) cvn H.B /DEST pdfmark end
-128 5367
a 180 w Fo({)p 0 0 0 TeXcolorrgb 44 w(_this)p Black 179
w(::)p 0 0 0 TeXcolorrgb 44 w(self)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5485 25 92 v Black 0.95
TeXcolorgray -128 5485 4252 92 v Black 0.95 TeXcolorgray
4124 5485 25 92 v Black 0.95 TeXcolorgray Black -128
5458 a
SDict begin H.S end
-128 5458 a -128 5458 a
SDict begin 11 H.A end
-128 5458 a -128 5458
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-287.3) cvn H.B /DEST pdfmark end
-128 5458 a 180 w Fo(,)p 0 0 0 TeXcolorrgb 44 w(_inc)p
Black 224 w(::)p 0 0 0 TeXcolorrgb 44 w(self)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(self)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5577 25 92 v Black 0.95
TeXcolorgray -128 5577 4252 92 v Black 0.95 TeXcolorgray
4124 5577 25 92 v Black 0.95 TeXcolorgray Black -128
5549 a
SDict begin H.S end
-128 5549 a -128 5549 a
SDict begin 11 H.A end
-128 5549 a -128 5549
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-287.4) cvn H.B /DEST pdfmark end
-128 5549 a 180 w Fo(,)p 0 0 0 TeXcolorrgb 44 w(_display)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(self)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(IO)p Black 45 w(\(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5668 25
92 v Black 0.95 TeXcolorgray -128 5668 4252 92 v Black
0.95 TeXcolorgray 4124 5668 25 92 v Black 0.95 TeXcolorgray
Black -128 5641 a
SDict begin H.S end
-128 5641 a -128 5641 a
SDict begin 11 H.A end
-128 5641 a
-128 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-287.5) cvn H.B /DEST pdfmark end
-128 5641 a 180 w Fo(,)p 0 0 0 TeXcolorrgb
44 w(tag)p Black 269 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5759 25 92 v Black 0.95 TeXcolorgray -128 5759 4252 92
v Black 0.95 TeXcolorgray 4124 5759 25 92 v Black 0.95
TeXcolorgray Black -128 5732 a
SDict begin H.S end
-128 5732 a -128 5732
a
SDict begin 11 H.A end
-128 5732 a -128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-287.6) cvn H.B /DEST pdfmark end
-128 5732 a 180 w Fo(})p 0.95
TeXcolorgray -153 5784 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 133 148
TeXDict begin 133 147 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.133) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(133)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Here)h Ft(tag)g
FA(is)g(a)h(public)d(\002eld,)i(with)g(a)g(well-typed)f(selector)g
(function)f Ft(tag)49 b(::)100 b(Counter)48 b(a)i(->)f(a)p
FA(.)27 b(The)20 b Ft(self)h FA(type)f(is)i(hidden)d(from)-128
273 y(the)28 b(outside;)i(an)o(y)c(attempt)h(to)g(apply)f
Ft(_this)p FA(,)i Ft(_inc)f FA(or)g Ft(_display)f FA(as)i(functions)e
(will)i(raise)f(a)h(compile-time)d(error)-5 b(.)45 b(In)27
b(other)g(w)o(ords,)-128 372 y Fq(GHC)d(de\002nes)d(a)i(r)m(ecor)m(d)f
(selector)h(function)e(only)h(for)h(\002elds)g(whose)f(type)h(does)f
(not)g(mention)g(the)g(e)n(xistentially-quanti\002ed)e(variables)p
FA(.)31 b(\(This)-128 472 y(e)o(xample)18 b(used)h(an)g(underscore)d
(in)k(the)f(\002elds)g(for)f(which)h(record)e(selectors)i(will)h(not)f
(be)g(de\002ned,)f(b)n(ut)h(that)g(is)h(only)e(programming)d(style;)20
b(GHC)-128 572 y(ignores)g(them.\))-128 721 y(T)-7 b(o)21
b(mak)o(e)f(use)g(of)g(these)g(hidden)f(\002elds,)h(we)h(need)e(to)i
(create)f(some)g(helper)f(functions:)-128 788 y
SDict begin H.S end
-128
788 a -128 788 a
SDict begin 12 H.A end
-128 788 a -128 788 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-288) cvn H.B /DEST pdfmark end
-128 788 a 0.95
TeXcolorgray -153 803 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
894 25 92 v Black 0.95 TeXcolorgray -128 894 4252 92
v Black 0.95 TeXcolorgray 4124 894 25 92 v Black 0.95
TeXcolorgray Black -128 867 a
SDict begin H.S end
-128 867 a -128 867 a
SDict begin 11 H.A end
-128
867 a -128 867 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-288.1) cvn H.B /DEST pdfmark end
-128 867 a 0 0 0 TeXcolorrgb Fo(inc)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Counter)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Counter)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 986 25
92 v Black 0.95 TeXcolorgray -128 986 4252 92 v Black
0.95 TeXcolorgray 4124 986 25 92 v Black 0.95 TeXcolorgray
Black -128 958 a
SDict begin H.S end
-128 958 a -128 958 a
SDict begin 11 H.A end
-128 958 a -128
958 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-288.2) cvn H.B /DEST pdfmark end
-128 958 a 0 0 0 TeXcolorrgb Fo(inc)p Black 45
w(\()p 0 0 0 TeXcolorrgb(NewCounter)p Black 0 0 0 TeXcolorrgb
43 w(x)p Black 0 0 0 TeXcolorrgb 44 w(i)p Black 0 0 0
TeXcolorrgb 45 w(d)p Black 0 0 0 TeXcolorrgb 45 w(t)p
Black(\))44 b(=)p 0 0 0 TeXcolorrgb 45 w(NewCounter)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1077 25 92 v Black 0.95 TeXcolorgray -128 1077 4252 92
v Black 0.95 TeXcolorgray 4124 1077 25 92 v Black 0.95
TeXcolorgray Black -128 1050 a
SDict begin H.S end
-128 1050 a -128 1050
a
SDict begin 11 H.A end
-128 1050 a -128 1050 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-288.3) cvn H.B /DEST pdfmark end
-128 1050 a 180 w Fo({)p 0 0 0
TeXcolorrgb 44 w(_this)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(i)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black(,)p 0 0 0
TeXcolorrgb 44 w(_inc)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(i)p Black(,)p 0 0 0 TeXcolorrgb 45 w(_display)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(d)p Black(,)p 0 0 0
TeXcolorrgb 44 w(tag)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(t)p Black 45 w(})p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1168 25 92 v Black 0.95 TeXcolorgray
-128 1168 4252 92 v Black 0.95 TeXcolorgray 4124 1168
25 92 v Black 0.95 TeXcolorgray Black -128 1141 a
SDict begin H.S end
-128
1141 a -128 1141 a
SDict begin 11 H.A end
-128 1141 a -128 1141 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-288.4) cvn H.B /DEST pdfmark end
-128 1141
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1260
25 92 v Black 0.95 TeXcolorgray -128 1260 4252 92 v Black
0.95 TeXcolorgray 4124 1260 25 92 v Black 0.95 TeXcolorgray
Black -128 1232 a
SDict begin H.S end
-128 1232 a -128 1232 a
SDict begin 11 H.A end
-128 1232 a
-128 1232 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-288.5) cvn H.B /DEST pdfmark end
-128 1232 a 0 0 0 TeXcolorrgb Fo(display)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Counter)p Black
0 0 0 TeXcolorrgb 43 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(IO)p Black 45 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1351 25 92 v Black 0.95 TeXcolorgray
-128 1351 4252 92 v Black 0.95 TeXcolorgray 4124 1351
25 92 v Black 0.95 TeXcolorgray Black -128 1324 a
SDict begin H.S end
-128
1324 a -128 1324 a
SDict begin 11 H.A end
-128 1324 a -128 1324 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-288.6) cvn H.B /DEST pdfmark end
-128 1324
a 0 0 0 TeXcolorrgb Fo(display)p Black 0 0 0 TeXcolorrgb
44 w(NewCounter)p Black -2 w({)p 0 0 0 TeXcolorrgb 45
w(_this)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black(,)p
0 0 0 TeXcolorrgb 44 w(_display)p Black 44 w(=)p 0 0 0
TeXcolorrgb 44 w(d)p Black 45 w(})h(=)p 0 0 0 TeXcolorrgb
44 w(d)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0.95
TeXcolorgray -153 1376 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1549 a FA(No)n(w)21 b(we)f(can)g(de\002ne)g
(counters)f(with)h(dif)n(ferent)f(underlying)e(implementations:)-128
1617 y
SDict begin H.S end
-128 1617 a -128 1617 a
SDict begin 12 H.A end
-128 1617 a -128 1617
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-289) cvn H.B /DEST pdfmark end
-128 1617 a 0.95 TeXcolorgray -153 1632 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1723 25 92 v Black 0.95 TeXcolorgray
-128 1723 4252 92 v Black 0.95 TeXcolorgray 4124 1723
25 92 v Black 0.95 TeXcolorgray Black -128 1696 a
SDict begin H.S end
-128
1696 a -128 1696 a
SDict begin 11 H.A end
-128 1696 a -128 1696 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.1) cvn H.B /DEST pdfmark end
-128 1696
a 0 0 0 TeXcolorrgb Fo(counterA)p Black 44 w(::)p 0 0 0
TeXcolorrgb 44 w(Counter)p Black 0 0 0 TeXcolorrgb 44
w(String)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1814 25 92 v Black 0.95 TeXcolorgray -128 1814 4252
92 v Black 0.95 TeXcolorgray 4124 1814 25 92 v Black
0.95 TeXcolorgray Black -128 1787 a
SDict begin H.S end
-128 1787 a -128
1787 a
SDict begin 11 H.A end
-128 1787 a -128 1787 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.2) cvn H.B /DEST pdfmark end
-128 1787 a 0 0 0 TeXcolorrgb
Fo(counterA)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(NewCounter)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1906 25 92 v Black 0.95 TeXcolorgray -128 1906 4252 92
v Black 0.95 TeXcolorgray 4124 1906 25 92 v Black 0.95
TeXcolorgray Black -128 1878 a
SDict begin H.S end
-128 1878 a -128 1878
a
SDict begin 11 H.A end
-128 1878 a -128 1878 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.3) cvn H.B /DEST pdfmark end
-128 1878 a 180 w Fo({)p 0 0 0
TeXcolorrgb 44 w(_this)p Black 44 w(=)45 b(0,)p 0 0 0
TeXcolorrgb 45 w(_inc)p Black 44 w(=)f(\(1+\),)p 0 0 0
TeXcolorrgb 44 w(_display)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(print)p Black -1 w(,)p 0 0 0 TeXcolorrgb 44 w(tag)p
Black 45 w(=)g(")p 0 0 0 TeXcolorrgb(A)p Black(")h(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1997 25
92 v Black 0.95 TeXcolorgray -128 1997 4252 92 v Black
0.95 TeXcolorgray 4124 1997 25 92 v Black 0.95 TeXcolorgray
Black -128 1970 a
SDict begin H.S end
-128 1970 a -128 1970 a
SDict begin 11 H.A end
-128 1970 a
-128 1970 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.4) cvn H.B /DEST pdfmark end
-128 1970 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2088 25 92 v Black 0.95 TeXcolorgray
-128 2088 4252 92 v Black 0.95 TeXcolorgray 4124 2088
25 92 v Black 0.95 TeXcolorgray Black -128 2061 a
SDict begin H.S end
-128
2061 a -128 2061 a
SDict begin 11 H.A end
-128 2061 a -128 2061 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.5) cvn H.B /DEST pdfmark end
-128 2061
a 0 0 0 TeXcolorrgb Fo(counterB)p Black 44 w(::)p 0 0 0
TeXcolorrgb 44 w(Counter)p Black 0 0 0 TeXcolorrgb 44
w(String)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2180 25 92 v Black 0.95 TeXcolorgray -128 2180 4252
92 v Black 0.95 TeXcolorgray 4124 2180 25 92 v Black
0.95 TeXcolorgray Black -128 2152 a
SDict begin H.S end
-128 2152 a -128
2152 a
SDict begin 11 H.A end
-128 2152 a -128 2152 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.6) cvn H.B /DEST pdfmark end
-128 2152 a 0 0 0 TeXcolorrgb
Fo(counterB)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(NewCounter)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2271 25 92 v Black 0.95 TeXcolorgray -128 2271 4252 92
v Black 0.95 TeXcolorgray 4124 2271 25 92 v Black 0.95
TeXcolorgray Black -128 2244 a
SDict begin H.S end
-128 2244 a -128 2244
a
SDict begin 11 H.A end
-128 2244 a -128 2244 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.7) cvn H.B /DEST pdfmark end
-128 2244 a 180 w Fo({)p 0 0 0
TeXcolorrgb 44 w(_this)p Black 44 w(=)g("",)p 0 0 0 TeXcolorrgb
44 w(_inc)p Black 45 w(=)f(\('#':\))o(,)p 0 0 0 TeXcolorrgb
45 w(_display)p Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(putStrLn)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 44 w(tag)p Black 45
w(=)g(")p 0 0 0 TeXcolorrgb(B)p Black(")h(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2362 25 92 v Black 0.95
TeXcolorgray -128 2362 4252 92 v Black 0.95 TeXcolorgray
4124 2362 25 92 v Black 0.95 TeXcolorgray Black -128
2335 a
SDict begin H.S end
-128 2335 a -128 2335 a
SDict begin 11 H.A end
-128 2335 a -128 2335
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.8) cvn H.B /DEST pdfmark end
-128 2335 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2454 25 92 v Black 0.95 TeXcolorgray -128 2454 4252
92 v Black 0.95 TeXcolorgray 4124 2454 25 92 v Black
0.95 TeXcolorgray Black -128 2426 a
SDict begin H.S end
-128 2426 a -128
2426 a
SDict begin 11 H.A end
-128 2426 a -128 2426 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.9) cvn H.B /DEST pdfmark end
-128 2426 a 0 0 0 TeXcolorrgb
Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(do)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2545 25 92 v Black 0.95 TeXcolorgray -128 2545 4252 92
v Black 0.95 TeXcolorgray 4124 2545 25 92 v Black 0.95
TeXcolorgray Black -128 2518 a
SDict begin H.S end
-128 2518 a -128 2518
a
SDict begin 11 H.A end
-128 2518 a -128 2518 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.10) cvn H.B /DEST pdfmark end
-128 2518 a 0 0 0 TeXcolorrgb
180 w Fo(display)p Black 43 w(\()p 0 0 0 TeXcolorrgb(inc)p
Black 0 0 0 TeXcolorrgb 45 w(counterA)p Black -2 w(\))404
b(--)p 0 0 0 TeXcolorrgb 44 w(prints)p Black 44 w("1")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2636 25
92 v Black 0.95 TeXcolorgray -128 2636 4252 92 v Black
0.95 TeXcolorgray 4124 2636 25 92 v Black 0.95 TeXcolorgray
Black -128 2609 a
SDict begin H.S end
-128 2609 a -128 2609 a
SDict begin 11 H.A end
-128 2609 a
-128 2609 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-289.11) cvn H.B /DEST pdfmark end
-128 2609 a 0 0 0 TeXcolorrgb 180 w Fo(display)p
Black 43 w(\()p 0 0 0 TeXcolorrgb(inc)p Black 45 w(\()p
0 0 0 TeXcolorrgb -1 w(inc)p Black 0 0 0 TeXcolorrgb
45 w(counterB)p Black -2 w(\)\))135 b(--)p 0 0 0 TeXcolorrgb
44 w(prints)p Black 44 w("##")p 0.95 TeXcolorgray -153
2661 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2835 a FA(At)21 b(the)f(moment,)f(record)g(update)g(syntax)g(is)j
(only)d(supported)f(for)i(Hask)o(ell)g(98)g(data)g(types,)g(so)g(the)h
(follo)n(wing)d(function)h(does)h Fq(not)h FA(w)o(ork:)-128
2902 y
SDict begin H.S end
-128 2902 a -128 2902 a
SDict begin 12 H.A end
-128 2902 a -128 2902
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-290) cvn H.B /DEST pdfmark end
-128 2902 a 0.95 TeXcolorgray -153 2917 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3008 25 92 v Black 0.95 TeXcolorgray
-128 3008 4252 92 v Black 0.95 TeXcolorgray 4124 3008
25 92 v Black 0.95 TeXcolorgray Black -128 2981 a
SDict begin H.S end
-128
2981 a -128 2981 a
SDict begin 11 H.A end
-128 2981 a -128 2981 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-290.1) cvn H.B /DEST pdfmark end
-128 2981
a Fo(--)p 0 0 0 TeXcolorrgb 45 w(This)p Black 0 0 0 TeXcolorrgb
44 w(is)p Black 0 0 0 TeXcolorrgb 45 w(invalid)p Black
-2 w(;)p 0 0 0 TeXcolorrgb 45 w(use)p Black 0 0 0 TeXcolorrgb
44 w(explicit)p Black 0 0 0 TeXcolorrgb 44 w(NewCounter)p
Black 0 0 0 TeXcolorrgb 43 w(instead)p Black 0 0 0 TeXcolorrgb
44 w(for)p Black 0 0 0 TeXcolorrgb 44 w(now)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3100 25 92
v Black 0.95 TeXcolorgray -128 3100 4252 92 v Black 0.95
TeXcolorgray 4124 3100 25 92 v Black 0.95 TeXcolorgray
Black -128 3072 a
SDict begin H.S end
-128 3072 a -128 3072 a
SDict begin 11 H.A end
-128 3072 a
-128 3072 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-290.2) cvn H.B /DEST pdfmark end
-128 3072 a 0 0 0 TeXcolorrgb Fo(setTag)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Counter)p Black
0 0 0 TeXcolorrgb 43 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Counter)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3191 25 92 v Black 0.95
TeXcolorgray -128 3191 4252 92 v Black 0.95 TeXcolorgray
4124 3191 25 92 v Black 0.95 TeXcolorgray Black -128
3164 a
SDict begin H.S end
-128 3164 a -128 3164 a
SDict begin 11 H.A end
-128 3164 a -128 3164
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-290.3) cvn H.B /DEST pdfmark end
-128 3164 a 0 0 0 TeXcolorrgb Fo(setTag)p Black 0 0 0
TeXcolorrgb 44 w(obj)p Black 0 0 0 TeXcolorrgb 45 w(t)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(obj)p Black -1
w({)p 0 0 0 TeXcolorrgb 45 w(tag)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(t)p Black 45 w(})p 0.95 TeXcolorgray
-153 3216 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3381 a
SDict begin H.S end
-128 3381 a -128 3381 a
SDict begin 12 H.A end
-128 3381 a
-128 3381 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.4.4.4) cvn H.B /DEST pdfmark end
-128 3381 a Black 124 x Fx(7.4.4.4)p Black
73 w(Restrictions)-128 3708 y FA(There)f(are)g(se)n(v)o(eral)f
(restrictions)h(on)g(the)g(w)o(ays)h(in)f(which)g(e)o
(xistentially-quanti\002ed)d(constructors)h(can)i(be)h(use.)p
Black -128 3938 a(\225)p Black 42 w(When)27 b(pattern)g(matching,)h
(each)f(pattern)g(match)g(introduces)f(a)i(ne)n(w)-5
b(,)28 b(distinct,)h(type)e(for)g(each)h(e)o(xistential)f(type)g(v)n
(ariable.)46 b(These)27 b(types)-57 4038 y(cannot)20
b(be)h(uni\002ed)g(with)h(an)o(y)e(other)h(type,)f(nor)h(can)g(the)o(y)
g(escape)g(from)f(the)h(scope)g(of)g(the)h(pattern)e(match.)28
b(F)o(or)21 b(e)o(xample,)f(these)h(fragments)-57 4138
y(are)f(incorrect:)-128 4188 y
SDict begin H.S end
-128 4188 a -128 4188
a
SDict begin 12 H.A end
-128 4188 a -128 4188 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-291) cvn H.B /DEST pdfmark end
-128 4188 a 0.95 TeXcolorgray
-82 4220 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4311 25 92 v
Black 0.95 TeXcolorgray -57 4311 4182 92 v Black 0.95
TeXcolorgray 4124 4311 25 92 v Black 0.95 TeXcolorgray
Black -57 4284 a
SDict begin H.S end
-57 4284 a -57 4284 a
SDict begin 11 H.A end
-57 4284 a -57
4284 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-291.1) cvn H.B /DEST pdfmark end
-57 4284 a 0 0 0 TeXcolorrgb Fo(f1)p Black 45
w(\()p 0 0 0 TeXcolorrgb -1 w(MkFoo)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(f)p Black(\))44
b(=)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
-82 4336 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 4493 a FA(Here,)19 b(the)g(type)g(bound)e(by)i
Ft(MkFoo)g FA("escapes",)g(because)f Ft(a)i FA(is)g(the)f(result)g(of)g
Ft(f1)p FA(.)25 b(One)19 b(w)o(ay)g(to)g(see)h(why)e(this)i(is)g(wrong)
e(is)i(to)f(ask)g(what)g(type)-57 4593 y Ft(f1)h FA(has:)-128
4643 y
SDict begin H.S end
-128 4643 a -128 4643 a
SDict begin 12 H.A end
-128 4643 a -128 4643
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-292) cvn H.B /DEST pdfmark end
-128 4643 a 0.95 TeXcolorgray -82 4675 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4767 25 92 v Black 0.95 TeXcolorgray
-57 4767 4182 92 v Black 0.95 TeXcolorgray 4124 4767
25 92 v Black 0.95 TeXcolorgray Black -57 4739 a
SDict begin H.S end
-57
4739 a -57 4739 a
SDict begin 11 H.A end
-57 4739 a -57 4739 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-292.1) cvn H.B /DEST pdfmark end
-57 4739 a 0 0 0
TeXcolorrgb 90 w Fo(f1)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Foo)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 583 w(--)p 0 0 0 TeXcolorrgb 45 w(Weird)p Black
-1 w(!)p 0.95 TeXcolorgray -82 4792 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 4948 a FA(What)h(is)g(this)f(")p
Ft(a)p FA(")h(in)f(the)g(result)h(type?)j(Clearly)c(we)h(don')o(t)d
(mean)i(this:)-128 5016 y
SDict begin H.S end
-128 5016 a -128 5016 a
SDict begin 12 H.A end
-128
5016 a -128 5016 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-293) cvn H.B /DEST pdfmark end
-128 5016 a 0.95 TeXcolorgray -82
5031 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 5122 25 92 v Black 0.95 TeXcolorgray
-57 5122 4182 92 v Black 0.95 TeXcolorgray 4124 5122
25 92 v Black 0.95 TeXcolorgray Black -57 5095 a
SDict begin H.S end
-57
5095 a -57 5095 a
SDict begin 11 H.A end
-57 5095 a -57 5095 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-293.1) cvn H.B /DEST pdfmark end
-57 5095 a 0 0 0
TeXcolorrgb 90 w Fo(f1)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p
0 0 0 TeXcolorrgb 45 w(Foo)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 134 w(--)p 0 0 0 TeXcolorrgb 45 w(Wrong)p
Black -1 w(!)p 0.95 TeXcolorgray -82 5147 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 5304 a FA(The)g(original)f
(program)f(is)j(just)g(plain)f(wrong.)j(Here')-5 b(s)21
b(another)d(sort)j(of)f(error)-128 5371 y
SDict begin H.S end
-128 5371 a
-128 5371 a
SDict begin 12 H.A end
-128 5371 a -128 5371 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-294) cvn H.B /DEST pdfmark end
-128 5371 a 0.95
TeXcolorgray -82 5387 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 5478
25 92 v Black 0.95 TeXcolorgray -57 5478 4182 92 v Black
0.95 TeXcolorgray 4124 5478 25 92 v Black 0.95 TeXcolorgray
Black -57 5451 a
SDict begin H.S end
-57 5451 a -57 5451 a
SDict begin 11 H.A end
-57 5451 a -57
5451 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-294.1) cvn H.B /DEST pdfmark end
-57 5451 a 0 0 0 TeXcolorrgb 90 w Fo(f2)p Black
44 w(\()p 0 0 0 TeXcolorrgb(Baz1)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black(\))44
b(\()p 0 0 0 TeXcolorrgb(Baz1)p Black 0 0 0 TeXcolorrgb
44 w(p)p Black 0 0 0 TeXcolorrgb 45 w(q)p Black(\))g(=)p
0 0 0 TeXcolorrgb 45 w(a)p Black(==)p 0 0 0 TeXcolorrgb(q)p
Black 0.95 TeXcolorgray -82 5503 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 5660 a FA(It')-5 b(s)19
b(ok)f(to)g(say)h Ft(a==b)f FA(or)g Ft(p==q)p FA(,)g(b)n(ut)g
Ft(a==q)h FA(is)g(wrong)e(because)g(it)i(equates)f(the)g(tw)o(o)h
(distinct)f(types)g(arising)g(from)g(the)g(tw)o(o)g Ft(Baz1)g
FA(construc-)-57 5759 y(tors.)p Black -128 6084 4252
5 v Black eop end
%%Page: 134 149
TeXDict begin 134 148 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.134) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(134)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(Y)-9 b(ou)20 b(can')o(t)f(pattern-match)f(on)h(an)i(e)o
(xistentially)e(quanti\002ed)g(constructor)f(in)i(a)h
Ft(let)f FA(or)g Ft(where)g FA(group)e(of)i(bindings.)k(So)c(this)h(is)
g(ille)o(gal:)-128 241 y
SDict begin H.S end
-128 241 a -128 241 a
SDict begin 12 H.A end
-128 241
a -128 241 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-295) cvn H.B /DEST pdfmark end
-128 241 a 0.95 TeXcolorgray -82 256 4232
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 348 25 92 v Black 0.95 TeXcolorgray
-57 348 4182 92 v Black 0.95 TeXcolorgray 4124 348 25
92 v Black 0.95 TeXcolorgray Black -57 320 a
SDict begin H.S end
-57 320
a -57 320 a
SDict begin 11 H.A end
-57 320 a -57 320 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-295.1) cvn H.B /DEST pdfmark end
-57 320 a 0 0 0 TeXcolorrgb
90 w Fo(f3)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45
w(=)p 0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(==)p 0 0 0
TeXcolorrgb(b)p Black 0 0 0 TeXcolorrgb 45 w(where)p
Black 44 w({)p 0 0 0 TeXcolorrgb 44 w(Baz1)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(})p
0.95 TeXcolorgray -82 372 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 530 a FA(Instead,)e(use)i(a)f Ft(case)g
FA(e)o(xpression:)-128 598 y
SDict begin H.S end
-128 598 a -128 598 a
SDict begin 12 H.A end
-128
598 a -128 598 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-296) cvn H.B /DEST pdfmark end
-128 598 a 0.95 TeXcolorgray -82 613
4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 705 25 92 v Black 0.95 TeXcolorgray
-57 705 4182 92 v Black 0.95 TeXcolorgray 4124 705 25
92 v Black 0.95 TeXcolorgray Black -57 677 a
SDict begin H.S end
-57 677
a -57 677 a
SDict begin 11 H.A end
-57 677 a -57 677 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-296.1) cvn H.B /DEST pdfmark end
-57 677 a 0 0 0 TeXcolorrgb
90 w Fo(f3)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45
w(=)p 0 0 0 TeXcolorrgb 45 w(case)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0
TeXcolorrgb 45 w(Baz1)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(a)p Black(==)p 0 0 0 TeXcolorrgb -1
w(b)p Black 0.95 TeXcolorgray -82 729 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 887 a FA(In)i(general,)g(you)g
(can)g(only)g(pattern-match)e(on)j(an)f(e)o(xistentially-quanti\002ed)e
(constructor)g(in)j(a)g Ft(case)g FA(e)o(xpression)e(or)h(in)h(the)f
(patterns)g(of)h(a)-57 987 y(function)f(de\002nition.)34
b(The)23 b(reason)g(for)g(this)h(restriction)f(is)i(really)e(an)h
(implementation)d(one.)35 b(T)-7 b(ype-checking)20 b(binding)i(groups)g
(is)j(already)-57 1086 y(a)k(nightmare)f(without)g(e)o(xistentials)h
(complicating)e(the)i(picture.)51 b(Also)29 b(an)g(e)o(xistential)g
(pattern)f(binding)f(at)j(the)f(top)f(le)n(v)o(el)h(of)g(a)g(module)-57
1186 y(doesn')o(t)24 b(mak)o(e)h(sense,)i(because)e(it')-5
b(s)27 b(not)e(clear)h(ho)n(w)f(to)g(pre)n(v)o(ent)f(the)i(e)o
(xistentially-quanti\002ed)c(type)k("escaping".)40 b(So)25
b(for)g(no)n(w)-5 b(,)26 b(there')-5 b(s)26 b(a)-57 1286
y(simple-to-state)19 b(restriction.)24 b(W)-7 b(e')o(ll)22
b(see)e(ho)n(w)g(anno)o(ying)e(it)j(is.)p Black -128
1452 a(\225)p Black 42 w(Y)-9 b(ou)20 b(can')o(t)f(use)h(e)o
(xistential)g(quanti\002cation)e(for)i Ft(newtype)f FA(declarations.)24
b(So)c(this)h(is)g(ille)o(gal:)-128 1520 y
SDict begin H.S end
-128 1520
a -128 1520 a
SDict begin 12 H.A end
-128 1520 a -128 1520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-297) cvn H.B /DEST pdfmark end
-128 1520 a 0.95
TeXcolorgray -82 1535 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1626
25 92 v Black 0.95 TeXcolorgray -57 1626 4182 92 v Black
0.95 TeXcolorgray 4124 1626 25 92 v Black 0.95 TeXcolorgray
Black -57 1599 a
SDict begin H.S end
-57 1599 a -57 1599 a
SDict begin 11 H.A end
-57 1599 a -57
1599 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-297.1) cvn H.B /DEST pdfmark end
-57 1599 a 0 0 0 TeXcolorrgb 90 w Fo(newtype)p
Black 0 0 0 TeXcolorrgb 43 w(T)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb 43
w(a)p Black(.)p 0 0 0 TeXcolorrgb 45 w(Ord)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb
44 w(MkT)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray -82 1651 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 1809 a FA(Reason:)27 b(a)22 b(v)n(alue)e(of)h
(type)g Ft(T)g FA(must)h(be)f(represented)e(as)j(a)g(pair)e(of)h(a)h
(dictionary)d(for)i Ft(Ord)49 b(t)22 b FA(and)e(a)i(v)n(alue)e(of)h
(type)g Ft(t)p FA(.)28 b(That)21 b(contradicts)f(the)-57
1908 y(idea)25 b(that)g Ft(newtype)g FA(should)f(ha)n(v)o(e)g(no)h
(concrete)f(representation.)38 b(Y)-9 b(ou)24 b(can)h(get)h(just)f(the)
g(same)h(ef)n(\002cienc)o(y)e(and)g(ef)n(fect)h(by)g(using)f
Ft(data)-57 2008 y FA(instead)e(of)f Ft(newtype)p FA(.)30
b(If)22 b(there)f(is)i(no)f(o)o(v)o(erloading)c(in)m(v)n(olv)o(ed,)i
(then)i(there)f(is)i(more)e(of)h(a)g(case)h(for)e(allo)n(wing)g(an)h(e)
o(xistentially-quanti\002ed)-57 2108 y Ft(newtype)p FA(,)f(because)f
(the)i Ft(data)f FA(v)o(ersion)f(does)h(carry)g(an)g(implementation)e
(cost,)j(b)n(ut)f(single-\002eld)g(e)o(xistentially)g(quanti\002ed)f
(constructors)-57 2207 y(aren')o(t)k(much)g(use.)41 b(So)26
b(the)f(simple)h(restriction)e(\(no)h(e)o(xistential)g(stuf)n(f)g(on)g
Ft(newtype)p FA(\))f(stands,)j(unless)e(there)g(are)g(con)m(vincing)e
(reasons)i(to)-57 2307 y(change)19 b(it.)p Black -128
2473 a(\225)p Black 42 w(Y)-9 b(ou)24 b(can')o(t)f(use)i
Ft(deriving)e FA(to)i(de\002ne)f(instances)g(of)g(a)h(data)f(type)g
(with)h(e)o(xistentially)e(quanti\002ed)h(data)g(constructors.)36
b(Reason:)d(in)25 b(most)-57 2573 y(cases)c(it)g(w)o(ould)e(not)h(mak)o
(e)g(sense.)25 b(F)o(or)20 b(e)o(xample:;)-128 2640 y
SDict begin H.S end
-128 2640 a -128 2640 a
SDict begin 12 H.A end
-128 2640 a -128 2640 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-298) cvn H.B /DEST pdfmark end
-128
2640 a 0.95 TeXcolorgray -82 2656 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2747 25 92 v Black 0.95 TeXcolorgray -57 2747 4182
92 v Black 0.95 TeXcolorgray 4124 2747 25 92 v Black
0.95 TeXcolorgray Black -57 2719 a
SDict begin H.S end
-57 2719 a -57 2719
a
SDict begin 11 H.A end
-57 2719 a -57 2719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-298.1) cvn H.B /DEST pdfmark end
-57 2719 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb
43 w(a)p Black(.)p 0 0 0 TeXcolorrgb 45 w(MkT)p Black
44 w([)p 0 0 0 TeXcolorrgb(a)p Black(])p 0 0 0 TeXcolorrgb
44 w(deriving)p Black -1 w(\()p 0 0 0 TeXcolorrgb 45
w(Eq)p Black 44 w(\))p 0.95 TeXcolorgray -82 2772 4232
25 v Black 0.95 TeXcolorgray Black Black Black -57 2930
a FA(T)-7 b(o)20 b(deri)n(v)o(e)f Ft(Eq)i FA(in)f(the)g(standard)f(w)o
(ay)h(we)h(w)o(ould)f(need)f(to)h(ha)n(v)o(e)g(equality)f(between)h
(the)g(single)g(component)e(of)h(tw)o(o)i Ft(MkT)f FA(constructors:)
-128 2997 y
SDict begin H.S end
-128 2997 a -128 2997 a
SDict begin 12 H.A end
-128 2997 a -128
2997 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-299) cvn H.B /DEST pdfmark end
-128 2997 a 0.95 TeXcolorgray -82 3013 4232 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3104 25 92 v Black 0.95 TeXcolorgray
-57 3104 4182 92 v Black 0.95 TeXcolorgray 4124 3104
25 92 v Black 0.95 TeXcolorgray Black -57 3076 a
SDict begin H.S end
-57
3076 a -57 3076 a
SDict begin 11 H.A end
-57 3076 a -57 3076 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-299.1) cvn H.B /DEST pdfmark end
-57 3076 a 0 0 0
TeXcolorrgb Fo(instance)p Black 0 0 0 TeXcolorrgb 44
w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3195 25 92 v Black 0.95 TeXcolorgray -57 3195 4182
92 v Black 0.95 TeXcolorgray 4124 3195 25 92 v Black
0.95 TeXcolorgray Black -57 3168 a
SDict begin H.S end
-57 3168 a -57 3168
a
SDict begin 11 H.A end
-57 3168 a -57 3168 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-299.2) cvn H.B /DEST pdfmark end
-57 3168 a 90 w Fo(\()p 0 0 0
TeXcolorrgb(MkT)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))44
b(==)h(\()p 0 0 0 TeXcolorrgb(MkT)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black(\))f(=)h(???)p 0.95 TeXcolorgray -82 3220
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
3378 a FA(But)23 b Ft(a)g FA(and)f Ft(b)h FA(ha)n(v)o(e)f(distinct)h
(types,)g(and)f(so)h(can')o(t)f(be)g(compared.)31 b(It')-5
b(s)23 b(just)g(about)f(possible)g(to)h(imagine)f(e)o(xamples)f(in)i
(which)f(the)h(deri)n(v)o(ed)-57 3477 y(instance)d(w)o(ould)f(mak)o(e)h
(sense,)g(b)n(ut)h(it)f(seems)h(altogether)e(simpler)h(simply)g(to)g
(prohibit)f(such)h(declarations.)j(De\002ne)d(your)f(o)n(wn)h
(instances!)-128 3612 y
SDict begin H.S end
-128 3612 a -128 3612 a
SDict begin 12 H.A end
-128
3612 a -128 3612 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.4.5) cvn H.B /DEST pdfmark end
-128 3612 a Black 148 x Fp(7.4.5)p
Black 90 w(Dec)n(laring)j(data)i(types)f(with)g(e)o(xplicit)f
(constructor)h(signatures)-128 3848 y
SDict begin H.S end
-128 3848 a -128
3848 a
SDict begin 12 H.A end
-128 3848 a -128 3848 a
SDict begin [ /View [/XYZ H.V] /Dest (gadt-style) cvn H.B /DEST pdfmark end
-128 3848 a 115 x FA(GHC)d(allo)n(ws)g
(you)e(to)i(declare)e(an)h(algebraic)f(data)h(type)g(by)g(gi)n(ving)f
(the)h(type)f(signatures)h(of)g(constructors)e(e)o(xplicitly)-5
b(.)24 b(F)o(or)c(e)o(xample:)-128 4030 y
SDict begin H.S end
-128 4030 a
-128 4030 a
SDict begin 12 H.A end
-128 4030 a -128 4030 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-300) cvn H.B /DEST pdfmark end
-128 4030 a 0.95
TeXcolorgray -153 4046 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4137 25 92 v Black 0.95 TeXcolorgray -128 4137 4252 92
v Black 0.95 TeXcolorgray 4124 4137 25 92 v Black 0.95
TeXcolorgray Black -128 4110 a
SDict begin H.S end
-128 4110 a -128 4110
a
SDict begin 11 H.A end
-128 4110 a -128 4110 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-300.1) cvn H.B /DEST pdfmark end
-128 4110 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Maybe)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4228 25 92 v Black 0.95 TeXcolorgray -128 4228 4252
92 v Black 0.95 TeXcolorgray 4124 4228 25 92 v Black
0.95 TeXcolorgray Black -128 4201 a
SDict begin H.S end
-128 4201 a -128
4201 a
SDict begin 11 H.A end
-128 4201 a -128 4201 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-300.2) cvn H.B /DEST pdfmark end
-128 4201 a 0 0 0 TeXcolorrgb
269 w Fo(Nothing)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Maybe)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4320 25 92
v Black 0.95 TeXcolorgray -128 4320 4252 92 v Black 0.95
TeXcolorgray 4124 4320 25 92 v Black 0.95 TeXcolorgray
Black -128 4292 a
SDict begin H.S end
-128 4292 a -128 4292 a
SDict begin 11 H.A end
-128 4292 a
-128 4292 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-300.3) cvn H.B /DEST pdfmark end
-128 4292 a 0 0 0 TeXcolorrgb 269 w Fo(Just)p
Black 179 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44
w(->)p 0 0 0 TeXcolorrgb 45 w(Maybe)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray -153 4345 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 4519 a
FA(The)i(form)f(is)i(called)f(a)g("GADT)-8 b(-style)22
b(declaration")f(because)g(Generalised)g(Algebraic)g(Data)h(T)-7
b(ypes,)22 b(described)f(in)h(Section)p 1 0 0 TeXcolorrgb
3629 4520 a
SDict begin H.S end
3629 4520 a 1 0 0 TeXcolorrgb -1 x FA(7.4.6)p
1 0 0 TeXcolorrgb 3795 4463 a
SDict begin H.R end
3795 4463 a 3795 4519 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.6) cvn H.B /ANN pdfmark end
3795 4519 a Black FA(,)h(can)f(only)-128 4619 y(be)f(declared)e(using)g
(this)i(form.)-128 4768 y(Notice)g(that)f(GADT)-8 b(-style)20
b(syntax)f(generalises)h(e)o(xistential)g(types)g(\(Section)p
1 0 0 TeXcolorrgb 2169 4769 a
SDict begin H.S end
2169 4769 a 1 0 0 TeXcolorrgb
-1 x FA(7.4.4)p 1 0 0 TeXcolorrgb 2335 4712 a
SDict begin H.R end
2335 4712
a 2335 4768 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.4) cvn H.B /ANN pdfmark end
2335 4768 a Black FA(\).)26 b(F)o(or)19
b(e)o(xample,)g(these)h(tw)o(o)h(declarations)e(are)h(equi)n(v)n
(alent:)-128 4836 y
SDict begin H.S end
-128 4836 a -128 4836 a
SDict begin 12 H.A end
-128 4836
a -128 4836 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-301) cvn H.B /DEST pdfmark end
-128 4836 a 0.95 TeXcolorgray -153 4851
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4942 25 92 v Black 0.95
TeXcolorgray -128 4942 4252 92 v Black 0.95 TeXcolorgray
4124 4942 25 92 v Black 0.95 TeXcolorgray Black -128
4915 a
SDict begin H.S end
-128 4915 a -128 4915 a
SDict begin 11 H.A end
-128 4915 a -128 4915
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-301.1) cvn H.B /DEST pdfmark end
-128 4915 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Foo)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(forall)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(.)p
0 0 0 TeXcolorrgb 45 w(MkFoo)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(Bool)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5034 25 92
v Black 0.95 TeXcolorgray -128 5034 4252 92 v Black 0.95
TeXcolorgray 4124 5034 25 92 v Black 0.95 TeXcolorgray
Black -128 5006 a
SDict begin H.S end
-128 5006 a -128 5006 a
SDict begin 11 H.A end
-128 5006 a
-128 5006 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-301.2) cvn H.B /DEST pdfmark end
-128 5006 a 0 0 0 TeXcolorrgb 90 w Fo(data)p
Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black(')p 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w({)p 0 0 0 TeXcolorrgb 45 w(MKFoo)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)45
b(\()p 0 0 0 TeXcolorrgb(a)p Black -1 w(->)p 0 0 0 TeXcolorrgb(Bool)p
Black -1 w(\))g(->)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black
-1 w(')g(})p 0.95 TeXcolorgray -153 5059 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 5233 a FA(An)o(y)22
b(data)g(type)g(that)h(can)f(be)g(declared)g(in)g(standard)f(Hask)o
(ell-98)h(syntax)g(can)g(also)h(be)f(declared)f(using)h(GADT)-8
b(-style)22 b(syntax.)31 b(The)22 b(choice)g(is)-128
5333 y(lar)o(gely)c(stylistic,)j(b)n(ut)e(GADT)-8 b(-style)19
b(declarations)f(dif)n(fer)h(in)g(one)g(important)f(respect:)24
b(the)o(y)19 b(treat)g(class)h(constraints)f(on)g(the)g(data)h
(constructors)-128 5432 y(dif)n(ferently)-5 b(.)29 b(Speci\002cally)-5
b(,)22 b(if)g(the)h(constructor)d(is)j(gi)n(v)o(en)e(a)i(type-class)e
(conte)o(xt,)h(that)g(conte)o(xt)f(is)i(made)f(a)n(v)n(ailable)g(by)f
(pattern)h(matching.)29 b(F)o(or)-128 5532 y(e)o(xample:)p
Black -128 6084 4252 5 v Black eop end
%%Page: 135 150
TeXDict begin 135 149 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.135) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(135)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-302) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Set)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 180 w Fo(MkSet)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(Eq)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 44 w(=>)45 b([)p 0 0 0 TeXcolorrgb(a)p
Black(])f(->)p 0 0 0 TeXcolorrgb 45 w(Set)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.3) cvn H.B /DEST pdfmark end
-128 420 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 538 25 92 v Black 0.95 TeXcolorgray
-128 538 4252 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511
a -128 511 a
SDict begin 11 H.A end
-128 511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.4) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb
90 w Fo(makeSet)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44
w(Eq)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)h([)p
0 0 0 TeXcolorrgb(a)p Black(])f(->)p 0 0 0 TeXcolorrgb
45 w(Set)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 630 25 92 v
Black 0.95 TeXcolorgray -128 630 4252 92 v Black 0.95
TeXcolorgray 4124 630 25 92 v Black 0.95 TeXcolorgray
Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128 602 a -128
602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.5) cvn H.B /DEST pdfmark end
-128 602 a 0 0 0 TeXcolorrgb 90 w Fo(makeSet)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(MkSet)p Black 44 w(\()p 0 0 0 TeXcolorrgb(nub)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 721 25 92 v Black 0.95 TeXcolorgray
-128 721 4252 92 v Black 0.95 TeXcolorgray 4124 721 25
92 v Black 0.95 TeXcolorgray Black -128 694 a
SDict begin H.S end
-128 694
a -128 694 a
SDict begin 11 H.A end
-128 694 a -128 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.6) cvn H.B /DEST pdfmark end
-128 694 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 812 25 92 v Black 0.95 TeXcolorgray
-128 812 4252 92 v Black 0.95 TeXcolorgray 4124 812 25
92 v Black 0.95 TeXcolorgray Black -128 785 a
SDict begin H.S end
-128 785
a -128 785 a
SDict begin 11 H.A end
-128 785 a -128 785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.7) cvn H.B /DEST pdfmark end
-128 785 a 0 0 0 TeXcolorrgb
90 w Fo(insert)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44
w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(Set)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Set)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 904 25 92 v
Black 0.95 TeXcolorgray -128 904 4252 92 v Black 0.95
TeXcolorgray 4124 904 25 92 v Black 0.95 TeXcolorgray
Black -128 876 a
SDict begin H.S end
-128 876 a -128 876 a
SDict begin 11 H.A end
-128 876 a -128
876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.8) cvn H.B /DEST pdfmark end
-128 876 a 0 0 0 TeXcolorrgb 90 w Fo(insert)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(\()p 0 0 0 TeXcolorrgb
-1 w(MkSet)p Black 0 0 0 TeXcolorrgb 44 w(as)p Black(\))h(|)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(`)p 0 0 0 TeXcolorrgb(elem)p
Black -1 w(`)p 0 0 0 TeXcolorrgb 45 w(as)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(MkSet)p Black 0 0 0 TeXcolorrgb
44 w(as)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 995 25 92 v Black 0.95 TeXcolorgray -128 995 4252
92 v Black 0.95 TeXcolorgray 4124 995 25 92 v Black 0.95
TeXcolorgray Black -128 968 a
SDict begin H.S end
-128 968 a -128 968 a
SDict begin 11 H.A end
-128
968 a -128 968 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-302.9) cvn H.B /DEST pdfmark end
-128 968 a 987 w Fo(|)p 0 0 0 TeXcolorrgb
44 w(otherwise)p Black 133 w(=)p 0 0 0 TeXcolorrgb 45
w(MkSet)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(:)p
0 0 0 TeXcolorrgb(as)p Black -1 w(\))p 0.95 TeXcolorgray
-153 1020 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1194 a FA(A)24 b(use)f(of)g Ft(MkSet)f FA(as)i(a)g
(constructor)d(\(e.g.)32 b(in)23 b(the)g(de\002nition)f(of)h
Ft(makeSet)p FA(\))f(gi)n(v)o(es)g(rise)i(to)f(a)g Ft(\(Eq)50
b(a\))23 b FA(constraint,)f(as)i(you)e(w)o(ould)g(e)o(xpect.)-128
1294 y(The)i(ne)n(w)f(feature)g(is)h(that)g(pattern-matching)c(on)j
Ft(MkSet)g FA(\(as)h(in)g(the)f(de\002nition)g(of)g Ft(insert)p
FA(\))g(mak)o(es)g Fq(available)f FA(an)i Ft(\(Eq)49
b(a\))24 b FA(conte)o(xt.)33 b(In)-128 1394 y(implementation)25
b(terms,)i(the)g Ft(MkSet)f FA(constructor)e(has)j(a)g(hidden)e
(\002eld)h(that)h(stores)g(the)f Ft(\(Eq)49 b(a\))27
b FA(dictionary)e(that)h(is)h(passed)g(to)f Ft(MkSet)p
FA(;)-128 1493 y(so)g(when)e(pattern-matching)d(that)k(dictionary)e
(becomes)h(a)n(v)n(ailable)g(for)g(the)h(right-hand)d(side)j(of)g(the)g
(match.)38 b(In)24 b(the)h(e)o(xample,)f(the)h(equality)-128
1593 y(dictionary)d(is)i(used)f(to)g(satisfy)h(the)f(equality)g
(constraint)f(generated)f(by)i(the)g(call)h(to)f Ft(elem)p
FA(,)h(so)g(that)f(the)g(type)g(of)g Ft(insert)g FA(itself)g(has)h(no)f
Ft(Eq)-128 1693 y FA(constraint.)-128 1842 y(F)o(or)d(e)o(xample,)f
(one)g(possible)h(application)f(is)i(to)g(reify)e(dictionaries:)-128
1910 y
SDict begin H.S end
-128 1910 a -128 1910 a
SDict begin 12 H.A end
-128 1910 a -128 1910
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-303) cvn H.B /DEST pdfmark end
-128 1910 a 0.95 TeXcolorgray -153 1925 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2016 25 92 v Black 0.95 TeXcolorgray
-128 2016 4252 92 v Black 0.95 TeXcolorgray 4124 2016
25 92 v Black 0.95 TeXcolorgray Black -128 1989 a
SDict begin H.S end
-128
1989 a -128 1989 a
SDict begin 11 H.A end
-128 1989 a -128 1989 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.1) cvn H.B /DEST pdfmark end
-128 1989
a 0 0 0 TeXcolorrgb 135 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(NumInst)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2108 25 92 v Black 0.95
TeXcolorgray -128 2108 4252 92 v Black 0.95 TeXcolorgray
4124 2108 25 92 v Black 0.95 TeXcolorgray Black -128
2080 a
SDict begin H.S end
-128 2080 a -128 2080 a
SDict begin 11 H.A end
-128 2080 a -128 2080
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.2) cvn H.B /DEST pdfmark end
-128 2080 a 0 0 0 TeXcolorrgb 225 w Fo(MkNumInst)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 44 w(Num)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb
45 w(NumInst)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2199 25
92 v Black 0.95 TeXcolorgray -128 2199 4252 92 v Black
0.95 TeXcolorgray 4124 2199 25 92 v Black 0.95 TeXcolorgray
Black -128 2172 a
SDict begin H.S end
-128 2172 a -128 2172 a
SDict begin 11 H.A end
-128 2172 a
-128 2172 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.3) cvn H.B /DEST pdfmark end
-128 2172 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2290 25 92 v Black 0.95 TeXcolorgray
-128 2290 4252 92 v Black 0.95 TeXcolorgray 4124 2290
25 92 v Black 0.95 TeXcolorgray Black -128 2263 a
SDict begin H.S end
-128
2263 a -128 2263 a
SDict begin 11 H.A end
-128 2263 a -128 2263 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.4) cvn H.B /DEST pdfmark end
-128 2263
a 0 0 0 TeXcolorrgb 135 w Fo(intInst)p Black 44 w(::)p
0 0 0 TeXcolorrgb 44 w(NumInst)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2382 25 92 v Black 0.95 TeXcolorgray -128 2382 4252
92 v Black 0.95 TeXcolorgray 4124 2382 25 92 v Black
0.95 TeXcolorgray Black -128 2354 a
SDict begin H.S end
-128 2354 a -128
2354 a
SDict begin 11 H.A end
-128 2354 a -128 2354 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.5) cvn H.B /DEST pdfmark end
-128 2354 a 0 0 0 TeXcolorrgb
135 w Fo(intInst)p Black 44 w(=)p 0 0 0 TeXcolorrgb 44
w(MkNumInst)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2473 25 92 v Black 0.95 TeXcolorgray -128 2473 4252
92 v Black 0.95 TeXcolorgray 4124 2473 25 92 v Black
0.95 TeXcolorgray Black -128 2446 a
SDict begin H.S end
-128 2446 a -128
2446 a
SDict begin 11 H.A end
-128 2446 a -128 2446 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.6) cvn H.B /DEST pdfmark end
-128 2446 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2564 25 92 v Black 0.95
TeXcolorgray -128 2564 4252 92 v Black 0.95 TeXcolorgray
4124 2564 25 92 v Black 0.95 TeXcolorgray Black -128
2537 a
SDict begin H.S end
-128 2537 a -128 2537 a
SDict begin 11 H.A end
-128 2537 a -128 2537
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.7) cvn H.B /DEST pdfmark end
-128 2537 a 0 0 0 TeXcolorrgb 135 w Fo(plus)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(NumInst)p Black 0 0 0
TeXcolorrgb 43 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2656 25 92 v Black 0.95
TeXcolorgray -128 2656 4252 92 v Black 0.95 TeXcolorgray
4124 2656 25 92 v Black 0.95 TeXcolorgray Black -128
2628 a
SDict begin H.S end
-128 2628 a -128 2628 a
SDict begin 11 H.A end
-128 2628 a -128 2628
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-303.8) cvn H.B /DEST pdfmark end
-128 2628 a 0 0 0 TeXcolorrgb 135 w Fo(plus)p Black
0 0 0 TeXcolorrgb 44 w(MkNumInst)p Black 0 0 0 TeXcolorrgb
43 w(p)p Black 0 0 0 TeXcolorrgb 45 w(q)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(p)p Black 45 w(+)p 0 0 0 TeXcolorrgb
45 w(q)p Black 0.95 TeXcolorgray -153 2680 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 2855 a
FA(Here,)h(a)h(v)n(alue)e(of)h(type)g Ft(NumInst)49 b(a)20
b FA(is)h(equi)n(v)n(alent)e(to)h(an)g(e)o(xplicit)g
Ft(\(Num)49 b(a\))20 b FA(dictionary)-5 b(.)-128 3004
y(All)24 b(this)f(applies)f(to)g(constructors)f(declared)g(using)h(the)
h(syntax)e(of)i(Section)p 1 0 0 TeXcolorrgb 2155 3005
a
SDict begin H.S end
2155 3005 a 1 0 0 TeXcolorrgb -1 x FA(7.4.4.2)p 1 0 0
TeXcolorrgb 2383 2948 a
SDict begin H.R end
2383 2948 a 2383 3004 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.4.4.2) cvn H.B /ANN pdfmark end
2383
3004 a Black FA(.)32 b(F)o(or)22 b(e)o(xample,)g(the)g
Ft(NumInst)g FA(data)g(type)g(abo)o(v)o(e)f(could)-128
3104 y(equi)n(v)n(alently)e(be)h(declared)f(lik)o(e)h(this:)-128
3172 y
SDict begin H.S end
-128 3172 a -128 3172 a
SDict begin 12 H.A end
-128 3172 a -128 3172
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-304) cvn H.B /DEST pdfmark end
-128 3172 a 0.95 TeXcolorgray -153 3187 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3278 25 92 v Black 0.95 TeXcolorgray
-128 3278 4252 92 v Black 0.95 TeXcolorgray 4124 3278
25 92 v Black 0.95 TeXcolorgray Black -128 3251 a
SDict begin H.S end
-128
3251 a -128 3251 a
SDict begin 11 H.A end
-128 3251 a -128 3251 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-304.1) cvn H.B /DEST pdfmark end
-128 3251
a 0 0 0 TeXcolorrgb 135 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(NumInst)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3370 25
92 v Black 0.95 TeXcolorgray -128 3370 4252 92 v Black
0.95 TeXcolorgray 4124 3370 25 92 v Black 0.95 TeXcolorgray
Black -128 3342 a
SDict begin H.S end
-128 3342 a -128 3342 a
SDict begin 11 H.A end
-128 3342 a
-128 3342 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-304.2) cvn H.B /DEST pdfmark end
-128 3342 a 269 w Fo(=)p 0 0 0 TeXcolorrgb
45 w(Num)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(=>)p 0 0 0 TeXcolorrgb 45 w(MkNumInst)p Black 43 w(\()p
0 0 0 TeXcolorrgb(NumInst)p Black 0 0 0 TeXcolorrgb 43
w(a)p Black(\))p 0.95 TeXcolorgray -153 3394 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3569
a FA(Notice)j(that,)h(unlik)o(e)e(the)h(situation)g(when)f(declaring)g
(an)h(e)o(xistential,)g(there)g(is)h(no)e Ft(forall)p
FA(,)h(because)g(the)g Ft(Num)g FA(constrains)f(the)h(data)g(type')-5
b(s)-128 3668 y(uni)n(v)o(ersally)24 b(quanti\002ed)h(type)g(v)n
(ariable)f Ft(a)p FA(.)42 b(A)26 b(constructor)e(may)h(ha)n(v)o(e)g
(both)g(uni)n(v)o(ersal)f(and)i(e)o(xistential)f(type)g(v)n(ariables:)
36 b(for)25 b(e)o(xample,)g(the)-128 3768 y(follo)n(wing)19
b(tw)o(o)h(declarations)f(are)h(equi)n(v)n(alent:)-128
3836 y
SDict begin H.S end
-128 3836 a -128 3836 a
SDict begin 12 H.A end
-128 3836 a -128 3836
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-305) cvn H.B /DEST pdfmark end
-128 3836 a 0.95 TeXcolorgray -153 3851 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3942 25 92 v Black 0.95 TeXcolorgray
-128 3942 4252 92 v Black 0.95 TeXcolorgray 4124 3942
25 92 v Black 0.95 TeXcolorgray Black -128 3915 a
SDict begin H.S end
-128
3915 a -128 3915 a
SDict begin 11 H.A end
-128 3915 a -128 3915 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-305.1) cvn H.B /DEST pdfmark end
-128 3915
a 0 0 0 TeXcolorrgb 135 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T1)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4034 25 92
v Black 0.95 TeXcolorgray -128 4034 4252 92 v Black 0.95
TeXcolorgray 4124 4034 25 92 v Black 0.95 TeXcolorgray
Black -128 4006 a
SDict begin H.S end
-128 4006 a -128 4006 a
SDict begin 11 H.A end
-128 4006 a
-128 4006 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-305.2) cvn H.B /DEST pdfmark end
-128 4006 a 90 w Fo(=)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black
-1 w(.)45 b(\()p 0 0 0 TeXcolorrgb(Num)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Eq)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black(\))g(=>)p 0 0 0
TeXcolorrgb 44 w(MkT1)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4125 25 92 v Black 0.95
TeXcolorgray -128 4125 4252 92 v Black 0.95 TeXcolorgray
4124 4125 25 92 v Black 0.95 TeXcolorgray Black -128
4098 a
SDict begin H.S end
-128 4098 a -128 4098 a
SDict begin 11 H.A end
-128 4098 a -128 4098
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-305.3) cvn H.B /DEST pdfmark end
-128 4098 a 0 0 0 TeXcolorrgb 135 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(T2)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4216 25 92
v Black 0.95 TeXcolorgray -128 4216 4252 92 v Black 0.95
TeXcolorgray 4124 4216 25 92 v Black 0.95 TeXcolorgray
Black -128 4189 a
SDict begin H.S end
-128 4189 a -128 4189 a
SDict begin 11 H.A end
-128 4189 a
-128 4189 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-305.4) cvn H.B /DEST pdfmark end
-128 4189 a 0 0 0 TeXcolorrgb 90 w Fo(MkT2)p
Black 44 w(::)g(\()p 0 0 0 TeXcolorrgb(Num)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(,)p 0 0 0 TeXcolorrgb 44 w(Eq)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black(\))f(=>)p 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(T2)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
-153 4241 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4416 a FA(All)30 b(this)f(beha)n(viour)d(contrasts)i(with)h
(Hask)o(ell)g(98')-5 b(s)28 b(peculiar)g(treatment)g(of)g(conte)o(xts)f
(on)h(a)h(data)g(type)f(declaration)f(\(Section)h(4.2.1)f(of)h(the)-128
4515 y(Hask)o(ell)21 b(98)f(Report\).)k(In)c(Hask)o(ell)g(98)g(the)g
(de\002nition)-128 4583 y
SDict begin H.S end
-128 4583 a -128 4583 a
SDict begin 12 H.A end
-128
4583 a -128 4583 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-306) cvn H.B /DEST pdfmark end
-128 4583 a 0.95 TeXcolorgray -153
4598 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4690 25 92 v Black 0.95
TeXcolorgray -128 4690 4252 92 v Black 0.95 TeXcolorgray
4124 4690 25 92 v Black 0.95 TeXcolorgray Black -128
4662 a
SDict begin H.S end
-128 4662 a -128 4662 a
SDict begin 11 H.A end
-128 4662 a -128 4662
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-306.1) cvn H.B /DEST pdfmark end
-128 4662 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Eq)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(Set)p Black
-1 w(')p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(MkSet)p Black(')44 b([)p 0 0 0 TeXcolorrgb(a)p
Black(])p 0.95 TeXcolorgray -153 4715 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4889 a FA(gi)n(v)o(es)26
b Ft(MkSet')g FA(the)h(same)f(type)g(as)h Ft(MkSet)f
FA(abo)o(v)o(e.)42 b(But)27 b(instead)g(of)f Fq(making)f(available)g
FA(an)i Ft(\(Eq)49 b(a\))26 b FA(constraint,)h(pattern-matching)c(on)
-128 4988 y Ft(MkSet')28 b Fq(r)m(equir)m(es)h FA(an)f
Ft(\(Eq)50 b(a\))28 b FA(constraint!)49 b(GHC)29 b(f)o(aithfully)f
(implements)f(this)i(beha)n(viour)m(,)f(odd)g(though)e(it)j(is.)51
b(But)29 b(for)f(GADT)-8 b(-style)-128 5088 y(declarations,)19
b(GHC')-5 b(s)21 b(beha)n(viour)e(is)i(much)e(more)g(useful,)h(as)h
(well)f(as)h(much)f(more)f(intuiti)n(v)o(e.)-128 5238
y(The)h(rest)h(of)f(this)h(section)f(gi)n(v)o(es)f(further)g(details)h
(about)g(GADT)-8 b(-style)20 b(data)g(type)g(declarations.)p
Black -128 5453 a(\225)p Black 42 w(The)d(result)h(type)f(of)h(each)f
(data)h(constructor)d(must)j(be)o(gin)f(with)g(the)h(type)f
(constructor)f(being)h(de\002ned.)23 b(If)17 b(the)h(result)g(type)f
(of)g(all)i(constructors)-57 5553 y(has)h(the)h(form)e
Ft(T)50 b(a1)f(...)99 b(an)p FA(,)20 b(where)g Ft(a1)49
b(...)99 b(an)21 b FA(are)f(distinct)g(type)g(v)n(ariables,)f(then)h
(the)g(data)g(type)g(is)h Fq(or)m(dinary)p FA(;)f(otherwise)f(is)j(a)
-57 5653 y Fq(g)o(ener)o(alised)f FA(data)f(type)g(\(Section)p
1 0 0 TeXcolorrgb 972 5654 a
SDict begin H.S end
972 5654 a 1 0 0 TeXcolorrgb
-1 x FA(7.4.6)p 1 0 0 TeXcolorrgb 1138 5596 a
SDict begin H.R end
1138 5596
a 1138 5653 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.6) cvn H.B /ANN pdfmark end
1138 5653 a Black FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 136 151
TeXDict begin 136 150 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.136) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(136)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(The)h(type)g(signature)f(of)h(each)h(constructor)d(is)j
(independent,)d(and)i(is)h(implicitly)f(uni)n(v)o(ersally)f
(quanti\002ed)g(as)i(usual.)28 b(Dif)n(ferent)21 b(constructors)-57
273 y(may)f(ha)n(v)o(e)f(dif)n(ferent)g(uni)n(v)o(ersally-quanti\002ed)
d(type)k(v)n(ariables)f(and)h(dif)n(ferent)e(type-class)i(constraints.)
k(F)o(or)c(e)o(xample,)f(this)h(is)h(\002ne:)-128 331
y
SDict begin H.S end
-128 331 a -128 331 a
SDict begin 12 H.A end
-128 331 a -128 331 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-307) cvn H.B /DEST pdfmark end
-128 331
a 0.95 TeXcolorgray -82 346 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 437
25 92 v Black 0.95 TeXcolorgray -57 437 4182 92 v Black
0.95 TeXcolorgray 4124 437 25 92 v Black 0.95 TeXcolorgray
Black -57 410 a
SDict begin H.S end
-57 410 a -57 410 a
SDict begin 11 H.A end
-57 410 a -57 410
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-307.1) cvn H.B /DEST pdfmark end
-57 410 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0
TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 528 25 92 v Black 0.95 TeXcolorgray
-57 528 4182 92 v Black 0.95 TeXcolorgray 4124 528 25
92 v Black 0.95 TeXcolorgray Black -57 501 a
SDict begin H.S end
-57 501
a -57 501 a
SDict begin 11 H.A end
-57 501 a -57 501 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-307.2) cvn H.B /DEST pdfmark end
-57 501 a 0 0 0 TeXcolorrgb
179 w Fo(T1)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Eq)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(T)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 620 25 92 v
Black 0.95 TeXcolorgray -57 620 4182 92 v Black 0.95
TeXcolorgray 4124 620 25 92 v Black 0.95 TeXcolorgray
Black -57 592 a
SDict begin H.S end
-57 592 a -57 592 a
SDict begin 11 H.A end
-57 592 a -57 592
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-307.3) cvn H.B /DEST pdfmark end
-57 592 a 0 0 0 TeXcolorrgb 179 w Fo(T2)p Black 45
w(::)44 b(\()p 0 0 0 TeXcolorrgb(Show)p Black 0 0 0 TeXcolorrgb
44 w(c)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Ix)p Black
0 0 0 TeXcolorrgb 44 w(c)p Black(\))h(=>)p 0 0 0 TeXcolorrgb
44 w(c)p Black 45 w(->)f([)p 0 0 0 TeXcolorrgb(c)p Black(])h(->)p
0 0 0 TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb 45
w(c)p Black 0.95 TeXcolorgray -82 645 4232 25 v Black
0.95 TeXcolorgray Black Black Black Black -128 815 a
FA(\225)p Black 42 w(Unlik)o(e)26 b(a)h(Hask)o(ell-98-style)e(data)h
(type)g(declaration,)g(the)g(type)g(v)n(ariable\(s\))f(in)h(the)g(")p
Ft(data)49 b(Set)g(a)h(where)p FA(")26 b(header)f(ha)n(v)o(e)h(no)g
(scope.)-57 915 y(Indeed,)18 b(one)i(can)g(write)g(a)h(kind)e
(signature)h(instead:)-128 973 y
SDict begin H.S end
-128 973 a -128 973
a
SDict begin 12 H.A end
-128 973 a -128 973 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-308) cvn H.B /DEST pdfmark end
-128 973 a 0.95 TeXcolorgray
-82 988 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1079 25 92 v
Black 0.95 TeXcolorgray -57 1079 4182 92 v Black 0.95
TeXcolorgray 4124 1079 25 92 v Black 0.95 TeXcolorgray
Black -57 1052 a
SDict begin H.S end
-57 1052 a -57 1052 a
SDict begin 11 H.A end
-57 1052 a -57
1052 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-308.1) cvn H.B /DEST pdfmark end
-57 1052 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Set)p Black 44 w(::)571 1065 y(*)660
1052 y(->)795 1065 y(*)p 0 0 0 TeXcolorrgb 884 1052 a(where)p
Black 44 w(...)p 0.95 TeXcolorgray -82 1104 4232 25 v
Black 0.95 TeXcolorgray Black Black Black -57 1247 a
FA(or)g(e)n(v)o(en)f(a)i(mixture)e(of)h(the)g(tw)o(o:)-128
1287 y
SDict begin H.S end
-128 1287 a -128 1287 a
SDict begin 12 H.A end
-128 1287 a -128 1287
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-309) cvn H.B /DEST pdfmark end
-128 1287 a 0.95 TeXcolorgray -82 1320 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 1411 25 92 v Black 0.95 TeXcolorgray
-57 1411 4182 92 v Black 0.95 TeXcolorgray 4124 1411
25 92 v Black 0.95 TeXcolorgray Black -57 1384 a
SDict begin H.S end
-57
1384 a -57 1384 a
SDict begin 11 H.A end
-57 1384 a -57 1384 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-309.1) cvn H.B /DEST pdfmark end
-57 1384 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(Foo)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(::)44
b(\()705 1397 y(*)795 1384 y(->)929 1397 y(*)974 1384
y(\))h(->)1198 1397 y(*)p 0 0 0 TeXcolorrgb 1288 1384
a(where)p Black 44 w(...)p 0.95 TeXcolorgray -82 1436
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
1579 a FA(The)20 b(type)g(v)n(ariables)f(\(if)h(gi)n(v)o(en\))f(may)g
(be)h(e)o(xplicitly)g(kinded,)e(so)j(we)f(could)g(also)g(write)g(the)h
(header)e(for)g Ft(Foo)h FA(lik)o(e)h(this:)-128 1636
y
SDict begin H.S end
-128 1636 a -128 1636 a
SDict begin 12 H.A end
-128 1636 a -128 1636 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-310) cvn H.B /DEST pdfmark end
-128
1636 a 0.95 TeXcolorgray -82 1652 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1743 25 92 v Black 0.95 TeXcolorgray -57 1743 4182
92 v Black 0.95 TeXcolorgray 4124 1743 25 92 v Black
0.95 TeXcolorgray Black -57 1716 a
SDict begin H.S end
-57 1716 a -57 1716
a
SDict begin 11 H.A end
-57 1716 a -57 1716 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-310.1) cvn H.B /DEST pdfmark end
-57 1716 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(\()p 0 0 0 TeXcolorrgb(b)p
Black 44 w(::)795 1729 y(*)884 1716 y(->)1019 1729 y(*)1064
1716 y(\))p 0 0 0 TeXcolorrgb 44 w(where)p Black 44 w(...)p
0.95 TeXcolorgray -82 1768 4232 25 v Black 0.95 TeXcolorgray
Black Black Black Black -128 1939 a FA(\225)p Black 42
w(Y)-9 b(ou)20 b(can)g(use)g(strictness)h(annotations,)d(in)i(the)h(ob)
o(vious)d(places)i(in)h(the)f(constructor)e(type:)-128
1996 y
SDict begin H.S end
-128 1996 a -128 1996 a
SDict begin 12 H.A end
-128 1996 a -128 1996
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-311) cvn H.B /DEST pdfmark end
-128 1996 a 0.95 TeXcolorgray -82 2012 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2103 25 92 v Black 0.95 TeXcolorgray
-57 2103 4182 92 v Black 0.95 TeXcolorgray 4124 2103
25 92 v Black 0.95 TeXcolorgray Black -57 2076 a
SDict begin H.S end
-57
2076 a -57 2076 a
SDict begin 11 H.A end
-57 2076 a -57 2076 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-311.1) cvn H.B /DEST pdfmark end
-57 2076 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 2194 25 92 v Black 0.95 TeXcolorgray
-57 2194 4182 92 v Black 0.95 TeXcolorgray 4124 2194
25 92 v Black 0.95 TeXcolorgray Black -57 2167 a
SDict begin H.S end
-57
2167 a -57 2167 a
SDict begin 11 H.A end
-57 2167 a -57 2167 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-311.2) cvn H.B /DEST pdfmark end
-57 2167 a 0 0 0
TeXcolorrgb 269 w Fo(Lit)p Black 179 w(::)44 b(!)p 0 0 0
TeXcolorrgb(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45
w(Term)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2286 25 92 v
Black 0.95 TeXcolorgray -57 2286 4182 92 v Black 0.95
TeXcolorgray 4124 2286 25 92 v Black 0.95 TeXcolorgray
Black -57 2258 a
SDict begin H.S end
-57 2258 a -57 2258 a
SDict begin 11 H.A end
-57 2258 a -57
2258 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-311.3) cvn H.B /DEST pdfmark end
-57 2258 a 0 0 0 TeXcolorrgb 269 w Fo(If)p Black
224 w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(Bool)p Black 45 w(->)g(!\()p 0 0 0 TeXcolorrgb(Term)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))g(->)h(!\()p
0 0 0 TeXcolorrgb(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black(\))f(->)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2377 25 92 v Black 0.95 TeXcolorgray
-57 2377 4182 92 v Black 0.95 TeXcolorgray 4124 2377
25 92 v Black 0.95 TeXcolorgray Black -57 2349 a
SDict begin H.S end
-57
2349 a -57 2349 a
SDict begin 11 H.A end
-57 2349 a -57 2349 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-311.4) cvn H.B /DEST pdfmark end
-57 2349 a 0 0 0
TeXcolorrgb 269 w Fo(Pair)p Black 134 w(::)p 0 0 0 TeXcolorrgb
44 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(->)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Term)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(,)p 0 0 0
TeXcolorrgb(b)p Black -1 w(\))p 0.95 TeXcolorgray -82
2402 4232 25 v Black 0.95 TeXcolorgray Black Black Black
Black -128 2573 a FA(\225)p Black 42 w(Y)-9 b(ou)20 b(can)g(use)g(a)h
Ft(deriving)e FA(clause)h(on)g(a)h(GADT)-8 b(-style)20
b(data)g(type)f(declaration.)24 b(F)o(or)c(e)o(xample,)e(these)j(tw)o
(o)f(declarations)f(are)h(equi)n(v)n(alent)-128 2630
y
SDict begin H.S end
-128 2630 a -128 2630 a
SDict begin 12 H.A end
-128 2630 a -128 2630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-312) cvn H.B /DEST pdfmark end
-128
2630 a 0.95 TeXcolorgray -82 2646 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2737 25 92 v Black 0.95 TeXcolorgray -57 2737 4182
92 v Black 0.95 TeXcolorgray 4124 2737 25 92 v Black
0.95 TeXcolorgray Black -57 2709 a
SDict begin H.S end
-57 2709 a -57 2709
a
SDict begin 11 H.A end
-57 2709 a -57 2709 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.1) cvn H.B /DEST pdfmark end
-57 2709 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Maybe1)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w({)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2828 25 92 v Black 0.95 TeXcolorgray
-57 2828 4182 92 v Black 0.95 TeXcolorgray 4124 2828
25 92 v Black 0.95 TeXcolorgray Black -57 2801 a
SDict begin H.S end
-57
2801 a -57 2801 a
SDict begin 11 H.A end
-57 2801 a -57 2801 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.2) cvn H.B /DEST pdfmark end
-57 2801 a 0 0 0
TeXcolorrgb 269 w Fo(Nothing1)p Black 43 w(::)p 0 0 0
TeXcolorrgb 45 w(Maybe1)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black 44 w(;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2919 25 92 v Black 0.95 TeXcolorgray -57 2919 4182
92 v Black 0.95 TeXcolorgray 4124 2919 25 92 v Black
0.95 TeXcolorgray Black -57 2892 a
SDict begin H.S end
-57 2892 a -57 2892
a
SDict begin 11 H.A end
-57 2892 a -57 2892 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.3) cvn H.B /DEST pdfmark end
-57 2892 a 0 0 0 TeXcolorrgb
269 w Fo(Just1)p Black 178 w(::)p 0 0 0 TeXcolorrgb 45
w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Maybe1)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3011 25 92 v Black 0.95 TeXcolorgray
-57 3011 4182 92 v Black 0.95 TeXcolorgray 4124 3011
25 92 v Black 0.95 TeXcolorgray Black -57 2983 a
SDict begin H.S end
-57
2983 a -57 2983 a
SDict begin 11 H.A end
-57 2983 a -57 2983 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.4) cvn H.B /DEST pdfmark end
-57 2983 a 179
w Fo(})p 0 0 0 TeXcolorrgb 45 w(deriving)p Black -1 w(\()p
0 0 0 TeXcolorrgb 44 w(Eq)p Black(,)p 0 0 0 TeXcolorrgb
45 w(Ord)p Black 44 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3102 25 92 v Black 0.95 TeXcolorgray
-57 3102 4182 92 v Black 0.95 TeXcolorgray 4124 3102
25 92 v Black 0.95 TeXcolorgray Black -57 3075 a
SDict begin H.S end
-57
3075 a -57 3075 a
SDict begin 11 H.A end
-57 3075 a -57 3075 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.5) cvn H.B /DEST pdfmark end
-57 3075 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3193 25 92 v
Black 0.95 TeXcolorgray -57 3193 4182 92 v Black 0.95
TeXcolorgray 4124 3193 25 92 v Black 0.95 TeXcolorgray
Black -57 3166 a
SDict begin H.S end
-57 3166 a -57 3166 a
SDict begin 11 H.A end
-57 3166 a -57
3166 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.6) cvn H.B /DEST pdfmark end
-57 3166 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Maybe2)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(Nothing2)p
Black 43 w(|)p 0 0 0 TeXcolorrgb 45 w(Just2)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3285 25 92 v Black 0.95 TeXcolorgray
-57 3285 4182 92 v Black 0.95 TeXcolorgray 4124 3285
25 92 v Black 0.95 TeXcolorgray Black -57 3257 a
SDict begin H.S end
-57
3257 a -57 3257 a
SDict begin 11 H.A end
-57 3257 a -57 3257 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-312.7) cvn H.B /DEST pdfmark end
-57 3257 a 0 0 0
TeXcolorrgb 314 w Fo(deriving)p Black -2 w(\()p 0 0 0
TeXcolorrgb 45 w(Eq)p Black(,)p 0 0 0 TeXcolorrgb 44
w(Ord)p Black 45 w(\))p 0.95 TeXcolorgray -82 3310 4232
25 v Black 0.95 TeXcolorgray Black Black Black Black
-128 3480 a FA(\225)p Black 42 w(Y)-9 b(ou)20 b(can)g(use)g(record)f
(syntax)g(on)h(a)h(GADT)-8 b(-style)20 b(data)g(type)g(declaration:)
-128 3538 y
SDict begin H.S end
-128 3538 a -128 3538 a
SDict begin 12 H.A end
-128 3538 a -128
3538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-313) cvn H.B /DEST pdfmark end
-128 3538 a 0.95 TeXcolorgray -82 3553 4232 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3645 25 92 v Black 0.95 TeXcolorgray
-57 3645 4182 92 v Black 0.95 TeXcolorgray 4124 3645
25 92 v Black 0.95 TeXcolorgray Black -57 3617 a
SDict begin H.S end
-57
3617 a -57 3617 a
SDict begin 11 H.A end
-57 3617 a -57 3617 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-313.1) cvn H.B /DEST pdfmark end
-57 3617 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(Person)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3736 25
92 v Black 0.95 TeXcolorgray -57 3736 4182 92 v Black
0.95 TeXcolorgray 4124 3736 25 92 v Black 0.95 TeXcolorgray
Black -57 3709 a
SDict begin H.S end
-57 3709 a -57 3709 a
SDict begin 11 H.A end
-57 3709 a -57
3709 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-313.2) cvn H.B /DEST pdfmark end
-57 3709 a 0 0 0 TeXcolorrgb 269 w Fo(Adult)p
Black 44 w({)p 0 0 0 TeXcolorrgb 45 w(name)p Black 44
w(::)p 0 0 0 TeXcolorrgb 44 w(String)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(children)p Black 43 w(::)45 b([)p
0 0 0 TeXcolorrgb(Person)p Black -1 w(])f(})h(::)p 0 0 0
TeXcolorrgb 45 w(Person)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3827 25 92 v Black 0.95 TeXcolorgray
-57 3827 4182 92 v Black 0.95 TeXcolorgray 4124 3827
25 92 v Black 0.95 TeXcolorgray Black -57 3800 a
SDict begin H.S end
-57
3800 a -57 3800 a
SDict begin 11 H.A end
-57 3800 a -57 3800 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-313.3) cvn H.B /DEST pdfmark end
-57 3800 a 0 0 0
TeXcolorrgb 269 w Fo(Child)p Black 44 w({)p 0 0 0 TeXcolorrgb
45 w(name)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(String)p
Black 44 w(})g(::)p 0 0 0 TeXcolorrgb 44 w(Person)p Black
0.95 TeXcolorgray -82 3852 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 3995 a FA(As)21 b(usual,)f(for)f(e)n(v)o(ery)g
(constructor)f(that)j(has)f(a)h(\002eld)f Ft(f)p FA(,)g(the)h(type)e
(of)h(\002eld)h Ft(f)f FA(must)g(be)h(the)f(same)g(\(modulo)e(alpha)i
(con)m(v)o(ersion\).)-57 4123 y(At)g(the)f(moment,)f(record)g(updates)h
(are)g(not)g(yet)h(possible)f(with)g(GADT)-8 b(-style)19
b(declarations,)f(so)i(support)e(is)j(limited)e(to)g(record)f
(construction,)-57 4222 y(selection)i(and)g(pattern)f(matching.)k(F)o
(or)d(e)o(xample)-128 4280 y
SDict begin H.S end
-128 4280 a -128 4280 a
SDict begin 12 H.A end
-128 4280 a -128 4280 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-314) cvn H.B /DEST pdfmark end
-128 4280 a 0.95 TeXcolorgray
-82 4295 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4387 25 92 v
Black 0.95 TeXcolorgray -57 4387 4182 92 v Black 0.95
TeXcolorgray 4124 4387 25 92 v Black 0.95 TeXcolorgray
Black -57 4359 a
SDict begin H.S end
-57 4359 a -57 4359 a
SDict begin 11 H.A end
-57 4359 a -57
4359 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-314.1) cvn H.B /DEST pdfmark end
-57 4359 a 0 0 0 TeXcolorrgb 90 w Fo(aPerson)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(Adult)p Black 44
w({)p 0 0 0 TeXcolorrgb 45 w(name)p Black 44 w(=)44 b(")p
0 0 0 TeXcolorrgb(Fred)p Black(",)p 0 0 0 TeXcolorrgb
44 w(children)p Black 44 w(=)g([])h(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4478 25 92 v Black 0.95 TeXcolorgray
-57 4478 4182 92 v Black 0.95 TeXcolorgray 4124 4478
25 92 v Black 0.95 TeXcolorgray Black -57 4451 a
SDict begin H.S end
-57
4451 a -57 4451 a
SDict begin 11 H.A end
-57 4451 a -57 4451 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-314.2) cvn H.B /DEST pdfmark end
-57 4451 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4569 25 92 v
Black 0.95 TeXcolorgray -57 4569 4182 92 v Black 0.95
TeXcolorgray 4124 4569 25 92 v Black 0.95 TeXcolorgray
Black -57 4542 a
SDict begin H.S end
-57 4542 a -57 4542 a
SDict begin 11 H.A end
-57 4542 a -57
4542 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-314.3) cvn H.B /DEST pdfmark end
-57 4542 a 0 0 0 TeXcolorrgb 90 w Fo(shortName)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 44 w(Person)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4661 25 92 v Black 0.95 TeXcolorgray
-57 4661 4182 92 v Black 0.95 TeXcolorgray 4124 4661
25 92 v Black 0.95 TeXcolorgray Black -57 4633 a
SDict begin H.S end
-57
4633 a -57 4633 a
SDict begin 11 H.A end
-57 4633 a -57 4633 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-314.4) cvn H.B /DEST pdfmark end
-57 4633 a 0 0 0
TeXcolorrgb 90 w Fo(hasChildren)p Black 43 w(\()p 0 0 0
TeXcolorrgb -1 w(Adult)p Black 44 w({)p 0 0 0 TeXcolorrgb
45 w(children)p Black 44 w(=)p 0 0 0 TeXcolorrgb 44 w(kids)p
Black 44 w(}\))g(=)p 0 0 0 TeXcolorrgb 45 w(not)p Black
44 w(\()p 0 0 0 TeXcolorrgb(null)p Black 0 0 0 TeXcolorrgb
44 w(kids)p Black -1 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4752 25 92 v Black 0.95 TeXcolorgray
-57 4752 4182 92 v Black 0.95 TeXcolorgray 4124 4752
25 92 v Black 0.95 TeXcolorgray Black -57 4725 a
SDict begin H.S end
-57
4725 a -57 4725 a
SDict begin 11 H.A end
-57 4725 a -57 4725 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-314.5) cvn H.B /DEST pdfmark end
-57 4725 a 0 0 0
TeXcolorrgb 90 w Fo(hasChildren)p Black 43 w(\()p 0 0 0
TeXcolorrgb -1 w(Child)p Black 44 w({}\))807 b(=)p 0 0 0
TeXcolorrgb 45 w(False)p Black 0.95 TeXcolorgray -82
4777 4232 25 v Black 0.95 TeXcolorgray Black Black Black
Black -128 4948 a FA(\225)p Black 42 w(As)23 b(in)g(the)g(case)g(of)f
(e)o(xistentials)h(declared)e(using)h(the)h(Hask)o(ell-98-lik)o(e)d
(record)i(syntax)g(\(Section)p 1 0 0 TeXcolorrgb 2869
4949 a
SDict begin H.S end
2869 4949 a 1 0 0 TeXcolorrgb -1 x FA(7.4.4.3)p
1 0 0 TeXcolorrgb 3098 4891 a
SDict begin H.R end
3098 4891 a 3098 4948 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.4.4.3) cvn H.B /ANN pdfmark end
3098 4948 a Black FA(\),)h(record-selector)d(functions)h(are)-57
5047 y(generated)d(only)i(for)f(those)h(\002elds)h(that)f(ha)n(v)o(e)g
(well-typed)f(selectors.)25 b(Here)20 b(is)h(the)f(e)o(xample)f(of)h
(that)g(section,)g(in)g(GADT)-8 b(-style)20 b(syntax:)-128
5105 y
SDict begin H.S end
-128 5105 a -128 5105 a
SDict begin 12 H.A end
-128 5105 a -128 5105
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-315) cvn H.B /DEST pdfmark end
-128 5105 a 0.95 TeXcolorgray -82 5120 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 5212 25 92 v Black 0.95 TeXcolorgray
-57 5212 4182 92 v Black 0.95 TeXcolorgray 4124 5212
25 92 v Black 0.95 TeXcolorgray Black -57 5184 a
SDict begin H.S end
-57
5184 a -57 5184 a
SDict begin 11 H.A end
-57 5184 a -57 5184 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.1) cvn H.B /DEST pdfmark end
-57 5184 a 0 0 0
TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Counter)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 5303 25 92 v Black 0.95 TeXcolorgray -57 5303 4182
92 v Black 0.95 TeXcolorgray 4124 5303 25 92 v Black
0.95 TeXcolorgray Black -57 5275 a
SDict begin H.S end
-57 5275 a -57 5275
a
SDict begin 11 H.A end
-57 5275 a -57 5275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.2) cvn H.B /DEST pdfmark end
-57 5275 a 0 0 0 TeXcolorrgb
179 w Fo(NewCounter)p Black 43 w({)p 0 0 0 TeXcolorrgb
45 w(_this)p Black 179 w(::)p 0 0 0 TeXcolorrgb 44 w(self)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 5394
25 92 v Black 0.95 TeXcolorgray -57 5394 4182 92 v Black
0.95 TeXcolorgray 4124 5394 25 92 v Black 0.95 TeXcolorgray
Black -57 5367 a
SDict begin H.S end
-57 5367 a -57 5367 a
SDict begin 11 H.A end
-57 5367 a -57
5367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.3) cvn H.B /DEST pdfmark end
-57 5367 a 672 w Fo(,)p 0 0 0 TeXcolorrgb 45 w(_inc)p
Black 224 w(::)p 0 0 0 TeXcolorrgb 44 w(self)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(self)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 5485 25 92 v Black 0.95 TeXcolorgray
-57 5485 4182 92 v Black 0.95 TeXcolorgray 4124 5485
25 92 v Black 0.95 TeXcolorgray Black -57 5458 a
SDict begin H.S end
-57
5458 a -57 5458 a
SDict begin 11 H.A end
-57 5458 a -57 5458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.4) cvn H.B /DEST pdfmark end
-57 5458 a 672
w Fo(,)p 0 0 0 TeXcolorrgb 45 w(_display)p Black 44 w(::)p
0 0 0 TeXcolorrgb 44 w(self)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(IO)p Black 44 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 5577 25 92 v Black 0.95 TeXcolorgray
-57 5577 4182 92 v Black 0.95 TeXcolorgray 4124 5577
25 92 v Black 0.95 TeXcolorgray Black -57 5549 a
SDict begin H.S end
-57
5549 a -57 5549 a
SDict begin 11 H.A end
-57 5549 a -57 5549 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.5) cvn H.B /DEST pdfmark end
-57 5549 a 672
w Fo(,)p 0 0 0 TeXcolorrgb 45 w(tag)p Black 269 w(::)p
0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 5668 25 92 v Black 0.95 TeXcolorgray
-57 5668 4182 92 v Black 0.95 TeXcolorgray 4124 5668
25 92 v Black 0.95 TeXcolorgray Black -57 5641 a
SDict begin H.S end
-57
5641 a -57 5641 a
SDict begin 11 H.A end
-57 5641 a -57 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.6) cvn H.B /DEST pdfmark end
-57 5641 a 672
w Fo(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82
5759 25 92 v Black 0.95 TeXcolorgray -57 5759 4182 92
v Black 0.95 TeXcolorgray 4124 5759 25 92 v Black 0.95
TeXcolorgray Black -57 5732 a
SDict begin H.S end
-57 5732 a -57 5732 a
SDict begin 11 H.A end
-57
5732 a -57 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-315.7) cvn H.B /DEST pdfmark end
-57 5732 a 359 w Fo(::)p 0 0 0 TeXcolorrgb
44 w(Counter)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray -82 5784 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 137 152
TeXDict begin 137 151 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.137) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(137)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -57 173 a FA(As)27 b(before,)g(only)e
(one)h(selector)h(function)d(is)k(generated)d(here,)i(that)f(for)g
Ft(tag)p FA(.)44 b(Ne)n(v)o(ertheless,)27 b(you)f(can)g(still)i(use)e
(all)h(the)g(\002eld)g(names)f(in)-57 273 y(pattern)19
b(matching)g(and)h(record)f(construction.)-128 407 y
SDict begin H.S end
-128 407 a -128 407 a
SDict begin 12 H.A end
-128 407 a -128 407 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.4.6) cvn H.B /DEST pdfmark end
-128 407
a Black 148 x Fp(7.4.6)p Black 90 w(Generalised)k(Alg)q(ebraic)g(Data)h
(T)-5 b(ypes)24 b(\(GADTs\))-128 643 y
SDict begin H.S end
-128 643 a -128
643 a
SDict begin 12 H.A end
-128 643 a -128 643 a
SDict begin [ /View [/XYZ H.V] /Dest (gadt) cvn H.B /DEST pdfmark end
-128 643 a 115 x FA(Generalised)d
(Algebraic)g(Data)h(T)-7 b(ypes)21 b(generalise)g(ordinary)f(algebraic)
g(data)i(types)f(by)g(allo)n(wing)g(constructors)f(to)i(ha)n(v)o(e)f
(richer)g(return)f(types.)-128 858 y(Here)h(is)g(an)f(e)o(xample:)-128
925 y
SDict begin H.S end
-128 925 a -128 925 a
SDict begin 12 H.A end
-128 925 a -128 925 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-316) cvn H.B /DEST pdfmark end
-128
925 a 0.95 TeXcolorgray -153 941 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1032 25 92 v Black 0.95 TeXcolorgray -128 1032 4252
92 v Black 0.95 TeXcolorgray 4124 1032 25 92 v Black
0.95 TeXcolorgray Black -128 1005 a
SDict begin H.S end
-128 1005 a -128
1005 a
SDict begin 11 H.A end
-128 1005 a -128 1005 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-316.1) cvn H.B /DEST pdfmark end
-128 1005 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Term)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1123 25 92 v Black 0.95 TeXcolorgray -128 1123 4252
92 v Black 0.95 TeXcolorgray 4124 1123 25 92 v Black
0.95 TeXcolorgray Black -128 1096 a
SDict begin H.S end
-128 1096 a -128
1096 a
SDict begin 11 H.A end
-128 1096 a -128 1096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-316.2) cvn H.B /DEST pdfmark end
-128 1096 a 0 0 0 TeXcolorrgb
269 w Fo(Lit)p Black 179 w(::)p 0 0 0 TeXcolorrgb 45
w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Term)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1215 25 92 v Black 0.95
TeXcolorgray -128 1215 4252 92 v Black 0.95 TeXcolorgray
4124 1215 25 92 v Black 0.95 TeXcolorgray Black -128
1187 a
SDict begin H.S end
-128 1187 a -128 1187 a
SDict begin 11 H.A end
-128 1187 a -128 1187
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-316.3) cvn H.B /DEST pdfmark end
-128 1187 a 0 0 0 TeXcolorrgb 269 w Fo(Succ)p Black
134 w(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1306 25
92 v Black 0.95 TeXcolorgray -128 1306 4252 92 v Black
0.95 TeXcolorgray 4124 1306 25 92 v Black 0.95 TeXcolorgray
Black -128 1279 a
SDict begin H.S end
-128 1279 a -128 1279 a
SDict begin 11 H.A end
-128 1279 a
-128 1279 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-316.4) cvn H.B /DEST pdfmark end
-128 1279 a 0 0 0 TeXcolorrgb 269 w Fo(IsZero)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(Bool)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1397 25
92 v Black 0.95 TeXcolorgray -128 1397 4252 92 v Black
0.95 TeXcolorgray 4124 1397 25 92 v Black 0.95 TeXcolorgray
Black -128 1370 a
SDict begin H.S end
-128 1370 a -128 1370 a
SDict begin 11 H.A end
-128 1370 a
-128 1370 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-316.5) cvn H.B /DEST pdfmark end
-128 1370 a 0 0 0 TeXcolorrgb 269 w Fo(If)p
Black 224 w(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black
0 0 0 TeXcolorrgb 44 w(Bool)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 44
w(->)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Term)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1489 25 92 v Black 0.95
TeXcolorgray -128 1489 4252 92 v Black 0.95 TeXcolorgray
4124 1489 25 92 v Black 0.95 TeXcolorgray Black -128
1461 a
SDict begin H.S end
-128 1461 a -128 1461 a
SDict begin 11 H.A end
-128 1461 a -128 1461
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-316.6) cvn H.B /DEST pdfmark end
-128 1461 a 0 0 0 TeXcolorrgb 269 w Fo(Pair)p Black
134 w(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 45 w(\()p
0 0 0 TeXcolorrgb -1 w(a)p Black(,)p 0 0 0 TeXcolorrgb(b)p
Black(\))p 0.95 TeXcolorgray -153 1514 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1688 a FA(Notice)26
b(that)g(the)f(return)f(type)i(of)f(the)g(constructors)f(is)j(not)e(al)
o(w)o(ays)h Ft(Term)49 b(a)p FA(,)27 b(as)f(is)h(the)e(case)h(with)g
(ordinary)d(data)j(types.)41 b(This)25 b(generality)-128
1788 y(allo)n(ws)c(us)f(to)h(write)f(a)h(well-typed)e
Ft(eval)h FA(function)e(for)i(these)g Ft(Terms)p FA(:)-128
1855 y
SDict begin H.S end
-128 1855 a -128 1855 a
SDict begin 12 H.A end
-128 1855 a -128 1855
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-317) cvn H.B /DEST pdfmark end
-128 1855 a 0.95 TeXcolorgray -153 1871 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1962 25 92 v Black 0.95 TeXcolorgray
-128 1962 4252 92 v Black 0.95 TeXcolorgray 4124 1962
25 92 v Black 0.95 TeXcolorgray Black -128 1934 a
SDict begin H.S end
-128
1934 a -128 1934 a
SDict begin 11 H.A end
-128 1934 a -128 1934 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-317.1) cvn H.B /DEST pdfmark end
-128 1934
a 0 0 0 TeXcolorrgb 90 w Fo(eval)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2053 25 92
v Black 0.95 TeXcolorgray -128 2053 4252 92 v Black 0.95
TeXcolorgray 4124 2053 25 92 v Black 0.95 TeXcolorgray
Black -128 2026 a
SDict begin H.S end
-128 2026 a -128 2026 a
SDict begin 11 H.A end
-128 2026 a
-128 2026 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-317.2) cvn H.B /DEST pdfmark end
-128 2026 a 0 0 0 TeXcolorrgb 90 w Fo(eval)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(Lit)p Black 0 0 0 TeXcolorrgb
44 w(i)p Black(\))269 b(=)p 0 0 0 TeXcolorrgb 45 w(i)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2145 25 92 v Black 0.95 TeXcolorgray -128 2145 4252 92
v Black 0.95 TeXcolorgray 4124 2145 25 92 v Black 0.95
TeXcolorgray Black -128 2117 a
SDict begin H.S end
-128 2117 a -128 2117
a
SDict begin 11 H.A end
-128 2117 a -128 2117 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-317.3) cvn H.B /DEST pdfmark end
-128 2117 a 0 0 0 TeXcolorrgb
90 w Fo(eval)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Succ)p
Black 0 0 0 TeXcolorrgb 44 w(t)p Black(\))224 b(=)45
b(1)f(+)p 0 0 0 TeXcolorrgb 45 w(eval)p Black 0 0 0 TeXcolorrgb
44 w(t)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2236 25 92 v Black 0.95 TeXcolorgray -128 2236 4252
92 v Black 0.95 TeXcolorgray 4124 2236 25 92 v Black
0.95 TeXcolorgray Black -128 2208 a
SDict begin H.S end
-128 2208 a -128
2208 a
SDict begin 11 H.A end
-128 2208 a -128 2208 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-317.4) cvn H.B /DEST pdfmark end
-128 2208 a 0 0 0 TeXcolorrgb
90 w Fo(eval)p Black 44 w(\()p 0 0 0 TeXcolorrgb(IsZero)p
Black 0 0 0 TeXcolorrgb 44 w(t)p Black(\))134 b(=)p 0 0 0
TeXcolorrgb 45 w(eval)p Black 0 0 0 TeXcolorrgb 44 w(t)p
Black 45 w(==)44 b(0)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2327 25 92 v Black 0.95 TeXcolorgray -128 2327 4252
92 v Black 0.95 TeXcolorgray 4124 2327 25 92 v Black
0.95 TeXcolorgray Black -128 2300 a
SDict begin H.S end
-128 2300 a -128
2300 a
SDict begin 11 H.A end
-128 2300 a -128 2300 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-317.5) cvn H.B /DEST pdfmark end
-128 2300 a 0 0 0 TeXcolorrgb
90 w Fo(eval)p Black 44 w(\()p 0 0 0 TeXcolorrgb(If)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0 TeXcolorrgb
44 w(e1)p Black 0 0 0 TeXcolorrgb 45 w(e2)p Black -1
w(\))h(=)p 0 0 0 TeXcolorrgb 45 w(if)p Black 0 0 0 TeXcolorrgb
44 w(eval)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0
TeXcolorrgb 45 w(then)p Black 0 0 0 TeXcolorrgb 44 w(eval)p
Black 0 0 0 TeXcolorrgb 44 w(e1)p Black 0 0 0 TeXcolorrgb
45 w(else)p Black 0 0 0 TeXcolorrgb 44 w(eval)p Black
0 0 0 TeXcolorrgb 44 w(e2)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2418 25 92 v Black 0.95 TeXcolorgray
-128 2418 4252 92 v Black 0.95 TeXcolorgray 4124 2418
25 92 v Black 0.95 TeXcolorgray Black -128 2391 a
SDict begin H.S end
-128
2391 a -128 2391 a
SDict begin 11 H.A end
-128 2391 a -128 2391 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-317.6) cvn H.B /DEST pdfmark end
-128 2391
a 0 0 0 TeXcolorrgb 90 w Fo(eval)p Black 44 w(\()p 0 0 0
TeXcolorrgb(Pair)p Black 0 0 0 TeXcolorrgb 44 w(e1)p
Black 0 0 0 TeXcolorrgb 45 w(e2)p Black -1 w(\))g(=)g(\()p
0 0 0 TeXcolorrgb(eval)p Black 0 0 0 TeXcolorrgb 44 w(e1)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(eval)p Black 0 0 0
TeXcolorrgb 44 w(e2)p Black(\))p 0.95 TeXcolorgray -153
2443 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2618 a FA(The)20 b(k)o(e)o(y)g(point)f(about)h(GADTs)g(is)h(that)g
Fq(pattern)e(matc)o(hing)g(causes)h(type)g(r)m(e\002nement)p
FA(.)k(F)o(or)c(e)o(xample,)e(in)i(the)h(right)e(hand)g(side)i(of)f
(the)g(equation)-128 2686 y
SDict begin H.S end
-128 2686 a -128 2686 a
SDict begin 12 H.A end
-128
2686 a -128 2686 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-318) cvn H.B /DEST pdfmark end
-128 2686 a 0.95 TeXcolorgray -153
2701 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2792 25 92 v Black 0.95
TeXcolorgray -128 2792 4252 92 v Black 0.95 TeXcolorgray
4124 2792 25 92 v Black 0.95 TeXcolorgray Black -128
2765 a
SDict begin H.S end
-128 2765 a -128 2765 a
SDict begin 11 H.A end
-128 2765 a -128 2765
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-318.1) cvn H.B /DEST pdfmark end
-128 2765 a 0 0 0 TeXcolorrgb 90 w Fo(eval)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2883 25
92 v Black 0.95 TeXcolorgray -128 2883 4252 92 v Black
0.95 TeXcolorgray 4124 2883 25 92 v Black 0.95 TeXcolorgray
Black -128 2856 a
SDict begin H.S end
-128 2856 a -128 2856 a
SDict begin 11 H.A end
-128 2856 a
-128 2856 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-318.2) cvn H.B /DEST pdfmark end
-128 2856 a 0 0 0 TeXcolorrgb 90 w Fo(eval)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(Lit)p Black 0 0 0 TeXcolorrgb
44 w(i)p Black(\))45 b(=)89 b(...)p 0.95 TeXcolorgray
-153 2908 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3083 a FA(the)24 b(type)f Ft(a)h FA(is)g(re\002ned)f(to)g
Ft(Int)p FA(.)35 b(That')-5 b(s)23 b(the)h(whole)f(point!)33
b(A)24 b(precise)f(speci\002cation)g(of)g(the)h(type)e(rules)i(is)g(be)
o(yond)d(what)j(this)g(user)f(manual)-128 3182 y(aspires)f(to,)h(b)n
(ut)e(the)h(design)f(closely)h(follo)n(ws)f(that)h(described)f(in)h
(the)g(paper)p 0 1 0 0 TeXcolorcmyk 2155 3200 a
SDict begin H.S end
2155
3200 a 0 1 0 0 TeXcolorcmyk -18 x FA(Simple)f(uni\002cation-based)c
(type)j(inference)e(for)i(GADTs)p 0 1 0 0 TeXcolorcmyk
3878 3126 a
SDict begin H.R end
3878 3126 a 3878 3182 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/gadt/) >> /Subtype /Link H.B /ANN pdfmark end
3878 3182 a Black
FA(,)i(\(ICFP)-128 3282 y(2006\).)52 b(The)29 b(general)g(principle)f
(is)j(this:)45 b Fq(type)29 b(r)m(e\002nement)g(is)h(only)f(carried)h
(out)f(based)g(on)h(user)n(-supplied)e(type)i(annotations)p
FA(.)51 b(So)29 b(if)h(no)-128 3382 y(type)24 b(signature)f(is)j
(supplied)d(for)g Ft(eval)p FA(,)i(no)f(type)g(re\002nement)f(happens,)
g(and)h(lots)h(of)f(obscure)f(error)g(messages)h(will)h(occur)-5
b(.)37 b(Ho)n(we)n(v)o(er)m(,)23 b(the)-128 3481 y(re\002nement)c(is)i
(quite)f(general.)k(F)o(or)c(e)o(xample,)e(if)j(we)f(had:)-128
3549 y
SDict begin H.S end
-128 3549 a -128 3549 a
SDict begin 12 H.A end
-128 3549 a -128 3549
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-319) cvn H.B /DEST pdfmark end
-128 3549 a 0.95 TeXcolorgray -153 3564 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3656 25 92 v Black 0.95 TeXcolorgray
-128 3656 4252 92 v Black 0.95 TeXcolorgray 4124 3656
25 92 v Black 0.95 TeXcolorgray Black -128 3628 a
SDict begin H.S end
-128
3628 a -128 3628 a
SDict begin 11 H.A end
-128 3628 a -128 3628 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-319.1) cvn H.B /DEST pdfmark end
-128 3628
a 0 0 0 TeXcolorrgb 90 w Fo(eval)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3747 25 92 v Black 0.95 TeXcolorgray
-128 3747 4252 92 v Black 0.95 TeXcolorgray 4124 3747
25 92 v Black 0.95 TeXcolorgray Black -128 3719 a
SDict begin H.S end
-128
3719 a -128 3719 a
SDict begin 11 H.A end
-128 3719 a -128 3719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-319.2) cvn H.B /DEST pdfmark end
-128 3719
a 0 0 0 TeXcolorrgb 90 w Fo(eval)p Black 44 w(\()p 0 0 0
TeXcolorrgb(Lit)p Black 0 0 0 TeXcolorrgb 44 w(i)p Black(\))p
0 0 0 TeXcolorrgb 45 w(j)p Black 45 w(=)p 0 0 0 TeXcolorrgb
89 w(i)p Black(+)p 0 0 0 TeXcolorrgb(j)p Black 0.95 TeXcolorgray
-153 3772 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3946 a FA(the)j(pattern)f(match)h(causes)g(the)g(type)f
Ft(a)h FA(to)g(be)g(re\002ned)f(to)h Ft(Int)g FA(\(because)f(of)g(the)h
(type)g(of)f(the)h(constructor)e Ft(Lit)p FA(\),)i(and)f(that)h
(re\002nement)f(also)-128 4046 y(applies)e(to)h(the)f(type)g(of)g
Ft(j)p FA(,)g(and)g(the)g(result)g(type)g(of)g(the)g
Ft(case)g FA(e)o(xpression.)j(Hence)d(the)g(addition)f
Ft(i+j)h FA(is)h(le)o(gal.)-128 4195 y(These)f(and)f(man)o(y)f(other)h
(e)o(xamples)f(are)i(gi)n(v)o(en)e(in)i(papers)f(by)g(Hongwei)f(Xi,)i
(and)f(T)m(im)h(Sheard.)k(There)18 b(is)j(a)f(longer)e(introduction)p
0 1 0 0 TeXcolorcmyk 3730 4196 a
SDict begin H.S end
3730 4196 a 0 1 0 0
TeXcolorcmyk -1 x FA(on)i(the)g(wiki)p 0 1 0 0 TeXcolorcmyk
4104 4139 a
SDict begin H.R end
4104 4139 a 4104 4195 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/haskellwiki/GADT) >> /Subtype /Link H.B /ANN pdfmark end
4104 4195 a Black
FA(,)-128 4295 y(and)26 b(Ralf)g(Hinze')-5 b(s)p 0 1 0 0
TeXcolorcmyk 468 4313 a
SDict begin H.S end
468 4313 a 0 1 0 0 TeXcolorcmyk
-18 x FA(Fun)20 b(with)h(phantom)d(types)p 0 1 0 0 TeXcolorcmyk
1273 4239 a
SDict begin H.R end
1273 4239 a 1273 4295 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.informatik.uni-bonn.de/~ralf/publications/With.pdf) >> /Subtype /Link H.B /ANN pdfmark end
1273 4295 a Black
27 w FA(also)26 b(has)g(a)g(number)e(of)i(e)o(xamples.)41
b(Note)25 b(that)h(papers)g(may)f(use)h(dif)n(ferent)e(notation)h(to)h
(that)-128 4394 y(implemented)19 b(in)h(GHC.)-128 4544
y(The)27 b(rest)h(of)e(this)i(section)f(outlines)f(the)h(e)o(xtensions)
f(to)i(GHC)f(that)h(support)d(GADTs.)46 b(The)27 b(e)o(xtension)e(is)j
(enabled)e(with)i Ft(-XGADTs)p FA(.)44 b(The)-128 4643
y Ft(-XGADTs)20 b FA(\003ag)g(also)h(sets)g Ft(-XRelaxedPolyRec)p
FA(.)p Black -128 4859 a(\225)p Black 42 w(A)d(GADT)f(can)g(only)f(be)h
(declared)f(using)g(GADT)-8 b(-style)17 b(syntax)f(\(Section)p
1 0 0 TeXcolorrgb 2113 4860 a
SDict begin H.S end
2113 4860 a 1 0 0 TeXcolorrgb
-1 x FA(7.4.5)p 1 0 0 TeXcolorrgb 2279 4803 a
SDict begin H.R end
2279 4803
a 2279 4859 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.5) cvn H.B /ANN pdfmark end
2279 4859 a Black FA(\);)i(the)f(old)g(Hask)o(ell-98)f
(syntax)g(for)h(data)g(declarations)f(al)o(w)o(ays)-57
4959 y(declares)i(an)g(ordinary)e(data)i(type.)23 b(The)18
b(result)g(type)g(of)g(each)f(constructor)f(must)j(be)o(gin)e(with)h
(the)g(type)f(constructor)g(being)g(de\002ned,)g(b)n(ut)h(for)g(a)-57
5059 y(GADT)j(the)g(ar)o(guments)e(to)i(the)g(type)f(constructor)f(can)
i(be)f(arbitrary)g(monotypes.)25 b(F)o(or)20 b(e)o(xample,)g(in)h(the)g
Ft(Term)f FA(data)h(type)f(abo)o(v)o(e,)g(the)g(type)-57
5158 y(of)g(each)g(constructor)e(must)i(end)g(with)g
Ft(Term)49 b(ty)p FA(,)20 b(b)n(ut)h(the)f Ft(ty)g FA(need)g(not)g(be)g
(a)g(type)g(v)n(ariable)f(\(e.g.)24 b(the)d Ft(Lit)f
FA(constructor\).)p Black -128 5324 a(\225)p Black 42
w(It')-5 b(s)19 b(is)h(permitted)e(to)g(declare)g(an)h(ordinary)e
(algebraic)g(data)i(type)f(using)g(GADT)-8 b(-style)19
b(syntax.)24 b(What)19 b(mak)o(es)f(a)h(GADT)g(into)g(a)g(GADT)g(is)g
(not)-57 5424 y(the)h(syntax,)f(b)n(ut)i(rather)e(the)h(presence)f(of)h
(data)g(constructors)f(whose)h(result)g(type)g(is)h(not)f(just)g
Ft(T)50 b(a)g(b)p FA(.)p Black -128 5590 a(\225)p Black
42 w(Y)-9 b(ou)20 b(cannot)f(use)h(a)h Ft(deriving)e
FA(clause)h(for)g(a)g(GADT)-5 b(;)21 b(only)f(for)f(an)h(ordinary)e
(data)i(type.)p Black -128 5756 a(\225)p Black 42 w(As)h(mentioned)d
(in)j(Section)p 1 0 0 TeXcolorrgb 782 5757 a
SDict begin H.S end
782 5757
a 1 0 0 TeXcolorrgb -1 x FA(7.4.5)p 1 0 0 TeXcolorrgb
948 5700 a
SDict begin H.R end
948 5700 a 948 5756 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.5) cvn H.B /ANN pdfmark end
948 5756 a Black FA(,)g(record)e
(syntax)g(is)i(supported.)i(F)o(or)d(e)o(xample:)p Black
-128 6084 4252 5 v Black eop end
%%Page: 138 153
TeXDict begin 138 152 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.138) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(138)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-320) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Term)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 356 25 92 v Black 0.95 TeXcolorgray -57 356 4182
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -57 328 a
SDict begin H.S end
-57 328 a -57 328 a
SDict begin 11 H.A end
-57
328 a -57 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.2) cvn H.B /DEST pdfmark end
-57 328 a 0 0 0 TeXcolorrgb 269 w Fo(Lit)p
Black 179 w({)p 0 0 0 TeXcolorrgb 44 w(val)p Black 90
w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 44 w(})269
b(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 447 25 92 v Black 0.95 TeXcolorgray -57 447 4182
92 v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -57 420 a
SDict begin H.S end
-57 420 a -57 420 a
SDict begin 11 H.A end
-57
420 a -57 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.3) cvn H.B /DEST pdfmark end
-57 420 a 0 0 0 TeXcolorrgb 269 w Fo(Succ)p
Black 134 w({)p 0 0 0 TeXcolorrgb 44 w(num)p Black 90
w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 45 w(})44 b(::)p 0 0 0 TeXcolorrgb 45
w(Term)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 538 25 92 v
Black 0.95 TeXcolorgray -57 538 4182 92 v Black 0.95
TeXcolorgray 4124 538 25 92 v Black 0.95 TeXcolorgray
Black -57 511 a
SDict begin H.S end
-57 511 a -57 511 a
SDict begin 11 H.A end
-57 511 a -57 511
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.4) cvn H.B /DEST pdfmark end
-57 511 a 0 0 0 TeXcolorrgb 269 w Fo(Pred)p Black 134
w({)p 0 0 0 TeXcolorrgb 44 w(num)p Black 90 w(::)p 0 0 0
TeXcolorrgb 44 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(Int)p
Black 45 w(})g(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black
0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 630 25 92 v Black 0.95 TeXcolorgray
-57 630 4182 92 v Black 0.95 TeXcolorgray 4124 630 25
92 v Black 0.95 TeXcolorgray Black -57 602 a
SDict begin H.S end
-57 602
a -57 602 a
SDict begin 11 H.A end
-57 602 a -57 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.5) cvn H.B /DEST pdfmark end
-57 602 a 0 0 0 TeXcolorrgb
269 w Fo(IsZero)p Black 44 w({)p 0 0 0 TeXcolorrgb 44
w(arg)p Black 90 w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 45 w(})g(::)p
0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(Bool)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 721 25 92 v Black 0.95 TeXcolorgray -57 721 4182
92 v Black 0.95 TeXcolorgray 4124 721 25 92 v Black 0.95
TeXcolorgray Black -57 694 a
SDict begin H.S end
-57 694 a -57 694 a
SDict begin 11 H.A end
-57
694 a -57 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.6) cvn H.B /DEST pdfmark end
-57 694 a 0 0 0 TeXcolorrgb 269 w Fo(Pair)p
Black 134 w({)p 0 0 0 TeXcolorrgb 44 w(arg1)p Black 45
w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 812 25 92 v Black 0.95 TeXcolorgray -57 812 4182
92 v Black 0.95 TeXcolorgray 4124 812 25 92 v Black 0.95
TeXcolorgray Black -57 785 a
SDict begin H.S end
-57 785 a -57 785 a
SDict begin 11 H.A end
-57
785 a -57 785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.7) cvn H.B /DEST pdfmark end
-57 785 a 583 w Fo(,)p 0 0 0 TeXcolorrgb
44 w(arg2)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 904 25 92 v Black 0.95 TeXcolorgray
-57 904 4182 92 v Black 0.95 TeXcolorgray 4124 904 25
92 v Black 0.95 TeXcolorgray Black -57 876 a
SDict begin H.S end
-57 876
a -57 876 a
SDict begin 11 H.A end
-57 876 a -57 876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.8) cvn H.B /DEST pdfmark end
-57 876 a 583 w Fo(})896
b(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 44 w(\()p
0 0 0 TeXcolorrgb(a)p Black(,)p 0 0 0 TeXcolorrgb -1
w(b)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 995 25 92 v Black 0.95 TeXcolorgray -57 995 4182
92 v Black 0.95 TeXcolorgray 4124 995 25 92 v Black 0.95
TeXcolorgray Black -57 968 a
SDict begin H.S end
-57 968 a -57 968 a
SDict begin 11 H.A end
-57
968 a -57 968 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.9) cvn H.B /DEST pdfmark end
-57 968 a 0 0 0 TeXcolorrgb 269 w Fo(If)p
Black 224 w({)p 0 0 0 TeXcolorrgb 44 w(cnd)p Black 90
w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(Bool)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1086 25 92 v Black 0.95 TeXcolorgray -57 1086 4182
92 v Black 0.95 TeXcolorgray 4124 1086 25 92 v Black
0.95 TeXcolorgray Black -57 1059 a
SDict begin H.S end
-57 1059 a -57 1059
a
SDict begin 11 H.A end
-57 1059 a -57 1059 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.10) cvn H.B /DEST pdfmark end
-57 1059 a 583 w Fo(,)p 0 0 0
TeXcolorrgb 44 w(tru)p Black 90 w(::)p 0 0 0 TeXcolorrgb
44 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1178 25 92 v
Black 0.95 TeXcolorgray -57 1178 4182 92 v Black 0.95
TeXcolorgray 4124 1178 25 92 v Black 0.95 TeXcolorgray
Black -57 1150 a
SDict begin H.S end
-57 1150 a -57 1150 a
SDict begin 11 H.A end
-57 1150 a -57
1150 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.11) cvn H.B /DEST pdfmark end
-57 1150 a 583 w Fo(,)p 0 0 0 TeXcolorrgb 44 w(fls)p
Black 90 w(::)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 1269 25 92 v Black 0.95 TeXcolorgray
-57 1269 4182 92 v Black 0.95 TeXcolorgray 4124 1269
25 92 v Black 0.95 TeXcolorgray Black -57 1242 a
SDict begin H.S end
-57
1242 a -57 1242 a
SDict begin 11 H.A end
-57 1242 a -57 1242 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-320.12) cvn H.B /DEST pdfmark end
-57 1242 a 583
w Fo(})g(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray -82 1294
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
1452 a FA(Ho)n(we)n(v)o(er)m(,)17 b(for)g(GADTs)i(there)f(is)h(the)f
(follo)n(wing)f(additional)g(constraint:)23 b(e)n(v)o(ery)17
b(constructor)f(that)j(has)f(a)h(\002eld)f Ft(f)h FA(must)f(ha)n(v)o(e)
g(the)g(same)h(result)-57 1551 y(type)24 b(\(modulo)f(alpha)h(con)m(v)o
(ersion\))e(Hence,)j(in)g(the)g(abo)o(v)o(e)e(e)o(xample,)i(we)g
(cannot)f(mer)o(ge)f(the)i Ft(num)g FA(and)f Ft(arg)h
FA(\002elds)g(abo)o(v)o(e)e(into)i(a)g(single)-57 1651
y(name.)f(Although)19 b(their)h(\002eld)g(types)g(are)g(both)g
Ft(Term)49 b(Int)p FA(,)20 b(their)f(selector)h(functions)f(actually)h
(ha)n(v)o(e)f(dif)n(ferent)g(types:)-128 1719 y
SDict begin H.S end
-128
1719 a -128 1719 a
SDict begin 12 H.A end
-128 1719 a -128 1719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-321) cvn H.B /DEST pdfmark end
-128 1719
a 0.95 TeXcolorgray -82 1734 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1825
25 92 v Black 0.95 TeXcolorgray -57 1825 4182 92 v Black
0.95 TeXcolorgray 4124 1825 25 92 v Black 0.95 TeXcolorgray
Black -57 1798 a
SDict begin H.S end
-57 1798 a -57 1798 a
SDict begin 11 H.A end
-57 1798 a -57
1798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-321.1) cvn H.B /DEST pdfmark end
-57 1798 a 0 0 0 TeXcolorrgb 90 w Fo(num)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Term)p
Black 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 1917 25 92 v Black 0.95 TeXcolorgray
-57 1917 4182 92 v Black 0.95 TeXcolorgray 4124 1917
25 92 v Black 0.95 TeXcolorgray Black -57 1889 a
SDict begin H.S end
-57
1889 a -57 1889 a
SDict begin 11 H.A end
-57 1889 a -57 1889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-321.2) cvn H.B /DEST pdfmark end
-57 1889 a 0 0 0
TeXcolorrgb 90 w Fo(arg)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(Term)p Black 0 0 0 TeXcolorrgb 44 w(Bool)p Black
44 w(->)p 0 0 0 TeXcolorrgb 44 w(Term)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray -82 1942 4232 25 v
Black 0.95 TeXcolorgray Black Black Black Black -128
2133 a FA(\225)p Black 42 w(When)h(pattern-matching)d(against)i(data)h
(constructors)f(dra)o(wn)g(from)g(a)h(GADT)-6 b(,)20
b(for)g(e)o(xample)e(in)j(a)f Ft(case)g FA(e)o(xpression,)e(the)j
(follo)n(wing)d(rules)-57 2232 y(apply:)p Black -57 2398
a Fu(\226)p Black 41 w FA(The)i(type)g(of)g(the)g(scrutinee)f(must)h
(be)h(rigid.)p Black -57 2531 a Fu(\226)p Black 41 w
FA(The)f(type)g(of)g(the)g(entire)g Ft(case)g FA(e)o(xpression)e(must)i
(be)g(rigid.)p Black -57 2664 a Fu(\226)p Black 41 w
FA(The)g(type)g(of)g(an)o(y)f(free)h(v)n(ariable)f(mentioned)f(in)i(an)
o(y)g(of)g(the)g Ft(case)g FA(alternati)n(v)o(es)f(must)h(be)g(rigid.)
-57 2830 y(A)29 b(type)g(is)h("rigid")e(if)h(it)h(is)g(completely)d
(kno)n(wn)h(to)h(the)g(compiler)f(at)h(its)h(binding)d(site.)52
b(The)29 b(easiest)h(w)o(ay)f(to)g(ensure)f(that)h(a)h(v)n(ariable)e(a)
-57 2930 y(rigid)19 b(type)g(is)i(to)f(gi)n(v)o(e)f(it)h(a)g(type)g
(signature.)j(F)o(or)d(more)e(precise)i(details)g(see)p
0 1 0 0 TeXcolorcmyk 2185 2948 a
SDict begin H.S end
2185 2948 a 0 1 0 0
TeXcolorcmyk 2206 2930 a FA(Simple)g(uni\002cation-based)e(type)h
(inference)g(for)g(GADTs)p 0 1 0 0 TeXcolorcmyk 3949
2873 a
SDict begin H.R end
3949 2873 a 3949 2930 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/gadt) >> /Subtype /Link H.B /ANN pdfmark end
3949 2930 a Black FA(.)25
b(The)-57 3029 y(criteria)20 b(implemented)e(by)i(GHC)h(are)f(gi)n(v)o
(en)f(in)h(the)h(Appendix.)-128 3172 y
SDict begin H.S end
-128 3172 a -128
3172 a
SDict begin 12 H.A end
-128 3172 a -128 3172 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.5) cvn H.B /DEST pdfmark end
-128 3172 a Black 181
x Fs(7.5)p Black 108 w(Extensions)28 b(to)h(the)g("deriving")g(mec)o
(hanism)-128 3481 y
SDict begin H.S end
-128 3481 a -128 3481 a
SDict begin 12 H.A end
-128 3481
a -128 3481 a
SDict begin [ /View [/XYZ H.V] /Dest (deriving) cvn H.B /DEST pdfmark end
-128 3481 a -128 3481 a
SDict begin H.S end
-128 3481 a -128
3481 a
SDict begin 12 H.A end
-128 3481 a -128 3481 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.5.1) cvn H.B /DEST pdfmark end
-128 3481 a Black 139
x Fp(7.5.1)p Black 90 w(Inf)o(erred)23 b(conte)o(xt)h(f)n(or)g
(deriving)g(c)n(lauses)-128 3708 y
SDict begin H.S end
-128 3708 a -128 3708
a
SDict begin 12 H.A end
-128 3708 a -128 3708 a
SDict begin [ /View [/XYZ H.V] /Dest (deriving-inferred) cvn H.B /DEST pdfmark end
-128 3708 a 115 x FA(The)c(Hask)o(ell)h
(Report)f(is)h(v)n(ague)e(about)g(e)o(xactly)g(when)h(a)g
Ft(deriving)g FA(clause)g(is)h(le)o(gal.)j(F)o(or)c(e)o(xample:)-128
3891 y
SDict begin H.S end
-128 3891 a -128 3891 a
SDict begin 12 H.A end
-128 3891 a -128 3891
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-322) cvn H.B /DEST pdfmark end
-128 3891 a 0.95 TeXcolorgray -153 3906 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3997 25 92 v Black 0.95 TeXcolorgray
-128 3997 4252 92 v Black 0.95 TeXcolorgray 4124 3997
25 92 v Black 0.95 TeXcolorgray Black -128 3970 a
SDict begin H.S end
-128
3970 a -128 3970 a
SDict begin 11 H.A end
-128 3970 a -128 3970 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-322.1) cvn H.B /DEST pdfmark end
-128 3970
a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T0)p Black 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(MkT0)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 403 w(deriving)p Black -1 w(\()p 0 0 0 TeXcolorrgb
45 w(Eq)p Black 44 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4089 25 92 v Black 0.95 TeXcolorgray
-128 4089 4252 92 v Black 0.95 TeXcolorgray 4124 4089
25 92 v Black 0.95 TeXcolorgray Black -128 4061 a
SDict begin H.S end
-128
4061 a -128 4061 a
SDict begin 11 H.A end
-128 4061 a -128 4061 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-322.2) cvn H.B /DEST pdfmark end
-128 4061
a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T1)p Black 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(MkT1)p Black 44 w(\()p 0 0 0 TeXcolorrgb(f)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(\))p 0 0 0 TeXcolorrgb
224 w(deriving)p Black -1 w(\()p 0 0 0 TeXcolorrgb 45
w(Eq)p Black 44 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4180 25 92 v Black 0.95 TeXcolorgray -128 4180 4252
92 v Black 0.95 TeXcolorgray 4124 4180 25 92 v Black
0.95 TeXcolorgray Black -128 4153 a
SDict begin H.S end
-128 4153 a -128
4153 a
SDict begin 11 H.A end
-128 4153 a -128 4153 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-322.3) cvn H.B /DEST pdfmark end
-128 4153 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T2)p Black
0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkT2)p Black
44 w(\()p 0 0 0 TeXcolorrgb(f)p Black 44 w(\()p 0 0 0
TeXcolorrgb(f)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(\)\))p
0 0 0 TeXcolorrgb 44 w(deriving)p Black -1 w(\()p 0 0 0
TeXcolorrgb 45 w(Eq)p Black 44 w(\))p 0.95 TeXcolorgray
-153 4205 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4379 a FA(The)g(natural)g(generated)e Ft(Eq)i
FA(code)g(w)o(ould)f(result)i(in)f(these)g(instance)g(declarations:)
-128 4447 y
SDict begin H.S end
-128 4447 a -128 4447 a
SDict begin 12 H.A end
-128 4447 a -128
4447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-323) cvn H.B /DEST pdfmark end
-128 4447 a 0.95 TeXcolorgray -153 4462 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4554 25 92 v Black 0.95 TeXcolorgray
-128 4554 4252 92 v Black 0.95 TeXcolorgray 4124 4554
25 92 v Black 0.95 TeXcolorgray Black -128 4526 a
SDict begin H.S end
-128
4526 a -128 4526 a
SDict begin 11 H.A end
-128 4526 a -128 4526 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-323.1) cvn H.B /DEST pdfmark end
-128 4526
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 403
w(=>)p 0 0 0 TeXcolorrgb 45 w(Eq)p Black 44 w(\()p 0 0 0
TeXcolorrgb(T0)p Black 0 0 0 TeXcolorrgb 45 w(f)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(\))p 0 0 0 TeXcolorrgb
45 w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4645 25 92 v Black 0.95 TeXcolorgray
-128 4645 4252 92 v Black 0.95 TeXcolorgray 4124 4645
25 92 v Black 0.95 TeXcolorgray Black -128 4618 a
SDict begin H.S end
-128
4618 a -128 4618 a
SDict begin 11 H.A end
-128 4618 a -128 4618 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-323.2) cvn H.B /DEST pdfmark end
-128 4618
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(Eq)p Black 44 w(\()p 0 0 0 TeXcolorrgb(f)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(\))224 b(=>)p 0 0 0
TeXcolorrgb 45 w(Eq)p Black 44 w(\()p 0 0 0 TeXcolorrgb(T1)p
Black 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(\))p 0 0 0 TeXcolorrgb 45 w(where)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4736 25 92 v Black 0.95 TeXcolorgray -128 4736 4252
92 v Black 0.95 TeXcolorgray 4124 4736 25 92 v Black
0.95 TeXcolorgray Black -128 4709 a
SDict begin H.S end
-128 4709 a -128
4709 a
SDict begin 11 H.A end
-128 4709 a -128 4709 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-323.3) cvn H.B /DEST pdfmark end
-128 4709 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Eq)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(f)p Black 45 w(\()p
0 0 0 TeXcolorrgb -1 w(f)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black(\)\))44 b(=>)p 0 0 0 TeXcolorrgb 45 w(Eq)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(T2)p Black 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))p
0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p 0.95
TeXcolorgray -153 4761 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4936 a FA(The)21 b(\002rst)g(of)g(these)g(is)g
(ob)o(viously)e(\002ne.)26 b(The)21 b(second)f(is)h(still)h(\002ne,)f
(although)e(less)i(ob)o(viously)-5 b(.)24 b(The)d(third)f(is)i(not)e
(Hask)o(ell)h(98,)f(and)g(risks)h(losing)-128 5035 y(termination)e(of)h
(instances.)-128 5185 y(GHC)28 b(tak)o(es)f(a)g(conserv)n(ati)n(v)o(e)e
(position:)38 b(it)27 b(accepts)g(the)g(\002rst)g(tw)o(o,)i(b)n(ut)d
(not)h(the)g(third.)44 b(The)26 b(rule)h(is)h(this:)39
b(each)26 b(constraint)g(in)h(the)g(inferred)-128 5284
y(instance)20 b(conte)o(xt)f(must)h(consist)h(only)e(of)h(type)g(v)n
(ariables,)f(with)h(no)g(repetitions.)-128 5434 y(This)c(rule)f(is)h
(applied)e(re)o(gardless)g(of)h(\003ags.)23 b(If)15 b(you)g(w)o(ant)g
(a)h(more)e(e)o(xotic)g(conte)o(xt,)h(you)f(can)h(write)h(it)g
(yourself,)e(using)h(the)p 1 0 0 TeXcolorrgb 3416 5452
a
SDict begin H.S end
3416 5452 a 1 0 0 TeXcolorrgb -18 x FA(standalone)k(deri)n(ving)g
(mechanism)p 1 0 0 TeXcolorrgb 4466 5377 a
SDict begin H.R end
4466 5377
a 4466 5434 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (stand-alone-deriving) cvn H.B /ANN pdfmark end
4466 5434 a Black FA(.)p Black -128 6084
4252 5 v Black eop end
%%Page: 139 154
TeXDict begin 139 153 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.139) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(139)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.5.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.5.2)p
Black 90 w(Stand-alone)j(deriving)g(dec)n(larations)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (stand-alone-deriving) cvn H.B /DEST pdfmark end
-128
262 a 114 x FA(GHC)e(no)n(w)f(allo)n(ws)h(stand-alone)d
Ft(deriving)h FA(declarations,)g(enabled)g(by)h Ft
(-XStandaloneDeriving)p FA(:)-128 443 y
SDict begin H.S end
-128 443 a -128
443 a
SDict begin 12 H.A end
-128 443 a -128 443 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-324) cvn H.B /DEST pdfmark end
-128 443 a 0.95 TeXcolorgray
-153 458 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 549 25 92 v
Black 0.95 TeXcolorgray -128 549 4252 92 v Black 0.95
TeXcolorgray 4124 549 25 92 v Black 0.95 TeXcolorgray
Black -128 522 a
SDict begin H.S end
-128 522 a -128 522 a
SDict begin 11 H.A end
-128 522 a -128
522 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-324.1) cvn H.B /DEST pdfmark end
-128 522 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(Bar)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(|)p 0 0 0
TeXcolorrgb 45 w(Baz)p Black 0 0 0 TeXcolorrgb 44 w(String)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
641 25 92 v Black 0.95 TeXcolorgray -128 641 4252 92
v Black 0.95 TeXcolorgray 4124 641 25 92 v Black 0.95
TeXcolorgray Black -128 613 a
SDict begin H.S end
-128 613 a -128 613 a
SDict begin 11 H.A end
-128
613 a -128 613 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-324.2) cvn H.B /DEST pdfmark end
-128 613 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 732 25 92 v Black 0.95 TeXcolorgray
-128 732 4252 92 v Black 0.95 TeXcolorgray 4124 732 25
92 v Black 0.95 TeXcolorgray Black -128 705 a
SDict begin H.S end
-128 705
a -128 705 a
SDict begin 11 H.A end
-128 705 a -128 705 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-324.3) cvn H.B /DEST pdfmark end
-128 705 a 0 0 0 TeXcolorrgb
90 w Fo(deriving)p Black 0 0 0 TeXcolorrgb 44 w(instance)p
Black 0 0 0 TeXcolorrgb 43 w(Eq)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(Eq)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(Foo)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(\))p 0.95 TeXcolorgray -153 757 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 930
a FA(The)k(syntax)g(is)h(identical)f(to)g(that)h(of)f(an)g(ordinary)e
(instance)i(declaration)e(apart)i(from)f(\(a\))h(the)h(k)o(e)o(yw)o
(ord)d Ft(deriving)p FA(,)i(and)g(\(b\))f(the)i(absence)-128
1030 y(of)h(the)g Ft(where)g FA(part.)42 b(Y)-9 b(ou)25
b(must)h(supply)f(a)h(conte)o(xt)f(\(in)h(the)g(e)o(xample)e(the)i
(conte)o(xt)f(is)i Ft(\(Eq)49 b(a\))p FA(\),)27 b(e)o(xactly)e(as)i
(you)e(w)o(ould)g(in)h(an)g(ordinary)-128 1129 y(instance)f
(declaration.)40 b(\(In)24 b(contrast)h(the)h(conte)o(xt)e(is)i
(inferred)e(in)h(a)h Ft(deriving)f FA(clause)g(attached)g(to)g(a)h
(data)g(type)f(declaration.\))38 b(A)26 b Ft(der-)-128
1229 y(iving)49 b(instance)24 b FA(declaration)f(must)i(obe)o(y)e(the)i
(same)g(rules)f(concerning)f(form)g(and)h(termination)f(as)j(ordinary)c
(instance)i(declarations,)-128 1329 y(controlled)19 b(by)h(the)g(same)g
(\003ags;)h(see)g(Section)p 1 0 0 TeXcolorrgb 1244 1330
a
SDict begin H.S end
1244 1330 a 1 0 0 TeXcolorrgb -1 x FA(7.6.3)p 1 0 0
TeXcolorrgb 1410 1272 a
SDict begin H.R end
1410 1272 a 1410 1329 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.6.3) cvn H.B /ANN pdfmark end
1410
1329 a Black FA(.)-128 1478 y(Unlik)o(e)g(a)f Ft(deriving)g
FA(declaration)e(attached)i(to)g(a)h Ft(data)f FA(declaration,)f(the)h
(instance)g(can)g(be)h(more)e(speci\002c)i(than)f(the)g(data)g(type)g
(\(assuming)-128 1577 y(you)g(also)g(use)h Ft(-XFlexibleInstances)p
FA(,)c(Section)p 1 0 0 TeXcolorrgb 1561 1578 a
SDict begin H.S end
1561 1578
a 1 0 0 TeXcolorrgb -1 x FA(7.6.3.1)p 1 0 0 TeXcolorrgb
1790 1521 a
SDict begin H.R end
1790 1521 a 1790 1577 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.6.3.1) cvn H.B /ANN pdfmark end
1790 1577 a Black
FA(\).)25 b(Consider)19 b(for)h(e)o(xample)-128 1644
y
SDict begin H.S end
-128 1644 a -128 1644 a
SDict begin 12 H.A end
-128 1644 a -128 1644 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-325) cvn H.B /DEST pdfmark end
-128
1644 a 0.95 TeXcolorgray -153 1660 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1751 25 92 v Black 0.95 TeXcolorgray -128 1751 4252
92 v Black 0.95 TeXcolorgray 4124 1751 25 92 v Black
0.95 TeXcolorgray Black -128 1724 a
SDict begin H.S end
-128 1724 a -128
1724 a
SDict begin 11 H.A end
-128 1724 a -128 1724 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-325.1) cvn H.B /DEST pdfmark end
-128 1724 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(Bar)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(|)p 0 0 0 TeXcolorrgb 45 w(Baz)p Black 0 0 0 TeXcolorrgb
44 w(String)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1842 25 92 v Black 0.95 TeXcolorgray -128 1842 4252
92 v Black 0.95 TeXcolorgray 4124 1842 25 92 v Black
0.95 TeXcolorgray Black -128 1815 a
SDict begin H.S end
-128 1815 a -128
1815 a
SDict begin 11 H.A end
-128 1815 a -128 1815 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-325.2) cvn H.B /DEST pdfmark end
-128 1815 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1934 25 92 v Black 0.95
TeXcolorgray -128 1934 4252 92 v Black 0.95 TeXcolorgray
4124 1934 25 92 v Black 0.95 TeXcolorgray Black -128
1906 a
SDict begin H.S end
-128 1906 a -128 1906 a
SDict begin 11 H.A end
-128 1906 a -128 1906
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-325.3) cvn H.B /DEST pdfmark end
-128 1906 a 0 0 0 TeXcolorrgb 90 w Fo(deriving)p Black
0 0 0 TeXcolorrgb 44 w(instance)p Black 0 0 0 TeXcolorrgb
43 w(Eq)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)p
0 0 0 TeXcolorrgb 45 w(Eq)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Foo)p
Black 44 w([)p 0 0 0 TeXcolorrgb(a)p Black(]\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2025 25 92
v Black 0.95 TeXcolorgray -128 2025 4252 92 v Black 0.95
TeXcolorgray 4124 2025 25 92 v Black 0.95 TeXcolorgray
Black -128 1998 a
SDict begin H.S end
-128 1998 a -128 1998 a
SDict begin 11 H.A end
-128 1998 a
-128 1998 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-325.4) cvn H.B /DEST pdfmark end
-128 1998 a 0 0 0 TeXcolorrgb 90 w Fo(deriving)p
Black 0 0 0 TeXcolorrgb 44 w(instance)p Black 0 0 0 TeXcolorrgb
43 w(Eq)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)p
0 0 0 TeXcolorrgb 45 w(Eq)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Foo)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(Maybe)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(\)\))p 0.95 TeXcolorgray -153
2050 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2223 a FA(This)j(will)f(generate)f(a)h(deri)n(v)o(ed)e(instance)i
(for)f Ft(\(Foo)49 b([a]\))22 b FA(and)f Ft(\(Foo)49
b(\(Maybe)g(a\)\))p FA(,)22 b(b)n(ut)g(other)f(types)h(such)f(as)i
Ft(\(Foo)49 b(\(Int,Boo-)-128 2323 y(l\)\))21 b FA(will)g(not)e(be)i
(an)f(instance)f(of)h Ft(Eq)p FA(.)-128 2472 y(The)26
b(stand-alone)e(syntax)h(is)h(generalised)f(for)g(ne)n(wtypes)f(in)i(e)
o(xactly)f(the)g(same)h(w)o(ay)g(that)g(ordinary)d Ft(deriving)i
FA(clauses)h(are)f(generalised)-128 2571 y(\(Section)p
1 0 0 TeXcolorrgb 170 2572 a
SDict begin H.S end
170 2572 a 1 0 0 TeXcolorrgb
-1 x FA(7.5.4)p 1 0 0 TeXcolorrgb 336 2515 a
SDict begin H.R end
336 2515
a 336 2571 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.5.4) cvn H.B /ANN pdfmark end
336 2571 a Black FA(\).)g(F)o(or)20 b(e)o(xample:)-128
2638 y
SDict begin H.S end
-128 2638 a -128 2638 a
SDict begin 12 H.A end
-128 2638 a -128 2638
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-326) cvn H.B /DEST pdfmark end
-128 2638 a 0.95 TeXcolorgray -153 2654 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2745 25 92 v Black 0.95 TeXcolorgray
-128 2745 4252 92 v Black 0.95 TeXcolorgray 4124 2745
25 92 v Black 0.95 TeXcolorgray Black -128 2718 a
SDict begin H.S end
-128
2718 a -128 2718 a
SDict begin 11 H.A end
-128 2718 a -128 2718 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-326.1) cvn H.B /DEST pdfmark end
-128 2718
a 0 0 0 TeXcolorrgb 90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb
44 w(Foo)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(=)p 0 0 0 TeXcolorrgb 44 w(MkFoo)p Black 44 w(\()p
0 0 0 TeXcolorrgb(State)p Black 0 0 0 TeXcolorrgb 44
w(Int)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2836 25
92 v Black 0.95 TeXcolorgray -128 2836 4252 92 v Black
0.95 TeXcolorgray 4124 2836 25 92 v Black 0.95 TeXcolorgray
Black -128 2809 a
SDict begin H.S end
-128 2809 a -128 2809 a
SDict begin 11 H.A end
-128 2809 a
-128 2809 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-326.2) cvn H.B /DEST pdfmark end
-128 2809 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2928 25 92 v Black 0.95 TeXcolorgray
-128 2928 4252 92 v Black 0.95 TeXcolorgray 4124 2928
25 92 v Black 0.95 TeXcolorgray Black -128 2900 a
SDict begin H.S end
-128
2900 a -128 2900 a
SDict begin 11 H.A end
-128 2900 a -128 2900 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-326.3) cvn H.B /DEST pdfmark end
-128 2900
a 0 0 0 TeXcolorrgb 90 w Fo(deriving)p Black 0 0 0 TeXcolorrgb
44 w(instance)p Black 0 0 0 TeXcolorrgb 43 w(MonadState)p
Black 0 0 0 TeXcolorrgb 43 w(Int)p Black 0 0 0 TeXcolorrgb
45 w(Foo)p Black 0.95 TeXcolorgray -153 2953 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 3126
a FA(GHC)h(al)o(w)o(ays)g(treats)g(the)f Fq(last)i FA(parameter)d(of)h
(the)g(instance)g(\()p Ft(Foo)g FA(in)g(this)h(e)o(xample\))d(as)j(the)
f(type)g(whose)g(instance)g(is)h(being)e(deri)n(v)o(ed.)-128
3260 y
SDict begin H.S end
-128 3260 a -128 3260 a
SDict begin 12 H.A end
-128 3260 a -128 3260
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.5.3) cvn H.B /DEST pdfmark end
-128 3260 a Black 147 x Fp(7.5.3)p Black 90 w(Deriving)k(c)n(lause)h
(f)n(or)h(c)n(lasses)f Fi(Typeable)f Fp(and)i Fi(Data)-128
3496 y
SDict begin H.S end
-128 3496 a -128 3496 a
SDict begin 12 H.A end
-128 3496 a -128 3496
a
SDict begin [ /View [/XYZ H.V] /Dest (deriving-typeable) cvn H.B /DEST pdfmark end
-128 3496 a 114 x FA(Hask)o(ell)17 b(98)e(allo)n(ws)i(the)f
(programmer)d(to)j(add)f(")p Ft(deriving\()48 b(Eq,)i(Ord)f(\))p
FA(")16 b(to)g(a)h(data)f(type)f(declaration,)g(to)h(generate)f(a)h
(standard)f(instance)-128 3709 y(declaration)24 b(for)h(classes)h
(speci\002ed)f(in)h(the)f Ft(deriving)g FA(clause.)40
b(In)25 b(Hask)o(ell)h(98,)g(the)f(only)g(classes)h(that)g(may)f
(appear)f(in)i(the)f Ft(deriving)-128 3809 y FA(clause)c(are)f(the)g
(standard)f(classes)i Ft(Eq)p FA(,)f Ft(Ord)p FA(,)g
Ft(Enum)p FA(,)g Ft(Ix)p FA(,)g Ft(Bounded)p FA(,)g Ft(Read)p
FA(,)f(and)h Ft(Show)p FA(.)-128 3958 y(GHC)e(e)o(xtends)d(this)i(list)
g(with)g(tw)o(o)f(more)g(classes)h(that)g(may)f(be)g(automatically)f
(deri)n(v)o(ed)g(\(pro)o(vided)e(the)j Ft(-XDeriveDataTypeable)e
FA(\003ag)i(is)-128 4057 y(speci\002ed\):)25 b Ft(Typeable)p
FA(,)18 b(and)h Ft(Data)p FA(.)24 b(These)19 b(classes)h(are)g
(de\002ned)e(in)h(the)g(library)g(modules)f Ft(Data.Typeable)f
FA(and)i Ft(Data.Generics)-128 4157 y FA(respecti)n(v)o(ely)-5
b(,)18 b(and)i(the)g(appropriate)e(class)j(must)f(be)h(in)f(scope)g
(before)f(it)h(can)g(be)h(mentioned)d(in)i(the)g Ft(deriving)g
FA(clause.)-128 4306 y(An)g(instance)g(of)g Ft(Typeable)f
FA(can)g(only)g(be)h(deri)n(v)o(ed)e(if)j(the)f(data)f(type)h(has)g(se)
n(v)o(en)f(or)h(fe)n(wer)f(type)h(parameters,)e(all)j(of)e(kind)3545
4321 y Ft(*)3595 4306 y FA(.)25 b(The)19 b(reason)h(for)-128
4406 y(this)c(is)g(that)g(the)f Ft(Typeable)f FA(class)i(is)g(deri)n(v)
o(ed)e(using)h(the)g(scheme)g(described)e(in)p 0 1 0 0
TeXcolorcmyk 2253 4424 a
SDict begin H.S end
2253 4424 a 0 1 0 0 TeXcolorcmyk
2274 4406 a FA(Scrap)19 b(More)h(Boilerplate:)25 b(Re\003ection,)20
b(Zips,)g(and)f(Generalised)h(Casts)p 0 1 0 0 TeXcolorcmyk
4432 4349 a
SDict begin H.R end
4432 4349 a 4432 4406 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/hmap/gmap2.ps) >> /Subtype /Link H.B /ANN pdfmark end
4432 4406 a Black
FA(.)-128 4505 y(\(Section)g(7.4)f(of)g(the)h(paper)f(describes)g(the)h
(multiple)g Ft(Typeable)f FA(classes)h(that)g(are)g(used,)g(and)f(only)
g Ft(Typeable1)g FA(up)g(to)h Ft(Typeable7)f FA(are)-128
4605 y(pro)o(vided)d(in)j(the)g(library)-5 b(.\))22 b(In)d(other)e
(cases,)j(there)e(is)h(nothing)e(to)i(stop)f(the)h(programmer)c
(writing)j(a)h Ft(TypableX)f FA(class,)i(whose)e(kind)f(suits)j(that)
-128 4704 y(of)g(the)h(data)f(type)f(constructor)m(,)f(and)i(then)f
(writing)h(the)g(data)g(type)g(instance)g(by)g(hand.)-128
4838 y
SDict begin H.S end
-128 4838 a -128 4838 a
SDict begin 12 H.A end
-128 4838 a -128 4838
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.5.4) cvn H.B /DEST pdfmark end
-128 4838 a Black 148 x Fp(7.5.4)p Black 90 w(Generalised)j(derived)h
(instances)f(f)n(or)i(ne)o(wtypes)-128 5074 y
SDict begin H.S end
-128 5074
a -128 5074 a
SDict begin 12 H.A end
-128 5074 a -128 5074 a
SDict begin [ /View [/XYZ H.V] /Dest (newtype-deriving) cvn H.B /DEST pdfmark end
-128 5074 a 114
x FA(When)20 b(you)e(de\002ne)h(an)g(abstract)g(type)g(using)f
Ft(newtype)p FA(,)h(you)f(may)h(w)o(ant)g(the)h(ne)n(w)f(type)g(to)g
(inherit)g(some)g(instances)g(from)f(its)i(representation.)-128
5288 y(In)i(Hask)o(ell)g(98,)g(you)f(can)g(inherit)g(instances)h(of)g
Ft(Eq)p FA(,)g Ft(Ord)p FA(,)g Ft(Enum)f FA(and)h Ft(Bounded)f
FA(by)g(deri)n(ving)f(them,)i(b)n(ut)g(for)f(an)o(y)g(other)g(classes)i
(you)e(ha)n(v)o(e)-128 5388 y(to)g(write)f(an)g(e)o(xplicit)g(instance)
g(declaration.)j(F)o(or)d(e)o(xample,)e(if)j(you)e(de\002ne)-128
5455 y
SDict begin H.S end
-128 5455 a -128 5455 a
SDict begin 12 H.A end
-128 5455 a -128 5455
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-327) cvn H.B /DEST pdfmark end
-128 5455 a 0.95 TeXcolorgray -153 5470 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5561 25 92 v Black 0.95 TeXcolorgray
-128 5561 4252 92 v Black 0.95 TeXcolorgray 4124 5561
25 92 v Black 0.95 TeXcolorgray Black -128 5534 a
SDict begin H.S end
-128
5534 a -128 5534 a
SDict begin 11 H.A end
-128 5534 a -128 5534 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-327.1) cvn H.B /DEST pdfmark end
-128 5534
a 0 0 0 TeXcolorrgb 90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb
44 w(Dollars)p Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(Dollars)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
-153 5586 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5759 a FA(and)h(you)f(w)o(ant)i(to)f(use)g(arithmetic)g(on)g
Ft(Dollars)p FA(,)f(you)g(ha)n(v)o(e)h(to)g(e)o(xplicitly)f(de\002ne)h
(an)g(instance)g(of)g Ft(Num)p FA(:)p Black -128 6084
4252 5 v Black eop end
%%Page: 140 155
TeXDict begin 140 154 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.140) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(140)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-328) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-328.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Num)p
Black 0 0 0 TeXcolorrgb 44 w(Dollars)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-328.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 180 w Fo(Dollars)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 45 w(+)p 0 0 0
TeXcolorrgb 45 w(Dollars)p Black 0 0 0 TeXcolorrgb 43
w(b)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(Dollars)p
Black 43 w(\()p 0 0 0 TeXcolorrgb(a)p Black(+)p 0 0 0
TeXcolorrgb(b)p Black(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-328.3) cvn H.B /DEST pdfmark end
-128 420 a 180 w Fo(...)p
0.95 TeXcolorgray -153 472 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 630 a FA(All)i(the)g(instance)e(does)h(is)i
(apply)d(and)g(remo)o(v)o(e)g(the)h Ft(newtype)f FA(constructor)-5
b(.)27 b(It)22 b(is)g(particularly)d(galling)h(that,)i(since)f(the)g
(constructor)e(doesn')o(t)-128 730 y(appear)g(at)i(run-time,)e(this)h
(instance)g(declaration)f(de\002nes)h(a)g(dictionary)f(which)g(is)i
Fq(wholly)g(equivalent)f FA(to)g(the)g Ft(Int)h FA(dictionary)-5
b(,)17 b(only)j(slo)n(wer!)-128 861 y
SDict begin H.S end
-128 861 a -128
861 a
SDict begin 12 H.A end
-128 861 a -128 861 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.5.4.1) cvn H.B /DEST pdfmark end
-128 861 a Black 123 x Fx(7.5.4.1)p
Black 93 w(Generalising)e(the)i(deriving)e(c)o(lause)-128
1179 y FA(GHC)g(no)n(w)f(permits)g(such)g(instances)g(to)g(be)g(deri)n
(v)o(ed)f(instead,)h(using)f(the)i(\003ag)f Ft
(-XGeneralizedNewtypeDeriving)p FA(,)c(so)k(one)g(can)g(write)-128
1239 y
SDict begin H.S end
-128 1239 a -128 1239 a
SDict begin 12 H.A end
-128 1239 a -128 1239
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-329) cvn H.B /DEST pdfmark end
-128 1239 a 0.95 TeXcolorgray -153 1254 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1345 25 92 v Black 0.95 TeXcolorgray
-128 1345 4252 92 v Black 0.95 TeXcolorgray 4124 1345
25 92 v Black 0.95 TeXcolorgray Black -128 1318 a
SDict begin H.S end
-128
1318 a -128 1318 a
SDict begin 11 H.A end
-128 1318 a -128 1318 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-329.1) cvn H.B /DEST pdfmark end
-128 1318
a 0 0 0 TeXcolorrgb 90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb
44 w(Dollars)p Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(Dollars)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0 TeXcolorrgb
44 w(deriving)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1
w(Eq)p Black(,)p 0 0 0 TeXcolorrgb(Show)p Black -1 w(,)p
0 0 0 TeXcolorrgb(Num)p Black(\))p 0.95 TeXcolorgray
-153 1370 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1528 a FA(and)25 b(the)g(implementation)d(uses)k(the)e
Fq(same)h Ft(Num)g FA(dictionary)e(for)i Ft(Dollars)f
FA(as)h(for)f Ft(Int)p FA(.)39 b(Notionally)-5 b(,)24
b(the)h(compiler)f(deri)n(v)o(es)g(an)g(instance)-128
1628 y(declaration)19 b(of)h(the)g(form)-128 1670 y
SDict begin H.S end
-128
1670 a -128 1670 a
SDict begin 12 H.A end
-128 1670 a -128 1670 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-330) cvn H.B /DEST pdfmark end
-128 1670
a 0.95 TeXcolorgray -153 1703 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1794 25 92 v Black 0.95 TeXcolorgray -128 1794 4252 92
v Black 0.95 TeXcolorgray 4124 1794 25 92 v Black 0.95
TeXcolorgray Black -128 1767 a
SDict begin H.S end
-128 1767 a -128 1767
a
SDict begin 11 H.A end
-128 1767 a -128 1767 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-330.1) cvn H.B /DEST pdfmark end
-128 1767 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Num)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(Num)p Black 0 0 0 TeXcolorrgb 44 w(Dollars)p
Black 0.95 TeXcolorgray -153 1819 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 1977 a FA(which)g(just)h(adds)f(or)
g(remo)o(v)o(es)e(the)i Ft(newtype)g FA(constructor)e(according)g(to)j
(the)f(type.)-128 2118 y(W)-7 b(e)19 b(can)f(also)g(deri)n(v)o(e)e
(instances)i(of)g(constructor)d(classes)k(in)f(a)g(similar)g(w)o(ay)-5
b(.)24 b(F)o(or)17 b(e)o(xample,)g(suppose)g(we)h(ha)n(v)o(e)f
(implemented)f(state)i(and)g(f)o(ailure)-128 2218 y(monad)h
(transformers,)f(such)i(that)-128 2272 y
SDict begin H.S end
-128 2272 a
-128 2272 a
SDict begin 12 H.A end
-128 2272 a -128 2272 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-331) cvn H.B /DEST pdfmark end
-128 2272 a 0.95
TeXcolorgray -153 2293 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2384 25 92 v Black 0.95 TeXcolorgray -128 2384 4252 92
v Black 0.95 TeXcolorgray 4124 2384 25 92 v Black 0.95
TeXcolorgray Black -128 2357 a
SDict begin H.S end
-128 2357 a -128 2357
a
SDict begin 11 H.A end
-128 2357 a -128 2357 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-331.1) cvn H.B /DEST pdfmark end
-128 2357 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Monad)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(Monad)p Black 44 w(\()p 0 0 0 TeXcolorrgb(State)p
Black 0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2476 25 92 v Black 0.95 TeXcolorgray -128 2476 4252
92 v Black 0.95 TeXcolorgray 4124 2476 25 92 v Black
0.95 TeXcolorgray Black -128 2448 a
SDict begin H.S end
-128 2448 a -128
2448 a
SDict begin 11 H.A end
-128 2448 a -128 2448 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-331.2) cvn H.B /DEST pdfmark end
-128 2448 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Monad)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(Monad)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Failure)p
Black 0 0 0 TeXcolorrgb 43 w(m)p Black(\))p 0.95 TeXcolorgray
-153 2501 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2659 a FA(In)g(Hask)o(ell)h(98,)e(we)i(can)f(de\002ne)g(a)g
(parsing)f(monad)g(by)-128 2718 y
SDict begin H.S end
-128 2718 a -128 2718
a
SDict begin 12 H.A end
-128 2718 a -128 2718 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-332) cvn H.B /DEST pdfmark end
-128 2718 a 0.95 TeXcolorgray
-153 2734 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2825 25 92
v Black 0.95 TeXcolorgray -128 2825 4252 92 v Black 0.95
TeXcolorgray 4124 2825 25 92 v Black 0.95 TeXcolorgray
Black -128 2798 a
SDict begin H.S end
-128 2798 a -128 2798 a
SDict begin 11 H.A end
-128 2798 a
-128 2798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-332.1) cvn H.B /DEST pdfmark end
-128 2798 a 0 0 0 TeXcolorrgb 90 w Fo(type)p
Black 0 0 0 TeXcolorrgb 44 w(Parser)p Black 0 0 0 TeXcolorrgb
44 w(tok)p Black 0 0 0 TeXcolorrgb 44 w(m)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(State)p Black 44 w([)p 0 0 0 TeXcolorrgb(tok)p Black(])44
b(\()p 0 0 0 TeXcolorrgb(Failure)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black(\))p 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray -153 2850 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3008 a FA(which)28 b(is)h(automatically)e(a)h
(monad)f(thanks)g(to)h(the)g(instance)g(declarations)f(abo)o(v)o(e.)46
b(W)m(ith)29 b(the)f(e)o(xtension,)g(we)h(can)e(mak)o(e)h(the)g(parser)
f(type)-128 3108 y(abstract,)20 b(without)g(needing)e(to)j(write)f(an)g
(instance)g(of)g(class)h Ft(Monad)p FA(,)f(via)-128 3167
y
SDict begin H.S end
-128 3167 a -128 3167 a
SDict begin 12 H.A end
-128 3167 a -128 3167 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-333) cvn H.B /DEST pdfmark end
-128
3167 a 0.95 TeXcolorgray -153 3183 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3274 25 92 v Black 0.95 TeXcolorgray -128 3274 4252
92 v Black 0.95 TeXcolorgray 4124 3274 25 92 v Black
0.95 TeXcolorgray Black -128 3247 a
SDict begin H.S end
-128 3247 a -128
3247 a
SDict begin 11 H.A end
-128 3247 a -128 3247 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-333.1) cvn H.B /DEST pdfmark end
-128 3247 a 0 0 0 TeXcolorrgb
90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb 44 w(Parser)p
Black 0 0 0 TeXcolorrgb 44 w(tok)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(Parser)p Black 44 w(\()p 0 0 0
TeXcolorrgb(State)p Black 44 w([)p 0 0 0 TeXcolorrgb
-1 w(tok)p Black(])45 b(\()p 0 0 0 TeXcolorrgb -1 w(Failure)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black(\))p 0 0 0 TeXcolorrgb
45 w(a)p Black -1 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3365 25 92 v Black 0.95 TeXcolorgray
-128 3365 4252 92 v Black 0.95 TeXcolorgray 4124 3365
25 92 v Black 0.95 TeXcolorgray Black -128 3338 a
SDict begin H.S end
-128
3338 a -128 3338 a
SDict begin 11 H.A end
-128 3338 a -128 3338 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-333.2) cvn H.B /DEST pdfmark end
-128 3338
a 0 0 0 TeXcolorrgb 1121 w Fo(deriving)p Black 0 0 0
TeXcolorrgb 44 w(Monad)p Black 0.95 TeXcolorgray -153
3390 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3548 a FA(In)20 b(this)h(case)g(the)f(deri)n(v)o(ed)e(instance)i
(declaration)f(is)i(of)f(the)g(form)-128 3591 y
SDict begin H.S end
-128
3591 a -128 3591 a
SDict begin 12 H.A end
-128 3591 a -128 3591 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-334) cvn H.B /DEST pdfmark end
-128 3591
a 0.95 TeXcolorgray -153 3623 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3715 25 92 v Black 0.95 TeXcolorgray -128 3715 4252 92
v Black 0.95 TeXcolorgray 4124 3715 25 92 v Black 0.95
TeXcolorgray Black -128 3687 a
SDict begin H.S end
-128 3687 a -128 3687
a
SDict begin 11 H.A end
-128 3687 a -128 3687 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-334.1) cvn H.B /DEST pdfmark end
-128 3687 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Monad)p
Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(State)p Black
44 w([)p 0 0 0 TeXcolorrgb(tok)p Black(])44 b(\()p 0 0 0
TeXcolorrgb(Failure)p Black 0 0 0 TeXcolorrgb 44 w(m)p
Black(\)\))g(=>)p 0 0 0 TeXcolorrgb 45 w(Monad)p Black
44 w(\()p 0 0 0 TeXcolorrgb(Parser)p Black 0 0 0 TeXcolorrgb
43 w(tok)p Black 0 0 0 TeXcolorrgb 45 w(m)p Black(\))p
0.95 TeXcolorgray -153 3740 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3898 a FA(Notice)19 b(that,)h(since)f
Ft(Monad)g FA(is)h(a)f(constructor)f(class,)i(the)f(instance)g(is)h(a)f
Fq(partial)g(application)e FA(of)i(the)g(ne)n(w)g(type,)g(not)g(the)g
(entire)f(left)i(hand)e(side.)-128 3997 y(W)-7 b(e)22
b(can)e(imagine)f(that)h(the)h(type)e(declaration)g(is)i("eta-con)m(v)o
(erted")c(to)j(generate)f(the)h(conte)o(xt)f(of)h(the)g(instance)g
(declaration.)-128 4139 y(W)-7 b(e)22 b(can)d(e)n(v)o(en)g(deri)n(v)o
(e)g(instances)h(of)g(multi-parameter)d(classes,)k(pro)o(vided)c(the)j
(ne)n(wtype)f(is)i(the)f(last)h(class)g(parameter)-5
b(.)24 b(In)19 b(this)i(case,)f(a)g(\223partial)-128
4238 y(application\224)f(of)h(the)g(class)h(appears)f(in)g(the)g
Ft(deriving)f FA(clause.)25 b(F)o(or)20 b(e)o(xample,)f(gi)n(v)o(en)g
(the)h(class)-128 4298 y
SDict begin H.S end
-128 4298 a -128 4298 a
SDict begin 12 H.A end
-128
4298 a -128 4298 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-335) cvn H.B /DEST pdfmark end
-128 4298 a 0.95 TeXcolorgray -153
4313 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4405 25 92 v Black 0.95
TeXcolorgray -128 4405 4252 92 v Black 0.95 TeXcolorgray
4124 4405 25 92 v Black 0.95 TeXcolorgray Black -128
4377 a
SDict begin H.S end
-128 4377 a -128 4377 a
SDict begin 11 H.A end
-128 4377 a -128 4377
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-335.1) cvn H.B /DEST pdfmark end
-128 4377 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(StateMonad)p Black 0 0 0 TeXcolorrgb
43 w(s)p Black 0 0 0 TeXcolorrgb 45 w(m)p Black 45 w(|)p
0 0 0 TeXcolorrgb 44 w(m)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(s)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44
w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4496 25 92 v Black 0.95 TeXcolorgray -128 4496 4252 92
v Black 0.95 TeXcolorgray 4124 4496 25 92 v Black 0.95
TeXcolorgray Black -128 4468 a
SDict begin H.S end
-128 4468 a -128 4468
a
SDict begin 11 H.A end
-128 4468 a -128 4468 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-335.2) cvn H.B /DEST pdfmark end
-128 4468 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Monad)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(StateMonad)p Black 0 0 0 TeXcolorrgb
43 w(s)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(State)p
Black 0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb
45 w(m)p Black(\))p 0 0 0 TeXcolorrgb 45 w(where)p Black
44 w(...)p 0.95 TeXcolorgray -153 4521 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4679 a FA(then)g(we)h(can)f
(deri)n(v)o(e)f(an)h(instance)g(of)f Ft(StateMonad)g
FA(for)h Ft(Parser)p FA(s)g(by)-128 4739 y
SDict begin H.S end
-128 4739
a -128 4739 a
SDict begin 12 H.A end
-128 4739 a -128 4739 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-336) cvn H.B /DEST pdfmark end
-128 4739 a 0.95
TeXcolorgray -153 4754 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4845 25 92 v Black 0.95 TeXcolorgray -128 4845 4252 92
v Black 0.95 TeXcolorgray 4124 4845 25 92 v Black 0.95
TeXcolorgray Black -128 4818 a
SDict begin H.S end
-128 4818 a -128 4818
a
SDict begin 11 H.A end
-128 4818 a -128 4818 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-336.1) cvn H.B /DEST pdfmark end
-128 4818 a 0 0 0 TeXcolorrgb
90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb 44 w(Parser)p
Black 0 0 0 TeXcolorrgb 44 w(tok)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(Parser)p Black 44 w(\()p 0 0 0
TeXcolorrgb(State)p Black 44 w([)p 0 0 0 TeXcolorrgb
-1 w(tok)p Black(])45 b(\()p 0 0 0 TeXcolorrgb -1 w(Failure)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black(\))p 0 0 0 TeXcolorrgb
45 w(a)p Black -1 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4936 25 92 v Black 0.95 TeXcolorgray
-128 4936 4252 92 v Black 0.95 TeXcolorgray 4124 4936
25 92 v Black 0.95 TeXcolorgray Black -128 4909 a
SDict begin H.S end
-128
4909 a -128 4909 a
SDict begin 11 H.A end
-128 4909 a -128 4909 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-336.2) cvn H.B /DEST pdfmark end
-128 4909
a 0 0 0 TeXcolorrgb 1121 w Fo(deriving)p Black 44 w(\()p
0 0 0 TeXcolorrgb(Monad)p Black -1 w(,)p 0 0 0 TeXcolorrgb
44 w(StateMonad)p Black 44 w([)p 0 0 0 TeXcolorrgb -1
w(tok)p Black(]\))p 0.95 TeXcolorgray -153 4961 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 5120
a FA(The)20 b(deri)n(v)o(ed)f(instance)h(is)h(obtained)d(by)i
(completing)e(the)j(application)d(of)i(the)g(class)i(to)e(the)g(ne)n(w)
g(type:)-128 5179 y
SDict begin H.S end
-128 5179 a -128 5179 a
SDict begin 12 H.A end
-128 5179
a -128 5179 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-337) cvn H.B /DEST pdfmark end
-128 5179 a 0.95 TeXcolorgray -153 5194
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5286 25 92 v Black 0.95
TeXcolorgray -128 5286 4252 92 v Black 0.95 TeXcolorgray
4124 5286 25 92 v Black 0.95 TeXcolorgray Black -128
5258 a
SDict begin H.S end
-128 5258 a -128 5258 a
SDict begin 11 H.A end
-128 5258 a -128 5258
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-337.1) cvn H.B /DEST pdfmark end
-128 5258 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
0 0 0 TeXcolorrgb 44 w(StateMonad)p Black 43 w([)p 0 0 0
TeXcolorrgb(tok)p Black -1 w(])45 b(\()p 0 0 0 TeXcolorrgb(State)p
Black 44 w([)p 0 0 0 TeXcolorrgb -1 w(tok)p Black(])g(\()p
0 0 0 TeXcolorrgb -1 w(Failure)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black(\)\))f(=>)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5377 25 92 v Black 0.95 TeXcolorgray
-128 5377 4252 92 v Black 0.95 TeXcolorgray 4124 5377
25 92 v Black 0.95 TeXcolorgray Black -128 5350 a
SDict begin H.S end
-128
5350 a -128 5350 a
SDict begin 11 H.A end
-128 5350 a -128 5350 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-337.2) cvn H.B /DEST pdfmark end
-128 5350
a 0 0 0 TeXcolorrgb 494 w Fo(StateMonad)p Black 43 w([)p
0 0 0 TeXcolorrgb(tok)p Black -1 w(])h(\()p 0 0 0 TeXcolorrgb(Parser)p
Black 0 0 0 TeXcolorrgb 43 w(tok)p Black 0 0 0 TeXcolorrgb
45 w(m)p Black(\))p 0.95 TeXcolorgray -153 5402 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 5560
a FA(As)33 b(a)g(result)f(of)g(this)g(e)o(xtension,)i(all)e(deri)n(v)o
(ed)e(instances)i(in)h(ne)n(wtype)d(declarations)h(are)h(treated)g
(uniformly)d(\(and)j(implemented)e(just)i(by)-128 5660
y(reusing)20 b(the)h(dictionary)f(for)g(the)h(representation)e(type\),)
h Fq(e)n(xcept)j Ft(Show)d FA(and)h Ft(Read)p FA(,)g(which)f(really)h
(beha)n(v)o(e)e(dif)n(ferently)g(for)i(the)g(ne)n(wtype)f(and)-128
5759 y(its)i(representation.)p Black -128 6084 4252 5
v Black eop end
%%Page: 141 156
TeXDict begin 141 155 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.141) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(141)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.5.4.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.5.4.2)p
Black 93 w(A)h(more)g(precise)d(speci\002cation)-128
376 y FA(Deri)n(v)o(ed)h(instance)h(declarations)f(are)h(constructed)f
(as)i(follo)n(ws.)j(Consider)c(the)g(declaration)e(\(after)i(e)o
(xpansion)e(of)i(an)o(y)f(type)h(synon)o(yms\))-128 444
y
SDict begin H.S end
-128 444 a -128 444 a
SDict begin 12 H.A end
-128 444 a -128 444 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-338) cvn H.B /DEST pdfmark end
-128 444
a 0.95 TeXcolorgray -153 459 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
551 25 92 v Black 0.95 TeXcolorgray -128 551 4252 92
v Black 0.95 TeXcolorgray 4124 551 25 92 v Black 0.95
TeXcolorgray Black -128 523 a
SDict begin H.S end
-128 523 a -128 523 a
SDict begin 11 H.A end
-128
523 a -128 523 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-338.1) cvn H.B /DEST pdfmark end
-128 523 a 0 0 0 TeXcolorrgb 90 w Fo(newtype)p
Black 0 0 0 TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb
44 w(v1)p Black(...)p 0 0 0 TeXcolorrgb(vn)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(T)p Black(')44 b(\()p 0 0 0
TeXcolorrgb(t)p Black 0 0 0 TeXcolorrgb 45 w(vk)p Black
-1 w(+1...)p 0 0 0 TeXcolorrgb(vn)p Black -1 w(\))p 0 0 0
TeXcolorrgb 45 w(deriving)p Black 43 w(\()p 0 0 0 TeXcolorrgb(c1)p
Black(...)p 0 0 0 TeXcolorrgb -1 w(cm)p Black(\))p 0.95
TeXcolorgray -153 575 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 750 a FA(where)p Black -128 966
a(\225)p Black 42 w(The)23 b Ft(ci)h FA(are)g(partial)g(applications)e
(of)i(classes)h(of)e(the)h(form)f Ft(C)49 b(t1'...tj')p
FA(,)23 b(where)h(the)f(arity)h(of)f Ft(C)i FA(is)f(e)o(xactly)f
Ft(j+1)p FA(.)36 b(That)23 b(is,)j Ft(C)e FA(lacks)-57
1065 y(e)o(xactly)19 b(one)h(type)g(ar)o(gument.)p Black
-128 1231 a(\225)p Black 42 w(The)g Ft(k)g FA(is)i(chosen)d(so)h(that)h
Ft(ci)49 b(\(T)h(v1...vk\))19 b FA(is)i(well-kinded.)p
Black -128 1397 a(\225)p Black 42 w(The)f(type)g Ft(t)g
FA(is)h(an)f(arbitrary)f(type.)p Black -128 1563 a(\225)p
Black 42 w(The)h(type)g(v)n(ariables)f Ft(vk+1...vn)g
FA(do)h(not)g(occur)f(in)h Ft(t)p FA(,)g(nor)g(in)g(the)g
Ft(ci)p FA(,)h(and)p Black -128 1730 a(\225)p Black 42
w(None)j(of)g(the)g Ft(ci)h FA(is)g Ft(Read)p FA(,)g
Ft(Show)p FA(,)g Ft(Typeable)p FA(,)g(or)f Ft(Data)p
FA(.)37 b(These)24 b(classes)i(should)d(not)h("look)g(through")e(the)i
(type)g(or)g(its)i(constructor)-5 b(.)-57 1829 y(Y)c(ou)20
b(can)g(still)h(deri)n(v)o(e)e(these)h(classes)i(for)d(a)i(ne)n(wtype,)
d(b)n(ut)j(it)g(happens)d(in)j(the)f(usual)g(w)o(ay)-5
b(,)20 b(not)f(via)i(this)f(ne)n(w)g(mechanism.)-128
2045 y(Then,)g(for)f(each)h Ft(ci)p FA(,)g(the)g(deri)n(v)o(ed)f
(instance)h(declaration)e(is:)-128 2107 y
SDict begin H.S end
-128 2107 a
-128 2107 a
SDict begin 12 H.A end
-128 2107 a -128 2107 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-339) cvn H.B /DEST pdfmark end
-128 2107 a 0.95
TeXcolorgray -153 2128 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2219 25 92 v Black 0.95 TeXcolorgray -128 2219 4252 92
v Black 0.95 TeXcolorgray 4124 2219 25 92 v Black 0.95
TeXcolorgray Black -128 2192 a
SDict begin H.S end
-128 2192 a -128 2192
a
SDict begin 11 H.A end
-128 2192 a -128 2192 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-339.1) cvn H.B /DEST pdfmark end
-128 2192 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(ci)p
Black 0 0 0 TeXcolorrgb 44 w(t)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 44 w(ci)p Black 45 w(\()p 0 0 0 TeXcolorrgb(T)p
Black 0 0 0 TeXcolorrgb 44 w(v1)p Black(...)p 0 0 0 TeXcolorrgb
-1 w(vk)p Black(\))p 0.95 TeXcolorgray -153 2244 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 2419
a FA(As)j(an)g(e)o(xample)d(which)i(does)g Fq(not)h FA(w)o(ork,)f
(consider)-128 2486 y
SDict begin H.S end
-128 2486 a -128 2486 a
SDict begin 12 H.A end
-128 2486
a -128 2486 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-340) cvn H.B /DEST pdfmark end
-128 2486 a 0.95 TeXcolorgray -153 2502
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2593 25 92 v Black 0.95
TeXcolorgray -128 2593 4252 92 v Black 0.95 TeXcolorgray
4124 2593 25 92 v Black 0.95 TeXcolorgray Black -128
2566 a
SDict begin H.S end
-128 2566 a -128 2566 a
SDict begin 11 H.A end
-128 2566 a -128 2566
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-340.1) cvn H.B /DEST pdfmark end
-128 2566 a 0 0 0 TeXcolorrgb 90 w Fo(newtype)p Black
0 0 0 TeXcolorrgb 44 w(NonMonad)p Black 0 0 0 TeXcolorrgb
43 w(m)p Black 0 0 0 TeXcolorrgb 45 w(s)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(NonMonad)p Black 44 w(\()p 0 0 0
TeXcolorrgb(State)p Black 0 0 0 TeXcolorrgb 44 w(s)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 0 0 0 TeXcolorrgb
45 w(s)p Black(\))p 0 0 0 TeXcolorrgb 44 w(deriving)p
Black 0 0 0 TeXcolorrgb 44 w(Monad)p Black 0.95 TeXcolorgray
-153 2618 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2792 a FA(Here)h(we)f(cannot)f(deri)n(v)o(e)g(the)h
(instance)-128 2843 y
SDict begin H.S end
-128 2843 a -128 2843 a
SDict begin 12 H.A end
-128 2843
a -128 2843 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-341) cvn H.B /DEST pdfmark end
-128 2843 a 0.95 TeXcolorgray -153 2875
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2967 25 92 v Black 0.95
TeXcolorgray -128 2967 4252 92 v Black 0.95 TeXcolorgray
4124 2967 25 92 v Black 0.95 TeXcolorgray Black -128
2939 a
SDict begin H.S end
-128 2939 a -128 2939 a
SDict begin 11 H.A end
-128 2939 a -128 2939
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-341.1) cvn H.B /DEST pdfmark end
-128 2939 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
0 0 0 TeXcolorrgb 44 w(Monad)p Black 44 w(\()p 0 0 0
TeXcolorrgb -1 w(State)p Black 0 0 0 TeXcolorrgb 44 w(s)p
Black 0 0 0 TeXcolorrgb 45 w(m)p Black(\))45 b(=>)p 0 0 0
TeXcolorrgb 44 w(Monad)p Black 44 w(\()p 0 0 0 TeXcolorrgb(NonMonad)p
Black 0 0 0 TeXcolorrgb 43 w(m)p Black(\))p 0.95 TeXcolorgray
-153 2991 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3166 a FA(because)21 b(the)g(type)f(v)n(ariable)g
Ft(s)i FA(occurs)e(in)h Ft(State)49 b(s)g(m)p FA(,)22
b(and)e(so)i(cannot)d(be)i("eta-con)m(v)o(erted")d(a)o(w)o(ay)-5
b(.)26 b(It)c(is)g(a)f(good)f(thing)g(that)h(this)h Ft(deriv-)-128
3265 y(ing)d FA(clause)g(is)h(rejected,)e(because)g Ft(NonMonad)49
b(m)19 b FA(is)h(not,)e(in)h(f)o(act,)g(a)h(monad)d(---)h(for)h(the)f
(same)h(reason.)24 b(T)m(ry)19 b(de\002ning)e Ft(>>=)i
FA(with)g(the)g(correct)-128 3365 y(type:)25 b(you)20
b(w)o(on')o(t)f(be)h(able)g(to.)-128 3514 y(Notice)28
b(also)f(that)h(the)f Fq(or)m(der)j FA(of)d(class)h(parameters)e
(becomes)h(important,)g(since)h(we)g(can)f(only)g(deri)n(v)o(e)f
(instances)h(for)g(the)g(last)i(one.)46 b(If)27 b(the)-128
3614 y Ft(StateMonad)19 b FA(class)i(abo)o(v)o(e)e(were)h(instead)g
(de\002ned)f(as)-128 3665 y
SDict begin H.S end
-128 3665 a -128 3665 a
SDict begin 12 H.A end
-128
3665 a -128 3665 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-342) cvn H.B /DEST pdfmark end
-128 3665 a 0.95 TeXcolorgray -153
3697 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3788 25 92 v Black 0.95
TeXcolorgray -128 3788 4252 92 v Black 0.95 TeXcolorgray
4124 3788 25 92 v Black 0.95 TeXcolorgray Black -128
3761 a
SDict begin H.S end
-128 3761 a -128 3761 a
SDict begin 11 H.A end
-128 3761 a -128 3761
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-342.1) cvn H.B /DEST pdfmark end
-128 3761 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(StateMonad)p Black 0 0 0 TeXcolorrgb
43 w(m)p Black 0 0 0 TeXcolorrgb 45 w(s)p Black 45 w(|)p
0 0 0 TeXcolorrgb 44 w(m)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(s)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44
w(...)p 0.95 TeXcolorgray -153 3813 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3988 a FA(then)f(we)h(w)o(ould)f
(not)g(ha)n(v)o(e)f(been)h(able)g(to)h(deri)n(v)o(e)e(an)h(instance)g
(for)g(the)g Ft(Parser)g FA(type)g(abo)o(v)o(e.)23 b(W)-7
b(e)19 b(hypothesise)e(that)h(multi-parameter)e(classes)-128
4087 y(usually)k(ha)n(v)o(e)g(one)f("main")h(parameter)e(for)i(which)g
(deri)n(ving)e(ne)n(w)i(instances)g(is)h(most)g(interesting.)-128
4237 y(Lastly)-5 b(,)30 b(all)f(of)f(this)h(applies)f(only)f(for)h
(classes)h(other)f(than)f Ft(Read)p FA(,)j Ft(Show)p
FA(,)g Ft(Typeable)p FA(,)f(and)f Ft(Data)p FA(,)i(for)d(which)h(the)g
(b)n(uilt-in)g(deri)n(v)n(ation)-128 4336 y(applies)19
b(\(section)g(4.3.3.)k(of)c(the)g(Hask)o(ell)g(Report\).)24
b(\(F)o(or)18 b(the)h(standard)f(classes)i Ft(Eq)p FA(,)g
Ft(Ord)p FA(,)f Ft(Ix)p FA(,)g(and)f Ft(Bounded)h FA(it)h(is)g
(immaterial)e(whether)g(the)-128 4436 y(standard)h(method)g(is)i(used)f
(or)g(the)g(one)g(described)f(here.\))-128 4576 y
SDict begin H.S end
-128
4576 a -128 4576 a
SDict begin 12 H.A end
-128 4576 a -128 4576 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.6) cvn H.B /DEST pdfmark end
-128 4576
a Black 184 x Fs(7.6)p Black 108 w(Class)29 b(and)g(instances)f(dec)n
(larations)-128 4887 y
SDict begin H.S end
-128 4887 a -128 4887 a
SDict begin 12 H.A end
-128 4887
a -128 4887 a
SDict begin [ /View [/XYZ H.V] /Dest (type-class-extensions) cvn H.B /DEST pdfmark end
-128 4887 a -128 4887 a
SDict begin H.S end
-128 4887 a -128
4887 a
SDict begin 12 H.A end
-128 4887 a -128 4887 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.6.1) cvn H.B /DEST pdfmark end
-128 4887 a Black 140
x Fp(7.6.1)p Black 90 w(Class)c(dec)n(larations)-128
5115 y
SDict begin H.S end
-128 5115 a -128 5115 a
SDict begin 12 H.A end
-128 5115 a -128 5115
a
SDict begin [ /View [/XYZ H.V] /Dest (multi-param-type-classes) cvn H.B /DEST pdfmark end
-128 5115 a 115 x FA(This)16 b(section,)g(and)e(the)h(ne)o(xt)g(one,)
g(documents)f(GHC')-5 b(s)16 b(type-class)f(e)o(xtensions.)22
b(There')-5 b(s)15 b(lots)h(of)f(background)c(in)16 b(the)f(paper)p
0 1 0 0 TeXcolorcmyk 3531 5248 a
SDict begin H.S end
3531 5248 a 0 1 0 0
TeXcolorcmyk -18 x FA(T)-7 b(ype)20 b(classes:)26 b(e)o(xploring)18
b(the)i(design)g(space)p 0 1 0 0 TeXcolorcmyk 4877 5174
a
SDict begin H.R end
4877 5174 a 4877 5230 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/Papers/type-class-design-space/) >> /Subtype /Link H.B /ANN pdfmark end
4877 5230 a Black -128 5330
a FA(\(Simon)g(Pe)o(yton)f(Jones,)h(Mark)f(Jones,)h(Erik)g(Meijer\).)
-128 5479 y(All)h(the)g(e)o(xtensions)e(are)h(enabled)f(by)g(the)i
Ft(-fglasgow-exts)d FA(\003ag.)p Black -128 6084 4252
5 v Black eop end
%%Page: 142 157
TeXDict begin 142 156 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.142) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(142)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.1.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.6.1.1)p
Black 73 w(Multi-parameter)e(type)h(c)o(lasses)-128 376
y FA(Multi-parameter)f(type)i(classes)h(are)f(permitted.)k(F)o(or)c(e)o
(xample:)-128 444 y
SDict begin H.S end
-128 444 a -128 444 a
SDict begin 12 H.A end
-128 444 a
-128 444 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-343) cvn H.B /DEST pdfmark end
-128 444 a 0.95 TeXcolorgray -153 459 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 551 25 92 v Black 0.95 TeXcolorgray
-128 551 4252 92 v Black 0.95 TeXcolorgray 4124 551 25
92 v Black 0.95 TeXcolorgray Black -128 523 a
SDict begin H.S end
-128 523
a -128 523 a
SDict begin 11 H.A end
-128 523 a -128 523 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-343.1) cvn H.B /DEST pdfmark end
-128 523 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Collection)p
Black 0 0 0 TeXcolorrgb 43 w(c)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 642 25 92 v
Black 0.95 TeXcolorgray -128 642 4252 92 v Black 0.95
TeXcolorgray 4124 642 25 92 v Black 0.95 TeXcolorgray
Black -128 615 a
SDict begin H.S end
-128 615 a -128 615 a
SDict begin 11 H.A end
-128 615 a -128
615 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-343.2) cvn H.B /DEST pdfmark end
-128 615 a 0 0 0 TeXcolorrgb 180 w Fo(union)p Black
44 w(::)p 0 0 0 TeXcolorrgb 44 w(c)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(c)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(c)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 733 25 92 v
Black 0.95 TeXcolorgray -128 733 4252 92 v Black 0.95
TeXcolorgray 4124 733 25 92 v Black 0.95 TeXcolorgray
Black -128 706 a
SDict begin H.S end
-128 706 a -128 706 a
SDict begin 11 H.A end
-128 706 a -128
706 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-343.3) cvn H.B /DEST pdfmark end
-128 706 a 180 w Fo(...)p 0 0 0 TeXcolorrgb -1
w(etc)p Black(.)p 0.95 TeXcolorgray -153 758 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 924
a
SDict begin H.S end
-128 924 a -128 924 a
SDict begin 12 H.A end
-128 924 a -128 924 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.1.2) cvn H.B /DEST pdfmark end
-128 924
a Black 125 x Fx(7.6.1.2)p Black 73 w(The)f(super)o(c)o(lasses)d(of)k
(a)g(c)o(lass)e(dec)o(laration)-128 1252 y FA(There)26
b(are)h(no)g(restrictions)f(on)g(the)h(conte)o(xt)f(in)h(a)g(class)h
(declaration)d(\(which)h(introduces)f(superclasses\),)j(e)o(xcept)e
(that)h(the)g(class)g(hierarchy)-128 1351 y(must)21 b(be)f(ac)o(yclic.)
k(So)d(these)f(class)h(declarations)e(are)h(OK:)-128
1419 y
SDict begin H.S end
-128 1419 a -128 1419 a
SDict begin 12 H.A end
-128 1419 a -128 1419
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-344) cvn H.B /DEST pdfmark end
-128 1419 a 0.95 TeXcolorgray -153 1434 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1526 25 92 v Black 0.95 TeXcolorgray
-128 1526 4252 92 v Black 0.95 TeXcolorgray 4124 1526
25 92 v Black 0.95 TeXcolorgray Black -128 1498 a
SDict begin H.S end
-128
1498 a -128 1498 a
SDict begin 11 H.A end
-128 1498 a -128 1498 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-344.1) cvn H.B /DEST pdfmark end
-128 1498
a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(Functor)p Black 44 w(\()p 0 0 0 TeXcolorrgb(m)p
Black 0 0 0 TeXcolorrgb 44 w(k)p Black(\))45 b(=>)p 0 0 0
TeXcolorrgb 44 w(FiniteMap)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 44 w(k)p Black 0 0 0
TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1617 25 92 v Black 0.95 TeXcolorgray
-128 1617 4252 92 v Black 0.95 TeXcolorgray 4124 1617
25 92 v Black 0.95 TeXcolorgray Black -128 1590 a
SDict begin H.S end
-128
1590 a -128 1590 a
SDict begin 11 H.A end
-128 1590 a -128 1590 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-344.2) cvn H.B /DEST pdfmark end
-128 1590
a 180 w Fo(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1708 25 92 v Black 0.95 TeXcolorgray -128 1708 4252
92 v Black 0.95 TeXcolorgray 4124 1708 25 92 v Black
0.95 TeXcolorgray Black -128 1681 a
SDict begin H.S end
-128 1681 a -128
1681 a
SDict begin 11 H.A end
-128 1681 a -128 1681 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-344.3) cvn H.B /DEST pdfmark end
-128 1681 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1800 25 92 v Black 0.95
TeXcolorgray -128 1800 4252 92 v Black 0.95 TeXcolorgray
4124 1800 25 92 v Black 0.95 TeXcolorgray Black -128
1772 a
SDict begin H.S end
-128 1772 a -128 1772 a
SDict begin 11 H.A end
-128 1772 a -128 1772
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-344.4) cvn H.B /DEST pdfmark end
-128 1772 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
44 w(\()p 0 0 0 TeXcolorrgb(Monad)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black(,)p 0 0 0 TeXcolorrgb 44 w(Monad)p Black
44 w(\()p 0 0 0 TeXcolorrgb(t)p Black 0 0 0 TeXcolorrgb
45 w(m)p Black(\)\))f(=>)p 0 0 0 TeXcolorrgb 45 w(Transform)p
Black 0 0 0 TeXcolorrgb 43 w(t)p Black 0 0 0 TeXcolorrgb
45 w(m)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1891 25 92
v Black 0.95 TeXcolorgray -128 1891 4252 92 v Black 0.95
TeXcolorgray 4124 1891 25 92 v Black 0.95 TeXcolorgray
Black -128 1864 a
SDict begin H.S end
-128 1864 a -128 1864 a
SDict begin 11 H.A end
-128 1864 a
-128 1864 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-344.5) cvn H.B /DEST pdfmark end
-128 1864 a 0 0 0 TeXcolorrgb 180 w Fo(lift)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(m)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)g(\()p 0 0 0 TeXcolorrgb(t)p
Black 0 0 0 TeXcolorrgb 45 w(m)p Black(\))p 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray -153 1916 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 2090 a
FA(As)21 b(in)e(Hask)o(ell)h(98,)f(The)g(class)i(hierarchy)c(must)j(be)
f(ac)o(yclic.)24 b(Ho)n(we)n(v)o(er)m(,)18 b(the)h(de\002nition)g(of)g
("ac)o(yclic")f(in)m(v)n(olv)o(es)h(only)f(the)i(superclass)f
(relation-)-128 2190 y(ships.)26 b(F)o(or)19 b(e)o(xample,)g(this)i(is)
g(OK:)-128 2258 y
SDict begin H.S end
-128 2258 a -128 2258 a
SDict begin 12 H.A end
-128 2258 a
-128 2258 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-345) cvn H.B /DEST pdfmark end
-128 2258 a 0.95 TeXcolorgray -153 2273 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2364 25 92 v Black 0.95
TeXcolorgray -128 2364 4252 92 v Black 0.95 TeXcolorgray
4124 2364 25 92 v Black 0.95 TeXcolorgray Black -128
2337 a
SDict begin H.S end
-128 2337 a -128 2337 a
SDict begin 11 H.A end
-128 2337 a -128 2337
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-345.1) cvn H.B /DEST pdfmark end
-128 2337 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 44 w({)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2456 25
92 v Black 0.95 TeXcolorgray -128 2456 4252 92 v Black
0.95 TeXcolorgray 4124 2456 25 92 v Black 0.95 TeXcolorgray
Black -128 2428 a
SDict begin H.S end
-128 2428 a -128 2428 a
SDict begin 11 H.A end
-128 2428 a
-128 2428 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-345.2) cvn H.B /DEST pdfmark end
-128 2428 a 0 0 0 TeXcolorrgb 180 w Fo(op)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(D)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black 45 w(=>)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2547 25 92 v Black 0.95
TeXcolorgray -128 2547 4252 92 v Black 0.95 TeXcolorgray
4124 2547 25 92 v Black 0.95 TeXcolorgray Black -128
2519 a
SDict begin H.S end
-128 2519 a -128 2519 a
SDict begin 11 H.A end
-128 2519 a -128 2519
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-345.3) cvn H.B /DEST pdfmark end
-128 2519 a 90 w Fo(})p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2638 25 92 v Black 0.95 TeXcolorgray
-128 2638 4252 92 v Black 0.95 TeXcolorgray 4124 2638
25 92 v Black 0.95 TeXcolorgray Black -128 2611 a
SDict begin H.S end
-128
2611 a -128 2611 a
SDict begin 11 H.A end
-128 2611 a -128 2611 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-345.4) cvn H.B /DEST pdfmark end
-128 2611
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2729
25 92 v Black 0.95 TeXcolorgray -128 2729 4252 92 v Black
0.95 TeXcolorgray 4124 2729 25 92 v Black 0.95 TeXcolorgray
Black -128 2702 a
SDict begin H.S end
-128 2702 a -128 2702 a
SDict begin 11 H.A end
-128 2702 a
-128 2702 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-345.5) cvn H.B /DEST pdfmark end
-128 2702 a 0 0 0 TeXcolorrgb 90 w Fo(class)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(D)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(where)p Black 44 w({)45 b(...)f(})p 0.95 TeXcolorgray
-153 2754 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2929 a FA(Here,)21 b Ft(C)f FA(is)i(a)f(superclass)f(of)g
Ft(D)p FA(,)g(b)n(ut)h(it')-5 b(s)21 b(OK)g(for)f(a)h(class)g
(operation)e Ft(op)h FA(of)g Ft(C)h FA(to)g(mention)e
Ft(D)p FA(.)i(\(It)f(w)o(ould)g(not)g(be)g(OK)h(for)f
Ft(D)g FA(to)h(be)f(a)h(superclass)-128 3028 y(of)f Ft(C)p
FA(.\))-128 3159 y
SDict begin H.S end
-128 3159 a -128 3159 a
SDict begin 12 H.A end
-128 3159
a -128 3159 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.1.3) cvn H.B /DEST pdfmark end
-128 3159 a Black 135 x Fx(7.6.1.3)p Black
73 w(Class)f(method)g(types)-128 3377 y
SDict begin H.S end
-128 3377 a -128
3377 a
SDict begin 12 H.A end
-128 3377 a -128 3377 a
SDict begin [ /View [/XYZ H.V] /Dest (class-method-types) cvn H.B /DEST pdfmark end
-128 3377 a 120 x FA(Hask)o(ell)i(98)f
(prohibits)f(class)i(method)e(types)h(to)g(mention)f(constraints)g(on)h
(the)g(class)i(type)d(v)n(ariable,)g(thus:)-128 3565
y
SDict begin H.S end
-128 3565 a -128 3565 a
SDict begin 12 H.A end
-128 3565 a -128 3565 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-346) cvn H.B /DEST pdfmark end
-128
3565 a 0.95 TeXcolorgray -153 3580 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3671 25 92 v Black 0.95 TeXcolorgray -128 3671 4252
92 v Black 0.95 TeXcolorgray 4124 3671 25 92 v Black
0.95 TeXcolorgray Black -128 3644 a
SDict begin H.S end
-128 3644 a -128
3644 a
SDict begin 11 H.A end
-128 3644 a -128 3644 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-346.1) cvn H.B /DEST pdfmark end
-128 3644 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Seq)p Black
0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3763 25 92
v Black 0.95 TeXcolorgray -128 3763 4252 92 v Black 0.95
TeXcolorgray 4124 3763 25 92 v Black 0.95 TeXcolorgray
Black -128 3735 a
SDict begin H.S end
-128 3735 a -128 3735 a
SDict begin 11 H.A end
-128 3735 a
-128 3735 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-346.2) cvn H.B /DEST pdfmark end
-128 3735 a 0 0 0 TeXcolorrgb 180 w Fo(fromList)p
Black 43 w(::)45 b([)p 0 0 0 TeXcolorrgb(a)p Black -1
w(])g(->)p 0 0 0 TeXcolorrgb 45 w(s)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3854 25 92 v Black 0.95 TeXcolorgray -128 3854 4252
92 v Black 0.95 TeXcolorgray 4124 3854 25 92 v Black
0.95 TeXcolorgray Black -128 3827 a
SDict begin H.S end
-128 3827 a -128
3827 a
SDict begin 11 H.A end
-128 3827 a -128 3827 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-346.3) cvn H.B /DEST pdfmark end
-128 3827 a 0 0 0 TeXcolorrgb
180 w Fo(elem)p Black 223 w(::)p 0 0 0 TeXcolorrgb 45
w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(s)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
-153 3879 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4053 a FA(The)19 b(type)f(of)h Ft(elem)f FA(is)i(ille)o(gal)
e(in)h(Hask)o(ell)h(98,)e(because)g(it)i(contains)e(the)h(constraint)e
Ft(Eq)50 b(a)p FA(,)19 b(constrains)f(only)g(the)h(class)h(type)e(v)n
(ariable)g(\(in)g(this)-128 4153 y(case)j Ft(a)p FA(\).)k(GHC)c(lifts)g
(this)g(restriction)e(\(\003ag)h Ft(-XConstrainedClassMethods)p
FA(\).)-128 4287 y
SDict begin H.S end
-128 4287 a -128 4287 a
SDict begin 12 H.A end
-128 4287
a -128 4287 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.6.2) cvn H.B /DEST pdfmark end
-128 4287 a Black 148 x Fp(7.6.2)p Black
90 w(Functional)j(dependencies)-128 4524 y
SDict begin H.S end
-128 4524
a -128 4524 a
SDict begin 12 H.A end
-128 4524 a -128 4524 a
SDict begin [ /View [/XYZ H.V] /Dest (functional-dependencies) cvn H.B /DEST pdfmark end
-128 4524 a 114
x FA(Functional)17 b(dependencies)e(are)j(implemented)e(as)i(described)
e(by)h(Mark)h(Jones)f(in)h(\223)p 0 1 0 0 TeXcolorcmyk
2328 4656 a
SDict begin H.S end
2328 4656 a 0 1 0 0 TeXcolorcmyk -18 x FA(T)-7
b(ype)20 b(Classes)h(with)g(Functional)e(Dependencies)p
0 1 0 0 TeXcolorcmyk 3792 4582 a
SDict begin H.R end
3792 4582 a 3792 4638
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://citeseer.ist.psu.edu/jones00type.html) >> /Subtype /Link H.B /ANN pdfmark end
3792 4638 a Black FA(\224,)g(Mark)e(P)-9 b(.)-128 4738
y(Jones,)23 b(In)e(Proceedings)g(of)g(the)h(9th)g(European)e(Symposium)
g(on)i(Programming,)d(ESOP)j(2000,)f(Berlin,)h(German)o(y)-5
b(,)20 b(March)i(2000,)e(Springer)n(-)-128 4837 y(V)-9
b(erlag)20 b(LNCS)h(1782,)d(.)-128 4987 y(Functional)h(dependencies)f
(are)i(introduced)e(by)i(a)h(v)o(ertical)e(bar)h(in)g(the)h(syntax)e
(of)h(a)h(class)g(declaration;)d(e.g.)-128 5055 y
SDict begin H.S end
-128
5055 a -128 5055 a
SDict begin 12 H.A end
-128 5055 a -128 5055 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-347) cvn H.B /DEST pdfmark end
-128 5055
a 0.95 TeXcolorgray -153 5070 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5161 25 92 v Black 0.95 TeXcolorgray -128 5161 4252 92
v Black 0.95 TeXcolorgray 4124 5161 25 92 v Black 0.95
TeXcolorgray Black -128 5134 a
SDict begin H.S end
-128 5134 a -128 5134
a
SDict begin 11 H.A end
-128 5134 a -128 5134 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-347.1) cvn H.B /DEST pdfmark end
-128 5134 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Monad)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black(\))44 b(=>)p 0 0 0
TeXcolorrgb 45 w(MonadState)p Black 0 0 0 TeXcolorrgb
43 w(s)p Black 0 0 0 TeXcolorrgb 45 w(m)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(m)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(s)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44
w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5252 25 92 v Black 0.95 TeXcolorgray -128 5252 4252 92
v Black 0.95 TeXcolorgray 4124 5252 25 92 v Black 0.95
TeXcolorgray Black -128 5225 a
SDict begin H.S end
-128 5225 a -128 5225
a
SDict begin 11 H.A end
-128 5225 a -128 5225 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-347.2) cvn H.B /DEST pdfmark end
-128 5225 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5344 25 92 v Black 0.95
TeXcolorgray -128 5344 4252 92 v Black 0.95 TeXcolorgray
4124 5344 25 92 v Black 0.95 TeXcolorgray Black -128
5316 a
SDict begin H.S end
-128 5316 a -128 5316 a
SDict begin 11 H.A end
-128 5316 a -128 5316
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-347.3) cvn H.B /DEST pdfmark end
-128 5316 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0
TeXcolorrgb 45 w(c)p Black 44 w(|)p 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(c)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153 5369
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5543 a FA(There)20 b(should)f(be)h(more)f(documentation,)e(b)n(ut)k
(there)e(isn')o(t)h(\(yet\).)k(Y)-8 b(ell)21 b(if)f(you)g(need)f(it.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 143 158
TeXDict begin 143 157 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.143) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(143)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.2.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.6.2.1)p
Black 73 w(Rules)f(f)o(or)h(functional)e(dependencies)-128
376 y FA(In)25 b(a)g(class)h(declaration,)e(all)h(of)g(the)f(class)i
(type)e(v)n(ariables)g(must)h(be)g(reachable)e(\(in)i(the)g(sense)g
(mentioned)e(in)i(Section)p 1 0 0 TeXcolorrgb 3463 377
a
SDict begin H.S end
3463 377 a 1 0 0 TeXcolorrgb -1 x FA(7.8.1)p 1 0 0
TeXcolorrgb 3629 320 a
SDict begin H.R end
3629 320 a 3629 376 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.1) cvn H.B /ANN pdfmark end
3629 376
a Black FA(\))g(from)f(the)g(free)-128 476 y(v)n(ariables)c(of)g(each)g
(method)e(type.)25 b(F)o(or)20 b(e)o(xample:)-128 544
y
SDict begin H.S end
-128 544 a -128 544 a
SDict begin 12 H.A end
-128 544 a -128 544 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-348) cvn H.B /DEST pdfmark end
-128 544
a 0.95 TeXcolorgray -153 559 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
650 25 92 v Black 0.95 TeXcolorgray -128 650 4252 92
v Black 0.95 TeXcolorgray 4124 650 25 92 v Black 0.95
TeXcolorgray Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128
623 a -128 623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-348.1) cvn H.B /DEST pdfmark end
-128 623 a 0 0 0 TeXcolorrgb 90 w Fo(class)p
Black 0 0 0 TeXcolorrgb 44 w(Coll)p Black 0 0 0 TeXcolorrgb
44 w(s)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 742 25 92 v Black 0.95 TeXcolorgray
-128 742 4252 92 v Black 0.95 TeXcolorgray 4124 742 25
92 v Black 0.95 TeXcolorgray Black -128 714 a
SDict begin H.S end
-128 714
a -128 714 a
SDict begin 11 H.A end
-128 714 a -128 714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-348.2) cvn H.B /DEST pdfmark end
-128 714 a 0 0 0 TeXcolorrgb
180 w Fo(empty)p Black 89 w(::)p 0 0 0 TeXcolorrgb 44
w(s)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 833 25 92 v Black 0.95 TeXcolorgray -128 833 4252
92 v Black 0.95 TeXcolorgray 4124 833 25 92 v Black 0.95
TeXcolorgray Black -128 805 a
SDict begin H.S end
-128 805 a -128 805 a
SDict begin 11 H.A end
-128
805 a -128 805 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-348.3) cvn H.B /DEST pdfmark end
-128 805 a 0 0 0 TeXcolorrgb 180 w Fo(insert)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(s)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(s)p Black 0.95 TeXcolorgray -153 858 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1032 a FA(is)i(not)d(OK,)i
(because)e(the)i(type)e(of)h Ft(empty)g FA(doesn')o(t)f(mention)g
Ft(a)p FA(.)25 b(Functional)19 b(dependencies)f(can)i(mak)o(e)g(the)g
(type)f(v)n(ariable)h(reachable:)-128 1100 y
SDict begin H.S end
-128 1100
a -128 1100 a
SDict begin 12 H.A end
-128 1100 a -128 1100 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-349) cvn H.B /DEST pdfmark end
-128 1100 a 0.95
TeXcolorgray -153 1115 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1206 25 92 v Black 0.95 TeXcolorgray -128 1206 4252 92
v Black 0.95 TeXcolorgray 4124 1206 25 92 v Black 0.95
TeXcolorgray Black -128 1179 a
SDict begin H.S end
-128 1179 a -128 1179
a
SDict begin 11 H.A end
-128 1179 a -128 1179 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-349.1) cvn H.B /DEST pdfmark end
-128 1179 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Coll)p Black
0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 45 w(|)p 0 0 0 TeXcolorrgb 44 w(s)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1298 25 92 v Black 0.95 TeXcolorgray -128 1298 4252
92 v Black 0.95 TeXcolorgray 4124 1298 25 92 v Black
0.95 TeXcolorgray Black -128 1270 a
SDict begin H.S end
-128 1270 a -128
1270 a
SDict begin 11 H.A end
-128 1270 a -128 1270 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-349.2) cvn H.B /DEST pdfmark end
-128 1270 a 0 0 0 TeXcolorrgb
180 w Fo(empty)p Black 89 w(::)p 0 0 0 TeXcolorrgb 44
w(s)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1389 25 92 v Black 0.95 TeXcolorgray -128 1389 4252
92 v Black 0.95 TeXcolorgray 4124 1389 25 92 v Black
0.95 TeXcolorgray Black -128 1362 a
SDict begin H.S end
-128 1362 a -128
1362 a
SDict begin 11 H.A end
-128 1362 a -128 1362 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-349.3) cvn H.B /DEST pdfmark end
-128 1362 a 0 0 0 TeXcolorrgb
180 w Fo(insert)p Black 44 w(::)p 0 0 0 TeXcolorrgb 44
w(s)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(s)p Black 0.95 TeXcolorgray
-153 1414 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1588 a FA(Alternati)n(v)o(ely)f Ft(Coll)h
FA(might)g(be)g(re)n(written)-128 1656 y
SDict begin H.S end
-128 1656 a
-128 1656 a
SDict begin 12 H.A end
-128 1656 a -128 1656 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-350) cvn H.B /DEST pdfmark end
-128 1656 a 0.95
TeXcolorgray -153 1671 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1763 25 92 v Black 0.95 TeXcolorgray -128 1763 4252 92
v Black 0.95 TeXcolorgray 4124 1763 25 92 v Black 0.95
TeXcolorgray Black -128 1735 a
SDict begin H.S end
-128 1735 a -128 1735
a
SDict begin 11 H.A end
-128 1735 a -128 1735 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-350.1) cvn H.B /DEST pdfmark end
-128 1735 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Coll)p Black
0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1854 25 92
v Black 0.95 TeXcolorgray -128 1854 4252 92 v Black 0.95
TeXcolorgray 4124 1854 25 92 v Black 0.95 TeXcolorgray
Black -128 1827 a
SDict begin H.S end
-128 1827 a -128 1827 a
SDict begin 11 H.A end
-128 1827 a
-128 1827 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-350.2) cvn H.B /DEST pdfmark end
-128 1827 a 0 0 0 TeXcolorrgb 180 w Fo(empty)p
Black 89 w(::)p 0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1945 25 92 v Black 0.95 TeXcolorgray
-128 1945 4252 92 v Black 0.95 TeXcolorgray 4124 1945
25 92 v Black 0.95 TeXcolorgray Black -128 1918 a
SDict begin H.S end
-128
1918 a -128 1918 a
SDict begin 11 H.A end
-128 1918 a -128 1918 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-350.3) cvn H.B /DEST pdfmark end
-128 1918
a 0 0 0 TeXcolorrgb 180 w Fo(insert)p Black 44 w(::)p
0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0.95 TeXcolorgray -153 1970 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 2145 a
FA(which)h(mak)o(es)g(the)h(connection)d(between)h(the)h(type)g(of)g(a)
h(collection)e(of)h Ft(a)p FA(')-5 b(s)22 b(\(namely)e
Ft(\(s)49 b(a\))p FA(\))21 b(and)g(the)g(element)g(type)g
Ft(a)p FA(.)28 b(Occasionally)20 b(this)-128 2244 y(really)g(doesn')o
(t)f(w)o(ork,)g(in)i(which)e(case)i(you)e(can)h(split)h(the)f(class)h
(lik)o(e)g(this:)-128 2312 y
SDict begin H.S end
-128 2312 a -128 2312 a
SDict begin 12 H.A end
-128 2312 a -128 2312 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-351) cvn H.B /DEST pdfmark end
-128 2312 a 0.95 TeXcolorgray
-153 2327 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2419 25 92
v Black 0.95 TeXcolorgray -128 2419 4252 92 v Black 0.95
TeXcolorgray 4124 2419 25 92 v Black 0.95 TeXcolorgray
Black -128 2391 a
SDict begin H.S end
-128 2391 a -128 2391 a
SDict begin 11 H.A end
-128 2391 a
-128 2391 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-351.1) cvn H.B /DEST pdfmark end
-128 2391 a 0 0 0 TeXcolorrgb 90 w Fo(class)p
Black 0 0 0 TeXcolorrgb 44 w(CollE)p Black 0 0 0 TeXcolorrgb
44 w(s)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2510 25 92
v Black 0.95 TeXcolorgray -128 2510 4252 92 v Black 0.95
TeXcolorgray 4124 2510 25 92 v Black 0.95 TeXcolorgray
Black -128 2483 a
SDict begin H.S end
-128 2483 a -128 2483 a
SDict begin 11 H.A end
-128 2483 a
-128 2483 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-351.2) cvn H.B /DEST pdfmark end
-128 2483 a 0 0 0 TeXcolorrgb 180 w Fo(empty)p
Black 89 w(::)p 0 0 0 TeXcolorrgb 44 w(s)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2601 25 92
v Black 0.95 TeXcolorgray -128 2601 4252 92 v Black 0.95
TeXcolorgray 4124 2601 25 92 v Black 0.95 TeXcolorgray
Black -128 2574 a
SDict begin H.S end
-128 2574 a -128 2574 a
SDict begin 11 H.A end
-128 2574 a
-128 2574 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-351.3) cvn H.B /DEST pdfmark end
-128 2574 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2693 25 92 v Black 0.95 TeXcolorgray
-128 2693 4252 92 v Black 0.95 TeXcolorgray 4124 2693
25 92 v Black 0.95 TeXcolorgray Black -128 2665 a
SDict begin H.S end
-128
2665 a -128 2665 a
SDict begin 11 H.A end
-128 2665 a -128 2665 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-351.4) cvn H.B /DEST pdfmark end
-128 2665
a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(CollE)p Black 0 0 0 TeXcolorrgb 44 w(s)p Black 45
w(=>)p 0 0 0 TeXcolorrgb 44 w(Coll)p Black 0 0 0 TeXcolorrgb
44 w(s)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2784 25 92 v Black 0.95 TeXcolorgray
-128 2784 4252 92 v Black 0.95 TeXcolorgray 4124 2784
25 92 v Black 0.95 TeXcolorgray Black -128 2756 a
SDict begin H.S end
-128
2756 a -128 2756 a
SDict begin 11 H.A end
-128 2756 a -128 2756 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-351.5) cvn H.B /DEST pdfmark end
-128 2756
a 0 0 0 TeXcolorrgb 180 w Fo(insert)p Black 44 w(::)p
0 0 0 TeXcolorrgb 44 w(s)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(s)p Black
0.95 TeXcolorgray -153 2809 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2975 a
SDict begin H.S end
-128 2975 a -128 2975 a
SDict begin 12 H.A end
-128 2975 a -128 2975 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.2.2) cvn H.B /DEST pdfmark end
-128 2975 a Black 124 x Fx(7.6.2.2)p
Black 73 w(Bac)o(kgr)o(ound)16 b(on)k(functional)e(dependencies)-128
3302 y FA(The)i(follo)n(wing)f(description)g(of)h(the)g(moti)n(v)n
(ation)e(and)i(use)g(of)g(functional)f(dependencies)f(is)j(tak)o(en)f
(from)f(the)h(Hugs)g(user)g(manual,)f(reproduced)-128
3402 y(here)h(\(with)g(minor)f(changes\))g(by)h(kind)f(permission)g(of)
h(Mark)g(Jones.)-128 3551 y(Consider)g(the)g(follo)n(wing)f(class,)i
(intended)d(as)j(part)f(of)g(a)h(library)e(for)g(collection)g(types:)
-128 3619 y
SDict begin H.S end
-128 3619 a -128 3619 a
SDict begin 12 H.A end
-128 3619 a -128
3619 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-352) cvn H.B /DEST pdfmark end
-128 3619 a 0.95 TeXcolorgray -153 3634 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3726 25 92 v Black 0.95 TeXcolorgray
-128 3726 4252 92 v Black 0.95 TeXcolorgray 4124 3726
25 92 v Black 0.95 TeXcolorgray Black -128 3698 a
SDict begin H.S end
-128
3698 a -128 3698 a
SDict begin 11 H.A end
-128 3698 a -128 3698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-352.1) cvn H.B /DEST pdfmark end
-128 3698
a 0 0 0 TeXcolorrgb 135 w Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(Collects)p Black 0 0 0 TeXcolorrgb 43 w(e)p Black
0 0 0 TeXcolorrgb 45 w(ce)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3817 25 92 v Black 0.95 TeXcolorgray -128 3817 4252
92 v Black 0.95 TeXcolorgray 4124 3817 25 92 v Black
0.95 TeXcolorgray Black -128 3790 a
SDict begin H.S end
-128 3790 a -128
3790 a
SDict begin 11 H.A end
-128 3790 a -128 3790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-352.2) cvn H.B /DEST pdfmark end
-128 3790 a 0 0 0 TeXcolorrgb
314 w Fo(empty)p Black 89 w(::)p 0 0 0 TeXcolorrgb 45
w(ce)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3908 25 92 v Black 0.95 TeXcolorgray -128 3908 4252
92 v Black 0.95 TeXcolorgray 4124 3908 25 92 v Black
0.95 TeXcolorgray Black -128 3881 a
SDict begin H.S end
-128 3881 a -128
3881 a
SDict begin 11 H.A end
-128 3881 a -128 3881 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-352.3) cvn H.B /DEST pdfmark end
-128 3881 a 0 0 0 TeXcolorrgb
314 w Fo(insert)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45
w(e)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(ce)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(ce)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4000 25 92 v Black 0.95
TeXcolorgray -128 4000 4252 92 v Black 0.95 TeXcolorgray
4124 4000 25 92 v Black 0.95 TeXcolorgray Black -128
3972 a
SDict begin H.S end
-128 3972 a -128 3972 a
SDict begin 11 H.A end
-128 3972 a -128 3972
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-352.4) cvn H.B /DEST pdfmark end
-128 3972 a 0 0 0 TeXcolorrgb 314 w Fo(member)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(ce)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(Bool)p Black 0.95 TeXcolorgray -153 4025 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 4199
a FA(The)i(type)f(v)n(ariable)f(e)i(used)f(here)g(represents)f(the)i
(element)f(type,)f(while)i(ce)g(is)g(the)f(type)g(of)h(the)f(container)
f(itself.)26 b(W)m(ithin)21 b(this)f(frame)n(w)o(ork,)f(we)-128
4299 y(might)f(w)o(ant)h(to)g(de\002ne)f(instances)g(of)h(this)g(class)
g(for)f(lists)i(or)f(characteristic)e(functions)g(\(both)h(of)g(which)g
(can)h(be)f(used)h(to)f(represent)g(collections)-128
4398 y(of)26 b(an)o(y)f(equality)f(type\),)i(bit)g(sets)h(\(which)d
(can)i(be)f(used)h(to)f(represent)g(collections)g(of)g(characters\),)g
(or)h(hash)f(tables)h(\(which)f(can)g(be)g(used)h(to)-128
4498 y(represent)19 b(an)o(y)h(collection)f(whose)g(elements)h(ha)n(v)o
(e)g(a)g(hash)g(function\).)j(Omitting)c(standard)g(implementation)f
(details,)i(this)h(w)o(ould)e(lead)h(to)g(the)-128 4597
y(follo)n(wing)f(declarations:)-128 4665 y
SDict begin H.S end
-128 4665
a -128 4665 a
SDict begin 12 H.A end
-128 4665 a -128 4665 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-353) cvn H.B /DEST pdfmark end
-128 4665 a 0.95
TeXcolorgray -153 4680 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4772 25 92 v Black 0.95 TeXcolorgray -128 4772 4252 92
v Black 0.95 TeXcolorgray 4124 4772 25 92 v Black 0.95
TeXcolorgray Black -128 4744 a
SDict begin H.S end
-128 4744 a -128 4744
a
SDict begin 11 H.A end
-128 4744 a -128 4744 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-353.1) cvn H.B /DEST pdfmark end
-128 4744 a 0 0 0 TeXcolorrgb
135 w Fo(instance)p Black 0 0 0 TeXcolorrgb 43 w(Eq)p
Black 0 0 0 TeXcolorrgb 45 w(e)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 44 w(Collects)p Black 0 0 0 TeXcolorrgb 44
w(e)p Black 44 w([)p 0 0 0 TeXcolorrgb(e)p Black(])p
0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4863 25 92
v Black 0.95 TeXcolorgray -128 4863 4252 92 v Black 0.95
TeXcolorgray 4124 4863 25 92 v Black 0.95 TeXcolorgray
Black -128 4836 a
SDict begin H.S end
-128 4836 a -128 4836 a
SDict begin 11 H.A end
-128 4836 a
-128 4836 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-353.2) cvn H.B /DEST pdfmark end
-128 4836 a 0 0 0 TeXcolorrgb 135 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 43 w(Eq)p Black 0 0 0 TeXcolorrgb
45 w(e)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(Collects)p
Black 0 0 0 TeXcolorrgb 44 w(e)p Black 44 w(\()p 0 0 0
TeXcolorrgb(e)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44
w(Bool)p Black(\))p 0 0 0 TeXcolorrgb 44 w(where)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4954 25 92 v Black 0.95 TeXcolorgray -128 4954 4252
92 v Black 0.95 TeXcolorgray 4124 4954 25 92 v Black
0.95 TeXcolorgray Black -128 4927 a
SDict begin H.S end
-128 4927 a -128
4927 a
SDict begin 11 H.A end
-128 4927 a -128 4927 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-353.3) cvn H.B /DEST pdfmark end
-128 4927 a 0 0 0 TeXcolorrgb
135 w Fo(instance)p Black 0 0 0 TeXcolorrgb 43 w(Collects)p
Black 0 0 0 TeXcolorrgb 44 w(Char)p Black 0 0 0 TeXcolorrgb
44 w(BitSet)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5046 25 92 v Black 0.95 TeXcolorgray -128 5046 4252
92 v Black 0.95 TeXcolorgray 4124 5046 25 92 v Black
0.95 TeXcolorgray Black -128 5018 a
SDict begin H.S end
-128 5018 a -128
5018 a
SDict begin 11 H.A end
-128 5018 a -128 5018 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-353.4) cvn H.B /DEST pdfmark end
-128 5018 a 0 0 0 TeXcolorrgb
135 w Fo(instance)p Black 43 w(\()p 0 0 0 TeXcolorrgb(Hashable)p
Black 0 0 0 TeXcolorrgb 44 w(e)p Black(,)p 0 0 0 TeXcolorrgb
44 w(Collects)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 44 w(ce)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5137 25 92 v Black 0.95
TeXcolorgray -128 5137 4252 92 v Black 0.95 TeXcolorgray
4124 5137 25 92 v Black 0.95 TeXcolorgray Black -128
5110 a
SDict begin H.S end
-128 5110 a -128 5110 a
SDict begin 11 H.A end
-128 5110 a -128 5110
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-353.5) cvn H.B /DEST pdfmark end
-128 5110 a 628 w Fo(=>)p 0 0 0 TeXcolorrgb 45 w(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(e)p Black 45 w(\()p 0 0 0
TeXcolorrgb(Array)p Black 0 0 0 TeXcolorrgb 44 w(Int)p
Black 0 0 0 TeXcolorrgb 44 w(ce)p Black(\))p 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153
5162 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 5336 a FA(All)h(this)g(looks)e(quite)h(promising;)e(we)j(ha)n(v)o
(e)e(a)h(class)h(and)f(a)g(range)f(of)h(interesting)f(implementations.)
k(Unfortunately)-5 b(,)16 b(there)j(are)f(some)h(serious)-128
5436 y(problems)g(with)i(the)f(class)h(declaration.)i(First,)e(the)f
(empty)g(function)e(has)i(an)h(ambiguous)d(type:)-128
5504 y
SDict begin H.S end
-128 5504 a -128 5504 a
SDict begin 12 H.A end
-128 5504 a -128 5504
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-354) cvn H.B /DEST pdfmark end
-128 5504 a 0.95 TeXcolorgray -153 5519 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5610 25 92 v Black 0.95 TeXcolorgray
-128 5610 4252 92 v Black 0.95 TeXcolorgray 4124 5610
25 92 v Black 0.95 TeXcolorgray Black -128 5583 a
SDict begin H.S end
-128
5583 a -128 5583 a
SDict begin 11 H.A end
-128 5583 a -128 5583 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-354.1) cvn H.B /DEST pdfmark end
-128 5583
a 0 0 0 TeXcolorrgb 135 w Fo(empty)p Black 44 w(::)p
0 0 0 TeXcolorrgb 44 w(Collects)p Black 0 0 0 TeXcolorrgb
44 w(e)p Black 0 0 0 TeXcolorrgb 45 w(ce)p Black 44 w(=>)p
0 0 0 TeXcolorrgb 45 w(ce)p Black 0.95 TeXcolorgray -153
5635 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 6084 4252 5 v Black eop end
%%Page: 144 159
TeXDict begin 144 158 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.144) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(144)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(By)28 b("ambiguous")c(we)k
(mean)e(that)h(there)g(is)h(a)f(type)f(v)n(ariable)g(e)i(that)f
(appears)f(on)g(the)h(left)g(of)g(the)g Ft(=>)g FA(symbol,)h(b)n(ut)f
(not)f(on)h(the)g(right.)44 b(The)-128 273 y(problem)24
b(with)h(this)h(is)g(that,)h(according)c(to)i(the)h(theoretical)e
(foundations)f(of)i(Hask)o(ell)g(o)o(v)o(erloading,)e(we)j(cannot)e
(guarantee)g(a)h(well-de\002ned)-128 372 y(semantics)c(for)e(an)o(y)h
(term)g(with)g(an)g(ambiguous)e(type.)-128 522 y(W)-7
b(e)20 b(can)e(sidestep)h(this)g(speci\002c)f(problem)f(by)h(remo)o
(ving)e(the)j(empty)e(member)g(from)h(the)g(class)i(declaration.)i(Ho)n
(we)n(v)o(er)m(,)17 b(although)g(the)h(remain-)-128 622
y(ing)g(members,)e(insert)i(and)f(member)m(,)f(do)h(not)h(ha)n(v)o(e)f
(ambiguous)e(types,)j(we)g(still)h(run)d(into)i(problems)e(when)h(we)h
(try)f(to)h(use)g(them.)23 b(F)o(or)18 b(e)o(xample,)-128
721 y(consider)h(the)i(follo)n(wing)d(tw)o(o)j(functions:)-128
789 y
SDict begin H.S end
-128 789 a -128 789 a
SDict begin 12 H.A end
-128 789 a -128 789 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-355) cvn H.B /DEST pdfmark end
-128
789 a 0.95 TeXcolorgray -153 804 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 895 25 92 v Black 0.95 TeXcolorgray -128 895 4252
92 v Black 0.95 TeXcolorgray 4124 895 25 92 v Black 0.95
TeXcolorgray Black -128 868 a
SDict begin H.S end
-128 868 a -128 868 a
SDict begin 11 H.A end
-128
868 a -128 868 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-355.1) cvn H.B /DEST pdfmark end
-128 868 a 0 0 0 TeXcolorrgb 135 w Fo(f)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(insert)p
Black 0 0 0 TeXcolorrgb 43 w(x)p Black 45 w(.)p 0 0 0
TeXcolorrgb 45 w(insert)p Black 0 0 0 TeXcolorrgb 44
w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 987 25 92 v Black 0.95 TeXcolorgray -128 987 4252
92 v Black 0.95 TeXcolorgray 4124 987 25 92 v Black 0.95
TeXcolorgray Black -128 959 a
SDict begin H.S end
-128 959 a -128 959 a
SDict begin 11 H.A end
-128
959 a -128 959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-355.2) cvn H.B /DEST pdfmark end
-128 959 a 0 0 0 TeXcolorrgb 135 w Fo(g)p
Black 224 w(=)p 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0
TeXcolorrgb 44 w(True)p Black 44 w(')p 0 0 0 TeXcolorrgb(a)p
Black(')p 0.95 TeXcolorgray -153 1012 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1186 a FA(for)f(which)g(GHC)h
(infers)e(the)i(follo)n(wing)d(types:)-128 1254 y
SDict begin H.S end
-128
1254 a -128 1254 a
SDict begin 12 H.A end
-128 1254 a -128 1254 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-356) cvn H.B /DEST pdfmark end
-128 1254
a 0.95 TeXcolorgray -153 1269 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1360 25 92 v Black 0.95 TeXcolorgray -128 1360 4252 92
v Black 0.95 TeXcolorgray 4124 1360 25 92 v Black 0.95
TeXcolorgray Black -128 1333 a
SDict begin H.S end
-128 1333 a -128 1333
a
SDict begin 11 H.A end
-128 1333 a -128 1333 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-356.1) cvn H.B /DEST pdfmark end
-128 1333 a 0 0 0 TeXcolorrgb
135 w Fo(f)p Black 45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(b)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(c)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1452 25 92 v Black 0.95 TeXcolorgray -128 1452 4252
92 v Black 0.95 TeXcolorgray 4124 1452 25 92 v Black
0.95 TeXcolorgray Black -128 1424 a
SDict begin H.S end
-128 1424 a -128
1424 a
SDict begin 11 H.A end
-128 1424 a -128 1424 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-356.2) cvn H.B /DEST pdfmark end
-128 1424 a 0 0 0 TeXcolorrgb
135 w Fo(g)p Black 45 w(::)g(\()p 0 0 0 TeXcolorrgb(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(Bool)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(Collects)p
Black 0 0 0 TeXcolorrgb 44 w(Char)p Black 0 0 0 TeXcolorrgb
44 w(c)p Black(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(c)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(c)p Black 0.95 TeXcolorgray
-153 1477 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1651 a FA(Notice)21 b(that)g(the)f(type)h(for)f(f)g(allo)n
(ws)h(the)g(tw)o(o)g(parameters)e(x)i(and)f(y)h(to)g(be)f(assigned)g
(dif)n(ferent)f(types,)h(e)n(v)o(en)g(though)f(it)i(attempts)g(to)g
(insert)f(each)-128 1751 y(of)25 b(the)f(tw)o(o)h(v)n(alues,)g(one)f
(after)g(the)g(other)m(,)g(into)h(the)f(same)h(collection.)36
b(If)25 b(we')l(re)f(trying)f(to)i(model)e(collections)h(that)g
(contain)g(only)g(one)f(type)-128 1850 y(of)h(v)n(alue,)f(then)h(this)g
(is)g(clearly)f(an)h(inaccurate)e(type.)35 b(W)-7 b(orse)24
b(still,)i(the)d(de\002nition)g(for)g(g)h(is)g(accepted,)g(without)e
(causing)h(a)h(type)g(error)-5 b(.)34 b(As)25 b(a)-128
1950 y(result,)c(the)g(error)f(in)h(this)g(code)f(will)i(not)e(be)h
(\003agged)f(at)h(the)g(point)f(where)g(it)h(appears.)26
b(Instead,)20 b(it)i(will)f(sho)n(w)g(up)f(only)g(when)g(we)i(try)e(to)
h(use)g(g,)-128 2049 y(which)f(might)g(e)n(v)o(en)f(be)h(in)g(a)h(dif)n
(ferent)d(module.)-128 2184 y
SDict begin H.S end
-128 2184 a -128 2184 a
SDict begin 12 H.A end
-128 2184 a -128 2184 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.6.2.2.1) cvn H.B /DEST pdfmark end
-128 2184 a Black 131 x Fx(7.6.2.2.1)p
Black 72 w(An)i(attempt)g(to)g(use)g(constructor)e(c)o(lasses)-128
2500 y FA(F)o(aced)28 b(with)g(the)g(problems)e(described)h(abo)o(v)o
(e,)g(some)h(Hask)o(ell)g(programmers)d(might)j(be)f(tempted)g(to)h
(use)g(something)f(lik)o(e)h(the)g(follo)n(wing)-128
2600 y(v)o(ersion)19 b(of)h(the)g(class)i(declaration:)-128
2651 y
SDict begin H.S end
-128 2651 a -128 2651 a
SDict begin 12 H.A end
-128 2651 a -128 2651
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-357) cvn H.B /DEST pdfmark end
-128 2651 a 0.95 TeXcolorgray -153 2683 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2774 25 92 v Black 0.95 TeXcolorgray
-128 2774 4252 92 v Black 0.95 TeXcolorgray 4124 2774
25 92 v Black 0.95 TeXcolorgray Black -128 2747 a
SDict begin H.S end
-128
2747 a -128 2747 a
SDict begin 11 H.A end
-128 2747 a -128 2747 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-357.1) cvn H.B /DEST pdfmark end
-128 2747
a 0 0 0 TeXcolorrgb 135 w Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(Collects)p Black 0 0 0 TeXcolorrgb 43 w(e)p Black
0 0 0 TeXcolorrgb 45 w(c)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2866 25 92 v Black 0.95 TeXcolorgray -128 2866 4252
92 v Black 0.95 TeXcolorgray 4124 2866 25 92 v Black
0.95 TeXcolorgray Black -128 2838 a
SDict begin H.S end
-128 2838 a -128
2838 a
SDict begin 11 H.A end
-128 2838 a -128 2838 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-357.2) cvn H.B /DEST pdfmark end
-128 2838 a 0 0 0 TeXcolorrgb
269 w Fo(empty)p Black 89 w(::)p 0 0 0 TeXcolorrgb 45
w(c)p Black 0 0 0 TeXcolorrgb 44 w(e)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2957 25 92 v Black 0.95
TeXcolorgray -128 2957 4252 92 v Black 0.95 TeXcolorgray
4124 2957 25 92 v Black 0.95 TeXcolorgray Black -128
2929 a
SDict begin H.S end
-128 2929 a -128 2929 a
SDict begin 11 H.A end
-128 2929 a -128 2929
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-357.3) cvn H.B /DEST pdfmark end
-128 2929 a 0 0 0 TeXcolorrgb 269 w Fo(insert)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(c)p Black 0 0 0 TeXcolorrgb 45
w(e)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(c)p Black
0 0 0 TeXcolorrgb 44 w(e)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3048 25 92 v Black 0.95 TeXcolorgray
-128 3048 4252 92 v Black 0.95 TeXcolorgray 4124 3048
25 92 v Black 0.95 TeXcolorgray Black -128 3021 a
SDict begin H.S end
-128
3021 a -128 3021 a
SDict begin 11 H.A end
-128 3021 a -128 3021 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-357.4) cvn H.B /DEST pdfmark end
-128 3021
a 0 0 0 TeXcolorrgb 269 w Fo(member)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(c)p Black 0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
-153 3073 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3247 a FA(The)c(k)o(e)o(y)f(dif)n(ference)e(here)i(is)i
(that)f(we)g(abstract)f(o)o(v)o(er)f(the)i(type)f(constructor)f(c)i
(that)f(is)i(used)e(to)h(form)f(the)g(collection)g(type)g(c)h(e,)g(and)
f(not)h(o)o(v)o(er)e(that)-128 3347 y(collection)k(type)g(itself,)h
(represented)e(by)h(ce)h(in)g(the)f(original)g(class)h(declaration.)k
(This)20 b(a)n(v)n(oids)h(the)g(immediate)e(problems)g(that)i(we)g
(mentioned)-128 3447 y(abo)o(v)o(e:)j(empty)19 b(has)i(type)e
Ft(Collects)49 b(e)g(c)h(=>)f(c)h(e)p FA(,)20 b(which)g(is)h(not)f
(ambiguous.)-128 3596 y(The)g(function)f(f)h(from)f(the)i(pre)n(vious)d
(section)i(has)g(a)h(more)e(accurate)h(type:)-128 3664
y
SDict begin H.S end
-128 3664 a -128 3664 a
SDict begin 12 H.A end
-128 3664 a -128 3664 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-358) cvn H.B /DEST pdfmark end
-128
3664 a 0.95 TeXcolorgray -153 3679 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3770 25 92 v Black 0.95 TeXcolorgray -128 3770 4252
92 v Black 0.95 TeXcolorgray 4124 3770 25 92 v Black
0.95 TeXcolorgray Black -128 3743 a
SDict begin H.S end
-128 3743 a -128
3743 a
SDict begin 11 H.A end
-128 3743 a -128 3743 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-358.1) cvn H.B /DEST pdfmark end
-128 3743 a 0 0 0 TeXcolorrgb
135 w Fo(f)p Black 45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(e)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(\))h(=>)p 0 0 0 TeXcolorrgb 44 w(e)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(e)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(c)p Black 0 0 0 TeXcolorrgb 45
w(e)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(c)p Black
0 0 0 TeXcolorrgb 45 w(e)p Black 0.95 TeXcolorgray -153
3795 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3970 a FA(The)19 b(function)f(g)h(from)g(the)g(pre)n(vious)f
(section)h(is)h(no)n(w)f(rejected)f(with)i(a)f(type)g(error)f(as)i(we)g
(w)o(ould)f(hope)f(because)g(the)i(type)f(of)g(f)g(does)g(not)g(allo)n
(w)-128 4069 y(the)k(tw)o(o)f(ar)o(guments)e(to)i(ha)n(v)o(e)g(dif)n
(ferent)e(types.)31 b(This,)23 b(then,)f(is)h(an)f(e)o(xample)e(of)i(a)
h(multiple)e(parameter)g(class)i(that)f(does)g(actually)g(w)o(ork)f
(quite)-128 4169 y(well)28 b(in)f(practice,)h(without)e(ambiguity)f
(problems.)43 b(There)27 b(is,)i(ho)n(we)n(v)o(er)m(,)d(a)h(catch.)45
b(This)27 b(v)o(ersion)f(of)g(the)h(Collects)h(class)f(is)h(no)n(where)
e(near)-128 4269 y(as)f(general)d(as)j(the)f(original)e(class)j(seemed)
e(to)h(be:)32 b(only)23 b(one)g(of)h(the)f(four)g(instances)h(for)f
Ft(Collects)f FA(gi)n(v)o(en)h(abo)o(v)o(e)f(can)h(be)h(used)g(with)f
(this)-128 4368 y(v)o(ersion)18 b(of)g(Collects)i(because)d(only)h(one)
g(of)h(them---the)d(instance)j(for)f(lists---has)g(a)h(collection)f
(type)g(that)h(can)f(be)h(written)f(in)h(the)g(form)e(c)i(e,)h(for)-128
4468 y(some)g(type)g(constructor)e(c,)j(and)e(element)h(type)g(e.)-128
4602 y
SDict begin H.S end
-128 4602 a -128 4602 a
SDict begin 12 H.A end
-128 4602 a -128 4602
a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.6.2.2.2) cvn H.B /DEST pdfmark end
-128 4602 a Black 131 x Fx(7.6.2.2.2)p Black 72 w(Ad)o(ding)f
(functional)f(dependencies)-128 4919 y FA(T)-7 b(o)20
b(get)f(a)h(more)f(useful)f(v)o(ersion)g(of)h(the)h(Collects)g(class,)g
(Hugs)f(pro)o(vides)f(a)h(mechanism)f(that)i(allo)n(ws)f(programmers)e
(to)j(specify)e(dependencies)-128 5018 y(between)i(the)h(parameters)e
(of)h(a)h(multiple)f(parameter)f(class)i(\(F)o(or)f(readers)f(with)i
(an)f(interest)h(in)f(theoretical)g(foundations)e(and)i(pre)n(vious)f
(w)o(ork:)-128 5118 y(The)25 b(use)f(of)g(dependenc)o(y)e(information)g
(can)i(be)h(seen)f(both)g(as)h(a)g(generalization)d(of)i(the)h
(proposal)e(for)h(`parametric)e(type)i(classes')i(that)e(w)o(as)-128
5218 y(put)d(forw)o(ard)f(by)h(Chen,)g(Hudak,)f(and)h(Odersk)o(y)-5
b(,)19 b(or)i(as)h(a)g(special)f(case)h(of)f(Mark)f(Jones')-5
b(s)22 b(later)f(frame)n(w)o(ork)e(for)i("impro)o(v)o(ement")d(of)j
(quali\002ed)-128 5317 y(types.)k(The)18 b(underlying)e(ideas)j(are)f
(also)h(discussed)f(in)h(a)g(more)f(theoretical)g(and)g(abstract)g
(setting)h(in)f(a)h(manuscript)e([implparam],)g(where)h(the)o(y)-128
5417 y(are)i(identi\002ed)e(as)i(one)f(point)f(in)i(a)g(general)e
(design)g(space)i(for)e(systems)i(of)f(implicit)g(parameterization.\).)
j(T)-7 b(o)19 b(start)h(with)f(an)h(abstract)f(e)o(xample,)-128
5516 y(consider)g(a)i(declaration)e(such)h(as:)-128 5567
y
SDict begin H.S end
-128 5567 a -128 5567 a
SDict begin 12 H.A end
-128 5567 a -128 5567 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-359) cvn H.B /DEST pdfmark end
-128
5567 a 0.95 TeXcolorgray -153 5599 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5691 25 92 v Black 0.95 TeXcolorgray -128 5691 4252
92 v Black 0.95 TeXcolorgray 4124 5691 25 92 v Black
0.95 TeXcolorgray Black -128 5663 a
SDict begin H.S end
-128 5663 a -128
5663 a
SDict begin 11 H.A end
-128 5663 a -128 5663 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-359.1) cvn H.B /DEST pdfmark end
-128 5663 a 0 0 0 TeXcolorrgb
135 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p
0.95 TeXcolorgray -153 5716 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 145 160
TeXDict begin 145 159 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.145) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(145)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(which)k(tells)i(us)f
(simply)f(that)g(C)i(can)e(be)g(thought)f(of)h(as)h(a)g(binary)f
(relation)f(on)h(types)h(\(or)e(type)h(constructors,)g(depending)e(on)i
(the)g(kinds)g(of)h(a)-128 273 y(and)c(b\).)28 b(Extra)20
b(clauses)i(can)f(be)g(included)e(in)j(the)f(de\002nition)f(of)h
(classes)h(to)f(add)g(information)e(about)h(dependencies)f(between)h
(parameters,)g(as)-128 372 y(in)h(the)f(follo)n(wing)f(e)o(xamples:)
-128 439 y
SDict begin H.S end
-128 439 a -128 439 a
SDict begin 12 H.A end
-128 439 a -128 439
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-360) cvn H.B /DEST pdfmark end
-128 439 a 0.95 TeXcolorgray -153 454 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 545 25 92 v Black 0.95 TeXcolorgray
-128 545 4252 92 v Black 0.95 TeXcolorgray 4124 545 25
92 v Black 0.95 TeXcolorgray Black -128 518 a
SDict begin H.S end
-128 518
a -128 518 a
SDict begin 11 H.A end
-128 518 a -128 518 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-360.1) cvn H.B /DEST pdfmark end
-128 518 a 0 0 0 TeXcolorrgb
135 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(D)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 45 w(|)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 637 25 92 v Black 0.95 TeXcolorgray
-128 637 4252 92 v Black 0.95 TeXcolorgray 4124 637 25
92 v Black 0.95 TeXcolorgray Black -128 609 a
SDict begin H.S end
-128 609
a -128 609 a
SDict begin 11 H.A end
-128 609 a -128 609 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-360.2) cvn H.B /DEST pdfmark end
-128 609 a 0 0 0 TeXcolorrgb
135 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(E)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 45 w(|)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black(,)p 0 0 0
TeXcolorrgb 44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44
w(...)p 0.95 TeXcolorgray -153 662 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 833 a FA(The)k(notation)f
Ft(a)50 b(->)f(b)24 b FA(used)f(here)g(between)f(the)h(|)h(and)f(where)
f(symbols)h(---)g(not)g(to)g(be)g(confused)f(with)h(a)h(function)d
(type)i(---)g(indicates)g(that)-128 933 y(the)i(a)g(parameter)e
(uniquely)g(determines)g(the)i(b)f(parameter)m(,)g(and)g(might)g(be)g
(read)g(as)h("a)g(determines)f(b)m(.")f(Thus)i(D)g(is)g(not)f(just)h(a)
g(relation,)g(b)n(ut)-128 1033 y(actually)i(a)g(\(partial\))f
(function.)44 b(Similarly)-5 b(,)28 b(from)e(the)h(tw)o(o)g
(dependencies)e(that)i(are)g(included)e(in)i(the)g(de\002nition)f(of)h
(E,)g(we)g(can)g(see)h(that)f(E)-128 1132 y(represents)20
b(a)g(\(partial\))g(one-one)e(mapping)g(between)h(types.)-128
1280 y(More)k(generally)-5 b(,)21 b(dependencies)g(tak)o(e)h(the)h
(form)f Ft(x1)49 b(...)100 b(xn)49 b(->)g(y1)h(...)99
b(ym)p FA(,)23 b(where)f(x1,)h(...,)g(xn,)g(and)f(y1,)h(...,)g(yn)g
(are)f(type)h(v)n(ari-)-128 1380 y(ables)h(with)g(n>0)f(and)h(m>=0,)f
(meaning)g(that)h(the)f(y)h(parameters)f(are)g(uniquely)f(determined)g
(by)i(the)f(x)h(parameters.)35 b(Spaces)23 b(can)h(be)g(used)f(as)-128
1479 y(separators)d(if)h(more)f(than)h(one)f(v)n(ariable)g(appears)g
(on)g(an)o(y)g(single)h(side)g(of)f(a)h(dependenc)o(y)-5
b(,)18 b(as)j(in)g Ft(t)50 b(->)f(a)h(b)p FA(.)27 b(Note)21
b(that)f(a)i(class)f(may)g(be)f(an-)-128 1579 y(notated)f(with)h
(multiple)f(dependencies)e(using)j(commas)f(as)h(separators,)f(as)h(in)
g(the)g(de\002nition)e(of)h(E)h(abo)o(v)o(e.)k(Some)19
b(dependencies)e(that)j(we)g(can)-128 1679 y(write)e(in)g(this)g
(notation)f(are)g(redundant,)f(and)h(will)h(be)g(rejected)f(because)g
(the)o(y)g(don')o(t)f(serv)o(e)h(an)o(y)g(useful)g(purpose,)f(and)h
(may)h(instead)f(indicate)g(an)-128 1778 y(error)i(in)g(the)g(program.)
k(Examples)18 b(of)h(dependencies)e(lik)o(e)j(this)f(include)g
Ft(a)49 b(->)h(a)f FA(,)20 b Ft(a)50 b(->)f(a)h(a)f FA(,)20
b Ft(a)50 b(->)f FA(,)20 b(etc.)25 b(There)18 b(can)h(also)h(be)f(some)
-128 1878 y(redundanc)o(y)i(if)j(multiple)f(dependencies)f(are)h(gi)n
(v)o(en,)g(as)i(in)f Ft(a->b)p FA(,)g Ft(b->c)49 b FA(,)25
b Ft(a->c)49 b FA(,)25 b(and)e(in)h(which)g(some)f(subset)h(implies)g
(the)g(remaining)-128 1978 y(dependencies.)42 b(Examples)25
b(lik)o(e)h(this)h(are)g(not)f(treated)f(as)i(errors.)43
b(Note)26 b(that)h(dependencies)d(appear)h(only)g(in)i(class)g
(declarations,)g(and)e(not)-128 2077 y(in)h(an)o(y)e(other)g(part)g(of)
h(the)g(language.)38 b(In)24 b(particular)m(,)h(the)f(syntax)h(for)f
(instance)h(declarations,)f(class)i(constraints,)f(and)g(types)g(is)g
(completely)-128 2177 y(unchanged.)-128 2325 y(By)17
b(including)e(dependencies)f(in)i(a)h(class)g(declaration,)e(we)i(pro)o
(vide)d(a)j(mechanism)e(for)g(the)i(programmer)c(to)j(specify)g(each)g
(multiple)f(parameter)-128 2425 y(class)21 b(more)d(precisely)-5
b(.)23 b(The)c(compiler)m(,)f(on)g(the)i(other)e(hand,)g(is)i
(responsible)e(for)h(ensuring)e(that)j(the)f(set)h(of)f(instances)g
(that)g(are)g(in)g(scope)g(at)h(an)o(y)-128 2524 y(gi)n(v)o(en)d(point)
g(in)i(the)f(program)e(is)i(consistent)g(with)g(an)o(y)g(declared)e
(dependencies.)22 b(F)o(or)c(e)o(xample,)f(the)h(follo)n(wing)e(pair)i
(of)g(instance)f(declarations)-128 2624 y(cannot)h(appear)g(together)f
(in)i(the)g(same)g(scope)f(because)h(the)o(y)f(violate)g(the)h
(dependenc)o(y)d(for)i(D,)h(e)n(v)o(en)f(though)f(either)h(one)g(on)h
(its)h(o)n(wn)e(w)o(ould)g(be)-128 2723 y(acceptable:)-128
2790 y
SDict begin H.S end
-128 2790 a -128 2790 a
SDict begin 12 H.A end
-128 2790 a -128 2790
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-361) cvn H.B /DEST pdfmark end
-128 2790 a 0.95 TeXcolorgray -153 2805 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2896 25 92 v Black 0.95 TeXcolorgray
-128 2896 4252 92 v Black 0.95 TeXcolorgray 4124 2896
25 92 v Black 0.95 TeXcolorgray Black -128 2869 a
SDict begin H.S end
-128
2869 a -128 2869 a
SDict begin 11 H.A end
-128 2869 a -128 2869 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-361.1) cvn H.B /DEST pdfmark end
-128 2869
a 0 0 0 TeXcolorrgb 135 w Fo(instance)p Black 0 0 0 TeXcolorrgb
43 w(D)p Black 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 0 0 0 TeXcolorrgb 45 w(where)p
Black 44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2988 25 92 v Black 0.95 TeXcolorgray -128 2988 4252
92 v Black 0.95 TeXcolorgray 4124 2988 25 92 v Black
0.95 TeXcolorgray Black -128 2960 a
SDict begin H.S end
-128 2960 a -128
2960 a
SDict begin 11 H.A end
-128 2960 a -128 2960 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-361.2) cvn H.B /DEST pdfmark end
-128 2960 a 0 0 0 TeXcolorrgb
135 w Fo(instance)p Black 0 0 0 TeXcolorrgb 43 w(D)p
Black 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0 0 0 TeXcolorrgb
44 w(Char)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black
44 w(...)p 0.95 TeXcolorgray -153 3013 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 3184 a FA(Note)j(also)f(that)g
(the)h(follo)n(wing)d(declaration)h(is)i(not)f(allo)n(wed,)f(e)n(v)o
(en)g(by)h(itself:)-128 3251 y
SDict begin H.S end
-128 3251 a -128 3251
a
SDict begin 12 H.A end
-128 3251 a -128 3251 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-362) cvn H.B /DEST pdfmark end
-128 3251 a 0.95 TeXcolorgray
-153 3266 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3357 25 92
v Black 0.95 TeXcolorgray -128 3357 4252 92 v Black 0.95
TeXcolorgray 4124 3357 25 92 v Black 0.95 TeXcolorgray
Black -128 3330 a
SDict begin H.S end
-128 3330 a -128 3330 a
SDict begin 11 H.A end
-128 3330 a
-128 3330 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-362.1) cvn H.B /DEST pdfmark end
-128 3330 a 0 0 0 TeXcolorrgb 135 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 43 w(D)p Black 45 w([)p 0 0 0
TeXcolorrgb(a)p Black(])p 0 0 0 TeXcolorrgb 44 w(b)p
Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p
0.95 TeXcolorgray -153 3382 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3554 a FA(The)h(problem)d(here)i(is)i(that)f
(this)g(instance)f(w)o(ould)g(allo)n(w)g(one)g(particular)f(choice)h
(of)g([a])h(to)f(be)h(associated)f(with)h(more)e(than)h(one)g(choice)g
(for)g(b,)-128 3653 y(which)g(contradicts)f(the)h(dependenc)o(y)d
(speci\002ed)j(in)h(the)f(de\002nition)f(of)h(D.)g(More)g(generally)-5
b(,)18 b(this)j(means)e(that,)i(in)f(an)o(y)f(instance)h(of)g(the)g
(form:)-128 3720 y
SDict begin H.S end
-128 3720 a -128 3720 a
SDict begin 12 H.A end
-128 3720
a -128 3720 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-363) cvn H.B /DEST pdfmark end
-128 3720 a 0.95 TeXcolorgray -153 3735
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3826 25 92 v Black 0.95
TeXcolorgray -128 3826 4252 92 v Black 0.95 TeXcolorgray
4124 3826 25 92 v Black 0.95 TeXcolorgray Black -128
3799 a
SDict begin H.S end
-128 3799 a -128 3799 a
SDict begin 11 H.A end
-128 3799 a -128 3799
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-363.1) cvn H.B /DEST pdfmark end
-128 3799 a 0 0 0 TeXcolorrgb 135 w Fo(instance)p Black
0 0 0 TeXcolorrgb 43 w(D)p Black 0 0 0 TeXcolorrgb 45
w(t)p Black 0 0 0 TeXcolorrgb 45 w(s)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153
3851 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4023 a FA(for)j(some)g(particular)f(types)h(t)h(and)f(s,)h(the)g
(only)e(v)n(ariables)g(that)i(can)f(appear)f(in)h(s)h(are)g(the)f(ones)
g(that)g(appear)f(in)i(t,)g(and)f(hence,)g(if)g(the)g(type)g(t)h(is)
-128 4122 y(kno)n(wn,)19 b(then)h(s)h(will)g(be)f(uniquely)e
(determined.)-128 4271 y(The)23 b(bene\002t)f(of)g(including)f
(dependenc)o(y)e(information)h(is)k(that)e(it)h(allo)n(ws)g(us)g(to)g
(de\002ne)f(more)f(general)h(multiple)g(parameter)f(classes,)j(without)
-128 4370 y(ambiguity)17 b(problems,)h(and)g(with)g(the)h(bene\002t)f
(of)h(more)e(accurate)h(types.)24 b(T)-7 b(o)19 b(illustrate)g(this,)g
(we)g(return)f(to)g(the)h(collection)f(class)h(e)o(xample,)f(and)-128
4470 y(annotate)h(the)i(original)e(de\002nition)g(of)h
Ft(Collects)f FA(with)h(a)h(simple)f(dependenc)o(y:)-128
4536 y
SDict begin H.S end
-128 4536 a -128 4536 a
SDict begin 12 H.A end
-128 4536 a -128 4536
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-364) cvn H.B /DEST pdfmark end
-128 4536 a 0.95 TeXcolorgray -153 4551 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4643 25 92 v Black 0.95 TeXcolorgray
-128 4643 4252 92 v Black 0.95 TeXcolorgray 4124 4643
25 92 v Black 0.95 TeXcolorgray Black -128 4615 a
SDict begin H.S end
-128
4615 a -128 4615 a
SDict begin 11 H.A end
-128 4615 a -128 4615 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-364.1) cvn H.B /DEST pdfmark end
-128 4615
a 0 0 0 TeXcolorrgb 135 w Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(Collects)p Black 0 0 0 TeXcolorrgb 43 w(e)p Black
0 0 0 TeXcolorrgb 45 w(ce)p Black 45 w(|)p 0 0 0 TeXcolorrgb
44 w(ce)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(e)p
Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4734 25 92 v Black 0.95
TeXcolorgray -128 4734 4252 92 v Black 0.95 TeXcolorgray
4124 4734 25 92 v Black 0.95 TeXcolorgray Black -128
4707 a
SDict begin H.S end
-128 4707 a -128 4707 a
SDict begin 11 H.A end
-128 4707 a -128 4707
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-364.2) cvn H.B /DEST pdfmark end
-128 4707 a 0 0 0 TeXcolorrgb 269 w Fo(empty)p Black
89 w(::)p 0 0 0 TeXcolorrgb 45 w(ce)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4825 25 92 v Black 0.95
TeXcolorgray -128 4825 4252 92 v Black 0.95 TeXcolorgray
4124 4825 25 92 v Black 0.95 TeXcolorgray Black -128
4798 a
SDict begin H.S end
-128 4798 a -128 4798 a
SDict begin 11 H.A end
-128 4798 a -128 4798
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-364.3) cvn H.B /DEST pdfmark end
-128 4798 a 0 0 0 TeXcolorrgb 269 w Fo(insert)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(ce)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(ce)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4917 25 92 v Black 0.95 TeXcolorgray -128 4917 4252
92 v Black 0.95 TeXcolorgray 4124 4917 25 92 v Black
0.95 TeXcolorgray Black -128 4889 a
SDict begin H.S end
-128 4889 a -128
4889 a
SDict begin 11 H.A end
-128 4889 a -128 4889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-364.4) cvn H.B /DEST pdfmark end
-128 4889 a 0 0 0 TeXcolorrgb
269 w Fo(member)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45
w(e)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(ce)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
-153 4942 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5113 a FA(The)27 b(dependenc)o(y)c Ft(ce)49
b(->)h(e)27 b FA(here)e(speci\002es)i(that)g(the)f(type)g(e)h(of)g
(elements)f(is)h(uniquely)e(determined)f(by)i(the)h(type)f(of)g(the)g
(collection)g(ce.)-128 5213 y(Note)f(that)g(both)e(parameters)h(of)g
(Collects)h(are)g(of)f(kind)f(*;)k(there)d(are)h(no)f(constructor)f
(classes)i(here.)38 b(Note)24 b(too)g(that)h(all)g(of)f(the)h
(instances)f(of)-128 5313 y(Collects)d(that)g(we)f(ga)n(v)o(e)f
(earlier)h(can)g(be)g(used)g(together)f(with)h(this)h(ne)n(w)f
(de\002nition.)-128 5461 y(What)h(about)f(the)h(ambiguity)e(problems)g
(that)i(we)g(encountered)c(with)k(the)g(original)e(de\002nition?)26
b(The)20 b(empty)g(function)e(still)k(has)f(type)f(Collects)-128
5560 y(e)g(ce)f(=>)g(ce,)h(b)n(ut)f(it)g(is)h(no)f(longer)e(necessary)i
(to)g(re)o(gard)e(that)i(as)g(an)g(ambiguous)e(type:)24
b(Although)18 b(the)h(v)n(ariable)e(e)j(does)f(not)f(appear)g(on)h(the)
g(right)-128 5660 y(of)i(the)g(=>)h(symbol,)e(the)h(dependenc)o(y)d
(for)i(class)i(Collects)g(tells)g(us)f(that)h(it)f(is)h(uniquely)e
(determined)f(by)h(ce,)i(which)e(does)h(appear)f(on)h(the)g(right)-128
5759 y(of)e(the)g(=>)h(symbol.)j(Hence)c(the)g(conte)o(xt)f(in)h(which)
g(empty)f(is)i(used)f(can)f(still)j(gi)n(v)o(e)d(enough)f(information)g
(to)i(determine)f(types)g(for)h(both)f(ce)i(and)p Black
-128 6084 4252 5 v Black eop end
%%Page: 146 161
TeXDict begin 146 160 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.146) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(146)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(e,)h(without)e(ambiguity)-5
b(.)23 b(More)c(generally)-5 b(,)18 b(we)j(need)e(only)g(re)o(gard)f(a)
j(type)e(as)i(ambiguous)d(if)i(it)h(contains)e(a)i(v)n(ariable)e(on)g
(the)i(left)f(of)g(the)g(=>)g(that)-128 273 y(is)i(not)d(uniquely)g
(determined)f(\(either)h(directly)h(or)g(indirectly\))e(by)i(the)g(v)n
(ariables)g(on)g(the)g(right.)-128 422 y(Dependencies)27
b(also)i(help)g(to)g(produce)d(more)i(accurate)g(types)h(for)f(user)h
(de\002ned)e(functions,)i(and)g(hence)f(to)h(pro)o(vide)d(earlier)j
(detection)e(of)-128 522 y(errors,)20 b(and)f(less)i(cluttered)f(types)
g(for)f(programmers)f(to)i(w)o(ork)g(with.)25 b(Recall)c(the)f(pre)n
(vious)e(de\002nition)h(for)h(a)h(function)d(f:)-128
590 y
SDict begin H.S end
-128 590 a -128 590 a
SDict begin 12 H.A end
-128 590 a -128 590 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-365) cvn H.B /DEST pdfmark end
-128
590 a 0.95 TeXcolorgray -153 605 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 696 25 92 v Black 0.95 TeXcolorgray -128 696 4252
92 v Black 0.95 TeXcolorgray 4124 696 25 92 v Black 0.95
TeXcolorgray Black -128 669 a
SDict begin H.S end
-128 669 a -128 669 a
SDict begin 11 H.A end
-128
669 a -128 669 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-365.1) cvn H.B /DEST pdfmark end
-128 669 a 0 0 0 TeXcolorrgb 135 w Fo(f)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(insert)p
Black 0 0 0 TeXcolorrgb 43 w(x)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(insert)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(.)p 0 0 0
TeXcolorrgb 45 w(insert)p Black 0 0 0 TeXcolorrgb 43
w(y)p Black 0.95 TeXcolorgray -153 721 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 895 a FA(for)i(which)g(we)g
(originally)f(obtained)g(a)h(type:)-128 963 y
SDict begin H.S end
-128 963
a -128 963 a
SDict begin 12 H.A end
-128 963 a -128 963 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-366) cvn H.B /DEST pdfmark end
-128 963 a 0.95 TeXcolorgray
-153 979 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1070 25 92
v Black 0.95 TeXcolorgray -128 1070 4252 92 v Black 0.95
TeXcolorgray 4124 1070 25 92 v Black 0.95 TeXcolorgray
Black -128 1042 a
SDict begin H.S end
-128 1042 a -128 1042 a
SDict begin 11 H.A end
-128 1042 a
-128 1042 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-366.1) cvn H.B /DEST pdfmark end
-128 1042 a 0 0 0 TeXcolorrgb 135 w Fo(f)p
Black 45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(b)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(c)p Black 0.95 TeXcolorgray -153 1095 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1269 a
FA(Gi)n(v)o(en)23 b(the)h(dependenc)o(y)c(information)h(that)j(we)f(ha)
n(v)o(e)g(for)g(Collects,)i(ho)n(we)n(v)o(er)m(,)d(we)i(can)f(deduce)f
(that)i(a)g(and)e(b)i(must)g(be)f(equal)g(because)g(the)o(y)-128
1369 y(both)g(appear)g(as)h(the)f(second)g(parameter)f(in)i(a)g
(Collects)g(constraint)f(with)g(the)h(same)g(\002rst)g(parameter)e(c.)
36 b(Hence)23 b(we)h(can)f(infer)g(a)h(shorter)f(and)-128
1468 y(more)d(accurate)f(type)h(for)f(f:)-128 1536 y
SDict begin H.S end
-128 1536 a -128 1536 a
SDict begin 12 H.A end
-128 1536 a -128 1536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-367) cvn H.B /DEST pdfmark end
-128
1536 a 0.95 TeXcolorgray -153 1551 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1643 25 92 v Black 0.95 TeXcolorgray -128 1643 4252
92 v Black 0.95 TeXcolorgray 4124 1643 25 92 v Black
0.95 TeXcolorgray Black -128 1615 a
SDict begin H.S end
-128 1615 a -128
1615 a
SDict begin 11 H.A end
-128 1615 a -128 1615 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-367.1) cvn H.B /DEST pdfmark end
-128 1615 a 0 0 0 TeXcolorrgb
135 w Fo(f)p Black 45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(\))h(=>)p 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(c)p Black 0.95 TeXcolorgray -153 1668 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1842 a
FA(In)20 b(a)h(similar)f(w)o(ay)-5 b(,)20 b(the)g(earlier)g
(de\002nition)f(of)h(g)g(will)h(no)n(w)f(be)g(\003agged)f(as)i(a)g
(type)e(error)-5 b(.)-128 1991 y(Although)28 b(we)i(ha)n(v)o(e)f(gi)n
(v)o(en)f(only)h(a)h(fe)n(w)f(e)o(xamples)g(here,)i(it)f(should)e(be)i
(clear)f(that)h(the)f(addition)f(of)i(dependenc)o(y)c(information)h
(can)i(help)-128 2091 y(to)f(mak)o(e)f(multiple)f(parameter)g(classes)i
(more)f(useful)g(in)g(practice,)h(a)n(v)n(oiding)e(ambiguity)g
(problems,)h(and)g(allo)n(wing)f(more)h(general)f(sets)i(of)-128
2191 y(instance)20 b(declarations.)-128 2308 y
SDict begin H.S end
-128 2308
a -128 2308 a
SDict begin 12 H.A end
-128 2308 a -128 2308 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.6.3) cvn H.B /DEST pdfmark end
-128 2308 a Black
165 x Fp(7.6.3)p Black 90 w(Instance)j(dec)n(larations)-128
2561 y
SDict begin H.S end
-128 2561 a -128 2561 a
SDict begin 12 H.A end
-128 2561 a -128 2561
a
SDict begin [ /View [/XYZ H.V] /Dest (instance-decls) cvn H.B /DEST pdfmark end
-128 2561 a -128 2561 a
SDict begin H.S end
-128 2561 a -128 2561 a
SDict begin 12 H.A end
-128
2561 a -128 2561 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.3.1) cvn H.B /DEST pdfmark end
-128 2561 a Black 128 x Fx(7.6.3.1)p
Black 73 w(Relax)o(ed)18 b(rules)i(f)o(or)f(instance)f(dec)o(larations)
-128 2773 y
SDict begin H.S end
-128 2773 a -128 2773 a
SDict begin 12 H.A end
-128 2773 a -128
2773 a
SDict begin [ /View [/XYZ H.V] /Dest (instance-rules) cvn H.B /DEST pdfmark end
-128 2773 a 119 x FA(An)j(instance)e(declaration)g(has)i(the)f
(form)-128 2943 y
SDict begin H.S end
-128 2943 a -128 2943 a
SDict begin 12 H.A end
-128 2943 a
-128 2943 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-368) cvn H.B /DEST pdfmark end
-128 2943 a 0.95 TeXcolorgray -153 2975 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3067 25 92 v Black 0.95
TeXcolorgray -128 3067 4252 92 v Black 0.95 TeXcolorgray
4124 3067 25 92 v Black 0.95 TeXcolorgray Black -128
3039 a
SDict begin H.S end
-128 3039 a -128 3039 a
SDict begin 11 H.A end
-128 3039 a -128 3039
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-368.1) cvn H.B /DEST pdfmark end
-128 3039 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
44 w(\()p 0 0 0 TeXcolorrgb 44 w(assertion1)p Black -1
w(,)44 b(...,)p 0 0 0 TeXcolorrgb 44 w(assertionn)p Black
-1 w(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(class)p Black 0 0 0
TeXcolorrgb 44 w(type1)p Black 44 w(...)p 0 0 0 TeXcolorrgb
44 w(typem)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black
44 w(...)p 0.95 TeXcolorgray -153 3091 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 3266 a FA(The)20
b(part)g(before)f(the)h(")p Ft(=>)p FA(")g(is)h(the)g
Fq(conte)n(xt)p FA(,)e(while)h(the)h(part)f(after)f(the)i(")p
Ft(=>)p FA(")f(is)h(the)f Fq(head)h FA(of)f(the)h(instance)e
(declaration.)-128 3415 y(In)30 b(Hask)o(ell)h(98)e(the)h(head)f(of)h
(an)g(instance)g(declaration)e(must)i(be)g(of)g(the)g(form)f
Ft(C)49 b(\(T)h(a1)f(...)99 b(an\))p FA(,)32 b(where)e
Ft(C)g FA(is)h(the)f(class,)j Ft(T)e FA(is)g(a)-128 3515
y(type)26 b(constructor)m(,)f(and)h(the)g Ft(a1)50 b(...)99
b(an)26 b FA(are)g(distinct)g(type)g(v)n(ariables.)42
b(Furthermore,)25 b(the)i(assertions)f(in)g(the)g(conte)o(xt)f(of)h
(the)g(instance)-128 3614 y(declaration)19 b(must)h(be)g(of)g(the)h
(form)e Ft(C)49 b(a)21 b FA(where)e Ft(a)i FA(is)g(a)g(type)e(v)n
(ariable)h(that)g(occurs)f(in)i(the)f(head.)-128 3764
y(The)f Ft(-XFlexibleInstances)d FA(\003ag)k(loosens)f(these)g
(restrictions)g(considerably)-5 b(.)22 b(Firstly)-5 b(,)19
b(multi-parameter)d(type)j(classes)h(are)f(permitted.)-128
3864 y(Secondly)-5 b(,)25 b(the)g(conte)o(xt)f(and)h(head)f(of)h(the)h
(instance)e(declaration)g(can)h(each)g(consist)h(of)f(arbitrary)e
(\(well-kinded\))g(assertions)i Ft(\(C)50 b(t1)f(...)-128
3963 y(tn\))21 b FA(subject)f(only)f(to)h(the)h(follo)n(wing)d(rules:)
-128 4064 y
SDict begin H.S end
-128 4064 a -128 4064 a
SDict begin 12 H.A end
-128 4064 a -128
4064 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.15) cvn H.B /DEST pdfmark end
-128 4064 a Black -24 4179 a FA(1.)p Black 41
w(The)i(P)o(aterson)f(Conditions:)25 b(for)19 b(each)h(assertion)g(in)g
(the)g(conte)o(xt)-128 4230 y
SDict begin H.S end
-128 4230 a -128 4230 a
SDict begin 12 H.A end
-128 4230 a -128 4230 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.16) cvn H.B /DEST pdfmark end
-128 4230 a Black 129 4345 a
FA(\(a\))p Black 41 w(No)g(type)g(v)n(ariable)f(has)h(more)f
(occurrences)g(in)h(the)g(assertion)g(than)g(in)g(the)g(head)-128
4380 y
SDict begin H.S end
-128 4380 a -128 4380 a
SDict begin 12 H.A end
-128 4380 a -128 4380
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.17) cvn H.B /DEST pdfmark end
-128 4380 a Black 124 4478 a FA(\(b\))p Black 41 w(The)f(assertion)h
(has)h(fe)n(wer)e(constructors)g(and)h(v)n(ariables)f(\(tak)o(en)g
(together)g(and)h(counting)e(repetitions\))h(than)h(the)g(head)-128
4529 y
SDict begin H.S end
-128 4529 a -128 4529 a
SDict begin 12 H.A end
-128 4529 a -128 4529
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.18) cvn H.B /DEST pdfmark end
-128 4529 a Black -24 4644 a FA(2.)p Black 41 w(The)25
b(Co)o(v)o(erage)f(Condition.)41 b(F)o(or)25 b(each)g(functional)f
(dependenc)o(y)-5 b(,)24 b Fr(tvs)2228 4657 y Fn(left)2340
4644 y Ft(->)i Fr(tvs)2601 4657 y Fn(right)2720 4644
y FA(,)i(of)d(the)h(class,)i(e)n(v)o(ery)c(type)h(v)n(ariable)g(in)h
(S\()p Fr(t-)80 4744 y(vs)170 4757 y Fn(right)290 4744
y FA(\))g(must)h(appear)e(in)h(S\()p Fr(tvs)1081 4757
y Fn(left)1166 4744 y FA(\),)i(where)e(S)g(is)i(the)e(substitution)f
(mapping)f(each)i(type)g(v)n(ariable)f(in)i(the)f(class)h(declaration)e
(to)h(the)80 4843 y(corresponding)17 b(type)i(in)i(the)f(instance)g
(declaration.)-128 5059 y(These)32 b(restrictions)g(ensure)f(that)h
(conte)o(xt)f(reduction)f(terminates:)48 b(each)32 b(reduction)e(step)i
(mak)o(es)g(the)g(problem)e(smaller)i(by)f(at)i(least)g(one)-128
5159 y(constructor)-5 b(.)55 b(Both)30 b(the)h(P)o(aterson)f
(Conditions)f(and)h(the)h(Co)o(v)o(erage)d(Condition)h(are)i(lifted)f
(if)h(you)f(gi)n(v)o(e)f(the)i Ft(-XUndecidableInst-)-128
5258 y(ances)f FA(\003ag)g(\(Section)p 1 0 0 TeXcolorrgb
614 5259 a
SDict begin H.S end
614 5259 a 1 0 0 TeXcolorrgb -1 x FA(7.6.3.2)p
1 0 0 TeXcolorrgb 843 5202 a
SDict begin H.R end
843 5202 a 843 5258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.6.3.2) cvn H.B /ANN pdfmark end
843
5258 a Black FA(\).)54 b(Y)-9 b(ou)29 b(can)h(\002nd)g(lots)g(of)g
(background)c(material)k(about)f(the)h(reason)f(for)g(these)i
(restrictions)e(in)h(the)g(paper)p 0 1 0 0 TeXcolorcmyk
-128 5376 a
SDict begin H.S end
-128 5376 a 0 1 0 0 TeXcolorcmyk -107 5358
a FA(Understanding)18 b(functional)g(dependencies)g(via)i(Constraint)g
(Handling)f(Rules)p 0 1 0 0 TeXcolorcmyk 2236 5302 a
SDict begin H.R end
2236 5302 a 2236 5358 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/fd%2Dchr/) >> /Subtype /Link H.B /ANN pdfmark end
2236 5358 a Black FA(.)-128 5507
y(F)o(or)h(e)o(xample,)f(these)h(are)g(OK:)p Black -128
6084 4252 5 v Black eop end
%%Page: 147 162
TeXDict begin 147 161 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.147) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(147)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-369) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(Int)p Black 45 w([)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(])448 b(--)p 0 0 0 TeXcolorrgb 45 w(Multiple)p
Black 0 0 0 TeXcolorrgb 43 w(parameters)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 356 25 92 v
Black 0.95 TeXcolorgray -128 356 4252 92 v Black 0.95
TeXcolorgray 4124 356 25 92 v Black 0.95 TeXcolorgray
Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128 328 a -128
328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(Eq)p Black 44 w(\()p 0 0 0
TeXcolorrgb(S)p Black 45 w([)p 0 0 0 TeXcolorrgb -1 w(a)p
Black(]\))403 b(--)p 0 0 0 TeXcolorrgb 45 w(Structured)p
Black 0 0 0 TeXcolorrgb 43 w(type)p Black 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(head)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 447 25 92 v
Black 0.95 TeXcolorgray -128 447 4252 92 v Black 0.95
TeXcolorgray 4124 447 25 92 v Black 0.95 TeXcolorgray
Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128 420 a -128
420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.3) cvn H.B /DEST pdfmark end
-128 420 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 538 25 92 v Black 0.95 TeXcolorgray -128 538 4252
92 v Black 0.95 TeXcolorgray 4124 538 25 92 v Black 0.95
TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511 a -128 511 a
SDict begin 11 H.A end
-128
511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.4) cvn H.B /DEST pdfmark end
-128 511 a 269 w Fo(--)p 0 0 0 TeXcolorrgb
45 w(Repeated)p Black 0 0 0 TeXcolorrgb 43 w(type)p Black
0 0 0 TeXcolorrgb 45 w(variable)p Black 0 0 0 TeXcolorrgb
43 w(in)p Black 0 0 0 TeXcolorrgb 45 w(head)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 630 25 92 v
Black 0.95 TeXcolorgray -128 630 4252 92 v Black 0.95
TeXcolorgray 4124 630 25 92 v Black 0.95 TeXcolorgray
Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128 602 a -128
602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.5) cvn H.B /DEST pdfmark end
-128 602 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(C4)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)p
0 0 0 TeXcolorrgb 45 w(C4)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p
Black(])45 b([)p 0 0 0 TeXcolorrgb(a)p Black -1 w(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 721 25
92 v Black 0.95 TeXcolorgray -128 721 4252 92 v Black
0.95 TeXcolorgray 4124 721 25 92 v Black 0.95 TeXcolorgray
Black -128 694 a
SDict begin H.S end
-128 694 a -128 694 a
SDict begin 11 H.A end
-128 694 a -128
694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.6) cvn H.B /DEST pdfmark end
-128 694 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(Stateful)p Black 43 w(\()p
0 0 0 TeXcolorrgb(ST)p Black 0 0 0 TeXcolorrgb 44 w(s)p
Black(\))g(\()p 0 0 0 TeXcolorrgb(MutVar)p Black 0 0 0
TeXcolorrgb 44 w(s)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 812 25 92 v Black 0.95 TeXcolorgray
-128 812 4252 92 v Black 0.95 TeXcolorgray 4124 812 25
92 v Black 0.95 TeXcolorgray Black -128 785 a
SDict begin H.S end
-128 785
a -128 785 a
SDict begin 11 H.A end
-128 785 a -128 785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.7) cvn H.B /DEST pdfmark end
-128 785 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 904 25 92 v Black 0.95 TeXcolorgray
-128 904 4252 92 v Black 0.95 TeXcolorgray 4124 904 25
92 v Black 0.95 TeXcolorgray Black -128 876 a
SDict begin H.S end
-128 876
a -128 876 a
SDict begin 11 H.A end
-128 876 a -128 876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.8) cvn H.B /DEST pdfmark end
-128 876 a 269 w Fo(--)p
0 0 0 TeXcolorrgb 45 w(Head)p Black 0 0 0 TeXcolorrgb
44 w(can)p Black 0 0 0 TeXcolorrgb 44 w(consist)p Black
0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb 45
w(type)p Black 0 0 0 TeXcolorrgb 44 w(variables)p Black
0 0 0 TeXcolorrgb 43 w(only)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 995 25 92 v Black 0.95 TeXcolorgray
-128 995 4252 92 v Black 0.95 TeXcolorgray 4124 995 25
92 v Black 0.95 TeXcolorgray Black -128 968 a
SDict begin H.S end
-128 968
a -128 968 a
SDict begin 11 H.A end
-128 968 a -128 968 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.9) cvn H.B /DEST pdfmark end
-128 968 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1086 25 92 v Black 0.95 TeXcolorgray
-128 1086 4252 92 v Black 0.95 TeXcolorgray 4124 1086
25 92 v Black 0.95 TeXcolorgray Black -128 1059 a
SDict begin H.S end
-128
1059 a -128 1059 a
SDict begin 11 H.A end
-128 1059 a -128 1059 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.10) cvn H.B /DEST pdfmark end
-128 1059
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 44 w(\()p
0 0 0 TeXcolorrgb -1 w(Eq)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black(,)p 0 0 0 TeXcolorrgb 44 w(Show)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black -1 w(\))g(=>)p 0 0 0 TeXcolorrgb
45 w(C2)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1178 25 92 v Black 0.95 TeXcolorgray
-128 1178 4252 92 v Black 0.95 TeXcolorgray 4124 1178
25 92 v Black 0.95 TeXcolorgray Black -128 1150 a
SDict begin H.S end
-128
1150 a -128 1150 a
SDict begin 11 H.A end
-128 1150 a -128 1150 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.11) cvn H.B /DEST pdfmark end
-128 1150
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1269
25 92 v Black 0.95 TeXcolorgray -128 1269 4252 92 v Black
0.95 TeXcolorgray 4124 1269 25 92 v Black 0.95 TeXcolorgray
Black -128 1242 a
SDict begin H.S end
-128 1242 a -128 1242 a
SDict begin 11 H.A end
-128 1242 a
-128 1242 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.12) cvn H.B /DEST pdfmark end
-128 1242 a 269 w Fo(--)p 0 0 0 TeXcolorrgb
45 w(Non)p Black -1 w(-)p 0 0 0 TeXcolorrgb(type)p Black
0 0 0 TeXcolorrgb 44 w(variables)p Black 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 44 w(context)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1360 25
92 v Black 0.95 TeXcolorgray -128 1360 4252 92 v Black
0.95 TeXcolorgray 4124 1360 25 92 v Black 0.95 TeXcolorgray
Black -128 1333 a
SDict begin H.S end
-128 1333 a -128 1333 a
SDict begin 11 H.A end
-128 1333 a
-128 1333 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.13) cvn H.B /DEST pdfmark end
-128 1333 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(Show)p Black 44 w(\()p 0 0 0
TeXcolorrgb(s)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))g(=>)p
0 0 0 TeXcolorrgb 44 w(Show)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Sized)p
Black 0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1452 25 92 v Black 0.95 TeXcolorgray -128 1452 4252
92 v Black 0.95 TeXcolorgray 4124 1452 25 92 v Black
0.95 TeXcolorgray Black -128 1424 a
SDict begin H.S end
-128 1424 a -128
1424 a
SDict begin 11 H.A end
-128 1424 a -128 1424 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.14) cvn H.B /DEST pdfmark end
-128 1424 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(C2)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 45 w(C3)p
Black 0 0 0 TeXcolorrgb 44 w(Bool)p Black 44 w([)p 0 0 0
TeXcolorrgb(a)p Black(])p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1543 25 92 v Black 0.95 TeXcolorgray
-128 1543 4252 92 v Black 0.95 TeXcolorgray 4124 1543
25 92 v Black 0.95 TeXcolorgray Black -128 1516 a
SDict begin H.S end
-128
1516 a -128 1516 a
SDict begin 11 H.A end
-128 1516 a -128 1516 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-369.15) cvn H.B /DEST pdfmark end
-128 1516
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(C2)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb
45 w(C3)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p Black(])p
0 0 0 TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray -153
1568 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1742 a FA(But)21 b(these)g(are)f(not:)-128 1792
y
SDict begin H.S end
-128 1792 a -128 1792 a
SDict begin 12 H.A end
-128 1792 a -128 1792 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-370) cvn H.B /DEST pdfmark end
-128
1792 a 0.95 TeXcolorgray -153 1825 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1916 25 92 v Black 0.95 TeXcolorgray -128 1916 4252
92 v Black 0.95 TeXcolorgray 4124 1916 25 92 v Black
0.95 TeXcolorgray Black -128 1889 a
SDict begin H.S end
-128 1889 a -128
1889 a
SDict begin 11 H.A end
-128 1889 a -128 1889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-370.1) cvn H.B /DEST pdfmark end
-128 1889 a 269 w Fo(--)p
0 0 0 TeXcolorrgb 45 w(Context)p Black 0 0 0 TeXcolorrgb
44 w(assertion)p Black 0 0 0 TeXcolorrgb 43 w(no)p Black
0 0 0 TeXcolorrgb 44 w(smaller)p Black 0 0 0 TeXcolorrgb
44 w(than)p Black 0 0 0 TeXcolorrgb 44 w(head)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2007 25
92 v Black 0.95 TeXcolorgray -128 2007 4252 92 v Black
0.95 TeXcolorgray 4124 2007 25 92 v Black 0.95 TeXcolorgray
Black -128 1980 a
SDict begin H.S end
-128 1980 a -128 1980 a
SDict begin 11 H.A end
-128 1980 a
-128 1980 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-370.2) cvn H.B /DEST pdfmark end
-128 1980 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2099 25 92 v Black 0.95 TeXcolorgray
-128 2099 4252 92 v Black 0.95 TeXcolorgray 4124 2099
25 92 v Black 0.95 TeXcolorgray Black -128 2071 a
SDict begin H.S end
-128
2071 a -128 2071 a
SDict begin 11 H.A end
-128 2071 a -128 2071 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-370.3) cvn H.B /DEST pdfmark end
-128 2071
a 269 w Fo(--)45 b(\()p 0 0 0 TeXcolorrgb(C)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb 45 w(b)p
Black(\))p 0 0 0 TeXcolorrgb 45 w(has)p Black 0 0 0 TeXcolorrgb
44 w(more)p Black 0 0 0 TeXcolorrgb 44 w(more)p Black
0 0 0 TeXcolorrgb 44 w(occurrences)p Black 0 0 0 TeXcolorrgb
43 w(of)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0
TeXcolorrgb 44 w(than)p Black 0 0 0 TeXcolorrgb 45 w(the)p
Black 0 0 0 TeXcolorrgb 44 w(head)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2190 25 92 v Black 0.95
TeXcolorgray -128 2190 4252 92 v Black 0.95 TeXcolorgray
4124 2190 25 92 v Black 0.95 TeXcolorgray Black -128
2163 a
SDict begin H.S end
-128 2163 a -128 2163 a
SDict begin 11 H.A end
-128 2163 a -128 2163
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-370.4) cvn H.B /DEST pdfmark end
-128 2163 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 44 w(Foo)p Black 44 w([)p 0 0 0 TeXcolorrgb(b)p
Black(])p 0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p
0.95 TeXcolorgray -153 2215 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2389 a FA(The)20 b(same)h(restrictions)e(apply)h
(to)g(instances)g(generated)e(by)i Ft(deriving)g FA(clauses.)25
b(Thus)20 b(the)g(follo)n(wing)e(is)j(accepted:)-128
2457 y
SDict begin H.S end
-128 2457 a -128 2457 a
SDict begin 12 H.A end
-128 2457 a -128 2457
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-371) cvn H.B /DEST pdfmark end
-128 2457 a 0.95 TeXcolorgray -153 2472 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2563 25 92 v Black 0.95 TeXcolorgray
-128 2563 4252 92 v Black 0.95 TeXcolorgray 4124 2563
25 92 v Black 0.95 TeXcolorgray Black -128 2536 a
SDict begin H.S end
-128
2536 a -128 2536 a
SDict begin 11 H.A end
-128 2536 a -128 2536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-371.1) cvn H.B /DEST pdfmark end
-128 2536
a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(MinHeap)p Black 0 0 0 TeXcolorrgb 44 w(h)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(H)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(\()p
0 0 0 TeXcolorrgb(h)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2654 25 92 v Black 0.95 TeXcolorgray -128 2654 4252
92 v Black 0.95 TeXcolorgray 4124 2654 25 92 v Black
0.95 TeXcolorgray Black -128 2627 a
SDict begin H.S end
-128 2627 a -128
2627 a
SDict begin 11 H.A end
-128 2627 a -128 2627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-371.2) cvn H.B /DEST pdfmark end
-128 2627 a 0 0 0 TeXcolorrgb
180 w Fo(deriving)p Black 43 w(\()p 0 0 0 TeXcolorrgb(Show)p
Black -1 w(\))p 0.95 TeXcolorgray -153 2679 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 2853 a
FA(because)f(the)g(deri)n(v)o(ed)f(instance)-128 2904
y
SDict begin H.S end
-128 2904 a -128 2904 a
SDict begin 12 H.A end
-128 2904 a -128 2904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-372) cvn H.B /DEST pdfmark end
-128
2904 a 0.95 TeXcolorgray -153 2936 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3027 25 92 v Black 0.95 TeXcolorgray -128 3027 4252
92 v Black 0.95 TeXcolorgray 4124 3027 25 92 v Black
0.95 TeXcolorgray Black -128 3000 a
SDict begin H.S end
-128 3000 a -128
3000 a
SDict begin 11 H.A end
-128 3000 a -128 3000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-372.1) cvn H.B /DEST pdfmark end
-128 3000 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 44 w(\()p 0 0 0 TeXcolorrgb
-1 w(Show)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(Show)p Black 44 w(\()p 0 0 0
TeXcolorrgb(h)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(\))o(\))45
b(=>)p 0 0 0 TeXcolorrgb 45 w(Show)p Black 44 w(\()p
0 0 0 TeXcolorrgb(MinHeap)p Black 0 0 0 TeXcolorrgb 43
w(h)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(\))p 0.95
TeXcolorgray -153 3052 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3226 a FA(conforms)19 b(to)h(the)g(abo)o(v)o(e)f
(rules.)-128 3376 y(A)k(useful)e(idiom)g(permitted)f(by)i(the)g(abo)o
(v)o(e)e(rules)h(is)i(as)f(follo)n(ws.)30 b(If)21 b(one)g(allo)n(ws)h
(o)o(v)o(erlapping)d(instance)i(declarations)g(then)g(it')-5
b(s)23 b(quite)e(con)m(v)o(e-)-128 3475 y(nient)f(to)h(ha)n(v)o(e)e(a)i
("def)o(ault)e(instance")h(declaration)e(that)j(applies)f(if)g
(something)f(more)g(speci\002c)i(does)f(not:)-128 3543
y
SDict begin H.S end
-128 3543 a -128 3543 a
SDict begin 12 H.A end
-128 3543 a -128 3543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-373) cvn H.B /DEST pdfmark end
-128
3543 a 0.95 TeXcolorgray -153 3558 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3649 25 92 v Black 0.95 TeXcolorgray -128 3649 4252
92 v Black 0.95 TeXcolorgray 4124 3649 25 92 v Black
0.95 TeXcolorgray Black -128 3622 a
SDict begin H.S end
-128 3622 a -128
3622 a
SDict begin 11 H.A end
-128 3622 a -128 3622 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-373.1) cvn H.B /DEST pdfmark end
-128 3622 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3741 25 92 v Black 0.95 TeXcolorgray -128 3741 4252
92 v Black 0.95 TeXcolorgray 4124 3741 25 92 v Black
0.95 TeXcolorgray Black -128 3713 a
SDict begin H.S end
-128 3713 a -128
3713 a
SDict begin 11 H.A end
-128 3713 a -128 3713 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-373.2) cvn H.B /DEST pdfmark end
-128 3713 a 0 0 0 TeXcolorrgb
180 w Fo(op)p Black 44 w(=)45 b(...)f(--)p 0 0 0 TeXcolorrgb
45 w(Default)p Black 0.95 TeXcolorgray -153 3766 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 3931
a
SDict begin H.S end
-128 3931 a -128 3931 a
SDict begin 12 H.A end
-128 3931 a -128 3931 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.3.2) cvn H.B /DEST pdfmark end
-128
3931 a Black 125 x Fx(7.6.3.2)p Black 73 w(Undecidab)o(le)17
b(instances)-128 4139 y
SDict begin H.S end
-128 4139 a -128 4139 a
SDict begin 12 H.A end
-128
4139 a -128 4139 a
SDict begin [ /View [/XYZ H.V] /Dest (undecidable-instances) cvn H.B /DEST pdfmark end
-128 4139 a 119 x FA(Sometimes)i(e)n(v)o(en)f(the)h
(rules)g(of)g(Section)p 1 0 0 TeXcolorrgb 1093 4259 a
SDict begin H.S end
1093 4259 a 1 0 0 TeXcolorrgb -1 x FA(7.6.3.1)p 1 0 0
TeXcolorrgb 1322 4202 a
SDict begin H.R end
1322 4202 a 1322 4258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.6.3.1) cvn H.B /ANN pdfmark end
1322
4258 a Black 19 w FA(are)g(too)g(onerous.)k(F)o(or)18
b(e)o(xample,)g(sometimes)h(you)f(might)g(w)o(ant)h(to)g(use)g(the)g
(follo)n(wing)f(to)h(get)-128 4358 y(the)i(ef)n(fect)e(of)h(a)h("class)
g(synon)o(ym":)-128 4426 y
SDict begin H.S end
-128 4426 a -128 4426 a
SDict begin 12 H.A end
-128
4426 a -128 4426 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-374) cvn H.B /DEST pdfmark end
-128 4426 a 0.95 TeXcolorgray -153
4441 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4532 25 92 v Black 0.95
TeXcolorgray -128 4532 4252 92 v Black 0.95 TeXcolorgray
4124 4532 25 92 v Black 0.95 TeXcolorgray Black -128
4505 a
SDict begin H.S end
-128 4505 a -128 4505 a
SDict begin 11 H.A end
-128 4505 a -128 4505
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-374.1) cvn H.B /DEST pdfmark end
-128 4505 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
44 w(\()p 0 0 0 TeXcolorrgb(C1)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(C2)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(,)p 0 0 0 TeXcolorrgb
45 w(C3)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))45
b(=>)p 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44
w({)f(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4624 25 92 v Black 0.95 TeXcolorgray -128 4624 4252 92
v Black 0.95 TeXcolorgray 4124 4624 25 92 v Black 0.95
TeXcolorgray Black -128 4596 a
SDict begin H.S end
-128 4596 a -128 4596
a
SDict begin 11 H.A end
-128 4596 a -128 4596 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-374.2) cvn H.B /DEST pdfmark end
-128 4596 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4715 25 92 v Black 0.95
TeXcolorgray -128 4715 4252 92 v Black 0.95 TeXcolorgray
4124 4715 25 92 v Black 0.95 TeXcolorgray Black -128
4688 a
SDict begin H.S end
-128 4688 a -128 4688 a
SDict begin 11 H.A end
-128 4688 a -128 4688
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-374.3) cvn H.B /DEST pdfmark end
-128 4688 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
44 w(\()p 0 0 0 TeXcolorrgb -1 w(C1)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black(,)p 0 0 0 TeXcolorrgb 44 w(C2)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black(,)p 0 0 0 TeXcolorrgb
44 w(C3)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(\))g(=>)p
0 0 0 TeXcolorrgb 45 w(C)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 44 w({)h(})p
0.95 TeXcolorgray -153 4740 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4914 a FA(This)21 b(allo)n(ws)f(you)g(to)g
(write)g(shorter)g(signatures:)-128 4981 y
SDict begin H.S end
-128 4981
a -128 4981 a
SDict begin 12 H.A end
-128 4981 a -128 4981 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-375) cvn H.B /DEST pdfmark end
-128 4981 a 0.95
TeXcolorgray -153 4997 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5088 25 92 v Black 0.95 TeXcolorgray -128 5088 4252 92
v Black 0.95 TeXcolorgray 4124 5088 25 92 v Black 0.95
TeXcolorgray Black -128 5061 a
SDict begin H.S end
-128 5061 a -128 5061
a
SDict begin 11 H.A end
-128 5061 a -128 5061 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-375.1) cvn H.B /DEST pdfmark end
-128 5061 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(C)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=>)44 b(...)p
0.95 TeXcolorgray -153 5113 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5287 a FA(instead)20 b(of)-128
5337 y
SDict begin H.S end
-128 5337 a -128 5337 a
SDict begin 12 H.A end
-128 5337 a -128 5337
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-376) cvn H.B /DEST pdfmark end
-128 5337 a 0.95 TeXcolorgray -153 5370 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5461 25 92 v Black 0.95 TeXcolorgray
-128 5461 4252 92 v Black 0.95 TeXcolorgray 4124 5461
25 92 v Black 0.95 TeXcolorgray Black -128 5434 a
SDict begin H.S end
-128
5434 a -128 5434 a
SDict begin 11 H.A end
-128 5434 a -128 5434 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-376.1) cvn H.B /DEST pdfmark end
-128 5434
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(::)44 b(\()p
0 0 0 TeXcolorrgb(C1)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(C2)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(C3)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(\))h(=>)g(...)p
0.95 TeXcolorgray -153 5486 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5660 a FA(The)17 b(restrictions)f(on)g
(functional)f(dependencies)f(\(Section)p 1 0 0 TeXcolorrgb
1617 5661 a
SDict begin H.S end
1617 5661 a 1 0 0 TeXcolorrgb -1 x FA(7.6.2)p
1 0 0 TeXcolorrgb 1783 5604 a
SDict begin H.R end
1783 5604 a 1783 5660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.6.2) cvn H.B /ANN pdfmark end
1783 5660 a Black FA(\))j(are)f(particularly)f(troublesome.)22
b(It)16 b(is)i(tempting)d(to)i(introduce)e(type)h(v)n(ariables)-128
5759 y(in)21 b(the)f(conte)o(xt)f(that)h(do)g(not)g(appear)f(in)h(the)g
(head,)g(something)e(that)j(is)g(e)o(xcluded)d(by)i(the)g(normal)f
(rules.)25 b(F)o(or)20 b(e)o(xample:)p Black -128 6084
4252 5 v Black eop end
%%Page: 148 163
TeXDict begin 148 162 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.148) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(148)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-377) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(HasConverter)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black 44 w(|)p 0 0 0 TeXcolorrgb 45 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 225 w Fo(convert)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.3) cvn H.B /DEST pdfmark end
-128 420 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 538 25 92 v Black 0.95 TeXcolorgray
-128 538 4252 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511
a -128 511 a
SDict begin 11 H.A end
-128 511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.4) cvn H.B /DEST pdfmark end
-128 511 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(MkFoo)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 630 25 92 v
Black 0.95 TeXcolorgray -128 630 4252 92 v Black 0.95
TeXcolorgray 4124 630 25 92 v Black 0.95 TeXcolorgray
Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128 602 a -128
602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.5) cvn H.B /DEST pdfmark end
-128 602 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 721 25 92 v Black 0.95 TeXcolorgray -128 721 4252
92 v Black 0.95 TeXcolorgray 4124 721 25 92 v Black 0.95
TeXcolorgray Black -128 694 a
SDict begin H.S end
-128 694 a -128 694 a
SDict begin 11 H.A end
-128
694 a -128 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.6) cvn H.B /DEST pdfmark end
-128 694 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(HasConverter)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black(,)p 0 0 0 TeXcolorrgb(Show)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black(\))44 b(=>)p 0 0 0 TeXcolorrgb
45 w(Show)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(\))p 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 812 25 92 v Black 0.95 TeXcolorgray -128 812 4252
92 v Black 0.95 TeXcolorgray 4124 812 25 92 v Black 0.95
TeXcolorgray Black -128 785 a
SDict begin H.S end
-128 785 a -128 785 a
SDict begin 11 H.A end
-128
785 a -128 785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-377.7) cvn H.B /DEST pdfmark end
-128 785 a 0 0 0 TeXcolorrgb 225 w Fo(show)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(MkFoo)p Black 0 0 0
TeXcolorrgb 44 w(value)p Black -1 w(\))g(=)p 0 0 0 TeXcolorrgb
45 w(show)p Black 44 w(\()p 0 0 0 TeXcolorrgb(convert)p
Black 0 0 0 TeXcolorrgb 44 w(value)p Black -1 w(\))p
0.95 TeXcolorgray -153 837 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1010 a FA(This)21 b(is)g(dangerous)d(territory)
-5 b(,)18 b(ho)n(we)n(v)o(er)-5 b(.)23 b(Here,)d(for)g(e)o(xample,)e
(is)k(a)e(program)e(that)i(w)o(ould)g(mak)o(e)g(the)g(typecheck)o(er)e
(loop:)-128 1078 y
SDict begin H.S end
-128 1078 a -128 1078 a
SDict begin 12 H.A end
-128 1078
a -128 1078 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-378) cvn H.B /DEST pdfmark end
-128 1078 a 0.95 TeXcolorgray -153 1093
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1184 25 92 v Black 0.95
TeXcolorgray -128 1184 4252 92 v Black 0.95 TeXcolorgray
4124 1184 25 92 v Black 0.95 TeXcolorgray Black -128
1157 a
SDict begin H.S end
-128 1157 a -128 1157 a
SDict begin 11 H.A end
-128 1157 a -128 1157
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-378.1) cvn H.B /DEST pdfmark end
-128 1157 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(D)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1275 25 92 v Black 0.95 TeXcolorgray -128 1275 4252
92 v Black 0.95 TeXcolorgray 4124 1275 25 92 v Black
0.95 TeXcolorgray Black -128 1248 a
SDict begin H.S end
-128 1248 a -128
1248 a
SDict begin 11 H.A end
-128 1248 a -128 1248 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-378.2) cvn H.B /DEST pdfmark end
-128 1248 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(F)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 45 w(|)p 0 0 0 TeXcolorrgb 45 w(a)p Black(->)p
0 0 0 TeXcolorrgb -1 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1367 25 92 v Black 0.95 TeXcolorgray
-128 1367 4252 92 v Black 0.95 TeXcolorgray 4124 1367
25 92 v Black 0.95 TeXcolorgray Black -128 1339 a
SDict begin H.S end
-128
1339 a -128 1339 a
SDict begin 11 H.A end
-128 1339 a -128 1339 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-378.3) cvn H.B /DEST pdfmark end
-128 1339
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(F)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p Black(])45
b([[)p 0 0 0 TeXcolorrgb -1 w(a)p Black(]])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1458 25 92 v Black 0.95
TeXcolorgray -128 1458 4252 92 v Black 0.95 TeXcolorgray
4124 1458 25 92 v Black 0.95 TeXcolorgray Black -128
1431 a
SDict begin H.S end
-128 1431 a -128 1431 a
SDict begin 11 H.A end
-128 1431 a -128 1431
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-378.4) cvn H.B /DEST pdfmark end
-128 1431 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
44 w(\()p 0 0 0 TeXcolorrgb -1 w(D)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black(,)p 0 0 0 TeXcolorrgb 45 w(F)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(c)p
Black(\))f(=>)p 0 0 0 TeXcolorrgb 45 w(D)p Black 45 w([)p
0 0 0 TeXcolorrgb -1 w(a)p Black(])135 b(--)44 b(')p
0 0 0 TeXcolorrgb(c)p Black(')p 0 0 0 TeXcolorrgb 44
w(is)p Black 0 0 0 TeXcolorrgb 45 w(not)p Black 0 0 0
TeXcolorrgb 44 w(mentioned)p Black 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0
TeXcolorrgb 44 w(head)p Black 0.95 TeXcolorgray -153
1483 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1656 a FA(Similarly)-5 b(,)20 b(it)h(can)f(be)g(tempting)f(to)h
(lift)h(the)f(co)o(v)o(erage)e(condition:)-128 1723 y
SDict begin H.S end
-128 1723 a -128 1723 a
SDict begin 12 H.A end
-128 1723 a -128 1723 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-379) cvn H.B /DEST pdfmark end
-128
1723 a 0.95 TeXcolorgray -153 1738 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1830 25 92 v Black 0.95 TeXcolorgray -128 1830 4252
92 v Black 0.95 TeXcolorgray 4124 1830 25 92 v Black
0.95 TeXcolorgray Black -128 1802 a
SDict begin H.S end
-128 1802 a -128
1802 a
SDict begin 11 H.A end
-128 1802 a -128 1802 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-379.1) cvn H.B /DEST pdfmark end
-128 1802 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Mul)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 0 0 0 TeXcolorrgb 45 w(c)p Black 44 w(|)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(c)p Black
0 0 0 TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1921 25 92 v Black 0.95
TeXcolorgray -128 1921 4252 92 v Black 0.95 TeXcolorgray
4124 1921 25 92 v Black 0.95 TeXcolorgray Black -128
1894 a
SDict begin H.S end
-128 1894 a -128 1894 a
SDict begin 11 H.A end
-128 1894 a -128 1894
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-379.2) cvn H.B /DEST pdfmark end
-128 1894 a 180 w Fo(\(.)142 1907 y(*)187 1894 y(.\))44
b(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(c)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2012 25 92 v Black 0.95 TeXcolorgray -128 2012 4252
92 v Black 0.95 TeXcolorgray 4124 2012 25 92 v Black
0.95 TeXcolorgray Black -128 1985 a
SDict begin H.S end
-128 1985 a -128
1985 a
SDict begin 11 H.A end
-128 1985 a -128 1985 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-379.3) cvn H.B /DEST pdfmark end
-128 1985 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2104 25 92 v Black 0.95
TeXcolorgray -128 2104 4252 92 v Black 0.95 TeXcolorgray
4124 2104 25 92 v Black 0.95 TeXcolorgray Black -128
2076 a
SDict begin H.S end
-128 2076 a -128 2076 a
SDict begin 11 H.A end
-128 2076 a -128 2076
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-379.4) cvn H.B /DEST pdfmark end
-128 2076 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
0 0 0 TeXcolorrgb 44 w(Mul)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0
TeXcolorrgb 45 w(Int)p Black 0 0 0 TeXcolorrgb 44 w(where)p
Black 44 w(\(.)1442 2089 y(*)1487 2076 y(.\))g(=)h(\()1756
2089 y(*)1801 2076 y(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2195 25 92 v Black 0.95 TeXcolorgray
-128 2195 4252 92 v Black 0.95 TeXcolorgray 4124 2195
25 92 v Black 0.95 TeXcolorgray Black -128 2168 a
SDict begin H.S end
-128
2168 a -128 2168 a
SDict begin 11 H.A end
-128 2168 a -128 2168 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-379.5) cvn H.B /DEST pdfmark end
-128 2168
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(Mul)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0
TeXcolorrgb 44 w(Float)p Black 0 0 0 TeXcolorrgb 44 w(Float)p
Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(.)1666 2181 y(*)1711 2168 y(.)p 0 0 0
TeXcolorrgb 44 w(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(fromIntegral)p Black 0 0 0 TeXcolorrgb 42 w(x)p
Black 2652 2181 a(*)p 0 0 0 TeXcolorrgb 2742 2168 a(y)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2286 25 92 v Black 0.95 TeXcolorgray -128 2286 4252 92
v Black 0.95 TeXcolorgray 4124 2286 25 92 v Black 0.95
TeXcolorgray Black -128 2259 a
SDict begin H.S end
-128 2259 a -128 2259
a
SDict begin 11 H.A end
-128 2259 a -128 2259 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-379.6) cvn H.B /DEST pdfmark end
-128 2259 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Mul)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black 0 0 0 TeXcolorrgb 44 w(c)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 44 w(Mul)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w([)p 0 0 0 TeXcolorrgb(b)p Black(])g([)p
0 0 0 TeXcolorrgb(c)p Black -1 w(])p 0 0 0 TeXcolorrgb
45 w(where)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45
w(.)1980 2272 y(*)2025 2259 y(.)p 0 0 0 TeXcolorrgb 44
w(v)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(map)p Black
45 w(\()p 0 0 0 TeXcolorrgb(x)p Black -1 w(.)2607 2272
y(*)2652 2259 y(.\))p 0 0 0 TeXcolorrgb 45 w(v)p Black
0.95 TeXcolorgray -153 2311 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2484 a FA(The)20 b(third)g(instance)g
(declaration)e(does)i(not)g(obe)o(y)f(the)h(co)o(v)o(erage)e
(condition;)h(and)g(indeed)g(the)i(\(some)n(what)e(strange\))g
(de\002nition:)-128 2552 y
SDict begin H.S end
-128 2552 a -128 2552 a
SDict begin 12 H.A end
-128
2552 a -128 2552 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-380) cvn H.B /DEST pdfmark end
-128 2552 a 0.95 TeXcolorgray -153
2567 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2658 25 92 v Black 0.95
TeXcolorgray -128 2658 4252 92 v Black 0.95 TeXcolorgray
4124 2658 25 92 v Black 0.95 TeXcolorgray Black -128
2631 a
SDict begin H.S end
-128 2631 a -128 2631 a
SDict begin 11 H.A end
-128 2631 a -128 2631
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-380.1) cvn H.B /DEST pdfmark end
-128 2631 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45
w(=)44 b(\\)p 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0
TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb 44 w(y)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(if)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb 45 w(then)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(.)1218 2644
y(*)1263 2631 y(.)g([)p 0 0 0 TeXcolorrgb(y)p Black(])p
0 0 0 TeXcolorrgb 44 w(else)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black 0.95 TeXcolorgray -153 2683 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 2856 a
FA(mak)o(es)20 b(instance)g(inference)f(go)h(into)g(a)g(loop,)f
(because)h(it)h(requires)e(the)h(constraint)f Ft(\(Mul)49
b(a)h([b])f(b\))p FA(.)-128 3005 y(Ne)n(v)o(ertheless,)23
b(GHC)i(allo)n(ws)e(you)g(to)h(e)o(xperiment)d(with)i(more)g(liberal)g
(rules.)35 b(If)23 b(you)g(use)g(the)h(e)o(xperimental)d(\003ag)i
Ft(-XUndecidableIn-)-128 3104 y(stances)h FA(,)i(both)e(the)h(P)o
(aterson)e(Conditions)h(and)g(the)h(Co)o(v)o(erage)e(Condition)g
(\(described)g(in)h(Section)p 1 0 0 TeXcolorrgb 2997
3105 a
SDict begin H.S end
2997 3105 a 1 0 0 TeXcolorrgb -1 x FA(7.6.3.1)p
1 0 0 TeXcolorrgb 3225 3048 a
SDict begin H.R end
3225 3048 a 3225 3104 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.6.3.1) cvn H.B /ANN pdfmark end
3225 3104 a Black FA(\))h(are)f(lifted.)38 b(T)-6 b(ermination)23
b(is)-128 3204 y(ensured)18 b(by)h(ha)n(ving)f(a)h(\002x)o(ed-depth)e
(recursion)h(stack.)24 b(If)19 b(you)f(e)o(xceed)g(the)h(stack)h(depth)
e(you)g(get)h(a)g(sort)h(of)e(backtrace,)g(and)h(the)g(opportunity)d
(to)-128 3304 y(increase)k(the)g(stack)h(depth)e(with)h
Ft(-fcontext-stack=)p Fq(N)p FA(.)-128 3438 y
SDict begin H.S end
-128 3438
a -128 3438 a
SDict begin 12 H.A end
-128 3438 a -128 3438 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.3.3) cvn H.B /DEST pdfmark end
-128 3438 a Black
130 x Fx(7.6.3.3)p Black 73 w(Overlapping)d(instances)-128
3652 y
SDict begin H.S end
-128 3652 a -128 3652 a
SDict begin 12 H.A end
-128 3652 a -128 3652
a
SDict begin [ /View [/XYZ H.V] /Dest (instance-overlap) cvn H.B /DEST pdfmark end
-128 3652 a 119 x FA(In)f(general,)e Fq(GHC)j(r)m(equir)m(es)e(that)g
(that)g(it)h(be)g(unambiguous)c(whic)o(h)j(instance)g(declar)o(ation)e
(should)h(be)i(used)f(to)g(r)m(esolve)h(a)f(type-class)g(constr)o(aint)
p FA(.)-128 3870 y(This)31 b(beha)n(viour)e(can)i(be)g(modi\002ed)e(by)
i(tw)o(o)g(\003ags:)47 b Ft(-XOverlappingInstances)27
b FA(and)k Ft(-XIncoherentInstances)c FA(,)34 b(as)d(this)-128
3970 y(section)21 b(discusses.)27 b(Both)21 b(these)g(\003ags)g(are)g
(dynamic)e(\003ags,)i(and)g(can)f(be)h(set)h(on)e(a)h(per)n(-module)e
(basis,)i(using)f(an)h Ft(OPTIONS_GHC)e FA(pragma)h(if)-128
4070 y(desired)g(\(Section)p 1 0 0 TeXcolorrgb 430 4071
a
SDict begin H.S end
430 4071 a 1 0 0 TeXcolorrgb -1 x FA(4.1.2)p 1 0 0
TeXcolorrgb 596 4013 a
SDict begin H.R end
596 4013 a 596 4070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.1.2) cvn H.B /ANN pdfmark end
596 4070
a Black FA(\).)-128 4218 y(When)h(GHC)g(tries)f(to)h(resolv)o(e,)e(say)
-5 b(,)20 b(the)g(constraint)f Ft(C)50 b(Int)f(Bool)p
FA(,)20 b(it)h(tries)g(to)f(match)g(e)n(v)o(ery)f(instance)h
(declaration)e(against)i(the)g(constraint,)-128 4318
y(by)g(instantiating)g(the)g(head)f(of)h(the)g(instance)g(declaration.)
k(F)o(or)19 b(e)o(xample,)g(consider)g(these)h(declarations:)-128
4385 y
SDict begin H.S end
-128 4385 a -128 4385 a
SDict begin 12 H.A end
-128 4385 a -128 4385
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-381) cvn H.B /DEST pdfmark end
-128 4385 a 0.95 TeXcolorgray -153 4400 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4492 25 92 v Black 0.95 TeXcolorgray
-128 4492 4252 92 v Black 0.95 TeXcolorgray 4124 4492
25 92 v Black 0.95 TeXcolorgray Black -128 4464 a
SDict begin H.S end
-128
4464 a -128 4464 a
SDict begin 11 H.A end
-128 4464 a -128 4464 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-381.1) cvn H.B /DEST pdfmark end
-128 4464
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(context1)p Black 43 w(=>)p 0 0 0 TeXcolorrgb 45
w(C)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 224 w(where)p
Black 44 w(...)89 b(--)44 b(\()p 0 0 0 TeXcolorrgb(A)p
Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4583 25 92 v Black 0.95 TeXcolorgray -128 4583 4252
92 v Black 0.95 TeXcolorgray 4124 4583 25 92 v Black
0.95 TeXcolorgray Black -128 4556 a
SDict begin H.S end
-128 4556 a -128
4556 a
SDict begin 11 H.A end
-128 4556 a -128 4556 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-381.2) cvn H.B /DEST pdfmark end
-128 4556 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(context2)p
Black 43 w(=>)p 0 0 0 TeXcolorrgb 45 w(C)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 135 w(Bool)p
Black 0 0 0 TeXcolorrgb 89 w(where)p Black 44 w(...)89
b(--)44 b(\()p 0 0 0 TeXcolorrgb(B)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4674 25 92
v Black 0.95 TeXcolorgray -128 4674 4252 92 v Black 0.95
TeXcolorgray 4124 4674 25 92 v Black 0.95 TeXcolorgray
Black -128 4647 a
SDict begin H.S end
-128 4647 a -128 4647 a
SDict begin 11 H.A end
-128 4647 a
-128 4647 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-381.3) cvn H.B /DEST pdfmark end
-128 4647 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(context3)p Black 43 w(=>)p
0 0 0 TeXcolorrgb 45 w(C)p Black 0 0 0 TeXcolorrgb 44
w(Int)p Black 45 w([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0 0 0 TeXcolorrgb 135 w(where)p Black 44 w(...)89 b(--)44
b(\()p 0 0 0 TeXcolorrgb(C)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4766 25 92 v Black 0.95
TeXcolorgray -128 4766 4252 92 v Black 0.95 TeXcolorgray
4124 4766 25 92 v Black 0.95 TeXcolorgray Black -128
4738 a
SDict begin H.S end
-128 4738 a -128 4738 a
SDict begin 11 H.A end
-128 4738 a -128 4738
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-381.4) cvn H.B /DEST pdfmark end
-128 4738 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
0 0 0 TeXcolorrgb 44 w(context4)p Black 43 w(=>)p 0 0 0
TeXcolorrgb 45 w(C)p Black 0 0 0 TeXcolorrgb 44 w(Int)p
Black 45 w([)p 0 0 0 TeXcolorrgb -1 w(Int)p Black(])p
0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)89 b(--)44
b(\()p 0 0 0 TeXcolorrgb(D)p Black(\))p 0.95 TeXcolorgray
-153 4791 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4964 a FA(The)22 b(instances)f(\(A\))g(and)g(\(B\))h(match)e
(the)i(constraint)e Ft(C)50 b(Int)f(Bool)p FA(,)21 b(b)n(ut)h(\(C\))g
(and)e(\(D\))i(do)f(not.)28 b(When)21 b(matching,)f(GHC)i(tak)o(es)g
(no)f(account)-128 5063 y(of)f(the)g(conte)o(xt)f(of)g(the)h(instance)g
(declaration)e(\()p Ft(context1)h FA(etc\).)25 b(GHC')-5
b(s)21 b(def)o(ault)e(beha)n(viour)f(is)j(that)f Fq(e)n(xactly)g(one)f
(instance)g(must)i(matc)o(h)e(the)-128 5163 y(constr)o(aint)h(it)h(is)g
(trying)g(to)f(r)m(esolve)p FA(.)26 b(It)21 b(is)g(\002ne)g(for)f
(there)g(to)g(be)h(a)f Fq(potential)g FA(of)g(o)o(v)o(erlap)e(\(by)i
(including)f(both)g(declarations)g(\(A\))i(and)f(\(B\),)g(say\);)-128
5263 y(an)h(error)e(is)i(only)e(reported)g(if)h(a)h(particular)e
(constraint)g(matches)h(more)f(than)h(one.)-128 5411
y(The)28 b Ft(-XOverlappingInstances)d FA(\003ag)j(instructs)g(GHC)i
(to)e(allo)n(w)g(more)g(than)f(one)h(instance)g(to)g(match,)i(pro)o
(vided)25 b(there)j(is)h(a)g(most)-128 5511 y(speci\002c)23
b(one.)31 b(F)o(or)22 b(e)o(xample,)f(the)h(constraint)g
Ft(C)49 b(Int)h([Int])22 b FA(matches)g(instances)g(\(A\),)g(\(C\))g
(and)g(\(D\),)g(b)n(ut)g(the)h(last)g(is)g(more)f(speci\002c,)h(and)
-128 5611 y(hence)d(is)h(chosen.)j(If)c(there)g(is)h(no)f
(most-speci\002c)f(match,)h(the)g(program)e(is)j(rejected.)-128
5759 y(Ho)n(we)n(v)o(er)m(,)e(GHC)i(is)g(conserv)n(ati)n(v)o(e)d(about)
h(committing)f(to)j(an)f(o)o(v)o(erlapping)d(instance.)24
b(F)o(or)c(e)o(xample:)p Black -128 6084 4252 5 v Black
eop end
%%Page: 149 164
TeXDict begin 149 163 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.149) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(149)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-382) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-382.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)44 b([)p 0 0 0 TeXcolorrgb(b)p
Black(])h(->)f([)p 0 0 0 TeXcolorrgb(b)p Black(])p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 356 25 92 v
Black 0.95 TeXcolorgray -128 356 4252 92 v Black 0.95
TeXcolorgray 4124 356 25 92 v Black 0.95 TeXcolorgray
Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128 328 a -128
328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-382.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(=)h(...)p 0.95
TeXcolorgray -153 381 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 555 a FA(Suppose)27 b(that)g(from)f(the)i(RHS)g
(of)f Ft(f)h FA(we)f(get)g(the)h(constraint)e Ft(C)50
b(Int)f([b])p FA(.)d(But)28 b(GHC)g(does)f(not)g(commit)g(to)g
(instance)g(\(C\),)g(because)g(in)-128 655 y(a)f(particular)e(call)h
(of)g Ft(f)p FA(,)i Ft(b)e FA(might)f(be)h(instantiate)g(to)h
Ft(Int)p FA(,)g(in)f(which)g(case)g(instance)g(\(D\))g(w)o(ould)f(be)h
(more)f(speci\002c)i(still.)40 b(So)26 b(GHC)g(rejects)-128
754 y(the)h(program.)43 b(\(If)27 b(you)f(add)g(the)h(\003ag)g
Ft(-XIncoherentInstances)p FA(,)e(GHC)j(will)f(instead)g(pick)f(\(C\),)
h(without)f(complaining)f(about)h(the)-128 854 y(problem)19
b(of)h(subsequent)f(instantiations.\))-128 1003 y(Notice)j(that)g(we)g
(ga)n(v)o(e)f(a)h(type)g(signature)f(to)h Ft(f)p FA(,)g(so)g(GHC)h(had)
e(to)h Fq(c)o(hec)n(k)h FA(that)f Ft(f)g FA(has)g(the)g(speci\002ed)g
(type.)29 b(Suppose)21 b(instead)g(we)i(do)e(not)h(gi)n(v)o(e)f(a)-128
1103 y(type)h(signature,)f(asking)h(GHC)h(to)f Fq(infer)j
FA(it)e(instead.)30 b(In)22 b(this)h(case,)g(GHC)g(will)g(refrain)e
(from)g(simplifying)g(the)h(constraint)f Ft(C)50 b(Int)f([b])22
b FA(\(for)-128 1203 y(the)f(same)f(reason)f(as)i(before\))e(b)n(ut,)h
(rather)f(than)h(rejecting)f(the)h(program,)e(it)j(will)g(infer)e(the)i
(type)-128 1270 y
SDict begin H.S end
-128 1270 a -128 1270 a
SDict begin 12 H.A end
-128 1270 a
-128 1270 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-383) cvn H.B /DEST pdfmark end
-128 1270 a 0.95 TeXcolorgray -153 1286 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1377 25 92 v Black 0.95
TeXcolorgray -128 1377 4252 92 v Black 0.95 TeXcolorgray
4124 1377 25 92 v Black 0.95 TeXcolorgray Black -128
1350 a
SDict begin H.S end
-128 1350 a -128 1350 a
SDict begin 11 H.A end
-128 1350 a -128 1350
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-383.1) cvn H.B /DEST pdfmark end
-128 1350 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45
w(::)p 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
45 w(Int)p Black 44 w([)p 0 0 0 TeXcolorrgb(b)p Black(])45
b(=>)f([)p 0 0 0 TeXcolorrgb(b)p Black(])g(->)h([)p 0 0 0
TeXcolorrgb(b)p Black(])p 0.95 TeXcolorgray -153 1402
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
1576 a FA(That)22 b(postpones)f(the)g(question)g(of)h(which)f(instance)
h(to)g(pick)f(to)h(the)g(call)g(site)h(for)e Ft(f)h FA(by)g(which)f
(time)h(more)f(is)i(kno)n(wn)d(about)h(the)h(type)f Ft(b)p
FA(.)31 b(Y)-9 b(ou)-128 1676 y(can)20 b(write)h(this)g(type)e
(signature)g(yourself)g(if)i(you)e(use)h(the)p 1 0 0
TeXcolorrgb 1593 1677 a
SDict begin H.S end
1593 1677 a 1 0 0 TeXcolorrgb
-1 x FA(-XFle)o(xibleConte)o(xts)p 1 0 0 TeXcolorrgb
2245 1620 a
SDict begin H.R end
2245 1620 a 2245 1676 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (flexible-contexts) cvn H.B /ANN pdfmark end
2245 1676 a Black
21 w FA(\003ag.)-128 1825 y(Exactly)g(the)g(same)g(situation)g(can)g
(arise)h(in)f(instance)g(declarations)f(themselv)o(es.)24
b(Suppose)19 b(we)i(ha)n(v)o(e)-128 1893 y
SDict begin H.S end
-128 1893
a -128 1893 a
SDict begin 12 H.A end
-128 1893 a -128 1893 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-384) cvn H.B /DEST pdfmark end
-128 1893 a 0.95
TeXcolorgray -153 1908 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2000 25 92 v Black 0.95 TeXcolorgray -128 2000 4252 92
v Black 0.95 TeXcolorgray 4124 2000 25 92 v Black 0.95
TeXcolorgray Black -128 1972 a
SDict begin H.S end
-128 1972 a -128 1972
a
SDict begin 11 H.A end
-128 1972 a -128 1972 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-384.1) cvn H.B /DEST pdfmark end
-128 1972 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2091 25 92 v Black 0.95 TeXcolorgray -128 2091 4252
92 v Black 0.95 TeXcolorgray 4124 2091 25 92 v Black
0.95 TeXcolorgray Black -128 2064 a
SDict begin H.S end
-128 2064 a -128
2064 a
SDict begin 11 H.A end
-128 2064 a -128 2064 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-384.2) cvn H.B /DEST pdfmark end
-128 2064 a 0 0 0 TeXcolorrgb
225 w Fo(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2182 25 92
v Black 0.95 TeXcolorgray -128 2182 4252 92 v Black 0.95
TeXcolorgray 4124 2182 25 92 v Black 0.95 TeXcolorgray
Black -128 2155 a
SDict begin H.S end
-128 2155 a -128 2155 a
SDict begin 11 H.A end
-128 2155 a
-128 2155 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-384.3) cvn H.B /DEST pdfmark end
-128 2155 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black 44 w([)p 0 0 0
TeXcolorrgb(b)p Black(])p 0 0 0 TeXcolorrgb 44 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2274 25 92 v Black 0.95 TeXcolorgray -128 2274 4252 92
v Black 0.95 TeXcolorgray 4124 2274 25 92 v Black 0.95
TeXcolorgray Black -128 2246 a
SDict begin H.S end
-128 2246 a -128 2246
a
SDict begin 11 H.A end
-128 2246 a -128 2246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-384.4) cvn H.B /DEST pdfmark end
-128 2246 a 0 0 0 TeXcolorrgb
225 w Fo(f)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45
w(=)45 b(...)p 0.95 TeXcolorgray -153 2299 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 2473 a
FA(and,)21 b(as)h(before,)e(the)i(constraint)e Ft(C)50
b(Int)f([b])21 b FA(arises)h(from)f Ft(f)p FA(')-5 b(s)22
b(right)e(hand)h(side.)28 b(GHC)23 b(will)f(reject)f(the)g(instance,)g
(complaining)e(as)j(before)-128 2573 y(that)j(it)g(does)g(not)f(kno)n
(w)g(ho)n(w)g(to)h(resolv)o(e)e(the)i(constraint)f Ft(C)49
b(Int)g([b])p FA(,)26 b(because)e(it)h(matches)f(more)g(than)g(one)g
(instance)h(declaration.)36 b(The)-128 2672 y(solution)20
b(is)h(to)f(postpone)f(the)h(choice)f(by)h(adding)f(the)h(constraint)f
(to)i(the)f(conte)o(xt)f(of)h(the)g(instance)g(declaration,)e(thus:)
-128 2740 y
SDict begin H.S end
-128 2740 a -128 2740 a
SDict begin 12 H.A end
-128 2740 a -128
2740 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-385) cvn H.B /DEST pdfmark end
-128 2740 a 0.95 TeXcolorgray -153 2755 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2847 25 92 v Black 0.95 TeXcolorgray
-128 2847 4252 92 v Black 0.95 TeXcolorgray 4124 2847
25 92 v Black 0.95 TeXcolorgray Black -128 2819 a
SDict begin H.S end
-128
2819 a -128 2819 a
SDict begin 11 H.A end
-128 2819 a -128 2819 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-385.1) cvn H.B /DEST pdfmark end
-128 2819
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(C)p Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 45
w([)p 0 0 0 TeXcolorrgb -1 w(b)p Black(])45 b(=>)p 0 0 0
TeXcolorrgb 44 w(Foo)p Black 45 w([)p 0 0 0 TeXcolorrgb(b)p
Black -1 w(])p 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2938 25 92
v Black 0.95 TeXcolorgray -128 2938 4252 92 v Black 0.95
TeXcolorgray 4124 2938 25 92 v Black 0.95 TeXcolorgray
Black -128 2910 a
SDict begin H.S end
-128 2910 a -128 2910 a
SDict begin 11 H.A end
-128 2910 a
-128 2910 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-385.2) cvn H.B /DEST pdfmark end
-128 2910 a 0 0 0 TeXcolorrgb 225 w Fo(f)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)g(...)p
0.95 TeXcolorgray -153 2963 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3137 a FA(\(Y)-9 b(ou)20 b(need)p
1 0 0 TeXcolorrgb 232 3138 a
SDict begin H.S end
232 3138 a 1 0 0 TeXcolorrgb
-1 x FA(-XFle)o(xibleInstances)p 1 0 0 TeXcolorrgb 900
3081 a
SDict begin H.R end
900 3081 a 900 3137 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (instance-rules) cvn H.B /ANN pdfmark end
900 3137 a Black 20 w FA(to)h(do)e
(this.\))-128 3287 y(The)28 b(willingness)g(to)g(be)g(o)o(v)o(erlapped)
d(or)j(incoherent)e(is)j(a)g(property)c(of)j(the)g Fq(instance)g
(declar)o(ation)e FA(itself,)k(controlled)c(by)i(the)g(presence)f(or)
-128 3386 y(otherwise)c(of)f(the)h Ft(-XOverlappingInstances)d
FA(and)i Ft(-XIncoherentInstances)d FA(\003ags)24 b(when)e(that)h
(module)e(is)j(being)e(de\002ned.)-128 3486 y(Neither)e(\003ag)g(is)i
(required)c(in)i(a)h(module)e(that)h(imports)g(and)f(uses)i(the)f
(instance)g(declaration.)j(Speci\002cally)-5 b(,)19 b(during)g(the)h
(lookup)f(process:)p Black -128 3702 a(\225)p Black 42
w(An)33 b(instance)f(declaration)f(is)i(ignored)e(during)g(the)h
(lookup)f(process)h(if)h(\(a\))f(a)h(more)f(speci\002c)h(match)f(is)h
(found,)h(and)e(\(b\))g(the)g(instance)-57 3801 y(declaration)f(w)o(as)
i(compiled)e(with)h Ft(-XOverlappingInstances)p FA(.)57
b(The)32 b(\003ag)h(setting)f(for)g(the)g(more-speci\002c)e(instance)i
(does)g(not)-57 3901 y(matter)-5 b(.)p Black -128 4067
a(\225)p Black 42 w(Suppose)22 b(an)g(instance)h(declaration)e(does)h
(not)g(match)h(the)f(constraint)g(being)g(look)o(ed)f(up,)i(b)n(ut)g
(does)f(unify)g(with)g(it,)i(so)f(that)g(it)g(might)g(match)-57
4167 y(when)15 b(the)g(constraint)g(is)h(further)e(instantiated.)23
b(Usually)15 b(GHC)h(will)g(re)o(gard)e(this)h(as)i(a)e(reason)g(for)g
(not)g(committing)f(to)h(some)h(other)e(constraint.)-57
4266 y(But)25 b(if)f(the)g(instance)g(declaration)e(w)o(as)j(compiled)d
(with)j Ft(-XIncoherentInstances)p FA(,)c(GHC)k(will)g(skip)f(the)g
("does-it-unify?")d(check)-57 4366 y(for)f(that)g(declaration.)-128
4582 y(These)h(rules)f(mak)o(e)g(it)h(possible)g(for)e(a)i(library)f
(author)f(to)h(design)g(a)h(library)e(that)i(relies)g(on)f(o)o(v)o
(erlapping)d(instances)j(without)g(the)h(library)e(client)-128
4681 y(ha)n(ving)h(to)g(kno)n(w)-5 b(.)-128 4831 y(If)19
b(an)f(instance)h(declaration)e(is)i(compiled)e(without)h
Ft(-XOverlappingInstances)p FA(,)d(then)j(that)h(instance)f(can)h(ne)n
(v)o(er)e(be)h(o)o(v)o(erlapped.)k(This)-128 4930 y(could)d(perhaps)g
(be)g(incon)m(v)o(enient.)j(Perhaps)d(the)h(rule)f(should)f(instead)i
(say)g(that)g(the)f Fq(o)o(verlapping)f FA(instance)h(declaration)f
(should)h(be)g(compiled)-128 5030 y(in)24 b(this)g(w)o(ay)-5
b(,)23 b(rather)g(than)g(the)g Fq(o)o(verlapped)h FA(one.)34
b(Perhaps)22 b(o)o(v)o(erlap)g(at)i(a)f(usage)g(site)i(should)d(be)h
(permitted)f(re)o(gardless)g(of)h(ho)n(w)g(the)g(instance)-128
5130 y(declarations)e(are)i(compiled,)e(if)h(the)g Ft
(-XOverlappingInstances)d FA(\003ag)j(is)i(used)e(at)g(the)h(usage)e
(site.)32 b(\(Mind)22 b(you,)f(the)i(e)o(xact)e(usage)h(site)-128
5229 y(can)e(occasionally)f(be)h(hard)g(to)g(pin)g(do)n(wn.\))j(W)-7
b(e)22 b(are)e(interested)f(to)i(recei)n(v)o(e)e(feedback)f(on)i(these)
g(points.)-128 5379 y(The)g Ft(-XIncoherentInstances)d
FA(\003ag)j(implies)h(the)f Ft(-XOverlappingInstances)d
FA(\003ag,)j(b)n(ut)g(not)g(vice)g(v)o(ersa.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 150 165
TeXDict begin 150 164 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.150) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(150)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.6.3.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.6.3.4)p
Black 73 w(T)l(ype)e(synon)o(yms)g(in)i(the)g(instance)e(head)-128
375 y Fq(Unlik)o(e)j(Hask)o(ell)f(98,)g(instance)f(heads)h(may)g(use)g
(type)g(synonyms)p FA(.)25 b(\(The)19 b(instance)h("head")f(is)i(the)g
(bit)f(after)g(the)g("=>")g(in)h(an)f(instance)g(decl.\))k(As)-128
474 y(al)o(w)o(ays,)d(using)f(a)g(type)g(synon)o(ym)e(is)j(just)g
(shorthand)d(for)h(writing)h(the)g(RHS)h(of)f(the)h(type)e(synon)o(ym)f
(de\002nition.)24 b(F)o(or)c(e)o(xample:)-128 540 y
SDict begin H.S end
-128
540 a -128 540 a
SDict begin 12 H.A end
-128 540 a -128 540 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-386) cvn H.B /DEST pdfmark end
-128 540 a 0.95
TeXcolorgray -153 556 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
647 25 92 v Black 0.95 TeXcolorgray -128 647 4252 92
v Black 0.95 TeXcolorgray 4124 647 25 92 v Black 0.95
TeXcolorgray Black -128 620 a
SDict begin H.S end
-128 620 a -128 620 a
SDict begin 11 H.A end
-128
620 a -128 620 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-386.1) cvn H.B /DEST pdfmark end
-128 620 a 0 0 0 TeXcolorrgb 90 w Fo(type)p
Black 0 0 0 TeXcolorrgb 44 w(Point)p Black 44 w(=)45
b(\()p 0 0 0 TeXcolorrgb(Int)p Black -1 w(,)p 0 0 0 TeXcolorrgb(Int)p
Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 738 25 92 v Black 0.95 TeXcolorgray -128 738 4252
92 v Black 0.95 TeXcolorgray 4124 738 25 92 v Black 0.95
TeXcolorgray Black -128 711 a
SDict begin H.S end
-128 711 a -128 711 a
SDict begin 11 H.A end
-128
711 a -128 711 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-386.2) cvn H.B /DEST pdfmark end
-128 711 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
44 w(Point)p Black 0 0 0 TeXcolorrgb 134 w(where)p Black
44 w(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 830 25 92 v Black 0.95 TeXcolorgray -128 830 4252
92 v Black 0.95 TeXcolorgray 4124 830 25 92 v Black 0.95
TeXcolorgray Black -128 802 a
SDict begin H.S end
-128 802 a -128 802 a
SDict begin 11 H.A end
-128
802 a -128 802 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-386.3) cvn H.B /DEST pdfmark end
-128 802 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 44 w([)p 0 0 0
TeXcolorrgb(Point)p Black -1 w(])p 0 0 0 TeXcolorrgb
45 w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153
855 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1026 a FA(is)22 b(le)o(gal.)i(Ho)n(we)n(v)o(er)m(,)18
b(if)i(you)g(added)-128 1092 y
SDict begin H.S end
-128 1092 a -128 1092
a
SDict begin 12 H.A end
-128 1092 a -128 1092 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-387) cvn H.B /DEST pdfmark end
-128 1092 a 0.95 TeXcolorgray
-153 1107 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1198 25 92
v Black 0.95 TeXcolorgray -128 1198 4252 92 v Black 0.95
TeXcolorgray 4124 1198 25 92 v Black 0.95 TeXcolorgray
Black -128 1171 a
SDict begin H.S end
-128 1171 a -128 1171 a
SDict begin 11 H.A end
-128 1171 a
-128 1171 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-387.1) cvn H.B /DEST pdfmark end
-128 1171 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 44 w(\()p 0 0 0
TeXcolorrgb(Int)p Black(,)p 0 0 0 TeXcolorrgb -1 w(Int)p
Black(\))p 0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p
0.95 TeXcolorgray -153 1223 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1394 a FA(as)33 b(well,)j(then)c(the)g(compiler)
f(will)i(complain)e(about)g(the)h(o)o(v)o(erlapping)d(\(actually)-5
b(,)34 b(identical\))d(instance)h(declarations.)60 b(As)33
b(al)o(w)o(ays,)i(type)-128 1494 y(synon)o(yms)19 b(must)h(be)g(fully)g
(applied.)k(Y)-9 b(ou)19 b(cannot,)g(for)h(e)o(xample,)e(write:)-128
1560 y
SDict begin H.S end
-128 1560 a -128 1560 a
SDict begin 12 H.A end
-128 1560 a -128 1560
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-388) cvn H.B /DEST pdfmark end
-128 1560 a 0.95 TeXcolorgray -153 1575 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1667 25 92 v Black 0.95 TeXcolorgray
-128 1667 4252 92 v Black 0.95 TeXcolorgray 4124 1667
25 92 v Black 0.95 TeXcolorgray Black -128 1639 a
SDict begin H.S end
-128
1639 a -128 1639 a
SDict begin 11 H.A end
-128 1639 a -128 1639 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-388.1) cvn H.B /DEST pdfmark end
-128 1639
a 0 0 0 TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb
44 w(P)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=)44
b([[)p 0 0 0 TeXcolorrgb(a)p Black(]])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1758 25 92 v Black 0.95
TeXcolorgray -128 1758 4252 92 v Black 0.95 TeXcolorgray
4124 1758 25 92 v Black 0.95 TeXcolorgray Black -128
1731 a
SDict begin H.S end
-128 1731 a -128 1731 a
SDict begin 11 H.A end
-128 1731 a -128 1731
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-388.2) cvn H.B /DEST pdfmark end
-128 1731 a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black
0 0 0 TeXcolorrgb 44 w(Monad)p Black 0 0 0 TeXcolorrgb
44 w(P)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 44
w(...)p 0.95 TeXcolorgray -153 1783 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 1954 a FA(This)21
b(design)e(decision)h(is)h(independent)c(of)j(all)h(the)f(others,)g
(and)f(easily)i(re)n(v)o(ersed,)d(b)n(ut)i(it)h(mak)o(es)f(sense)h(to)f
(me.)-128 2088 y
SDict begin H.S end
-128 2088 a -128 2088 a
SDict begin 12 H.A end
-128 2088 a
-128 2088 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.6.4) cvn H.B /DEST pdfmark end
-128 2088 a Black 146 x Fp(7.6.4)p Black
90 w(Overloaded)j(string)h(literals)-128 2322 y
SDict begin H.S end
-128
2322 a -128 2322 a
SDict begin 12 H.A end
-128 2322 a -128 2322 a
SDict begin [ /View [/XYZ H.V] /Dest (overloaded-strings) cvn H.B /DEST pdfmark end
-128 2322
a 113 x FA(GHC)e(supports)e Fq(o)o(verloaded)f(string)i(liter)o(als)p
FA(.)28 b(Normally)20 b(a)h(string)f(literal)i(has)f(type)f
Ft(String)p FA(,)g(b)n(ut)h(with)g(o)o(v)o(erloaded)d(string)j
(literals)g(enabled)-128 2535 y(\(with)f Ft(-XOverloadedStrings)p
FA(\))d(a)k(string)f(literal)g(has)h(type)e Ft(\(IsString)49
b(a\))g(=>)g(a)p FA(.)-128 2683 y(This)18 b(means)f(that)h(the)f(usual)
g(string)g(syntax)g(can)g(be)g(used,)h(e.g.,)f(for)g(pack)o(ed)f
(strings)h(and)g(other)g(v)n(ariations)f(of)h(string)g(lik)o(e)h
(types.)24 b(String)16 b(literals)-128 2782 y(beha)n(v)o(e)k(v)o(ery)f
(much)h(lik)o(e)h(inte)o(ger)f(literals,)h(i.e.,)g(the)o(y)f(can)g(be)h
(used)f(in)h(both)f(e)o(xpressions)f(and)h(patterns.)26
b(If)21 b(used)f(in)h(a)g(pattern)f(the)h(literal)g(with)-128
2882 y(be)g(replaced)e(by)g(an)h(equality)g(test,)g(in)h(the)f(same)g
(w)o(ay)h(as)g(an)f(inte)o(ger)f(literal)h(is.)-128 3030
y(The)g(class)h Ft(IsString)f FA(is)h(de\002ned)e(as:)-128
3091 y
SDict begin H.S end
-128 3091 a -128 3091 a
SDict begin 12 H.A end
-128 3091 a -128 3091
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-389) cvn H.B /DEST pdfmark end
-128 3091 a 0.95 TeXcolorgray -153 3111 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3203 25 92 v Black 0.95 TeXcolorgray
-128 3203 4252 92 v Black 0.95 TeXcolorgray 4124 3203
25 92 v Black 0.95 TeXcolorgray Black -128 3175 a
SDict begin H.S end
-128
3175 a -128 3175 a
SDict begin 11 H.A end
-128 3175 a -128 3175 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-389.1) cvn H.B /DEST pdfmark end
-128 3175
a 0 0 0 TeXcolorrgb Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(IsString)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3294 25 92 v Black 0.95
TeXcolorgray -128 3294 4252 92 v Black 0.95 TeXcolorgray
4124 3294 25 92 v Black 0.95 TeXcolorgray Black -128
3267 a
SDict begin H.S end
-128 3267 a -128 3267 a
SDict begin 11 H.A end
-128 3267 a -128 3267
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-389.2) cvn H.B /DEST pdfmark end
-128 3267 a 0 0 0 TeXcolorrgb 180 w Fo(fromString)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 44 w(String)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
-153 3319 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3490 a FA(The)h(only)g(prede\002ned)e(instance)i(is)h(the)f
(ob)o(vious)e(one)i(to)g(mak)o(e)g(strings)g(w)o(ork)g(as)h(usual:)-128
3556 y
SDict begin H.S end
-128 3556 a -128 3556 a
SDict begin 12 H.A end
-128 3556 a -128 3556
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-390) cvn H.B /DEST pdfmark end
-128 3556 a 0.95 TeXcolorgray -153 3571 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3663 25 92 v Black 0.95 TeXcolorgray
-128 3663 4252 92 v Black 0.95 TeXcolorgray 4124 3663
25 92 v Black 0.95 TeXcolorgray Black -128 3635 a
SDict begin H.S end
-128
3635 a -128 3635 a
SDict begin 11 H.A end
-128 3635 a -128 3635 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-390.1) cvn H.B /DEST pdfmark end
-128 3635
a 0 0 0 TeXcolorrgb Fo(instance)p Black 0 0 0 TeXcolorrgb
44 w(IsString)p Black 43 w([)p 0 0 0 TeXcolorrgb(Char)p
Black(])p 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3754 25 92 v Black 0.95
TeXcolorgray -128 3754 4252 92 v Black 0.95 TeXcolorgray
4124 3754 25 92 v Black 0.95 TeXcolorgray Black -128
3727 a
SDict begin H.S end
-128 3727 a -128 3727 a
SDict begin 11 H.A end
-128 3727 a -128 3727
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-390.2) cvn H.B /DEST pdfmark end
-128 3727 a 0 0 0 TeXcolorrgb 180 w Fo(fromString)p
Black 0 0 0 TeXcolorrgb 43 w(cs)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(cs)p Black 0.95 TeXcolorgray -153 3779
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
3950 a FA(The)e(class)g Ft(IsString)f FA(is)i(not)e(in)h(scope)f(by)h
(def)o(ault.)k(If)c(you)f(w)o(ant)g(to)h(mention)f(it)h(e)o(xplicitly)f
(\(for)g(e)o(xample,)f(to)i(gi)n(v)o(e)f(an)g(instance)h(declaration)
-128 4050 y(for)h(it\),)g(you)g(can)g(import)f(it)i(from)e(module)g
Ft(GHC.Exts)p FA(.)-128 4197 y(Hask)o(ell')-5 b(s)21
b(def)o(aulting)e(mechanism)g(is)i(e)o(xtended)d(to)j(co)o(v)o(er)d
(string)i(literals,)h(when)e Ft(-XOverloadedStrings)e
FA(is)k(speci\002ed.)k(Speci\002cally:)p Black -128 4408
a(\225)p Black 42 w(Each)20 b(type)f(in)i(a)f(def)o(ault)g(declaration)
e(must)j(be)f(an)g(instance)g(of)g Ft(Num)g Fq(or)i FA(of)e
Ft(IsString)p FA(.)p Black -128 4573 a(\225)p Black 42
w(The)h(standard)f(def)o(aulting)g(rule)h(\()p 0 1 0 0
TeXcolorcmyk 934 4591 a
SDict begin H.S end
934 4591 a 0 1 0 0 TeXcolorcmyk
-18 x FA(Hask)o(ell)f(Report,)g(Section)f(4.3.4)p 0 1 0 0
TeXcolorcmyk 1910 4517 a
SDict begin H.R end
1910 4517 a 1910 4573 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/decls.html#sect4.3.4) >> /Subtype /Link H.B /ANN pdfmark end
1910
4573 a Black FA(\))j(is)g(e)o(xtended)e(thus:)27 b(def)o(aulting)20
b(applies)h(when)g(all)h(the)f(unresolv)o(ed)e(con-)-57
4673 y(straints)i(in)m(v)n(olv)o(e)d(standard)h(classes)j
Fq(or)g Ft(IsString)p FA(;)d(and)h(at)h(least)g(one)e(is)i(a)g(numeric)
e(class)i Fq(or)h Ft(IsString)p FA(.)-128 4884 y(A)f(small)g(e)o
(xample:)-128 4950 y
SDict begin H.S end
-128 4950 a -128 4950 a
SDict begin 12 H.A end
-128 4950
a -128 4950 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-391) cvn H.B /DEST pdfmark end
-128 4950 a 0.95 TeXcolorgray -153 4965
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5056 25 92 v Black 0.95
TeXcolorgray -128 5056 4252 92 v Black 0.95 TeXcolorgray
4124 5056 25 92 v Black 0.95 TeXcolorgray Black -128
5029 a
SDict begin H.S end
-128 5029 a -128 5029 a
SDict begin 11 H.A end
-128 5029 a -128 5029
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.1) cvn H.B /DEST pdfmark end
-128 5029 a 0 0 0 TeXcolorrgb Fo(module)p Black 0 0 0
TeXcolorrgb 44 w(Main)p Black 0 0 0 TeXcolorrgb 44 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5148 25 92 v Black 0.95 TeXcolorgray -128 5148 4252 92
v Black 0.95 TeXcolorgray 4124 5148 25 92 v Black 0.95
TeXcolorgray Black -128 5120 a
SDict begin H.S end
-128 5120 a -128 5120
a
SDict begin 11 H.A end
-128 5120 a -128 5120 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.2) cvn H.B /DEST pdfmark end
-128 5120 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5239 25 92 v Black 0.95
TeXcolorgray -128 5239 4252 92 v Black 0.95 TeXcolorgray
4124 5239 25 92 v Black 0.95 TeXcolorgray Black -128
5212 a
SDict begin H.S end
-128 5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a -128 5212
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.3) cvn H.B /DEST pdfmark end
-128 5212 a 0 0 0 TeXcolorrgb Fo(import)p Black 0 0 0
TeXcolorrgb 44 w(GHC)p Black(.)p 0 0 0 TeXcolorrgb(Exts)p
Black -1 w(\()p 0 0 0 TeXcolorrgb 45 w(IsString)p Black
-2 w(\(..\))44 b(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5330 25 92 v Black 0.95 TeXcolorgray -128 5330 4252
92 v Black 0.95 TeXcolorgray 4124 5330 25 92 v Black
0.95 TeXcolorgray Black -128 5303 a
SDict begin H.S end
-128 5303 a -128
5303 a
SDict begin 11 H.A end
-128 5303 a -128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.4) cvn H.B /DEST pdfmark end
-128 5303 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5422 25 92 v Black 0.95
TeXcolorgray -128 5422 4252 92 v Black 0.95 TeXcolorgray
4124 5422 25 92 v Black 0.95 TeXcolorgray Black -128
5394 a
SDict begin H.S end
-128 5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a -128 5394
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.5) cvn H.B /DEST pdfmark end
-128 5394 a 0 0 0 TeXcolorrgb Fo(newtype)p Black 0 0 0
TeXcolorrgb 44 w(MyString)p Black 44 w(=)p 0 0 0 TeXcolorrgb
44 w(MyString)p Black 0 0 0 TeXcolorrgb 44 w(String)p
Black 0 0 0 TeXcolorrgb 44 w(deriving)p Black 43 w(\()p
0 0 0 TeXcolorrgb(Eq)p Black(,)p 0 0 0 TeXcolorrgb 44
w(Show)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5513 25 92 v Black 0.95 TeXcolorgray -128 5513 4252
92 v Black 0.95 TeXcolorgray 4124 5513 25 92 v Black
0.95 TeXcolorgray Black -128 5485 a
SDict begin H.S end
-128 5485 a -128
5485 a
SDict begin 11 H.A end
-128 5485 a -128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.6) cvn H.B /DEST pdfmark end
-128 5485 a 0 0 0 TeXcolorrgb
Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(IsString)p
Black 0 0 0 TeXcolorrgb 43 w(MyString)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5604 25 92 v Black 0.95 TeXcolorgray -128 5604 4252
92 v Black 0.95 TeXcolorgray 4124 5604 25 92 v Black
0.95 TeXcolorgray Black -128 5577 a
SDict begin H.S end
-128 5577 a -128
5577 a
SDict begin 11 H.A end
-128 5577 a -128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.7) cvn H.B /DEST pdfmark end
-128 5577 a 0 0 0 TeXcolorrgb
180 w Fo(fromString)p Black 43 w(=)p 0 0 0 TeXcolorrgb
45 w(MyString)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5696 25 92 v Black 0.95 TeXcolorgray -128 5696 4252
92 v Black 0.95 TeXcolorgray 4124 5696 25 92 v Black
0.95 TeXcolorgray Black -128 5668 a
SDict begin H.S end
-128 5668 a -128
5668 a
SDict begin 11 H.A end
-128 5668 a -128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.8) cvn H.B /DEST pdfmark end
-128 5668 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5787 25 92 v Black 0.95
TeXcolorgray -128 5787 4252 92 v Black 0.95 TeXcolorgray
4124 5787 25 92 v Black 0.95 TeXcolorgray Black -128
5759 a
SDict begin H.S end
-128 5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.9) cvn H.B /DEST pdfmark end
-128 5759 a 0 0 0 TeXcolorrgb Fo(greet)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(MyString)p Black 43 w(->)p 0 0 0
TeXcolorrgb 45 w(MyString)p Black Black -128 6084 4252
5 v Black eop end
%%Page: 151 166
TeXDict begin 151 165 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.151) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(151)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.10) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
Fo(greet)p Black 44 w(")p 0 0 0 TeXcolorrgb(hello)p Black
-1 w(")45 b(=)g(")p 0 0 0 TeXcolorrgb(world)p Black -1
w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
292 25 92 v Black 0.95 TeXcolorgray -128 292 4252 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.11) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb Fo(greet)p
Black 0 0 0 TeXcolorrgb 44 w(other)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(other)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.12) cvn H.B /DEST pdfmark end
-128 356 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.13) cvn H.B /DEST pdfmark end
-128 447 a 0 0 0 TeXcolorrgb
Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(do)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
566 25 92 v Black 0.95 TeXcolorgray -128 566 4252 92
v Black 0.95 TeXcolorgray 4124 566 25 92 v Black 0.95
TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128
538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.14) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb 180 w Fo(print)p
Black 0 0 0 TeXcolorrgb 44 w($)p Black 0 0 0 TeXcolorrgb
44 w(greet)p Black 44 w(")p 0 0 0 TeXcolorrgb(hello)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 657 25 92 v Black 0.95 TeXcolorgray -128 657 4252
92 v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-391.15) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb 180 w Fo(print)p
Black 0 0 0 TeXcolorrgb 44 w($)p Black 0 0 0 TeXcolorrgb
44 w(greet)p Black 44 w(")p 0 0 0 TeXcolorrgb(fool)p
Black(")p 0.95 TeXcolorgray -152 682 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 856 a FA(Note)21
b(that)f(deri)n(ving)e Ft(Eq)j FA(is)g(necessary)e(for)h(the)g(pattern)
f(matching)g(to)h(w)o(ork)g(since)g(it)h(gets)g(translated)e(into)h(an)
g(equality)g(comparison.)-128 999 y
SDict begin H.S end
-128 999 a -128 999
a
SDict begin 12 H.A end
-128 999 a -128 999 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.7) cvn H.B /DEST pdfmark end
-128 999 a Black 181 x Fs(7.7)p
Black 108 w(T)-6 b(ype)28 b(families)-128 1307 y
SDict begin H.S end
-128
1307 a -128 1307 a
SDict begin 12 H.A end
-128 1307 a -128 1307 a
SDict begin [ /View [/XYZ H.V] /Dest (type-families) cvn H.B /DEST pdfmark end
-128 1307
a 114 x Fq(Inde)n(xed)i(type)h(families)h FA(are)e(a)i(ne)n(w)f(GHC)h
(e)o(xtension)d(to)i(f)o(acilitate)h(type-le)n(v)o(el)d(programming.)54
b(T)-7 b(ype)30 b(f)o(amilies)i(are)e(a)i(generalisation)d(of)-128
1521 y Fq(associated)15 b(data)f(types)i FA(\(\223)p
0 1 0 0 TeXcolorcmyk 654 1539 a
SDict begin H.S end
654 1539 a 0 1 0 0 TeXcolorcmyk
-18 x FA(Associated)k(T)-7 b(ypes)20 b(with)g(Class)p
0 1 0 0 TeXcolorcmyk 1604 1465 a
SDict begin H.R end
1604 1465 a 1604 1521
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cse.unsw.edu.au/~chak/papers/CKPM05.html) >> /Subtype /Link H.B /ANN pdfmark end
1604 1521 a Black FA(\224,)c(M.)g(Chakra)n(v)n(arty)-5
b(,)14 b(G.)h(K)n(eller)m(,)h(S.)g(Pe)o(yton)e(Jones,)j(and)d(S.)i
(Marlo)n(w)-5 b(.)22 b(In)16 b(Proceedings)-128 1620
y(of)j(\223The)f(32nd)f(Annual)g(A)m(CM)i(SIGPLAN-SIGA)m(CT)f
(Symposium)f(on)h(Principles)g(of)h(Programming)c(Languages)i(\(POPL)-8
b('05\)\224,)17 b(pages)h(1-13,)-128 1720 y(A)m(CM)i(Press,)g(2005\))d
(and)i Fq(associated)f(type)h(synonyms)g FA(\(\223)p
0 1 0 0 TeXcolorcmyk 1583 1738 a
SDict begin H.S end
1583 1738 a 0 1 0 0
TeXcolorcmyk -18 x FA(T)-7 b(ype)19 b(Associated)h(T)-7
b(ype)20 b(Synon)o(yms)p 0 1 0 0 TeXcolorcmyk 2686 1664
a
SDict begin H.R end
2686 1664 a 2686 1720 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cse.unsw.edu.au/~chak/papers/CKP05.html) >> /Subtype /Link H.B /ANN pdfmark end
2686 1720 a Black FA(\224.)25
b(M.)20 b(Chakra)n(v)n(arty)-5 b(,)17 b(G.)i(K)n(eller)m(,)g(and)f(S.)i
(Pe)o(yton)-128 1820 y(Jones.)25 b(In)17 b(Proceedings)f(of)i(\223The)f
(T)-6 b(enth)17 b(A)m(CM)h(SIGPLAN)g(International)e(Conference)g(on)h
(Functional)f(Programming\224,)f(A)m(CM)k(Press,)f(pages)-128
1919 y(241-253,)f(2005\).)24 b(T)-7 b(ype)19 b(f)o(amilies)h(themselv)o
(es)f(are)h(described)f(in)h(the)g(paper)f(\223)p 0 1 0 0
TeXcolorcmyk 2200 1937 a
SDict begin H.S end
2200 1937 a 0 1 0 0 TeXcolorcmyk
-18 x FA(T)-7 b(ype)19 b(Checking)g(with)h(Open)g(T)-7
b(ype)20 b(Functions)p 0 1 0 0 TeXcolorcmyk 3604 1863
a
SDict begin H.R end
3604 1863 a 3604 1919 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cse.unsw.edu.au/~chak/papers/SPCS08.html) >> /Subtype /Link H.B /ANN pdfmark end
3604 1919 a Black FA(\224,)g(T)-6
b(.)20 b(Schrijv)o(ers,)-128 2019 y(S.)28 b(Pe)o(yton-Jones,)f(M.)g
(Chakra)n(v)n(arty)-5 b(,)27 b(and)f(M.)h(Sulzmann,)h(in)f(Proceedings)
f(of)h(\223ICFP)g(2008:)38 b(The)27 b(13th)f(A)m(CM)i(SIGPLAN)f
(International)-128 2119 y(Conference)22 b(on)g(Functional)g
(Programming\224,)e(A)m(CM)k(Press,)g(pages)e(51-62,)g(2008.)32
b(T)-7 b(ype)22 b(f)o(amilies)i(essentially)f(pro)o(vide)e(type-inde)o
(x)o(ed)e(data)-128 2218 y(types)25 b(and)g(named)f(functions)f(on)i
(types,)h(which)f(are)g(useful)f(for)h(generic)f(programming)d(and)k
(highly)e(parameterised)h(library)g(interf)o(aces)g(as)-128
2318 y(well)h(as)h(interf)o(aces)d(with)i(enhanced)e(static)i
(information,)e(much)g(lik)o(e)i(dependent)d(types.)38
b(The)o(y)23 b(might)h(also)h(be)f(re)o(garded)e(as)j(an)f(alternati)n
(v)o(e)-128 2417 y(to)d(functional)d(dependencies,)g(b)n(ut)j(pro)o
(vide)d(a)j(more)e(functional)f(style)j(of)f(type-le)n(v)o(el)f
(programming)e(than)i(the)i(relational)e(style)i(of)f(functional)-128
2517 y(dependencies.)-128 2666 y(Inde)o(x)o(ed)25 b(type)i(f)o
(amilies,)i(or)e(type)g(f)o(amilies)g(for)g(short,)h(are)f(type)g
(constructors)f(that)h(represent)f(sets)i(of)f(types.)46
b(Set)28 b(members)e(are)i(denoted)-128 2766 y(by)e(supplying)e(the)i
(type)g(f)o(amily)g(constructor)e(with)i(type)g(parameters,)g(which)f
(are)h(called)g Fq(type)g(indices)p FA(.)42 b(The)26
b(dif)n(ference)e(between)i(v)n(anilla)-128 2866 y(parametrised)20
b(type)h(constructors)f(and)g(f)o(amily)h(constructors)f(is)i(much)f
(lik)o(e)g(between)g(parametrically)e(polymorphic)f(functions)i(and)h
(\(ad-hoc)-128 2965 y(polymorphic\))g(methods)j(of)g(type)g(classes.)39
b(P)o(arametric)23 b(polymorphic)f(functions)h(beha)n(v)o(e)g(the)h
(same)h(at)g(all)g(type)f(instances,)h(whereas)f(class)-128
3065 y(methods)f(can)f(change)g(their)h(beha)n(viour)e(in)j(dependence)
c(on)j(the)g(class)h(type)f(parameters.)33 b(Similarly)-5
b(,)23 b(v)n(anilla)f(type)h(constructors)e(imply)i(the)-128
3164 y(same)j(data)f(representation)e(for)i(all)h(type)f(instances,)h
(b)n(ut)f(f)o(amily)g(constructors)f(can)h(ha)n(v)o(e)g(v)n(arying)e
(representation)g(types)i(for)g(v)n(arying)e(type)-128
3264 y(indices.)-128 3413 y(Inde)o(x)o(ed)g(type)h(f)o(amilies)g(come)g
(in)h(tw)o(o)g(\003a)n(v)n(ours:)34 b Fq(data)23 b(families)j
FA(and)e Fq(type)g(synonym)g(families)p FA(.)38 b(The)o(y)24
b(are)g(the)h(inde)o(x)o(ed)d(f)o(amily)i(v)n(ariants)g(of)-128
3513 y(algebraic)19 b(data)i(types)f(and)f(type)h(synon)o(yms,)e
(respecti)n(v)o(ely)-5 b(.)23 b(The)d(instances)g(of)g(data)g(f)o
(amilies)g(can)g(be)g(data)g(types)g(and)g(ne)n(wtypes.)-128
3662 y(T)-7 b(ype)16 b(f)o(amilies)g(are)g(enabled)f(by)g(the)h(\003ag)
h Ft(-XTypeFamilies)p FA(.)k(Additional)15 b(information)e(on)j(the)g
(use)g(of)g(type)f(f)o(amilies)i(in)f(GHC)h(is)f(a)n(v)n(ailable)-128
3762 y(on)p 0 1 0 0 TeXcolorcmyk -24 3780 a
SDict begin H.S end
-24 3780
a 0 1 0 0 TeXcolorcmyk -18 x FA(the)k(Hask)o(ell)h(wiki)f(page)g(on)g
(type)f(f)o(amilies)p 0 1 0 0 TeXcolorcmyk 1252 3705
a
SDict begin H.R end
1252 3705 a 1252 3762 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/haskellwiki/GHC/Indexed_types) >> /Subtype /Link H.B /ANN pdfmark end
1252 3762 a Black FA(.)-128
3896 y
SDict begin H.S end
-128 3896 a -128 3896 a
SDict begin 12 H.A end
-128 3896 a -128 3896
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.7.1) cvn H.B /DEST pdfmark end
-128 3896 a Black 148 x Fp(7.7.1)p Black 90 w(Data)24
b(families)-128 4132 y
SDict begin H.S end
-128 4132 a -128 4132 a
SDict begin 12 H.A end
-128 4132
a -128 4132 a
SDict begin [ /View [/XYZ H.V] /Dest (data-families) cvn H.B /DEST pdfmark end
-128 4132 a 114 x FA(Data)d(f)o(amilies)g(appear)f(in)h
(tw)o(o)g(\003a)n(v)n(ours:)26 b(\(1\))20 b(the)o(y)g(can)h(be)f
(de\002ned)g(on)g(the)h(tople)n(v)o(el)f(or)g(\(2\))g(the)o(y)g(can)h
(appear)e(inside)i(type)f(classes)i(\(in)f(which)-128
4346 y(case)f(the)o(y)f(are)g(kno)n(wn)f(as)i(associated)f(types\).)24
b(The)19 b(former)f(is)i(the)g(more)e(general)g(v)n(ariant,)h(as)h(it)g
(lacks)f(the)h(requirement)d(for)h(the)i(type-inde)o(x)o(es)-128
4446 y(to)e(coincide)f(with)h(the)g(class)h(parameters.)k(Ho)n(we)n(v)o
(er)m(,)16 b(the)h(latter)h(can)g(lead)g(to)g(more)f(clearly)g
(structured)f(code)h(and)h(compiler)e(w)o(arnings)h(if)h(some)-128
4545 y(type)h(instances)g(were)f(-)h(possibly)g(accidentally)e(-)i
(omitted.)24 b(In)19 b(the)f(follo)n(wing,)g(we)h(al)o(w)o(ays)g
(discuss)h(the)e(general)g(tople)n(v)o(el)g(form)g(\002rst)h(and)f
(then)-128 4645 y(co)o(v)o(er)h(the)h(additional)f(constraints)h
(placed)f(on)h(associated)g(types.)-128 4779 y
SDict begin H.S end
-128 4779
a -128 4779 a
SDict begin 12 H.A end
-128 4779 a -128 4779 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.7.1.1) cvn H.B /DEST pdfmark end
-128 4779 a Black
131 x Fx(7.7.1.1)p Black 73 w(Data)f(famil)o(y)h(dec)o(larations)-128
4994 y
SDict begin H.S end
-128 4994 a -128 4994 a
SDict begin 12 H.A end
-128 4994 a -128 4994
a
SDict begin [ /View [/XYZ H.V] /Dest (data-family-declarations) cvn H.B /DEST pdfmark end
-128 4994 a 119 x FA(Inde)o(x)o(ed)e(data)i(f)o(amilies)h(are)f
(introduced)e(by)h(a)i(signature,)e(such)h(as)-128 5180
y
SDict begin H.S end
-128 5180 a -128 5180 a
SDict begin 12 H.A end
-128 5180 a -128 5180 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-392) cvn H.B /DEST pdfmark end
-128
5180 a 0.95 TeXcolorgray -153 5196 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5287 25 92 v Black 0.95 TeXcolorgray -128 5287 4252
92 v Black 0.95 TeXcolorgray 4124 5287 25 92 v Black
0.95 TeXcolorgray Black -128 5260 a
SDict begin H.S end
-128 5260 a -128
5260 a
SDict begin 11 H.A end
-128 5260 a -128 5260 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-392.1) cvn H.B /DEST pdfmark end
-128 5260 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(family)p Black
0 0 0 TeXcolorrgb 43 w(GMap)p Black 0 0 0 TeXcolorrgb
45 w(k)p Black 44 w(::)859 5273 y(*)948 5260 y(->)1083
5273 y(*)p 0.95 TeXcolorgray -153 5312 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 5486 a FA(The)i(special)h
Ft(family)e FA(distinguishes)h(f)o(amily)f(from)g(standard)g(data)h
(declarations.)30 b(The)22 b(result)g(kind)f(annotation)g(is)i
(optional)e(and,)h(as)g(usual,)-128 5585 y(def)o(aults)e(to)241
5600 y Ft(*)311 5585 y FA(if)h(omitted.)j(An)c(e)o(xample)f(is)-128
5653 y
SDict begin H.S end
-128 5653 a -128 5653 a
SDict begin 12 H.A end
-128 5653 a -128 5653
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-393) cvn H.B /DEST pdfmark end
-128 5653 a 0.95 TeXcolorgray -153 5668 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5759 25 92 v Black 0.95 TeXcolorgray
-128 5759 4252 92 v Black 0.95 TeXcolorgray 4124 5759
25 92 v Black 0.95 TeXcolorgray Black -128 5732 a
SDict begin H.S end
-128
5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-393.1) cvn H.B /DEST pdfmark end
-128 5732
a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(family)p Black 0 0 0 TeXcolorrgb 43 w(Array)p Black
0 0 0 TeXcolorrgb 44 w(e)p Black 0.95 TeXcolorgray -153
5784 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 6084 4252 5 v Black eop end
%%Page: 152 167
TeXDict begin 152 166 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.152) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(152)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Named)15
b(ar)o(guments)e(can)i(also)h(be)f(gi)n(v)o(en)f(e)o(xplicit)g(kind)h
(signatures)f(if)i(needed.)22 b(Just)16 b(as)f(with)h([http://www)-5
b(.hask)o(ell.or)o(g/ghc/do)o(cs/latest/html/users_)o(guid)o(e/g)o
(adt.)o(html)-128 273 y(GADT)21 b(declarations])d(named)h(ar)o(guments)
g(are)h(entirely)f(optional,)g(so)h(that)h(we)f(can)g(declare)g
Ft(Array)f FA(alternati)n(v)o(ely)g(with)-128 341 y
SDict begin H.S end
-128
341 a -128 341 a
SDict begin 12 H.A end
-128 341 a -128 341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-394) cvn H.B /DEST pdfmark end
-128 341 a 0.95
TeXcolorgray -153 356 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
447 25 92 v Black 0.95 TeXcolorgray -128 447 4252 92
v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128
420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-394.1) cvn H.B /DEST pdfmark end
-128 420 a 0 0 0 TeXcolorrgb Fo(data)p
Black 0 0 0 TeXcolorrgb 45 w(family)p Black 0 0 0 TeXcolorrgb
43 w(Array)p Black 44 w(::)814 433 y(*)904 420 y(->)1038
433 y(*)p 0.95 TeXcolorgray -153 472 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 638 a
SDict begin H.S end
-128 638
a -128 638 a
SDict begin 12 H.A end
-128 638 a -128 638 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.1.1) cvn H.B /DEST pdfmark end
-128 638 a Black 125
x Fx(7.7.1.1.1)p Black 72 w(Associated)e(data)j(famil)o(y)f(dec)o
(larations)-128 828 y
SDict begin H.S end
-128 828 a -128 828 a
SDict begin 12 H.A end
-128 828
a -128 828 a
SDict begin [ /View [/XYZ H.V] /Dest (assoc-data-family-decl) cvn H.B /DEST pdfmark end
-128 828 a 120 x FA(When)j(a)h(data)f(f)o(amily)f(is)i
(declared)e(as)i(part)f(of)f(a)i(type)e(class,)j(we)e(drop)f(the)h
Ft(family)f FA(special.)31 b(The)22 b Ft(GMap)g FA(declaration)e(tak)o
(es)j(the)f(follo)n(wing)-128 1047 y(form)-128 1098 y
SDict begin H.S end
-128 1098 a -128 1098 a
SDict begin 12 H.A end
-128 1098 a -128 1098 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-395) cvn H.B /DEST pdfmark end
-128
1098 a 0.95 TeXcolorgray -153 1130 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1222 25 92 v Black 0.95 TeXcolorgray -128 1222 4252
92 v Black 0.95 TeXcolorgray 4124 1222 25 92 v Black
0.95 TeXcolorgray Black -128 1194 a
SDict begin H.S end
-128 1194 a -128
1194 a
SDict begin 11 H.A end
-128 1194 a -128 1194 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-395.1) cvn H.B /DEST pdfmark end
-128 1194 a 0 0 0 TeXcolorrgb
Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(GMapKey)p Black
0 0 0 TeXcolorrgb 44 w(k)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1313 25 92 v Black 0.95 TeXcolorgray -128 1313 4252
92 v Black 0.95 TeXcolorgray 4124 1313 25 92 v Black
0.95 TeXcolorgray Black -128 1286 a
SDict begin H.S end
-128 1286 a -128
1286 a
SDict begin 11 H.A end
-128 1286 a -128 1286 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-395.2) cvn H.B /DEST pdfmark end
-128 1286 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(GMap)p Black
0 0 0 TeXcolorrgb 44 w(k)p Black 45 w(::)635 1299 y(*)724
1286 y(->)859 1299 y(*)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1404 25 92 v Black 0.95 TeXcolorgray
-128 1404 4252 92 v Black 0.95 TeXcolorgray 4124 1404
25 92 v Black 0.95 TeXcolorgray Black -128 1377 a
SDict begin H.S end
-128
1377 a -128 1377 a
SDict begin 11 H.A end
-128 1377 a -128 1377 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-395.3) cvn H.B /DEST pdfmark end
-128 1377
a 90 w Fo(...)p 0.95 TeXcolorgray -153 1429 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1604 a
FA(In)i(contrast)g(to)g(tople)n(v)o(el)e(declarations,)i(named)f(ar)o
(guments)f(must)i(be)g(used)f(for)h(all)g(type)g(parameters)e(that)j
(are)e(to)i(be)e(used)h(as)h(type-inde)o(x)o(es.)-128
1703 y(Moreo)o(v)o(er)m(,)e(the)i(ar)o(gument)d(names)i(must)h(be)f
(class)i(parameters.)36 b(Each)24 b(class)i(parameter)d(may)h(only)g
(be)g(used)h(at)g(most)f(once)g(per)g(associated)-128
1803 y(type,)19 b(b)n(ut)h(some)f(may)g(be)h(omitted)f(and)g(the)o(y)g
(may)g(be)g(in)h(an)f(order)g(other)g(than)g(in)g(the)h(class)g(head.)k
(Hence,)19 b(the)h(follo)n(wing)e(contri)n(v)o(ed)f(e)o(xample)-128
1902 y(is)22 b(admissible:)-128 1953 y
SDict begin H.S end
-128 1953 a -128
1953 a
SDict begin 12 H.A end
-128 1953 a -128 1953 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-396) cvn H.B /DEST pdfmark end
-128 1953 a 0.95 TeXcolorgray
-153 1986 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2077 25 92
v Black 0.95 TeXcolorgray -128 2077 4252 92 v Black 0.95
TeXcolorgray 4124 2077 25 92 v Black 0.95 TeXcolorgray
Black -128 2049 a
SDict begin H.S end
-128 2049 a -128 2049 a
SDict begin 11 H.A end
-128 2049 a
-128 2049 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-396.1) cvn H.B /DEST pdfmark end
-128 2049 a 0 0 0 TeXcolorrgb 90 w Fo(class)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0
TeXcolorrgb 45 w(c)p Black 0 0 0 TeXcolorrgb 45 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2168 25 92 v Black 0.95 TeXcolorgray -128 2168 4252 92
v Black 0.95 TeXcolorgray 4124 2168 25 92 v Black 0.95
TeXcolorgray Black -128 2141 a
SDict begin H.S end
-128 2141 a -128 2141
a
SDict begin 11 H.A end
-128 2141 a -128 2141 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-396.2) cvn H.B /DEST pdfmark end
-128 2141 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black
0 0 0 TeXcolorrgb 45 w(c)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 44 w(::)590 2154 y(*)p 0.95 TeXcolorgray
-153 2193 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2359 a
SDict begin H.S end
-128 2359 a -128 2359 a
SDict begin 12 H.A end
-128 2359 a
-128 2359 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.7.1.2) cvn H.B /DEST pdfmark end
-128 2359 a Black 125 x Fx(7.7.1.2)p Black
73 w(Data)d(instance)f(dec)o(larations)-128 2567 y
SDict begin H.S end
-128
2567 a -128 2567 a
SDict begin 12 H.A end
-128 2567 a -128 2567 a
SDict begin [ /View [/XYZ H.V] /Dest (data-instance-declarations) cvn H.B /DEST pdfmark end
-128 2567
a 120 x FA(Instance)27 b(declarations)f(of)g(data)h(and)g(ne)n(wtype)f
(f)o(amilies)h(are)g(v)o(ery)f(similar)i(to)f(standard)f(data)h(and)f
(ne)n(wtype)g(declarations.)45 b(The)26 b(only)h(tw)o(o)-128
2786 y(dif)n(ferences)21 b(are)h(that)g(the)h(k)o(e)o(yw)o(ord)d
Ft(data)i FA(or)g Ft(newtype)f FA(is)j(follo)n(wed)c(by)i
Ft(instance)f FA(and)h(that)g(some)g(or)g(all)h(of)f(the)g(type)g(ar)o
(guments)e(can)-128 2886 y(be)i(non-v)n(ariable)d(types,)j(b)n(ut)g
(may)f(not)h(contain)e(forall)i(types)f(or)h(type)f(synon)o(ym)f(f)o
(amilies.)30 b(Ho)n(we)n(v)o(er)m(,)20 b(data)i(f)o(amilies)g(are)f
(generally)g(allo)n(wed)-128 2985 y(in)f(type)f(parameters,)g(and)g
(type)g(synon)o(yms)f(are)h(allo)n(wed)g(as)i(long)d(as)j(the)o(y)e
(are)g(fully)g(applied)g(and)g(e)o(xpand)f(to)h(a)i(type)e(that)g(is)i
(itself)f(admissible)-128 3085 y(-)j(e)o(xactly)f(as)i(this)f(is)h
(required)d(for)h(occurrences)e(of)j(type)f(synon)o(yms)f(in)i(class)h
(instance)e(parameters.)31 b(F)o(or)23 b(e)o(xample,)e(the)i
Ft(Either)f FA(instance)-128 3185 y(for)e Ft(GMap)g FA(is)-128
3247 y
SDict begin H.S end
-128 3247 a -128 3247 a
SDict begin 12 H.A end
-128 3247 a -128 3247
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-397) cvn H.B /DEST pdfmark end
-128 3247 a 0.95 TeXcolorgray -153 3268 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3359 25 92 v Black 0.95 TeXcolorgray
-128 3359 4252 92 v Black 0.95 TeXcolorgray 4124 3359
25 92 v Black 0.95 TeXcolorgray Black -128 3332 a
SDict begin H.S end
-128
3332 a -128 3332 a
SDict begin 11 H.A end
-128 3332 a -128 3332 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-397.1) cvn H.B /DEST pdfmark end
-128 3332
a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(instance)p Black 0 0 0 TeXcolorrgb 43 w(GMap)p Black
44 w(\()p 0 0 0 TeXcolorrgb(Either)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black -1 w(\))p
0 0 0 TeXcolorrgb 45 w(v)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(GMapEither)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1
w(GMap)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 44 w(v)p Black(\))45 b(\()p 0 0 0 TeXcolorrgb(GMap)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb
44 w(v)p Black(\))p 0.95 TeXcolorgray -153 3384 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 3558
a FA(In)20 b(this)h(e)o(xample,)e(the)h(declaration)e(has)j(only)e(one)
h(v)n(ariant.)k(In)c(general,)f(it)i(can)e(be)i(an)o(y)e(number)-5
b(.)-128 3708 y(Data)18 b(and)f(ne)n(wtype)f(instance)h(declarations)g
(are)g(only)g(le)o(git)g(when)g(an)g(appropriate)e(f)o(amily)i
(declaration)f(is)j(in)e(scope)g(-)h(just)g(lik)o(e)g(class)g
(instances)-128 3807 y(require)d(the)i(class)g(declaration)d(to)j(be)f
(visible.)23 b(Moreo)o(v)o(er)m(,)14 b(each)i(instance)g(declaration)e
(has)j(to)f(conform)e(to)j(the)f(kind)f(determined)f(by)i(its)h(f)o
(amily)-128 3907 y(declaration.)34 b(This)23 b(implies)h(that)f(the)h
(number)e(of)h(parameters)f(of)h(an)h(instance)f(declaration)f(matches)
h(the)g(arity)g(determined)f(by)h(the)h(kind)e(of)-128
4007 y(the)i(f)o(amily)-5 b(.)34 b(Although,)22 b(all)i(data)f(f)o
(amilies)h(are)f(declared)g(with)g(the)h Ft(data)f FA(k)o(e)o(yw)o
(ord,)f(instances)i(can)f(be)g(either)g Ft(data)h FA(or)f
Ft(newtype)p FA(s,)g(or)h(a)-128 4106 y(mix)c(of)g(both.)-128
4256 y(Ev)o(en)29 b(if)i(type)e(f)o(amilies)i(are)f(de\002ned)f(as)i
(tople)n(v)o(el)d(declarations,)j(functions)e(that)h(perform)e(dif)n
(ferent)h(computations)f(for)h(dif)n(ferent)f(f)o(amily)-128
4355 y(instances)21 b(still)g(need)e(to)i(be)f(de\002ned)f(as)i
(methods)e(of)h(type)g(classes.)26 b(In)20 b(particular)m(,)e(the)i
(follo)n(wing)f(is)i(not)f(possible:)-128 4423 y
SDict begin H.S end
-128
4423 a -128 4423 a
SDict begin 12 H.A end
-128 4423 a -128 4423 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-398) cvn H.B /DEST pdfmark end
-128 4423
a 0.95 TeXcolorgray -153 4438 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4530 25 92 v Black 0.95 TeXcolorgray -128 4530 4252 92
v Black 0.95 TeXcolorgray 4124 4530 25 92 v Black 0.95
TeXcolorgray Black -128 4502 a
SDict begin H.S end
-128 4502 a -128 4502
a
SDict begin 11 H.A end
-128 4502 a -128 4502 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-398.1) cvn H.B /DEST pdfmark end
-128 4502 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(family)p Black
0 0 0 TeXcolorrgb 43 w(T)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4621 25 92 v Black 0.95 TeXcolorgray -128 4621 4252
92 v Black 0.95 TeXcolorgray 4124 4621 25 92 v Black
0.95 TeXcolorgray Black -128 4594 a
SDict begin H.S end
-128 4594 a -128
4594 a
SDict begin 11 H.A end
-128 4594 a -128 4594 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-398.2) cvn H.B /DEST pdfmark end
-128 4594 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(instance)p Black
0 0 0 TeXcolorrgb 43 w(T)p Black 0 0 0 TeXcolorrgb 45
w(Int)p Black 89 w(=)p 0 0 0 TeXcolorrgb 45 w(A)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4712 25
92 v Black 0.95 TeXcolorgray -128 4712 4252 92 v Black
0.95 TeXcolorgray 4124 4712 25 92 v Black 0.95 TeXcolorgray
Black -128 4685 a
SDict begin H.S end
-128 4685 a -128 4685 a
SDict begin 11 H.A end
-128 4685 a
-128 4685 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-398.3) cvn H.B /DEST pdfmark end
-128 4685 a 0 0 0 TeXcolorrgb Fo(data)p Black
0 0 0 TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb
43 w(T)p Black 0 0 0 TeXcolorrgb 45 w(Char)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(B)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4804 25 92 v Black 0.95
TeXcolorgray -128 4804 4252 92 v Black 0.95 TeXcolorgray
4124 4804 25 92 v Black 0.95 TeXcolorgray Black -128
4776 a
SDict begin H.S end
-128 4776 a -128 4776 a
SDict begin 11 H.A end
-128 4776 a -128 4776
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-398.4) cvn H.B /DEST pdfmark end
-128 4776 a 0 0 0 TeXcolorrgb Fo(nonsence)p Black 44
w(::)p 0 0 0 TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4895 25 92 v Black 0.95 TeXcolorgray -128 4895 4252 92
v Black 0.95 TeXcolorgray 4124 4895 25 92 v Black 0.95
TeXcolorgray Black -128 4868 a
SDict begin H.S end
-128 4868 a -128 4868
a
SDict begin 11 H.A end
-128 4868 a -128 4868 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-398.5) cvn H.B /DEST pdfmark end
-128 4868 a 0 0 0 TeXcolorrgb
Fo(nonsence)p Black 0 0 0 TeXcolorrgb 44 w(A)p Black
45 w(=)44 b(1)583 b(--)p 0 0 0 TeXcolorrgb 44 w(WRONG)p
Black(:)p 0 0 0 TeXcolorrgb 44 w(These)p Black 0 0 0
TeXcolorrgb 44 w(two)p Black 0 0 0 TeXcolorrgb 45 w(equations)p
Black 0 0 0 TeXcolorrgb 43 w(together)p Black -1 w(...)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4986 25
92 v Black 0.95 TeXcolorgray -128 4986 4252 92 v Black
0.95 TeXcolorgray 4124 4986 25 92 v Black 0.95 TeXcolorgray
Black -128 4959 a
SDict begin H.S end
-128 4959 a -128 4959 a
SDict begin 11 H.A end
-128 4959 a
-128 4959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-398.6) cvn H.B /DEST pdfmark end
-128 4959 a 0 0 0 TeXcolorrgb Fo(nonsence)p
Black 0 0 0 TeXcolorrgb 44 w(B)p Black 45 w(=)44 b(2)583
b(--)44 b(...)p 0 0 0 TeXcolorrgb(will)p Black 0 0 0
TeXcolorrgb 44 w(produce)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black 0 0 0 TeXcolorrgb 44 w(type)p Black 0 0 0
TeXcolorrgb 45 w(error)p Black -1 w(.)p 0.95 TeXcolorgray
-153 5011 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5186 a FA(Gi)n(v)o(en)25 b(the)h(functionality)e(pro)o
(vided)f(by)j(GADTs)g(\(Generalised)f(Algebraic)f(Data)j(T)-7
b(ypes\),)26 b(it)h(might)e(seem)h(as)g(if)h(a)f(de\002nition,)g(such)f
(as)i(the)-128 5285 y(abo)o(v)o(e,)17 b(should)h(be)g(feasible.)24
b(Ho)n(we)n(v)o(er)m(,)17 b(type)h(f)o(amilies)g(are)g(-)h(in)g
(contrast)e(to)i(GADTs)g(-)f(are)h Fq(open;)e FA(i.e.,)i(ne)n(w)f
(instances)g(can)g(al)o(w)o(ays)h(be)f(added,)-128 5385
y(possibly)23 b(in)g(other)f(modules.)31 b(Supporting)21
b(pattern)h(matching)f(across)i(dif)n(ferent)e(data)i(instances)g(w)o
(ould)f(require)f(a)i(form)f(of)h(e)o(xtensible)f(case)-128
5484 y(construct.)p Black -128 6084 4252 5 v Black eop
end
%%Page: 153 168
TeXDict begin 153 167 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.153) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(153)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.2.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.7.1.2.1)p
Black 72 w(Associated)d(data)j(instances)-128 239 y
SDict begin H.S end
-128
239 a -128 239 a
SDict begin 12 H.A end
-128 239 a -128 239 a
SDict begin [ /View [/XYZ H.V] /Dest (assoc-data-inst) cvn H.B /DEST pdfmark end
-128 239 a 119
x FA(When)g(an)g(associated)f(data)h(f)o(amily)f(instance)h(is)g
(declared)f(within)g(a)h(type)g(class)g(instance,)g(we)g(drop)e(the)i
Ft(instance)f FA(k)o(e)o(yw)o(ord)f(in)i(the)f(f)o(amily)-128
458 y(instance.)25 b(So,)20 b(the)g Ft(Either)g FA(instance)g(for)f
Ft(GMap)h FA(becomes:)-128 521 y
SDict begin H.S end
-128 521 a -128 521
a
SDict begin 12 H.A end
-128 521 a -128 521 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-399) cvn H.B /DEST pdfmark end
-128 521 a 0.95 TeXcolorgray
-153 541 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 632 25 92 v
Black 0.95 TeXcolorgray -128 632 4252 92 v Black 0.95
TeXcolorgray 4124 632 25 92 v Black 0.95 TeXcolorgray
Black -128 605 a
SDict begin H.S end
-128 605 a -128 605 a
SDict begin 11 H.A end
-128 605 a -128
605 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-399.1) cvn H.B /DEST pdfmark end
-128 605 a 0 0 0 TeXcolorrgb Fo(instance)p Black
44 w(\()p 0 0 0 TeXcolorrgb(GMapKey)p Black 0 0 0 TeXcolorrgb
43 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(GMapKey)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black -1 w(\))45 b(=>)p 0 0 0
TeXcolorrgb 45 w(GMapKey)p Black 43 w(\()p 0 0 0 TeXcolorrgb(Either)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black -1 w(\))p 0 0 0 TeXcolorrgb 45 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
724 25 92 v Black 0.95 TeXcolorgray -128 724 4252 92
v Black 0.95 TeXcolorgray 4124 724 25 92 v Black 0.95
TeXcolorgray Black -128 696 a
SDict begin H.S end
-128 696 a -128 696 a
SDict begin 11 H.A end
-128
696 a -128 696 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-399.2) cvn H.B /DEST pdfmark end
-128 696 a 0 0 0 TeXcolorrgb 90 w Fo(data)p
Black 0 0 0 TeXcolorrgb 44 w(GMap)p Black 44 w(\()p 0 0 0
TeXcolorrgb(Either)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black(\))p 0 0 0 TeXcolorrgb
44 w(v)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(GMapEither)p
Black 43 w(\()p 0 0 0 TeXcolorrgb(GMap)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 44 w(v)p
Black(\))g(\()p 0 0 0 TeXcolorrgb(GMap)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb 45 w(v)p
Black -1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 815 25 92 v Black 0.95 TeXcolorgray -128 815 4252
92 v Black 0.95 TeXcolorgray 4124 815 25 92 v Black 0.95
TeXcolorgray Black -128 788 a
SDict begin H.S end
-128 788 a -128 788 a
SDict begin 11 H.A end
-128
788 a -128 788 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-399.3) cvn H.B /DEST pdfmark end
-128 788 a 90 w Fo(...)p 0.95 TeXcolorgray
-153 840 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1014 a FA(The)24 b(most)g(important)e(point)i(about)f
(associated)g(f)o(amily)h(instances)g(is)h(that)f(the)g(type)f(inde)o
(x)o(es)g(corresponding)d(to)k(class)h(parameters)e(must)h(be)-128
1114 y(identical)d(to)g(the)g(type)f(gi)n(v)o(en)f(in)i(the)g(instance)
g(head;)f(here)g(this)i(is)f(the)g(\002rst)h(ar)o(gument)c(of)j
Ft(GMap)p FA(,)f(namely)g Ft(Either)49 b(a)g(b)p FA(,)22
b(which)e(coincides)-128 1214 y(with)k(the)f(only)g(class)h(parameter)
-5 b(.)34 b(An)o(y)22 b(parameters)h(to)g(the)h(f)o(amily)e
(constructor)g(that)h(do)g(not)g(correspond)e(to)j(class)g(parameters,)
f(need)f(to)i(be)-128 1313 y(v)n(ariables)c(in)g(e)n(v)o(ery)f
(instance;)h(here)g(this)g(is)h(the)g(v)n(ariable)e Ft(v)p
FA(.)-128 1463 y(Instances)h(for)f(an)h(associated)f(f)o(amily)g(can)h
(only)f(appear)g(as)h(part)g(of)f(instances)h(declarations)e(of)i(the)g
(class)g(in)g(which)g(the)f(f)o(amily)h(w)o(as)g(declared)-128
1562 y(-)30 b(just)f(as)h(with)f(the)g(equations)e(of)i(the)g(methods)f
(of)g(a)i(class.)52 b(Also)29 b(in)g(correspondence)c(to)k(ho)n(w)g
(methods)f(are)g(handled,)i(declarations)d(of)-128 1662
y(associated)20 b(types)g(can)g(be)g(omitted)g(in)g(class)h(instances.)
k(If)20 b(an)g(associated)f(f)o(amily)h(instance)g(is)h(omitted,)e(the)
h(corresponding)d(instance)i(type)h(is)-128 1761 y(not)g(inhabited;)f
(i.e.,)h(only)f(di)n(v)o(er)o(ging)f(e)o(xpressions,)g(such)i(as)h
Ft(undefined)p FA(,)e(can)h(assume)g(the)g(type.)-128
1896 y
SDict begin H.S end
-128 1896 a -128 1896 a
SDict begin 12 H.A end
-128 1896 a -128 1896
a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.2.2) cvn H.B /DEST pdfmark end
-128 1896 a Black 131 x Fx(7.7.1.2.2)p Black 72 w(Scoping)e(of)j(c)o
(lass)d(parameter)o(s)-128 2093 y
SDict begin H.S end
-128 2093 a -128 2093
a
SDict begin 12 H.A end
-128 2093 a -128 2093 a
SDict begin [ /View [/XYZ H.V] /Dest (scoping-class-params) cvn H.B /DEST pdfmark end
-128 2093 a 119 x FA(In)h(the)g(case)h(of)e
(multi-parameter)f(type)h(classes,)j(the)e(visibility)f(of)h(class)h
(parameters)e(in)h(the)g(right-hand)e(side)i(of)g(associated)g(f)o
(amily)f(instances)-128 2312 y(depends)h Fq(solely)i
FA(on)e(the)i(parameters)e(of)h(the)g(data)g(f)o(amily)-5
b(.)24 b(As)d(an)f(e)o(xample,)f(consider)g(the)h(simple)g(class)h
(declaration)-128 2380 y
SDict begin H.S end
-128 2380 a -128 2380 a
SDict begin 12 H.A end
-128
2380 a -128 2380 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-400) cvn H.B /DEST pdfmark end
-128 2380 a 0.95 TeXcolorgray -153
2395 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2486 25 92 v Black 0.95
TeXcolorgray -128 2486 4252 92 v Black 0.95 TeXcolorgray
4124 2486 25 92 v Black 0.95 TeXcolorgray Black -128
2459 a
SDict begin H.S end
-128 2459 a -128 2459 a
SDict begin 11 H.A end
-128 2459 a -128 2459
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-400.1) cvn H.B /DEST pdfmark end
-128 2459 a 0 0 0 TeXcolorrgb Fo(class)p Black 0 0 0
TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2578 25 92 v Black 0.95 TeXcolorgray -128 2578 4252
92 v Black 0.95 TeXcolorgray 4124 2578 25 92 v Black
0.95 TeXcolorgray Black -128 2550 a
SDict begin H.S end
-128 2550 a -128
2550 a
SDict begin 11 H.A end
-128 2550 a -128 2550 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-400.2) cvn H.B /DEST pdfmark end
-128 2550 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray -153
2602 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2777 a FA(Only)f(one)g(of)g(the)g(tw)o(o)g(class)i(parameters)d
(is)i(a)f(parameter)f(to)h(the)h(data)f(f)o(amily)-5
b(.)24 b(Hence,)19 b(the)h(follo)n(wing)f(instance)h(declaration)e(is)k
(in)m(v)n(alid:)-128 2845 y
SDict begin H.S end
-128 2845 a -128 2845 a
SDict begin 12 H.A end
-128
2845 a -128 2845 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-401) cvn H.B /DEST pdfmark end
-128 2845 a 0.95 TeXcolorgray -153
2860 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2951 25 92 v Black 0.95
TeXcolorgray -128 2951 4252 92 v Black 0.95 TeXcolorgray
4124 2951 25 92 v Black 0.95 TeXcolorgray Black -128
2924 a
SDict begin H.S end
-128 2924 a -128 2924 a
SDict begin 11 H.A end
-128 2924 a -128 2924
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-401.1) cvn H.B /DEST pdfmark end
-128 2924 a 0 0 0 TeXcolorrgb Fo(instance)p Black 0 0 0
TeXcolorrgb 44 w(C)p Black 45 w([)p 0 0 0 TeXcolorrgb
-1 w(c)p Black(])p 0 0 0 TeXcolorrgb 45 w(d)p Black 0 0 0
TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3042 25 92 v Black 0.95 TeXcolorgray
-128 3042 4252 92 v Black 0.95 TeXcolorgray 4124 3042
25 92 v Black 0.95 TeXcolorgray Black -128 3015 a
SDict begin H.S end
-128
3015 a -128 3015 a
SDict begin 11 H.A end
-128 3015 a -128 3015 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-401.2) cvn H.B /DEST pdfmark end
-128 3015
a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T)p Black 45 w([)p 0 0 0 TeXcolorrgb(c)p Black(])44
b(=)p 0 0 0 TeXcolorrgb 45 w(MkT)p Black 44 w(\()p 0 0 0
TeXcolorrgb(c)p Black(,)p 0 0 0 TeXcolorrgb 45 w(d)p
Black -1 w(\))180 b(--)p 0 0 0 TeXcolorrgb 44 w(WRONG)p
Black -1 w(!!)90 b(')p 0 0 0 TeXcolorrgb -1 w(d)p Black(')p
0 0 0 TeXcolorrgb 45 w(is)p Black 0 0 0 TeXcolorrgb 44
w(not)p Black 0 0 0 TeXcolorrgb 45 w(in)p Black 0 0 0
TeXcolorrgb 44 w(scope)p Black 0.95 TeXcolorgray -153
3067 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 3242 a FA(Here,)25 b(the)f(right-hand)d(side)j(of)g(the)f(data)h
(instance)f(mentions)g(the)h(type)f(v)n(ariable)g Ft(d)h
FA(that)g(does)g(not)f(occur)g(in)h(its)h(left-hand)d(side.)36
b(W)-7 b(e)25 b(cannot)-128 3341 y(admit)20 b(such)g(data)g(instances)g
(as)h(the)o(y)f(w)o(ould)f(compromise)g(type)g(safety)-5
b(.)-128 3475 y
SDict begin H.S end
-128 3475 a -128 3475 a
SDict begin 12 H.A end
-128 3475 a -128
3475 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.2.3) cvn H.B /DEST pdfmark end
-128 3475 a Black 132 x Fx(7.7.1.2.3)p Black 72
w(T)l(ype)19 b(c)o(lass)f(instances)f(of)k(famil)o(y)e(instances)-128
3673 y
SDict begin H.S end
-128 3673 a -128 3673 a
SDict begin 12 H.A end
-128 3673 a -128 3673
a
SDict begin [ /View [/XYZ H.V] /Dest (family-class-inst) cvn H.B /DEST pdfmark end
-128 3673 a 119 x FA(T)-7 b(ype)24 b(class)h(instances)e(of)h
(instances)f(of)h(data)g(f)o(amilies)g(can)f(be)h(de\002ned)f(as)h
(usual,)h(and)e(in)h(particular)e(data)i(instance)f(declarations)g(can)
h(ha)n(v)o(e)-128 3892 y Ft(deriving)c FA(clauses.)25
b(F)o(or)20 b(e)o(xample,)e(we)j(can)f(write)-128 3959
y
SDict begin H.S end
-128 3959 a -128 3959 a
SDict begin 12 H.A end
-128 3959 a -128 3959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-402) cvn H.B /DEST pdfmark end
-128
3959 a 0.95 TeXcolorgray -153 3975 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4066 25 92 v Black 0.95 TeXcolorgray -128 4066 4252
92 v Black 0.95 TeXcolorgray 4124 4066 25 92 v Black
0.95 TeXcolorgray Black -128 4039 a
SDict begin H.S end
-128 4039 a -128
4039 a
SDict begin 11 H.A end
-128 4039 a -128 4039 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-402.1) cvn H.B /DEST pdfmark end
-128 4039 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(GMap)p Black 44
w(\(\))p 0 0 0 TeXcolorrgb 44 w(v)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(GMapUnit)p Black 43 w(\()p 0 0 0 TeXcolorrgb(Maybe)p
Black 0 0 0 TeXcolorrgb 44 w(v)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4157 25 92 v Black 0.95
TeXcolorgray -128 4157 4252 92 v Black 0.95 TeXcolorgray
4124 4157 25 92 v Black 0.95 TeXcolorgray Black -128
4130 a
SDict begin H.S end
-128 4130 a -128 4130 a
SDict begin 11 H.A end
-128 4130 a -128 4130
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-402.2) cvn H.B /DEST pdfmark end
-128 4130 a 0 0 0 TeXcolorrgb 673 w Fo(deriving)p Black
0 0 0 TeXcolorrgb 43 w(Show)p Black 0.95 TeXcolorgray
-153 4182 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4357 a FA(which)g(implicitly)g(de\002nes)g(an)g(instance)g
(of)g(the)g(form)-128 4424 y
SDict begin H.S end
-128 4424 a -128 4424 a
SDict begin 12 H.A end
-128 4424 a -128 4424 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-403) cvn H.B /DEST pdfmark end
-128 4424 a 0.95 TeXcolorgray
-153 4440 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4531 25 92
v Black 0.95 TeXcolorgray -128 4531 4252 92 v Black 0.95
TeXcolorgray 4124 4531 25 92 v Black 0.95 TeXcolorgray
Black -128 4504 a
SDict begin H.S end
-128 4504 a -128 4504 a
SDict begin 11 H.A end
-128 4504 a
-128 4504 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-403.1) cvn H.B /DEST pdfmark end
-128 4504 a 0 0 0 TeXcolorrgb Fo(instance)p
Black 0 0 0 TeXcolorrgb 44 w(Show)p Black 0 0 0 TeXcolorrgb
44 w(v)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(Show)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(GMap)p Black 44 w(\(\))p
0 0 0 TeXcolorrgb 45 w(v)p Black(\))p 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153
4556 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4730 a FA(Note)f(that)g(class)h(instances)f(are)g(al)o(w)o(ays)h
(for)e(particular)g Fq(instances)g FA(of)h(a)h(data)e(f)o(amily)h(and)f
(ne)n(v)o(er)g(for)g(an)h(entire)g(f)o(amily)f(as)i(a)f(whole.)24
b(This)c(is)g(for)-128 4830 y(essentially)h(the)f(same)g(reasons)g
(that)h(we)f(cannot)f(de\002ne)h(a)h(tople)n(v)o(el)e(function)f(that)j
(performs)d(pattern)i(matching)e(on)i(the)g(data)h(constructors)d(of)
-128 4929 y Fq(dif)o(fer)m(ent)j FA(instances)g(of)f(a)g(single)g(type)
g(f)o(amily)-5 b(.)24 b(It)c(w)o(ould)g(require)f(a)h(form)g(of)f(e)o
(xtensible)h(case)g(construct.)-128 5064 y
SDict begin H.S end
-128 5064
a -128 5064 a
SDict begin 12 H.A end
-128 5064 a -128 5064 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.2.4) cvn H.B /DEST pdfmark end
-128 5064 a Black
131 x Fx(7.7.1.2.4)p Black 72 w(Overlap)f(of)h(data)g(instances)-128
5261 y
SDict begin H.S end
-128 5261 a -128 5261 a
SDict begin 12 H.A end
-128 5261 a -128 5261
a
SDict begin [ /View [/XYZ H.V] /Dest (data-family-overlap) cvn H.B /DEST pdfmark end
-128 5261 a 119 x FA(The)29 b(instance)f(declarations)f(of)h(a)h
(data)f(f)o(amily)g(used)g(in)h(a)g(single)f(program)e(may)i(not)h(o)o
(v)o(erlap)d(at)j(all,)i(independent)26 b(of)i(whether)f(the)o(y)h(are)
-128 5480 y(associated)20 b(or)g(not.)25 b(In)20 b(contrast)f(to)i
(type)e(class)j(instances,)e(this)g(is)h(not)f(only)g(a)g(matter)g(of)g
(consistenc)o(y)-5 b(,)18 b(b)n(ut)i(one)g(of)g(type)g(safety)-5
b(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 154 169
TeXDict begin 154 168 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.154) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(154)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.7.1.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.7.1.3)p
Black 73 w(Impor)q(t)g(and)g(e)o(xpor)q(t)-128 257 y
SDict begin H.S end
-128 257 a -128 257 a
SDict begin 12 H.A end
-128 257 a -128 257 a
SDict begin [ /View [/XYZ H.V] /Dest (data-family-import-export) cvn H.B /DEST pdfmark end
-128 257
a 119 x FA(The)26 b(association)g(of)g(data)h(constructors)d(with)j
(type)f(f)o(amilies)g(is)h(more)f(dynamic)f(than)h(that)g(is)h(the)g
(case)g(with)f(standard)f(data)h(and)g(ne)n(wtype)-128
476 y(declarations.)54 b(In)30 b(the)h(standard)e(case,)k(the)d
(notation)f Ft(T\(..\))55 b FA(in)31 b(an)f(import)f(or)h(e)o(xport)f
(list)i(denotes)f(the)g(type)g(constructor)e(and)i(all)h(the)-128
575 y(data)26 b(constructors)e(introduced)f(in)j(its)h(declaration.)40
b(Ho)n(we)n(v)o(er)m(,)24 b(a)j(f)o(amily)e(declaration)f(ne)n(v)o(er)g
(introduces)g(an)o(y)h(data)h(constructors;)g(instead,)-128
675 y(data)j(constructors)f(are)h(introduced)e(by)i(f)o(amily)f
(instances.)52 b(As)30 b(a)g(result,)h(which)d(data)h(constructors)f
(are)h(associated)g(with)g(a)h(type)e(f)o(amily)-128
775 y(depends)18 b(on)g(the)g(currently)f(visible)h(instance)g
(declarations)g(for)f(that)i(f)o(amily)-5 b(.)23 b(Consequently)-5
b(,)17 b(an)h(import)g(or)g(e)o(xport)f(item)h(of)g(the)h(form)e
Ft(T\(..\))-128 874 y FA(denotes)27 b(the)h(f)o(amily)f(constructor)f
(and)h(all)h(currently)e(visible)i(data)f(constructors)g(-)g(in)h(the)g
(case)g(of)f(an)h(e)o(xport)e(item,)k(these)e(may)f(be)g(either)-128
974 y(imported)18 b(or)h(de\002ned)f(in)h(the)g(current)f(module.)23
b(The)c(treatment)f(of)h(import)f(and)g(e)o(xport)g(items)i(that)f(e)o
(xplicitly)f(list)i(data)f(constructors,)e(such)i(as)-128
1074 y Ft(GMap\(GMapEither\))p FA(,)f(is)j(analogous.)-128
1208 y
SDict begin H.S end
-128 1208 a -128 1208 a
SDict begin 12 H.A end
-128 1208 a -128 1208
a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.3.1) cvn H.B /DEST pdfmark end
-128 1208 a Black 131 x Fx(7.7.1.3.1)p Black 72 w(Associated)c
(families)-128 1405 y
SDict begin H.S end
-128 1405 a -128 1405 a
SDict begin 12 H.A end
-128 1405
a -128 1405 a
SDict begin [ /View [/XYZ H.V] /Dest (data-family-impexp-assoc) cvn H.B /DEST pdfmark end
-128 1405 a 119 x FA(As)28 b(e)o(xpected,)f(an)f(import)g
(or)h(e)o(xport)e(item)i(of)f(the)h(form)f Ft(C\(..\))45
b FA(denotes)26 b(all)h(of)g(the)f(class')i(methods)e(and)g(associated)
g(types.)45 b(Ho)n(we)n(v)o(er)m(,)-128 1624 y(when)20
b(associated)f(types)h(are)g(e)o(xplicitly)f(listed)h(as)h(subitems)e
(of)h(a)g(class,)h(we)f(need)g(some)f(ne)n(w)h(syntax,)f(as)i
(uppercase)d(identi\002ers)i(as)g(subitems)-128 1724
y(are)26 b(usually)f(data)h(constructors,)f(not)g(type)g(constructors.)
40 b(T)-7 b(o)26 b(clarify)f(that)g(we)h(denote)f(types)g(here,)i(each)
e(associated)g(type)h(name)f(needs)g(to)-128 1823 y(be)j(pre\002x)o(ed)
e(by)h(the)g(k)o(e)o(yw)o(ord)e Ft(type)p FA(.)47 b(So)27
b(for)g(e)o(xample,)h(when)e(e)o(xplicitly)h(listing)g(the)h
(components)d(of)i(the)h Ft(GMapKey)e FA(class,)k(we)e(write)-128
1923 y Ft(GMapKey\(type)48 b(GMap,)h(empty,)g(lookup,)f(insert\))p
FA(.)-128 2052 y
SDict begin H.S end
-128 2052 a -128 2052 a
SDict begin 12 H.A end
-128 2052 a
-128 2052 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.3.2) cvn H.B /DEST pdfmark end
-128 2052 a Black 136 x Fx(7.7.1.3.2)p Black
72 w(Examples)-128 2254 y
SDict begin H.S end
-128 2254 a -128 2254 a
SDict begin 12 H.A end
-128
2254 a -128 2254 a
SDict begin [ /View [/XYZ H.V] /Dest (data-family-impexp-examples) cvn H.B /DEST pdfmark end
-128 2254 a 120 x FA(Assuming)20 b(our)f(running)f
Ft(GMapKey)i FA(class)h(e)o(xample,)e(let)h(us)h(look)e(at)i(some)f(e)o
(xport)f(lists)i(and)f(their)g(meaning:)p Black -128
2590 a(\225)p Black 42 w Ft(module)49 b(GMap)g(\(GMapKey\))f(where...)p
FA(:)24 b(Exports)19 b(just)i(the)f(class)h(name.)p Black
-128 2756 a(\225)p Black 42 w Ft(module)49 b(GMap)g(\(GMapKey\(..\)\))
97 b(where...)p FA(:)33 b(Exports)23 b(the)i(class,)h(the)e(associated)
h(type)f Ft(GMap)g FA(and)g(the)g(member)f(functions)-57
2855 y Ft(empty)p FA(,)d Ft(lookup)p FA(,)f(and)h Ft(insert)p
FA(.)k(None)c(of)f(the)i(data)f(constructors)e(is)j(e)o(xported.)p
Black -128 3021 a(\225)p Black 42 w Ft(module)49 b(GMap)g
(\(GMapKey\(..\),)e(GMap\(..\)\))198 b(where...)p FA(:)42
b(As)29 b(before,)h(b)n(ut)f(also)g(e)o(xports)f(all)i(the)f(data)g
(constructors)-57 3121 y Ft(GMapInt)p FA(,)19 b Ft(GMapChar)p
FA(,)g Ft(GMapUnit)p FA(,)g Ft(GMapPair)p FA(,)g(and)h
Ft(GMapUnit)p FA(.)p Black -128 3287 a(\225)p Black 42
w Ft(module)49 b(GMap)g(\(GMapKey\(empty,)e(lookup,)h(insert\),)h
(GMap\(..\)\))98 b(where...)p FA(:)24 b(As)d(before.)p
Black -128 3453 a(\225)p Black 42 w Ft(module)49 b(GMap)g(\(GMapKey,)f
(empty,)h(lookup,)f(insert,)h(GMap\(..\)\))197 b(where...)p
FA(:)24 b(As)d(before.)-128 3669 y(Finally)-5 b(,)21
b(you)f(can)h(write)h Ft(GMapKey\(type)47 b(GMap\))21
b FA(to)g(denote)f(both)h(the)g(class)h Ft(GMapKey)e
FA(as)i(well)g(as)g(its)g(associated)f(type)g Ft(GMap)p
FA(.)27 b(Ho)n(w-)-128 3768 y(e)n(v)o(er)m(,)32 b(you)d(cannot)g(write)
i Ft(GMapKey\(type)47 b(GMap\(..\)\))54 b FA(\227)31
b(i.e.,)i(sub-component)26 b(speci\002cations)k(cannot)f(be)i(nested.)
54 b(T)-7 b(o)31 b(specify)-128 3868 y Ft(GMap)p FA(')-5
b(s)21 b(data)f(constructors,)e(you)h(ha)n(v)o(e)h(to)g(list)i(it)f
(separately)-5 b(.)-128 4002 y
SDict begin H.S end
-128 4002 a -128 4002
a
SDict begin 12 H.A end
-128 4002 a -128 4002 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.1.3.3) cvn H.B /DEST pdfmark end
-128 4002 a Black 132 x Fx(7.7.1.3.3)p
Black 72 w(Instances)-128 4199 y
SDict begin H.S end
-128 4199 a -128 4199
a
SDict begin 12 H.A end
-128 4199 a -128 4199 a
SDict begin [ /View [/XYZ H.V] /Dest (data-family-impexp-instances) cvn H.B /DEST pdfmark end
-128 4199 a 120 x FA(F)o(amily)20
b(instances)f(are)h(implicitly)f(e)o(xported,)e(just)j(lik)o(e)g(class)
g(instances.)25 b(Ho)n(we)n(v)o(er)m(,)18 b(this)i(applies)f(only)g(to)
h(the)f(heads)g(of)h(instances,)f(not)g(to)h(the)-128
4418 y(data)h(constructors)d(an)i(instance)g(de\002nes.)-128
4535 y
SDict begin H.S end
-128 4535 a -128 4535 a
SDict begin 12 H.A end
-128 4535 a -128 4535
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.7.2) cvn H.B /DEST pdfmark end
-128 4535 a Black 166 x Fp(7.7.2)p Black 90 w(Synon)n(ym)j(families)
-128 4789 y
SDict begin H.S end
-128 4789 a -128 4789 a
SDict begin 12 H.A end
-128 4789 a -128
4789 a
SDict begin [ /View [/XYZ H.V] /Dest (synonym-families) cvn H.B /DEST pdfmark end
-128 4789 a 115 x FA(T)-7 b(ype)20 b(f)o(amilies)h(appear)e(in)i
(tw)o(o)g(\003a)n(v)n(ours:)k(\(1\))20 b(the)o(y)g(can)g(be)g
(de\002ned)g(on)g(the)g(tople)n(v)o(el)f(or)h(\(2\))g(the)o(y)g(can)g
(appear)f(inside)i(type)f(classes)h(\(in)g(which)-128
5003 y(case)k(the)o(y)f(are)h(kno)n(wn)e(as)i(associated)f(type)g
(synon)o(yms\).)36 b(The)24 b(former)f(is)j(the)e(more)g(general)g(v)n
(ariant,)g(as)h(it)g(lacks)g(the)g(requirement)d(for)i(the)-128
5103 y(type-inde)o(x)o(es)f(to)j(coincide)e(with)h(the)g(class)i
(parameters.)39 b(Ho)n(we)n(v)o(er)m(,)24 b(the)i(latter)f(can)g(lead)g
(to)h(more)e(clearly)h(structured)f(code)h(and)f(compiler)-128
5203 y(w)o(arnings)d(if)g(some)g(type)g(instances)g(were)g(-)g
(possibly)f(accidentally)g(-)h(omitted.)27 b(In)21 b(the)g(follo)n
(wing,)f(we)h(al)o(w)o(ays)h(discuss)f(the)g(general)f(tople)n(v)o(el)
-128 5302 y(form)g(\002rst)h(and)e(then)h(co)o(v)o(er)f(the)h
(additional)f(constraints)g(placed)h(on)f(associated)h(types.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 155 170
TeXDict begin 155 169 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.155) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(155)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.7.2.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.7.2.1)p
Black 73 w(T)l(ype)e(famil)o(y)i(dec)o(larations)-128
257 y
SDict begin H.S end
-128 257 a -128 257 a
SDict begin 12 H.A end
-128 257 a -128 257 a
SDict begin [ /View [/XYZ H.V] /Dest (type-family-declarations) cvn H.B /DEST pdfmark end
-128
257 a 119 x FA(Inde)o(x)o(ed)e(type)i(f)o(amilies)g(are)g(introduced)e
(by)i(a)h(signature,)d(such)i(as)-128 444 y
SDict begin H.S end
-128 444
a -128 444 a
SDict begin 12 H.A end
-128 444 a -128 444 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-404) cvn H.B /DEST pdfmark end
-128 444 a 0.95 TeXcolorgray
-153 459 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 551 25 92 v
Black 0.95 TeXcolorgray -128 551 4252 92 v Black 0.95
TeXcolorgray 4124 551 25 92 v Black 0.95 TeXcolorgray
Black -128 523 a
SDict begin H.S end
-128 523 a -128 523 a
SDict begin 11 H.A end
-128 523 a -128
523 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-404.1) cvn H.B /DEST pdfmark end
-128 523 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(family)p Black 0 0 0 TeXcolorrgb 43
w(Elem)p Black 0 0 0 TeXcolorrgb 45 w(c)p Black 44 w(::)859
536 y(*)p 0.95 TeXcolorgray -153 575 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 750 a FA(The)i(special)g
Ft(family)f FA(distinguishes)h(f)o(amily)f(from)g(standard)g(type)g
(declarations.)29 b(The)22 b(result)g(kind)f(annotation)f(is)j
(optional)d(and,)i(as)g(usual,)-128 849 y(def)o(aults)e(to)241
864 y Ft(*)311 849 y FA(if)h(omitted.)j(An)c(e)o(xample)f(is)-128
917 y
SDict begin H.S end
-128 917 a -128 917 a
SDict begin 12 H.A end
-128 917 a -128 917 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-405) cvn H.B /DEST pdfmark end
-128
917 a 0.95 TeXcolorgray -153 932 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1024 25 92 v Black 0.95 TeXcolorgray -128 1024 4252
92 v Black 0.95 TeXcolorgray 4124 1024 25 92 v Black
0.95 TeXcolorgray Black -128 996 a
SDict begin H.S end
-128 996 a -128 996
a
SDict begin 11 H.A end
-128 996 a -128 996 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-405.1) cvn H.B /DEST pdfmark end
-128 996 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(family)p Black
0 0 0 TeXcolorrgb 43 w(Elem)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black 0.95 TeXcolorgray -153 1049 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1223 a
FA(P)o(arameters)j(can)g(also)h(be)g(gi)n(v)o(en)e(e)o(xplicit)h(kind)f
(signatures)h(if)h(needed.)30 b(W)-7 b(e)24 b(call)f(the)f(number)f(of)
h(parameters)f(in)i(a)g(type)f(f)o(amily)g(declaration,)-128
1323 y(the)27 b(f)o(amily')-5 b(s)27 b(arity)-5 b(,)28
b(and)e(all)i(applications)d(of)i(a)g(type)g(f)o(amily)f(must)h(be)g
(fully)f(saturated)h(w)-5 b(.r)g(.t.)45 b(to)27 b(that)g(arity)-5
b(.)44 b(This)27 b(requirement)e(is)j(unlik)o(e)-128
1422 y(ordinary)20 b(type)i(synon)o(yms)f(and)g(it)i(implies)f(that)h
(the)f(kind)f(of)h(a)h(type)f(f)o(amily)f(is)i(not)f(suf)n(\002cient)g
(to)g(determine)f(a)i(f)o(amily')-5 b(s)22 b(arity)-5
b(,)22 b(and)f(hence)h(in)-128 1522 y(general,)g(also)g(insuf)n
(\002cient)f(to)i(determine)e(whether)g(a)h(type)g(f)o(amily)g
(application)e(is)j(well)g(formed.)29 b(As)23 b(an)f(e)o(xample,)f
(consider)g(the)i(follo)n(wing)-128 1622 y(declaration:)-128
1672 y
SDict begin H.S end
-128 1672 a -128 1672 a
SDict begin 12 H.A end
-128 1672 a -128 1672
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-406) cvn H.B /DEST pdfmark end
-128 1672 a 0.95 TeXcolorgray -153 1705 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1796 25 92 v Black 0.95 TeXcolorgray
-128 1796 4252 92 v Black 0.95 TeXcolorgray 4124 1796
25 92 v Black 0.95 TeXcolorgray Black -128 1769 a
SDict begin H.S end
-128
1769 a -128 1769 a
SDict begin 11 H.A end
-128 1769 a -128 1769 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-406.1) cvn H.B /DEST pdfmark end
-128 1769
a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0 TeXcolorrgb
45 w(family)p Black 0 0 0 TeXcolorrgb 43 w(F)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 44 w(::)814 1782 y(*)904 1769 y(->)1038 1782
y(*)1217 1769 y(--)p 0 0 0 TeXcolorrgb 45 w(F)p Black(')p
0 0 0 TeXcolorrgb(s)p Black 0 0 0 TeXcolorrgb 44 w(arity)p
Black 0 0 0 TeXcolorrgb 44 w(is)p Black 45 w(2,)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1887 25 92
v Black 0.95 TeXcolorgray -128 1887 4252 92 v Black 0.95
TeXcolorgray 4124 1887 25 92 v Black 0.95 TeXcolorgray
Black -128 1860 a
SDict begin H.S end
-128 1860 a -128 1860 a
SDict begin 11 H.A end
-128 1860 a
-128 1860 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-406.2) cvn H.B /DEST pdfmark end
-128 1860 a 1345 w Fo(--)p 0 0 0 TeXcolorrgb
45 w(although)p Black 0 0 0 TeXcolorrgb 43 w(it)p Black(')p
0 0 0 TeXcolorrgb(s)p Black 0 0 0 TeXcolorrgb 45 w(overall)p
Black 0 0 0 TeXcolorrgb 43 w(kind)p Black 0 0 0 TeXcolorrgb
44 w(is)p Black 2697 1873 a(*)2787 1860 y(->)2921 1873
y(*)3011 1860 y(->)3145 1873 y(*)3235 1860 y(->)3369
1873 y(*)p 0.95 TeXcolorgray -153 1912 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 2086 a FA(Gi)n(v)o(en)d(this)h
(declaration)d(the)i(follo)n(wing)f(are)h(e)o(xamples)f(of)h
(well-formed)e(and)i(malformed)e(types:)-128 2154 y
SDict begin H.S end
-128
2154 a -128 2154 a
SDict begin 12 H.A end
-128 2154 a -128 2154 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-407) cvn H.B /DEST pdfmark end
-128 2154
a 0.95 TeXcolorgray -153 2170 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2261 25 92 v Black 0.95 TeXcolorgray -128 2261 4252 92
v Black 0.95 TeXcolorgray 4124 2261 25 92 v Black 0.95
TeXcolorgray Black -128 2233 a
SDict begin H.S end
-128 2233 a -128 2233
a
SDict begin 11 H.A end
-128 2233 a -128 2233 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-407.1) cvn H.B /DEST pdfmark end
-128 2233 a 0 0 0 TeXcolorrgb
Fo(F)p Black 0 0 0 TeXcolorrgb 45 w(Char)p Black 44 w([)p
0 0 0 TeXcolorrgb(Int)p Black(])313 b(--)p 0 0 0 TeXcolorrgb
45 w(OK)p Black -1 w(!)p 0 0 0 TeXcolorrgb 90 w(Kind)p
Black -1 w(:)1352 2246 y(*)1442 2233 y(->)1576 2246 y(*)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2352 25
92 v Black 0.95 TeXcolorgray -128 2352 4252 92 v Black
0.95 TeXcolorgray 4124 2352 25 92 v Black 0.95 TeXcolorgray
Black -128 2325 a
SDict begin H.S end
-128 2325 a -128 2325 a
SDict begin 11 H.A end
-128 2325 a
-128 2325 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-407.2) cvn H.B /DEST pdfmark end
-128 2325 a 0 0 0 TeXcolorrgb Fo(F)p Black
0 0 0 TeXcolorrgb 45 w(Char)p Black 44 w([)p 0 0 0 TeXcolorrgb(Int)p
Black(])p 0 0 0 TeXcolorrgb 44 w(Bool)p Black 89 w(--)p
0 0 0 TeXcolorrgb 45 w(OK)p Black -1 w(!)p 0 0 0 TeXcolorrgb
90 w(Kind)p Black -1 w(:)1352 2338 y(*)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2443 25 92 v Black 0.95
TeXcolorgray -128 2443 4252 92 v Black 0.95 TeXcolorgray
4124 2443 25 92 v Black 0.95 TeXcolorgray Black -128
2416 a
SDict begin H.S end
-128 2416 a -128 2416 a
SDict begin 11 H.A end
-128 2416 a -128 2416
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-407.3) cvn H.B /DEST pdfmark end
-128 2416 a 0 0 0 TeXcolorrgb Fo(F)p Black 0 0 0 TeXcolorrgb
45 w(IO)p Black 0 0 0 TeXcolorrgb 45 w(Bool)p Black 447
w(--)p 0 0 0 TeXcolorrgb 45 w(WRONG)p Black -1 w(:)p
0 0 0 TeXcolorrgb 45 w(kind)p Black 0 0 0 TeXcolorrgb
44 w(mismatch)p Black 0 0 0 TeXcolorrgb 43 w(in)p Black
0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0 TeXcolorrgb
44 w(first)p Black 0 0 0 TeXcolorrgb 44 w(argument)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2535 25 92 v Black 0.95 TeXcolorgray -128 2535 4252 92
v Black 0.95 TeXcolorgray 4124 2535 25 92 v Black 0.95
TeXcolorgray Black -128 2507 a
SDict begin H.S end
-128 2507 a -128 2507
a
SDict begin 11 H.A end
-128 2507 a -128 2507 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-407.4) cvn H.B /DEST pdfmark end
-128 2507 a 0 0 0 TeXcolorrgb
Fo(F)p Black 0 0 0 TeXcolorrgb 45 w(Bool)p Black 582
w(--)p 0 0 0 TeXcolorrgb 45 w(WRONG)p Black -1 w(:)p
0 0 0 TeXcolorrgb 45 w(unsaturated)p Black 0 0 0 TeXcolorrgb
43 w(application)p Black 0.95 TeXcolorgray -153 2560
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
2726 a
SDict begin H.S end
-128 2726 a -128 2726 a
SDict begin 12 H.A end
-128 2726 a -128 2726
a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.2.1.1) cvn H.B /DEST pdfmark end
-128 2726 a Black 124 x Fx(7.7.2.1.1)p Black 72 w(Associated)17
b(type)j(famil)o(y)f(dec)o(larations)-128 2916 y
SDict begin H.S end
-128
2916 a -128 2916 a
SDict begin 12 H.A end
-128 2916 a -128 2916 a
SDict begin [ /View [/XYZ H.V] /Dest (assoc-type-family-decl) cvn H.B /DEST pdfmark end
-128 2916
a 119 x FA(When)j(a)g(type)g(f)o(amily)f(is)i(declared)e(as)h(part)g
(of)f(a)i(type)e(class,)i(we)f(drop)f(the)h Ft(family)f
FA(special.)30 b(The)22 b Ft(Elem)f FA(declaration)g(tak)o(es)h(the)g
(follo)n(wing)-128 3135 y(form)-128 3186 y
SDict begin H.S end
-128 3186
a -128 3186 a
SDict begin 12 H.A end
-128 3186 a -128 3186 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-408) cvn H.B /DEST pdfmark end
-128 3186 a 0.95
TeXcolorgray -153 3218 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3309 25 92 v Black 0.95 TeXcolorgray -128 3309 4252 92
v Black 0.95 TeXcolorgray 4124 3309 25 92 v Black 0.95
TeXcolorgray Black -128 3282 a
SDict begin H.S end
-128 3282 a -128 3282
a
SDict begin 11 H.A end
-128 3282 a -128 3282 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-408.1) cvn H.B /DEST pdfmark end
-128 3282 a 0 0 0 TeXcolorrgb
Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Collects)p Black
0 0 0 TeXcolorrgb 44 w(ce)p Black 0 0 0 TeXcolorrgb 44
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3401 25 92 v Black 0.95 TeXcolorgray -128 3401 4252
92 v Black 0.95 TeXcolorgray 4124 3401 25 92 v Black
0.95 TeXcolorgray Black -128 3373 a
SDict begin H.S end
-128 3373 a -128
3373 a
SDict begin 11 H.A end
-128 3373 a -128 3373 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-408.2) cvn H.B /DEST pdfmark end
-128 3373 a 0 0 0 TeXcolorrgb
90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44 w(Elem)p Black
0 0 0 TeXcolorrgb 44 w(ce)p Black 45 w(::)679 3386 y(*)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3492 25
92 v Black 0.95 TeXcolorgray -128 3492 4252 92 v Black
0.95 TeXcolorgray 4124 3492 25 92 v Black 0.95 TeXcolorgray
Black -128 3465 a
SDict begin H.S end
-128 3465 a -128 3465 a
SDict begin 11 H.A end
-128 3465 a
-128 3465 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-408.3) cvn H.B /DEST pdfmark end
-128 3465 a 90 w Fo(...)p 0.95 TeXcolorgray
-153 3517 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3691 a FA(The)28 b(ar)o(gument)e(names)h(of)h(the)g(type)f
(f)o(amily)h(must)g(be)f(class)i(parameters.)47 b(Each)28
b(class)g(parameter)f(may)g(only)g(be)h(used)g(at)g(most)g(once)f(per)
-128 3791 y(associated)k(type,)h(b)n(ut)f(some)g(may)f(be)g(omitted)g
(and)g(the)o(y)g(may)g(be)h(in)g(an)f(order)g(other)g(than)g(in)g(the)h
(class)h(head.)55 b(Hence,)33 b(the)e(follo)n(wing)-128
3891 y(contri)n(v)o(ed)18 b(e)o(xample)h(is)i(admissible:)-128
3958 y
SDict begin H.S end
-128 3958 a -128 3958 a
SDict begin 12 H.A end
-128 3958 a -128 3958
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-409) cvn H.B /DEST pdfmark end
-128 3958 a 0.95 TeXcolorgray -153 3974 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4065 25 92 v Black 0.95 TeXcolorgray
-128 4065 4252 92 v Black 0.95 TeXcolorgray 4124 4065
25 92 v Black 0.95 TeXcolorgray Black -128 4037 a
SDict begin H.S end
-128
4037 a -128 4037 a
SDict begin 11 H.A end
-128 4037 a -128 4037 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-409.1) cvn H.B /DEST pdfmark end
-128 4037
a 0 0 0 TeXcolorrgb Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(C)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black 0 0 0 TeXcolorrgb 44 w(c)p
Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4156 25 92 v Black 0.95
TeXcolorgray -128 4156 4252 92 v Black 0.95 TeXcolorgray
4124 4156 25 92 v Black 0.95 TeXcolorgray Black -128
4129 a
SDict begin H.S end
-128 4129 a -128 4129 a
SDict begin 11 H.A end
-128 4129 a -128 4129
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-409.2) cvn H.B /DEST pdfmark end
-128 4129 a 0 0 0 TeXcolorrgb 90 w Fo(type)p Black
0 0 0 TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb 45
w(c)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(::)590
4142 y(*)p 0.95 TeXcolorgray -153 4181 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4355 a FA(These)f(rules)h(are)
f(e)o(xactly)f(as)i(for)e(associated)h(data)h(f)o(amilies.)-128
4490 y
SDict begin H.S end
-128 4490 a -128 4490 a
SDict begin 12 H.A end
-128 4490 a -128 4490
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.7.2.2) cvn H.B /DEST pdfmark end
-128 4490 a Black 131 x Fx(7.7.2.2)p Black 73 w(T)l(ype)d(instance)g
(dec)o(larations)-128 4705 y
SDict begin H.S end
-128 4705 a -128 4705 a
SDict begin 12 H.A end
-128 4705 a -128 4705 a
SDict begin [ /View [/XYZ H.V] /Dest (type-instance-declarations) cvn H.B /DEST pdfmark end
-128 4705 a 119 x FA(Instance)j(declarations)g
(of)g(type)h(f)o(amilies)g(are)f(v)o(ery)g(similar)h(to)g(standard)f
(type)g(synon)o(ym)e(declarations.)29 b(The)21 b(only)g(tw)o(o)h(dif)n
(ferences)e(are)i(that)-128 4924 y(the)e(k)o(e)o(yw)o(ord)e
Ft(type)h FA(is)i(follo)n(wed)d(by)h Ft(instance)g FA(and)g(that)g
(some)h(or)f(all)h(of)g(the)f(type)g(ar)o(guments)f(can)h(be)h(non-v)n
(ariable)c(types,)k(b)n(ut)f(may)g(not)-128 5023 y(contain)i(forall)g
(types)g(or)h(type)f(synon)o(ym)e(f)o(amilies.)29 b(Ho)n(we)n(v)o(er)m
(,)20 b(data)i(f)o(amilies)f(are)h(generally)e(allo)n(wed,)h(and)g
(type)g(synon)o(yms)f(are)h(allo)n(wed)g(as)-128 5123
y(long)d(as)g(the)o(y)f(are)h(fully)g(applied)f(and)g(e)o(xpand)f(to)i
(a)h(type)e(that)h(is)h(admissible)f(-)g(these)g(are)g(the)g(e)o(xact)f
(same)h(requirements)e(as)j(for)e(data)h(instances.)-128
5223 y(F)o(or)i(e)o(xample,)f(the)h Ft([e])g FA(instance)g(for)g
Ft(Elem)g FA(is)-128 5290 y
SDict begin H.S end
-128 5290 a -128 5290 a
SDict begin 12 H.A end
-128
5290 a -128 5290 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-410) cvn H.B /DEST pdfmark end
-128 5290 a 0.95 TeXcolorgray -153
5306 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5397 25 92 v Black 0.95
TeXcolorgray -128 5397 4252 92 v Black 0.95 TeXcolorgray
4124 5397 25 92 v Black 0.95 TeXcolorgray Black -128
5370 a
SDict begin H.S end
-128 5370 a -128 5370 a
SDict begin 11 H.A end
-128 5370 a -128 5370
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-410.1) cvn H.B /DEST pdfmark end
-128 5370 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(Elem)p Black 44 w([)p 0 0 0 TeXcolorrgb(e)p Black(])45
b(=)p 0 0 0 TeXcolorrgb 44 w(e)p Black 0.95 TeXcolorgray
-153 5422 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 156 171
TeXDict begin 156 170 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.156) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(156)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(T)-7 b(ype)18
b(f)o(amily)f(instance)h(declarations)f(are)h(only)f(le)o(gitimate)g
(when)g(an)h(appropriate)e(f)o(amily)h(declaration)g(is)i(in)f(scope)f
(-)h(just)h(lik)o(e)f(class)h(instances)-128 273 y(require)27
b(the)h(class)g(declaration)e(to)i(be)g(visible.)48 b(Moreo)o(v)o(er)m
(,)26 b(each)h(instance)h(declaration)e(has)i(to)g(conform)d(to)j(the)g
(kind)f(determined)f(by)h(its)-128 372 y(f)o(amily)c(declaration,)f
(and)h(the)g(number)e(of)i(type)g(parameters)f(in)h(an)g(instance)g
(declaration)e(must)i(match)g(the)g(number)e(of)i(type)g(parameters)f
(in)-128 472 y(the)j(f)o(amily)e(declaration.)36 b(Finally)-5
b(,)24 b(the)g(right-hand)e(side)i(of)g(a)h(type)e(instance)h(must)g
(be)g(a)h(monotype)d(\(i.e.,)i(it)h(may)f(not)g(include)f(foralls\))h
(and)-128 572 y(after)g(the)f(e)o(xpansion)f(of)h(all)i(saturated)e(v)n
(anilla)g(type)g(synon)o(yms,)f(no)i(synon)o(yms,)e(e)o(xcept)h(f)o
(amily)g(synon)o(yms)e(may)j(remain.)34 b(Here)24 b(are)f(some)-128
671 y(e)o(xamples)d(of)f(admissible)h(and)g(ille)o(gal)g(type)f
(instances:)-128 731 y
SDict begin H.S end
-128 731 a -128 731 a
SDict begin 12 H.A end
-128 731
a -128 731 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-411) cvn H.B /DEST pdfmark end
-128 731 a 0.95 TeXcolorgray -153 747 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 838 25 92 v Black 0.95 TeXcolorgray
-128 838 4252 92 v Black 0.95 TeXcolorgray 4124 838 25
92 v Black 0.95 TeXcolorgray Black -128 811 a
SDict begin H.S end
-128 811
a -128 811 a
SDict begin 11 H.A end
-128 811 a -128 811 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.1) cvn H.B /DEST pdfmark end
-128 811 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(family)p Black
0 0 0 TeXcolorrgb 43 w(F)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 45 w(::)724 824 y(*)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 929 25 92 v Black 0.95 TeXcolorgray
-128 929 4252 92 v Black 0.95 TeXcolorgray 4124 929 25
92 v Black 0.95 TeXcolorgray Black -128 902 a
SDict begin H.S end
-128 902
a -128 902 a
SDict begin 11 H.A end
-128 902 a -128 902 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.2) cvn H.B /DEST pdfmark end
-128 902 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(instance)p Black
0 0 0 TeXcolorrgb 43 w(F)p Black 45 w([)p 0 0 0 TeXcolorrgb(Int)p
Black -1 w(])628 b(=)p 0 0 0 TeXcolorrgb 44 w(Int)p Black
403 w(--)p 0 0 0 TeXcolorrgb 45 w(OK)p Black -1 w(!)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1021 25
92 v Black 0.95 TeXcolorgray -128 1021 4252 92 v Black
0.95 TeXcolorgray 4124 1021 25 92 v Black 0.95 TeXcolorgray
Black -128 993 a
SDict begin H.S end
-128 993 a -128 993 a
SDict begin 11 H.A end
-128 993 a -128
993 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.3) cvn H.B /DEST pdfmark end
-128 993 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(F)p Black 0 0 0 TeXcolorrgb 45 w(String)p Black 582
w(=)p 0 0 0 TeXcolorrgb 44 w(Char)p Black 358 w(--)p
0 0 0 TeXcolorrgb 45 w(OK)p Black -1 w(!)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1112 25 92 v Black 0.95
TeXcolorgray -128 1112 4252 92 v Black 0.95 TeXcolorgray
4124 1112 25 92 v Black 0.95 TeXcolorgray Black -128
1085 a
SDict begin H.S end
-128 1085 a -128 1085 a
SDict begin 11 H.A end
-128 1085 a -128 1085
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.4) cvn H.B /DEST pdfmark end
-128 1085 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(F)p Black 45 w(\()p 0 0 0 TeXcolorrgb(F)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(\))g(=)p 0 0 0 TeXcolorrgb
44 w(a)p Black 493 w(--)p 0 0 0 TeXcolorrgb 45 w(WRONG)p
Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(type)p Black 0 0 0
TeXcolorrgb 44 w(parameter)p Black 0 0 0 TeXcolorrgb
43 w(mentions)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 44 w(type)p Black 89 w Fd( )-12 b Fb(-)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1203 25
92 v Black 0.95 TeXcolorgray -128 1203 4252 92 v Black
0.95 TeXcolorgray 4124 1203 25 92 v Black 0.95 TeXcolorgray
Black 0 0 0 TeXcolorrgb 38 1176 a Fo(family)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1295 V Black
0.95 TeXcolorgray -128 1295 4252 92 v Black 0.95 TeXcolorgray
4124 1295 25 92 v Black 0.95 TeXcolorgray Black -128
1267 a
SDict begin H.S end
-128 1267 a -128 1267 a
SDict begin 11 H.A end
-128 1267 a -128 1267
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.5) cvn H.B /DEST pdfmark end
-128 1267 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(F)p Black 45 w(\()p 0 0 0 TeXcolorrgb(forall)p Black
0 0 0 TeXcolorrgb 43 w(a)p Black(.)45 b(\()p 0 0 0 TeXcolorrgb(a)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(b)p Black(\)\))g(=)p
0 0 0 TeXcolorrgb 44 w(b)p Black 493 w(--)p 0 0 0 TeXcolorrgb
45 w(WRONG)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(a)p
Black 0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(type)p Black 0 0 0 TeXcolorrgb 44 w(appears)p Black
0 0 0 TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black 0 0 0 TeXcolorrgb 45 w(type)p Black 89 w
Fd( )-12 b Fb(-)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1386 25 92 v Black 0.95 TeXcolorgray -128 1386 4252
92 v Black 0.95 TeXcolorgray 4124 1386 25 92 v Black
0.95 TeXcolorgray Black 0 0 0 TeXcolorrgb 38 1359 a Fo(parameter)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1477 V Black 0.95 TeXcolorgray -128 1477 4252 92 v Black
0.95 TeXcolorgray 4124 1477 25 92 v Black 0.95 TeXcolorgray
Black -128 1450 a
SDict begin H.S end
-128 1450 a -128 1450 a
SDict begin 11 H.A end
-128 1450 a
-128 1450 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.6) cvn H.B /DEST pdfmark end
-128 1450 a 0 0 0 TeXcolorrgb Fo(type)p Black
0 0 0 TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb
43 w(F)p Black 0 0 0 TeXcolorrgb 45 w(Float)p Black 627
w(=)p 0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(.)p 0 0 0 TeXcolorrgb(a)p Black 89 w(--)p
0 0 0 TeXcolorrgb 45 w(WRONG)p Black -1 w(:)p 0 0 0 TeXcolorrgb
45 w(right)p Black -1 w(-)p 0 0 0 TeXcolorrgb(hand)p
Black 0 0 0 TeXcolorrgb 44 w(side)p Black 0 0 0 TeXcolorrgb
44 w(may)p Black 0 0 0 TeXcolorrgb 44 w(not)p Black 0 0 0
TeXcolorrgb 45 w(be)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 90 w Fd( )g Fb(-)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1569 25 92 v Black 0.95 TeXcolorgray
-128 1569 4252 92 v Black 0.95 TeXcolorgray 4124 1569
25 92 v Black 0.95 TeXcolorgray Black 0 0 0 TeXcolorrgb
38 1541 a Fo(forall)p Black 0 0 0 TeXcolorrgb 44 w(type)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1660 V Black 0.95 TeXcolorgray -128 1660 4252 92 v Black
0.95 TeXcolorgray 4124 1660 25 92 v Black 0.95 TeXcolorgray
Black -128 1633 a
SDict begin H.S end
-128 1633 a -128 1633 a
SDict begin 11 H.A end
-128 1633 a
-128 1633 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.7) cvn H.B /DEST pdfmark end
-128 1633 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1751 25 92 v Black 0.95 TeXcolorgray
-128 1751 4252 92 v Black 0.95 TeXcolorgray 4124 1751
25 92 v Black 0.95 TeXcolorgray Black -128 1724 a
SDict begin H.S end
-128
1724 a -128 1724 a
SDict begin 11 H.A end
-128 1724 a -128 1724 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.8) cvn H.B /DEST pdfmark end
-128 1724
a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0 TeXcolorrgb
45 w(family)p Black 0 0 0 TeXcolorrgb 43 w(G)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 44 w(::)814 1737 y(*)904 1724 y(->)1038 1737
y(*)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1843 25 92 v Black 0.95 TeXcolorgray -128 1843 4252 92
v Black 0.95 TeXcolorgray 4124 1843 25 92 v Black 0.95
TeXcolorgray Black -128 1815 a
SDict begin H.S end
-128 1815 a -128 1815
a
SDict begin 11 H.A end
-128 1815 a -128 1815 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.9) cvn H.B /DEST pdfmark end
-128 1815 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(instance)p Black
0 0 0 TeXcolorrgb 43 w(G)p Black 0 0 0 TeXcolorrgb 45
w(Int)p Black 537 w(=)45 b(\(,\))224 b(--)p 0 0 0 TeXcolorrgb
44 w(WRONG)p Black -1 w(:)p 0 0 0 TeXcolorrgb 45 w(must)p
Black 0 0 0 TeXcolorrgb 44 w(be)p Black 0 0 0 TeXcolorrgb
45 w(two)p Black 0 0 0 TeXcolorrgb 44 w(type)p Black
0 0 0 TeXcolorrgb 44 w(parameters)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1934 25 92 v Black 0.95
TeXcolorgray -128 1934 4252 92 v Black 0.95 TeXcolorgray
4124 1934 25 92 v Black 0.95 TeXcolorgray Black -128
1907 a
SDict begin H.S end
-128 1907 a -128 1907 a
SDict begin 11 H.A end
-128 1907 a -128 1907
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-411.10) cvn H.B /DEST pdfmark end
-128 1907 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(G)p Black 0 0 0 TeXcolorrgb 45 w(Int)p Black 0 0 0
TeXcolorrgb 44 w(Char)p Black 0 0 0 TeXcolorrgb 44 w(Float)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(Double)p Black
89 w(--)p 0 0 0 TeXcolorrgb 44 w(WRONG)p Black -1 w(:)p
0 0 0 TeXcolorrgb 45 w(must)p Black 0 0 0 TeXcolorrgb
44 w(be)p Black 0 0 0 TeXcolorrgb 45 w(two)p Black 0 0 0
TeXcolorrgb 44 w(type)p Black 0 0 0 TeXcolorrgb 44 w(parameters)p
Black 0.95 TeXcolorgray -153 1959 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2114 a
SDict begin H.S end
-128 2114
a -128 2114 a
SDict begin 12 H.A end
-128 2114 a -128 2114 a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.2.2.1) cvn H.B /DEST pdfmark end
-128 2114 a Black
117 x Fx(7.7.2.2.1)p Black 72 w(Associated)17 b(type)j(instance)e(dec)o
(larations)-128 2296 y
SDict begin H.S end
-128 2296 a -128 2296 a
SDict begin 12 H.A end
-128 2296
a -128 2296 a
SDict begin [ /View [/XYZ H.V] /Dest (assoc-type-instance) cvn H.B /DEST pdfmark end
-128 2296 a 112 x FA(When)28 b(an)g(associated)g(f)o
(amily)g(instance)f(is)i(declared)e(within)h(a)g(type)g(class)h
(instance,)g(we)f(drop)f(the)h Ft(instance)f FA(k)o(e)o(yw)o(ord)f(in)i
(the)g(f)o(amily)-128 2508 y(instance.)d(So,)20 b(the)g
Ft([e])h FA(instance)e(for)h Ft(Elem)g FA(becomes:)-128
2562 y
SDict begin H.S end
-128 2562 a -128 2562 a
SDict begin 12 H.A end
-128 2562 a -128 2562
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-412) cvn H.B /DEST pdfmark end
-128 2562 a 0.95 TeXcolorgray -153 2583 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2675 25 92 v Black 0.95 TeXcolorgray
-128 2675 4252 92 v Black 0.95 TeXcolorgray 4124 2675
25 92 v Black 0.95 TeXcolorgray Black -128 2647 a
SDict begin H.S end
-128
2647 a -128 2647 a
SDict begin 11 H.A end
-128 2647 a -128 2647 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-412.1) cvn H.B /DEST pdfmark end
-128 2647
a 0 0 0 TeXcolorrgb Fo(instance)p Black 44 w(\()p 0 0 0
TeXcolorrgb(Eq)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Elem)p
Black 44 w([)p 0 0 0 TeXcolorrgb(e)p Black(]\)\))44 b(=>)p
0 0 0 TeXcolorrgb 45 w(Collects)p Black 43 w(\([)p 0 0 0
TeXcolorrgb(e)p Black(]\))p 0 0 0 TeXcolorrgb 44 w(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2766 25 92 v Black 0.95 TeXcolorgray -128 2766 4252 92
v Black 0.95 TeXcolorgray 4124 2766 25 92 v Black 0.95
TeXcolorgray Black -128 2738 a
SDict begin H.S end
-128 2738 a -128 2738
a
SDict begin 11 H.A end
-128 2738 a -128 2738 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-412.2) cvn H.B /DEST pdfmark end
-128 2738 a 0 0 0 TeXcolorrgb
90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44 w(Elem)p Black
44 w([)p 0 0 0 TeXcolorrgb(e)p Black(])h(=)p 0 0 0 TeXcolorrgb
44 w(e)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2857 25 92 v Black 0.95 TeXcolorgray -128 2857 4252
92 v Black 0.95 TeXcolorgray 4124 2857 25 92 v Black
0.95 TeXcolorgray Black -128 2830 a
SDict begin H.S end
-128 2830 a -128
2830 a
SDict begin 11 H.A end
-128 2830 a -128 2830 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-412.3) cvn H.B /DEST pdfmark end
-128 2830 a 90 w Fo(...)p
0.95 TeXcolorgray -153 2882 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3041 a FA(The)24 b(most)g(important)e(point)i
(about)f(associated)g(f)o(amily)h(instances)g(is)h(that)f(the)g(type)f
(inde)o(x)o(es)g(corresponding)d(to)k(class)h(parameters)e(must)h(be)
-128 3141 y(identical)c(to)g(the)h(type)e(gi)n(v)o(en)g(in)i(the)f
(instance)g(head;)f(here)h(this)h(is)g Ft([e])p FA(,)f(which)f
(coincides)h(with)g(the)g(only)g(class)h(parameter)-5
b(.)-128 3283 y(Instances)20 b(for)f(an)h(associated)f(f)o(amily)g(can)
h(only)f(appear)g(as)h(part)g(of)f(instances)h(declarations)e(of)i(the)
g(class)g(in)g(which)g(the)f(f)o(amily)h(w)o(as)g(declared)-128
3382 y(-)30 b(just)f(as)h(with)f(the)g(equations)e(of)i(the)g(methods)f
(of)g(a)i(class.)52 b(Also)29 b(in)g(correspondence)c(to)k(ho)n(w)g
(methods)f(are)g(handled,)i(declarations)d(of)-128 3482
y(associated)20 b(types)g(can)g(be)g(omitted)g(in)g(class)h(instances.)
k(If)20 b(an)g(associated)f(f)o(amily)h(instance)g(is)h(omitted,)e(the)
h(corresponding)d(instance)i(type)h(is)-128 3581 y(not)g(inhabited;)f
(i.e.,)h(only)f(di)n(v)o(er)o(ging)f(e)o(xpressions,)g(such)i(as)h
Ft(undefined)p FA(,)e(can)h(assume)g(the)g(type.)-128
3712 y
SDict begin H.S end
-128 3712 a -128 3712 a
SDict begin 12 H.A end
-128 3712 a -128 3712
a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.2.2.2) cvn H.B /DEST pdfmark end
-128 3712 a Black 124 x Fx(7.7.2.2.2)p Black 72 w(Overlap)f(of)h
(type)g(synon)o(ym)e(instances)-128 3902 y
SDict begin H.S end
-128 3902
a -128 3902 a
SDict begin 12 H.A end
-128 3902 a -128 3902 a
SDict begin [ /View [/XYZ H.V] /Dest (type-family-overlap) cvn H.B /DEST pdfmark end
-128 3902 a 112
x FA(The)23 b(instance)f(declarations)f(of)h(a)h(type)f(f)o(amily)h
(used)f(in)h(a)g(single)f(program)e(may)j(only)e(o)o(v)o(erlap)g(if)i
(the)f(right-hand)e(sides)j(of)g(the)f(o)o(v)o(erlapping)-128
4113 y(instances)17 b(coincide)f(for)g(the)h(o)o(v)o(erlapping)c
(types.)24 b(More)16 b(formally)-5 b(,)16 b(tw)o(o)h(instance)f
(declarations)g(o)o(v)o(erlap)f(if)i(there)f(is)i(a)f(substitution)f
(that)h(mak)o(es)-128 4213 y(the)23 b(left-hand)d(sides)j(of)f(the)g
(instances)g(syntactically)g(the)g(same.)31 b(Whene)n(v)o(er)21
b(that)h(is)h(the)f(case,)h(the)f(right-hand)e(sides)j(of)f(the)g
(instances)g(must)-128 4312 y(also)e(be)g(syntactically)e(equal)h
(under)f(the)i(same)f(substitution.)24 b(This)c(condition)d(is)k
(independent)c(of)i(whether)f(the)i(type)f(f)o(amily)g(is)h(associated)
f(or)-128 4412 y(not,)h(and)g(it)h(is)g(not)f(only)f(a)i(matter)e(of)h
(consistenc)o(y)-5 b(,)19 b(b)n(ut)h(one)f(of)h(type)g(safety)-5
b(.)-128 4554 y(Here)21 b(are)f(tw)o(o)g(e)o(xample)f(to)h(illustrate)h
(the)f(condition)e(under)h(which)h(o)o(v)o(erlap)e(is)j(permitted.)-128
4614 y
SDict begin H.S end
-128 4614 a -128 4614 a
SDict begin 12 H.A end
-128 4614 a -128 4614
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-413) cvn H.B /DEST pdfmark end
-128 4614 a 0.95 TeXcolorgray -153 4629 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4721 25 92 v Black 0.95 TeXcolorgray
-128 4721 4252 92 v Black 0.95 TeXcolorgray 4124 4721
25 92 v Black 0.95 TeXcolorgray Black -128 4693 a
SDict begin H.S end
-128
4693 a -128 4693 a
SDict begin 11 H.A end
-128 4693 a -128 4693 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-413.1) cvn H.B /DEST pdfmark end
-128 4693
a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0 TeXcolorrgb
45 w(instance)p Black 0 0 0 TeXcolorrgb 43 w(F)p Black
45 w(\()p 0 0 0 TeXcolorrgb(a)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(Int)p Black(\))44 b(=)h([)p 0 0 0 TeXcolorrgb(a)p
Black(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4812 25 92 v Black 0.95 TeXcolorgray -128 4812 4252 92
v Black 0.95 TeXcolorgray 4124 4812 25 92 v Black 0.95
TeXcolorgray Black -128 4785 a
SDict begin H.S end
-128 4785 a -128 4785
a
SDict begin 11 H.A end
-128 4785 a -128 4785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-413.2) cvn H.B /DEST pdfmark end
-128 4785 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(instance)p Black
0 0 0 TeXcolorrgb 43 w(F)p Black 45 w(\()p 0 0 0 TeXcolorrgb(Int)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(b)p Black(\))f(=)h([)p
0 0 0 TeXcolorrgb(b)p Black(])134 b(--)p 0 0 0 TeXcolorrgb
44 w(overlap)p Black 0 0 0 TeXcolorrgb 44 w(permitted)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4903 25 92 v Black 0.95 TeXcolorgray -128 4903 4252 92
v Black 0.95 TeXcolorgray 4124 4903 25 92 v Black 0.95
TeXcolorgray Black -128 4876 a
SDict begin H.S end
-128 4876 a -128 4876
a
SDict begin 11 H.A end
-128 4876 a -128 4876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-413.3) cvn H.B /DEST pdfmark end
-128 4876 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4995 25 92 v Black 0.95
TeXcolorgray -128 4995 4252 92 v Black 0.95 TeXcolorgray
4124 4995 25 92 v Black 0.95 TeXcolorgray Black -128
4967 a
SDict begin H.S end
-128 4967 a -128 4967 a
SDict begin 11 H.A end
-128 4967 a -128 4967
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-413.4) cvn H.B /DEST pdfmark end
-128 4967 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(G)p Black 45 w(\()p 0 0 0 TeXcolorrgb(a)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(Int)p Black(\))89 b(=)45
b([)p 0 0 0 TeXcolorrgb(a)p Black -1 w(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5086 25 92 v Black 0.95
TeXcolorgray -128 5086 4252 92 v Black 0.95 TeXcolorgray
4124 5086 25 92 v Black 0.95 TeXcolorgray Black -128
5058 a
SDict begin H.S end
-128 5058 a -128 5058 a
SDict begin 11 H.A end
-128 5058 a -128 5058
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-413.5) cvn H.B /DEST pdfmark end
-128 5058 a 0 0 0 TeXcolorrgb Fo(type)p Black 0 0 0
TeXcolorrgb 45 w(instance)p Black 0 0 0 TeXcolorrgb 43
w(G)p Black 45 w(\()p 0 0 0 TeXcolorrgb(Char)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(\))g(=)g([)p
0 0 0 TeXcolorrgb(a)p Black -1 w(])90 b(--)p 0 0 0 TeXcolorrgb
44 w(ILLEGAL)p Black 0 0 0 TeXcolorrgb 44 w(overlap)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(as)p Black 44 w([)p
0 0 0 TeXcolorrgb(Char)p Black -1 w(])45 b(/=)f([)p 0 0 0
TeXcolorrgb(Int)p Black(])p 0.95 TeXcolorgray -153 5111
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5266 a
SDict begin H.S end
-128 5266 a -128 5266 a
SDict begin 12 H.A end
-128 5266 a -128 5266
a
SDict begin [ /View [/XYZ H.V] /Dest (paragraph.7.7.2.2.3) cvn H.B /DEST pdfmark end
-128 5266 a Black 117 x Fx(7.7.2.2.3)p Black 72 w(Decidability)17
b(of)j(type)g(synon)o(ym)e(instances)-128 5448 y
SDict begin H.S end
-128
5448 a -128 5448 a
SDict begin 12 H.A end
-128 5448 a -128 5448 a
SDict begin [ /View [/XYZ H.V] /Dest (type-family-decidability) cvn H.B /DEST pdfmark end
-128 5448
a 112 x FA(In)d(order)f(to)i(guarantee)d(that)j(type)f(inference)e(in)j
(the)f(presence)f(of)h(type)g(f)o(amilies)h(decidable,)e(we)i(need)f
(to)g(place)g(a)h(number)d(of)i(additional)f(restric-)-128
5660 y(tions)i(on)e(the)i(formation)d(of)i(type)g(instance)f
(declarations)g(\(c.f.,)i(De\002nition)e(5)h(\(Relax)o(ed)g
(Conditions\))e(of)i(\223)p 0 1 0 0 TeXcolorcmyk 2982
5678 a
SDict begin H.S end
2982 5678 a 0 1 0 0 TeXcolorcmyk -18 x FA(T)-7
b(ype)20 b(Checking)f(with)h(Open)g(T)-7 b(ype)20 b(Functions)p
0 1 0 0 TeXcolorcmyk 4387 5604 a
SDict begin H.R end
4387 5604 a 4387 5660
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cse.unsw.edu.au/~chak/papers/SPCS08.html) >> /Subtype /Link H.B /ANN pdfmark end
4387 5660 a Black FA(\224\).)-128 5759 y(Instance)g(declarations)f
(ha)n(v)o(e)g(the)i(general)e(form)p Black -128 6084
4252 5 v Black eop end
%%Page: 157 172
TeXDict begin 157 171 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.157) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(157)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-414) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-414.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(type)p Black 0 0 0 TeXcolorrgb 45 w(instance)p Black
0 0 0 TeXcolorrgb 43 w(F)p Black 0 0 0 TeXcolorrgb 45
w(t1)p Black 44 w(..)p 0 0 0 TeXcolorrgb 45 w(tn)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(t)p Black 0.95 TeXcolorgray
-153 289 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 464 a FA(where)g(we)h(require)d(that)j(for)e(e)n(v)o(ery)g
(type)h(f)o(amily)g(application)e Ft(\(G)50 b(s1)f(..)99
b(sm\))21 b FA(in)f Ft(t)p FA(,)-128 564 y
SDict begin H.S end
-128 564 a
-128 564 a
SDict begin 12 H.A end
-128 564 a -128 564 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.19) cvn H.B /DEST pdfmark end
-128 564 a Black -24
679 a FA(1.)p Black 41 w Ft(s1)49 b(..)100 b(sm)20 b
FA(do)g(not)g(contain)f(an)o(y)g(type)h(f)o(amily)g(constructors,)-128
730 y
SDict begin H.S end
-128 730 a -128 730 a
SDict begin 12 H.A end
-128 730 a -128 730 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.20) cvn H.B /DEST pdfmark end
-128
730 a Black -24 845 a FA(2.)p Black 41 w(the)h(total)h(number)d(of)i
(symbols)g(\(data)g(type)f(constructors)g(and)h(type)g(v)n(ariables\))f
(in)h Ft(s1)50 b(..)99 b(sm)21 b FA(is)h(strictly)g(smaller)f(than)g
(in)g Ft(t1)50 b(..)80 945 y(tn)p FA(,)20 b(and)-128
990 y
SDict begin H.S end
-128 990 a -128 990 a
SDict begin 12 H.A end
-128 990 a -128 990 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.21) cvn H.B /DEST pdfmark end
-128
990 a Black -24 1111 a FA(3.)p Black 41 w(for)g(e)n(v)o(ery)e(type)i(v)
n(ariable)f Ft(a)p FA(,)i Ft(a)f FA(occurs)g(in)g Ft(s1)49
b(..)100 b(sm)20 b FA(at)h(most)f(as)h(often)e(as)i(in)f
Ft(t1)50 b(..)99 b(tn)p FA(.)-128 1326 y(These)19 b(restrictions)e(are)
i(easily)f(v)o(eri\002ed)f(and)h(ensure)g(termination)e(of)i(type)g
(inference.)23 b(Ho)n(we)n(v)o(er)m(,)16 b(the)o(y)i(are)g(not)g(suf)n
(\002cient)g(to)g(guarantee)f(com-)-128 1426 y(pleteness)k(of)g(type)g
(inference)f(in)h(the)g(presence)f(of,)h(so)g(called,)g(\224loop)o(y)f
(equalities\224,)h(such)g(as)h Ft(a)49 b(~)h([F)f(a])p
FA(,)22 b(where)e(a)i(recursi)n(v)o(e)d(occurrence)-128
1526 y(of)g(a)h(type)e(v)n(ariable)g(is)i(underneath)c(a)k(f)o(amily)e
(application)g(and)g(data)h(constructor)e(application)g(-)j(see)f(the)g
(abo)o(v)o(e)f(mentioned)f(paper)h(for)g(details.)-128
1675 y(If)24 b(the)g(option)e Ft(-XUndecidableInstances)e
FA(is)25 b(passed)f(to)f(the)h(compiler)m(,)f(the)h(abo)o(v)o(e)e
(restrictions)h(are)g(not)h(enforced)d(and)j(it)g(is)h(on)e(the)-128
1775 y(programmer)18 b(to)i(ensure)f(termination)g(of)h(the)g
(normalisation)e(of)i(type)g(f)o(amilies)g(during)f(type)h(inference.)
-128 1909 y
SDict begin H.S end
-128 1909 a -128 1909 a
SDict begin 12 H.A end
-128 1909 a -128
1909 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.7.2.3) cvn H.B /DEST pdfmark end
-128 1909 a Black 131 x Fx(7.7.2.3)p Black 73
w(Equality)e(constraints)-128 2243 y FA(T)-7 b(ype)18
b(conte)o(xt)g(can)g(include)f(equality)h(constraints)g(of)g(the)g
(form)g Ft(t1)49 b(~)h(t2)p FA(,)19 b(which)f(denote)f(that)i(the)f
(types)g Ft(t1)h FA(and)f Ft(t2)h FA(need)e(to)i(be)g(the)f(same.)-128
2343 y(In)g(the)g(presence)f(of)h(type)g(f)o(amilies,)g(whether)f(tw)o
(o)i(types)f(are)g(equal)f(cannot)g(generally)g(be)h(decided)e(locally)
-5 b(.)24 b(Hence,)18 b(the)g(conte)o(xts)f(of)h(function)-128
2442 y(signatures)i(may)g(include)f(equality)g(constraints,)g(as)i(in)f
(the)h(follo)n(wing)d(e)o(xample:)-128 2510 y
SDict begin H.S end
-128 2510
a -128 2510 a
SDict begin 12 H.A end
-128 2510 a -128 2510 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-415) cvn H.B /DEST pdfmark end
-128 2510 a 0.95
TeXcolorgray -153 2525 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2617 25 92 v Black 0.95 TeXcolorgray -128 2617 4252 92
v Black 0.95 TeXcolorgray 4124 2617 25 92 v Black 0.95
TeXcolorgray Black -128 2589 a
SDict begin H.S end
-128 2589 a -128 2589
a
SDict begin 11 H.A end
-128 2589 a -128 2589 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-415.1) cvn H.B /DEST pdfmark end
-128 2589 a 0 0 0 TeXcolorrgb
Fo(sumCollects)p Black 43 w(::)45 b(\()p 0 0 0 TeXcolorrgb(Collects)p
Black 0 0 0 TeXcolorrgb 43 w(c1)p Black(,)p 0 0 0 TeXcolorrgb
45 w(Collects)p Black 0 0 0 TeXcolorrgb 43 w(c2)p Black(,)p
0 0 0 TeXcolorrgb 44 w(Elem)p Black 0 0 0 TeXcolorrgb
45 w(c1)p Black 44 w(~)p 0 0 0 TeXcolorrgb 45 w(Elem)p
Black 0 0 0 TeXcolorrgb 44 w(c2)p Black(\))f(=>)p 0 0 0
TeXcolorrgb 45 w(c1)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(c2)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(c2)p
Black 0.95 TeXcolorgray -153 2642 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2816 a FA(where)25
b(we)g(require)f(that)h(the)g(element)g(type)f(of)h Ft(c1)g
FA(and)g Ft(c2)g FA(are)g(the)g(same.)40 b(In)24 b(general,)h(the)g
(types)g Ft(t1)g FA(and)g Ft(t2)g FA(of)g(an)g(equality)f(constraint)
-128 2915 y(may)e(be)g(arbitrary)e(monotypes;)h(i.e.,)h(the)o(y)f(may)g
(not)h(contain)e(an)o(y)h(quanti\002ers,)h(independent)d(of)i(whether)g
(higher)n(-rank)e(types)j(are)g(otherwise)-128 3015 y(enabled.)-128
3164 y(Equality)j(constraints)g(can)g(also)g(appear)g(in)g(class)i(and)
e(instance)g(conte)o(xts.)39 b(The)25 b(former)f(enable)h(a)h(simple)f
(translation)g(of)g(programs)f(using)-128 3264 y(functional)e
(dependencies)f(into)h(programs)f(using)i(f)o(amily)g(synon)o(yms)e
(instead.)33 b(The)23 b(general)f(idea)g(is)i(to)g(re)n(write)e(a)i
(class)g(declaration)d(of)i(the)-128 3364 y(form)-128
3414 y
SDict begin H.S end
-128 3414 a -128 3414 a
SDict begin 12 H.A end
-128 3414 a -128 3414
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-416) cvn H.B /DEST pdfmark end
-128 3414 a 0.95 TeXcolorgray -153 3447 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3538 25 92 v Black 0.95 TeXcolorgray
-128 3538 4252 92 v Black 0.95 TeXcolorgray 4124 3538
25 92 v Black 0.95 TeXcolorgray Black -128 3511 a
SDict begin H.S end
-128
3511 a -128 3511 a
SDict begin 11 H.A end
-128 3511 a -128 3511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-416.1) cvn H.B /DEST pdfmark end
-128 3511
a 0 0 0 TeXcolorrgb Fo(class)p Black 0 0 0 TeXcolorrgb
44 w(C)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black 44 w(|)p 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black
0.95 TeXcolorgray -153 3563 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3737 a FA(to)-128 3788 y
SDict begin H.S end
-128
3788 a -128 3788 a
SDict begin 12 H.A end
-128 3788 a -128 3788 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-417) cvn H.B /DEST pdfmark end
-128 3788
a 0.95 TeXcolorgray -153 3820 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3911 25 92 v Black 0.95 TeXcolorgray -128 3911 4252 92
v Black 0.95 TeXcolorgray 4124 3911 25 92 v Black 0.95
TeXcolorgray Black -128 3884 a
SDict begin H.S end
-128 3884 a -128 3884
a
SDict begin 11 H.A end
-128 3884 a -128 3884 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-417.1) cvn H.B /DEST pdfmark end
-128 3884 a 0 0 0 TeXcolorrgb
Fo(class)p Black 44 w(\()p 0 0 0 TeXcolorrgb(F)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(~)p 0 0 0 TeXcolorrgb
44 w(b)p Black(\))45 b(=>)p 0 0 0 TeXcolorrgb 44 w(C)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4003 25 92
v Black 0.95 TeXcolorgray -128 4003 4252 92 v Black 0.95
TeXcolorgray 4124 4003 25 92 v Black 0.95 TeXcolorgray
Black -128 3975 a
SDict begin H.S end
-128 3975 a -128 3975 a
SDict begin 11 H.A end
-128 3975 a
-128 3975 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-417.2) cvn H.B /DEST pdfmark end
-128 3975 a 0 0 0 TeXcolorrgb 90 w Fo(type)p
Black 0 0 0 TeXcolorrgb 44 w(F)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0.95 TeXcolorgray -153 4028 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 4202 a
FA(That)32 b(is,)j(we)d(represent)f(e)n(v)o(ery)f(functional)g
(dependenc)o(y)f(\(FD\))j Ft(a1)49 b(..)99 b(an)50 b(->)f(b)32
b FA(by)g(an)f(FD)i(type)e(f)o(amily)g Ft(F)50 b(a1)f(..)99
b(an)32 b FA(and)g(a)-128 4301 y(superclass)18 b(conte)o(xt)f(equality)
h Ft(F)49 b(a1)h(..)99 b(an)49 b(~)h(b)p FA(,)19 b(essentially)f(gi)n
(ving)f(a)i(name)e(to)i(the)f(functional)e(dependenc)o(y)-5
b(.)21 b(In)d(class)h(instances,)g(we)-128 4401 y(de\002ne)h(the)g
(type)g(instances)g(of)g(FD)h(f)o(amilies)f(in)h(accordance)d(with)i
(the)g(class)h(head.)k(Method)19 b(signatures)g(are)h(not)g(af)n
(fected)f(by)h(that)g(process.)-128 4550 y(NB:)i(Equalities)d(in)i
(superclass)f(conte)o(xts)f(are)h(not)g(fully)g(implemented)e(in)i(GHC)
h(6.10.)-128 4693 y
SDict begin H.S end
-128 4693 a -128 4693 a
SDict begin 12 H.A end
-128 4693
a -128 4693 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.8) cvn H.B /DEST pdfmark end
-128 4693 a Black 182 x Fs(7.8)p Black
108 w(Other)28 b(type)i(system)e(e)n(xtensions)-128 5002
y
SDict begin H.S end
-128 5002 a -128 5002 a
SDict begin 12 H.A end
-128 5002 a -128 5002 a
SDict begin [ /View [/XYZ H.V] /Dest (other-type-extensions) cvn H.B /DEST pdfmark end
-128
5002 a -128 5002 a
SDict begin H.S end
-128 5002 a -128 5002 a
SDict begin 12 H.A end
-128 5002
a -128 5002 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.1) cvn H.B /DEST pdfmark end
-128 5002 a Black 139 x Fp(7.8.1)p Black
90 w(T)-5 b(ype)23 b(signatures)-128 5229 y
SDict begin H.S end
-128 5229
a -128 5229 a
SDict begin 12 H.A end
-128 5229 a -128 5229 a
SDict begin [ /View [/XYZ H.V] /Dest (type-restrictions) cvn H.B /DEST pdfmark end
-128 5229 a -128
5229 a
SDict begin H.S end
-128 5229 a -128 5229 a
SDict begin 12 H.A end
-128 5229 a -128 5229
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.1.1) cvn H.B /DEST pdfmark end
-128 5229 a Black 128 x Fx(7.8.1.1)p Black 73 w(The)c(conte)o(xt)g
(of)h(a)g(type)g(signature)-128 5441 y
SDict begin H.S end
-128 5441 a -128
5441 a
SDict begin 12 H.A end
-128 5441 a -128 5441 a
SDict begin [ /View [/XYZ H.V] /Dest (flexible-contexts) cvn H.B /DEST pdfmark end
-128 5441 a 119 x FA(The)k
Ft(-XFlexibleContexts)d FA(\003ag)j(lifts)h(the)f(Hask)o(ell)g(98)g
(restriction)f(that)h(the)g(type-class)f(constraints)h(in)g(a)g(type)g
(signature)f(must)h(ha)n(v)o(e)-128 5660 y(the)e(form)f
Fq(\(class)i(type-variable\))c FA(or)j Fq(\(class)g(\(type-variable)e
(type-variable)g(...\)\))p FA(.)30 b(W)m(ith)22 b Ft
(-XFlexibleContexts)d FA(these)j(type)g(signatures)-128
5759 y(are)f(perfectly)d(OK)p Black -128 6084 4252 5
v Black eop end
%%Page: 158 173
TeXDict begin 158 172 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.158) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(158)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-418) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-418.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(g)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Eq)p
Black 45 w([)p 0 0 0 TeXcolorrgb(a)p Black -1 w(])45
b(=>)g(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 356 25 92 v Black 0.95 TeXcolorgray -128 356 4252
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-418.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 90 w Fo(g)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Ord)p Black 45
w(\()p 0 0 0 TeXcolorrgb -1 w(T)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(\(\))o(\))g(=>)g(...)p 0.95 TeXcolorgray
-153 381 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 552 a FA(GHC)21 b(imposes)f(the)h(follo)n(wing)d
(restrictions)i(on)g(the)g(constraints)f(in)i(a)f(type)g(signature.)k
(Consider)19 b(the)i(type:)-128 618 y
SDict begin H.S end
-128 618 a -128
618 a
SDict begin 12 H.A end
-128 618 a -128 618 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-419) cvn H.B /DEST pdfmark end
-128 618 a 0.95 TeXcolorgray
-153 634 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 725 25 92 v
Black 0.95 TeXcolorgray -128 725 4252 92 v Black 0.95
TeXcolorgray 4124 725 25 92 v Black 0.95 TeXcolorgray
Black -128 698 a
SDict begin H.S end
-128 698 a -128 698 a
SDict begin 11 H.A end
-128 698 a -128
698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-419.1) cvn H.B /DEST pdfmark end
-128 698 a 0 0 0 TeXcolorrgb 90 w Fo(forall)p Black
0 0 0 TeXcolorrgb 44 w(tv1)p Black -1 w(..)p 0 0 0 TeXcolorrgb(tvn)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(c1)p Black(,)45 b(...,)p
0 0 0 TeXcolorrgb -1 w(cn)p Black(\))f(=>)p 0 0 0 TeXcolorrgb
45 w(type)p Black 0.95 TeXcolorgray -153 750 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 921
a FA(\(Here,)17 b(we)h(write)f(the)g("foralls")g(e)o(xplicitly)-5
b(,)16 b(although)f(the)i(Hask)o(ell)g(source)g(language)e(omits)i
(them;)h(in)f(Hask)o(ell)h(98,)f(all)g(the)h(free)e(type)h(v)n
(ariables)-128 1021 y(of)k(an)f(e)o(xplicit)g(source-language)d(type)j
(signature)f(are)h(uni)n(v)o(ersally)f(quanti\002ed,)g(e)o(xcept)g(for)
h(the)g(class)i(type)d(v)n(ariables)h(in)h(a)f(class)i(declaration.)
-128 1120 y(Ho)n(we)n(v)o(er)m(,)d(in)h(GHC,)h(you)e(can)h(gi)n(v)o(e)f
(the)i(foralls)e(if)i(you)e(w)o(ant.)25 b(See)c(Section)p
1 0 0 TeXcolorrgb 2143 1121 a
SDict begin H.S end
2143 1121 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.4)p 1 0 0 TeXcolorrgb 2309 1064 a
SDict begin H.R end
2309 1064
a 2309 1120 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.4) cvn H.B /ANN pdfmark end
2309 1120 a Black FA(\).)-128 1234 y
SDict begin H.S end
-128
1234 a -128 1234 a
SDict begin 12 H.A end
-128 1234 a -128 1234 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.22) cvn H.B /DEST pdfmark end
-128 1234
a Black -24 1348 a FA(1.)p Black 41 w Fq(Eac)o(h)c(univer)o(sally)h
(quanti\002ed)e(type)i(variable)g Fg(tvi)g Fq(must)h(be)f(r)m(eac)o
(hable)f(fr)l(om)i Fg(type)p FA(.)24 b(A)19 b(type)e(v)n(ariable)h
Ft(a)g FA(is)i("reachable")c(if)j(it)g(appears)80 1447
y(in)j(the)g(same)h(constraint)e(as)i(either)e(a)i(type)f(v)n(ariable)f
(free)g(in)i Ft(type)p FA(,)f(or)g(another)e(reachable)h(type)h(v)n
(ariable.)29 b(A)23 b(v)n(alue)e(with)i(a)f(type)g(that)80
1547 y(does)h(not)f(obe)o(y)g(this)h(reachability)f(restriction)g
(cannot)f(be)i(used)g(without)f(introducing)e(ambiguity;)j(that)g(is)h
(why)e(the)h(type)f(is)i(rejected.)80 1647 y(Here,)c(for)f(e)o(xample,)
g(is)i(an)f(ille)o(gal)g(type:)-128 1713 y
SDict begin H.S end
-128 1713
a -128 1713 a
SDict begin 12 H.A end
-128 1713 a -128 1713 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-420) cvn H.B /DEST pdfmark end
-128 1713 a 0.95
TeXcolorgray 55 1728 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 1819
25 92 v Black 0.95 TeXcolorgray 80 1819 4045 92 v Black
0.95 TeXcolorgray 4124 1819 25 92 v Black 0.95 TeXcolorgray
Black 80 1792 a
SDict begin H.S end
80 1792 a 80 1792 a
SDict begin 11 H.A end
80 1792 a 80 1792
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.23) cvn H.B /DEST pdfmark end
80 1792 a 0 0 0 TeXcolorrgb 90 w Fo(forall)p Black
0 0 0 TeXcolorrgb 43 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95 TeXcolorgray
55 1844 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 2000 a FA(When)j(a)g(v)n(alue)f(with)h(this)g(type)g(w)o(as)g
(used,)g(the)g(constraint)f Ft(Eq)49 b(tv)23 b FA(w)o(ould)f(be)h
(introduced)e(where)h Ft(tv)h FA(is)h(a)f(fresh)f(type)g(v)n(ariable,)h
(and)80 2099 y(\(in)d(the)h(dictionary-translation)16
b(implementation\))i(the)j(v)n(alue)e(w)o(ould)h(be)h(applied)e(to)i(a)
f(dictionary)f(for)h Ft(Eq)49 b(tv)p FA(.)26 b(The)20
b(dif)n(\002culty)g(is)h(that)80 2199 y(we)g(can)f(ne)n(v)o(er)e(kno)n
(w)i(which)f(instance)h(of)g Ft(Eq)g FA(to)h(use)f(because)g(we)g(ne)n
(v)o(er)f(get)h(an)o(y)g(more)f(information)f(about)h
Ft(tv)p FA(.)80 2331 y(Note)h(that)f(the)h(reachability)e(condition)g
(is)j(weak)o(er)e(than)g(saying)g(that)h Ft(a)g FA(is)g(functionally)e
(dependent)f(on)i(a)h(type)g(v)n(ariable)e(free)h(in)h
Ft(type)80 2431 y FA(\(see)j(Section)p 1 0 0 TeXcolorrgb
509 2432 a
SDict begin H.S end
509 2432 a 1 0 0 TeXcolorrgb -1 x FA(7.6.2)p
1 0 0 TeXcolorrgb 675 2375 a
SDict begin H.R end
675 2375 a 675 2431 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.6.2) cvn H.B /ANN pdfmark end
675
2431 a Black FA(\).)31 b(The)22 b(reason)g(for)g(this)h(is)g(there)f
(might)f(be)i(a)g("hidden")d(dependenc)o(y)-5 b(,)19
b(in)k(a)g(superclass)f(perhaps.)30 b(So)23 b("reachable")80
2530 y(is)e(a)g(conserv)n(ati)n(v)o(e)d(approximation)f(to)j
("functionally)e(dependent".)23 b(F)o(or)c(e)o(xample,)g(consider:)-128
2597 y
SDict begin H.S end
-128 2597 a -128 2597 a
SDict begin 12 H.A end
-128 2597 a -128 2597
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-421) cvn H.B /DEST pdfmark end
-128 2597 a 0.95 TeXcolorgray 55 2612 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2703 25 92 v Black 0.95 TeXcolorgray
80 2703 4045 92 v Black 0.95 TeXcolorgray 4124 2703 25
92 v Black 0.95 TeXcolorgray Black 80 2676 a
SDict begin H.S end
80 2676
a 80 2676 a
SDict begin 11 H.A end
80 2676 a 80 2676 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.24) cvn H.B /DEST pdfmark end
80 2676 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 45 w(|)p 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray 55 2795 25 92 v Black 0.95 TeXcolorgray
80 2795 4045 92 v Black 0.95 TeXcolorgray 4124 2795 25
92 v Black 0.95 TeXcolorgray Black 80 2767 a
SDict begin H.S end
80 2767
a 80 2767 a
SDict begin 11 H.A end
80 2767 a 80 2767 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.25) cvn H.B /DEST pdfmark end
80 2767 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(C)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(D)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 2886 25
92 v Black 0.95 TeXcolorgray 80 2886 4045 92 v Black
0.95 TeXcolorgray 4124 2886 25 92 v Black 0.95 TeXcolorgray
Black 80 2859 a
SDict begin H.S end
80 2859 a 80 2859 a
SDict begin 11 H.A end
80 2859 a 80 2859
a
SDict begin [ /View [/XYZ H.V] /Dest (Item.26) cvn H.B /DEST pdfmark end
80 2859 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black(.)p 0 0 0
TeXcolorrgb 45 w(D)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 0.95 TeXcolorgray 55 2911 4095 25 v Black
0.95 TeXcolorgray Black Black Black 80 3066 a FA(This)h(is)h(\002ne,)g
(because)e(in)h(f)o(act)h Ft(a)f FA(does)g(functionally)e(determine)h
Ft(b)i FA(b)n(ut)f(that)g(is)h(not)f(immediately)f(apparent)g(from)g
Ft(f)p FA(')-5 b(s)21 b(type.)-128 3117 y
SDict begin H.S end
-128 3117 a
-128 3117 a
SDict begin 12 H.A end
-128 3117 a -128 3117 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.27) cvn H.B /DEST pdfmark end
-128 3117 a Black
-24 3231 a FA(2.)p Black 41 w Fq(Every)h(constr)o(aint)f
Fg(ci)h Fq(must)g(mention)f(at)h(least)g(one)f(of)h(the)g(univer)o
(sally)f(quanti\002ed)f(type)h(variables)h Fg(tvi)p FA(.)29
b(F)o(or)22 b(e)o(xample,)e(this)j(type)e(is)80 3331
y(OK)g(because)e Ft(C)50 b(a)f(b)21 b FA(mentions)e(the)h(uni)n(v)o
(ersally)f(quanti\002ed)g(type)g(v)n(ariable)g Ft(b)p
FA(:)-128 3397 y
SDict begin H.S end
-128 3397 a -128 3397 a
SDict begin 12 H.A end
-128 3397 a
-128 3397 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-422) cvn H.B /DEST pdfmark end
-128 3397 a 0.95 TeXcolorgray 55 3412 4095
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3503 25 92 v Black 0.95 TeXcolorgray
80 3503 4045 92 v Black 0.95 TeXcolorgray 4124 3503 25
92 v Black 0.95 TeXcolorgray Black 80 3476 a
SDict begin H.S end
80 3476
a 80 3476 a
SDict begin 11 H.A end
80 3476 a 80 3476 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.28) cvn H.B /DEST pdfmark end
80 3476 a 0 0 0 TeXcolorrgb
90 w Fo(forall)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p
0 0 0 TeXcolorrgb 45 w(C)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(=>)p
0 0 0 TeXcolorrgb 44 w(burble)p Black 0.95 TeXcolorgray
55 3528 4095 25 v Black 0.95 TeXcolorgray Black Black
Black 80 3684 a FA(The)h(ne)o(xt)f(type)h(is)h(ille)o(gal)f(because)f
(the)i(constraint)e Ft(Eq)49 b(b)21 b FA(does)f(not)g(mention)e
Ft(a)p FA(:)-128 3750 y
SDict begin H.S end
-128 3750 a -128 3750 a
SDict begin 12 H.A end
-128
3750 a -128 3750 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-423) cvn H.B /DEST pdfmark end
-128 3750 a 0.95 TeXcolorgray 55 3765
4095 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray 55 3857 25 92 v Black 0.95 TeXcolorgray
80 3857 4045 92 v Black 0.95 TeXcolorgray 4124 3857 25
92 v Black 0.95 TeXcolorgray Black 80 3829 a
SDict begin H.S end
80 3829
a 80 3829 a
SDict begin 11 H.A end
80 3829 a 80 3829 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.29) cvn H.B /DEST pdfmark end
80 3829 a 0 0 0 TeXcolorrgb
90 w Fo(forall)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p
0 0 0 TeXcolorrgb 45 w(Eq)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 45 w(burble)p
Black 0.95 TeXcolorgray 55 3882 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 4037 a FA(The)j(reason)g(for)f(this)i
(restriction)f(is)h(milder)f(than)g(the)g(other)f(one.)28
b(The)21 b(e)o(xcluded)f(types)h(are)g(ne)n(v)o(er)f(useful)h(or)g
(necessary)g(\(because)f(the)80 4137 y(of)n(fending)15
b(conte)o(xt)h(doesn')o(t)g(need)h(to)g(be)h(witnessed)f(at)h(this)g
(point;)g(it)g(can)f(be)h(\003oated)f(out\).)23 b(Furthermore,)15
b(\003oating)i(them)g(out)g(increases)80 4236 y(sharing.)24
b(Lastly)-5 b(,)20 b(e)o(xcluding)e(them)h(is)i(a)g(conserv)n(ati)n(v)o
(e)d(choice;)i(it)g(lea)n(v)o(es)h(a)f(patch)g(of)g(territory)f(free)g
(in)i(case)f(we)h(need)e(it)i(later)-5 b(.)-128 4370
y
SDict begin H.S end
-128 4370 a -128 4370 a
SDict begin 12 H.A end
-128 4370 a -128 4370 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.2) cvn H.B /DEST pdfmark end
-128
4370 a Black 146 x Fp(7.8.2)p Black 90 w(Implicit)23
b(parameter)o(s)-128 4605 y
SDict begin H.S end
-128 4605 a -128 4605 a
SDict begin 12 H.A end
-128
4605 a -128 4605 a
SDict begin [ /View [/XYZ H.V] /Dest (implicit-parameters) cvn H.B /DEST pdfmark end
-128 4605 a 113 x FA(Implicit)28 b(parameters)f(are)
h(implemented)e(as)j(described)d(in)i("Implicit)g(parameters:)39
b(dynamic)27 b(scoping)g(with)h(static)h(types",)g(J)g(Le)n(wis,)h(MB)
-128 4818 y(Shields,)j(E)d(Meijer)m(,)i(J)f(Launchb)n(ury)-5
b(,)28 b(27th)i(A)m(CM)g(Symposium)e(on)i(Principles)g(of)f
(Programming)e(Languages)i(\(POPL)-8 b('00\),)31 b(Boston,)h(Jan)-128
4917 y(2000.)-128 5065 y(\(Most)21 b(of)e(the)i(follo)n(wing,)d(still)j
(rather)f(incomplete,)e(documentation)f(is)22 b(due)d(to)h(Jef)n(f)h
(Le)n(wis.\))-128 5213 y(Implicit)f(parameter)f(support)g(is)i(enabled)
e(with)h(the)g(option)f Ft(-XImplicitParams)p FA(.)-128
5361 y(A)25 b(v)n(ariable)d(is)j(called)f Fq(dynamically)e(bound)i
FA(when)f(it)h(is)h(bound)d(by)h(the)h(calling)f(conte)o(xt)g(of)g(a)i
(function)d(and)h Fq(statically)h(bound)g FA(when)f(bound)-128
5461 y(by)i(the)g(callee')-5 b(s)25 b(conte)o(xt.)38
b(In)25 b(Hask)o(ell,)h(all)f(v)n(ariables)f(are)h(statically)g(bound.)
38 b(Dynamic)23 b(binding)h(of)g(v)n(ariables)g(is)i(a)f(notion)f(that)
h(goes)g(back)-128 5560 y(to)h(Lisp,)g(b)n(ut)f(w)o(as)h(later)g
(discarded)d(in)j(more)e(modern)f(incarnations,)i(such)g(as)h(Scheme.)
39 b(Dynamic)24 b(binding)f(can)i(be)h(v)o(ery)e(confusing)f(in)i(an)
-128 5660 y(untyped)c(language,)h(and)g(unfortunately)-5
b(,)20 b(typed)i(languages,)g(in)h(particular)f(Hindle)o(y-Milner)e
(typed)i(languages)f(lik)o(e)j(Hask)o(ell,)f(only)f(support)-128
5759 y(static)f(scoping)e(of)h(v)n(ariables.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 159 174
TeXDict begin 159 173 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.159) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(159)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(Ho)n(we)n(v)o(er)m(,)g(by)g(a)i
(simple)f(e)o(xtension)f(to)h(the)g(type)g(class)h(system)f(of)g(Hask)o
(ell,)h(we)f(can)g(support)f(dynamic)g(binding.)26 b(Basically)-5
b(,)21 b(we)h(e)o(xpress)e(the)-128 273 y(use)h(of)g(a)g(dynamically)e
(bound)g(v)n(ariable)h(as)h(a)h(constraint)d(on)i(the)g(type.)26
b(These)21 b(constraints)f(lead)g(to)h(types)g(of)f(the)h(form)f
Ft(\(?x::t'\))48 b(=>)i(t)p FA(,)-128 372 y(which)20
b(says)g("this)h(function)d(uses)i(a)g(dynamically-bound)c(v)n(ariable)
i Ft(?x)i FA(of)g(type)f Ft(t')p FA(".)25 b(F)o(or)20
b(e)o(xample,)e(the)i(follo)n(wing)e(e)o(xpresses)i(the)g(type)f(of)h
(a)-128 472 y(sort)h(function,)d(implicitly)i(parameterized)e(by)h(a)i
(comparison)d(function)h(named)g Ft(cmp)p FA(.)-128 540
y
SDict begin H.S end
-128 540 a -128 540 a
SDict begin 12 H.A end
-128 540 a -128 540 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-424) cvn H.B /DEST pdfmark end
-128 540
a 0.95 TeXcolorgray -153 555 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
646 25 92 v Black 0.95 TeXcolorgray -128 646 4252 92
v Black 0.95 TeXcolorgray 4124 646 25 92 v Black 0.95
TeXcolorgray Black -128 619 a
SDict begin H.S end
-128 619 a -128 619 a
SDict begin 11 H.A end
-128
619 a -128 619 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-424.1) cvn H.B /DEST pdfmark end
-128 619 a 0 0 0 TeXcolorrgb 90 w Fo(sort)p
Black 44 w(::)45 b(\(?)p 0 0 0 TeXcolorrgb -1 w(cmp)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(Bool)p Black -1 w(\))g(=>)f([)p 0 0 0 TeXcolorrgb(a)p
Black(])g(->)h([)p 0 0 0 TeXcolorrgb(a)p Black(])p 0.95
TeXcolorgray -153 671 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 846 a FA(The)20 b(dynamic)f(binding)f
(constraints)i(are)g(just)h(a)f(ne)n(w)g(form)g(of)f(predicate)g(in)i
(the)f(type)g(class)h(system.)-128 995 y(An)29 b(implicit)f(parameter)e
(occurs)h(in)i(an)f(e)o(xpression)e(using)i(the)g(special)g(form)f
Ft(?x)p FA(,)j(where)d Ft(x)i FA(is)g(an)o(y)e(v)n(alid)h(identi\002er)
f(\(e.g.)48 b Ft(ord)h(?x)29 b FA(is)g(a)-128 1095 y(v)n(alid)f(e)o
(xpression\).)45 b(Use)28 b(of)g(this)g(construct)e(also)i(introduces)e
(a)i(ne)n(w)g(dynamic-binding)23 b(constraint)k(in)h(the)f(type)h(of)f
(the)h(e)o(xpression.)45 b(F)o(or)-128 1194 y(e)o(xample,)25
b(the)h(follo)n(wing)d(de\002nition)i(sho)n(ws)g(ho)n(w)g(we)h(can)f
(de\002ne)f(an)i(implicitly)f(parameterized)e(sort)i(function)f(in)h
(terms)h(of)f(an)g(e)o(xplicitly)-128 1294 y(parameterized)18
b Ft(sortBy)i FA(function:)-128 1362 y
SDict begin H.S end
-128 1362 a -128
1362 a
SDict begin 12 H.A end
-128 1362 a -128 1362 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-425) cvn H.B /DEST pdfmark end
-128 1362 a 0.95 TeXcolorgray
-153 1377 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1468 25 92
v Black 0.95 TeXcolorgray -128 1468 4252 92 v Black 0.95
TeXcolorgray 4124 1468 25 92 v Black 0.95 TeXcolorgray
Black -128 1441 a
SDict begin H.S end
-128 1441 a -128 1441 a
SDict begin 11 H.A end
-128 1441 a
-128 1441 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-425.1) cvn H.B /DEST pdfmark end
-128 1441 a 0 0 0 TeXcolorrgb 90 w Fo(sortBy)p
Black 44 w(::)44 b(\()p 0 0 0 TeXcolorrgb(a)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0
TeXcolorrgb 45 w(Bool)p Black -1 w(\))h(->)f([)p 0 0 0
TeXcolorrgb(a)p Black(])g(->)h([)p 0 0 0 TeXcolorrgb(a)p
Black(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1560 25 92 v Black 0.95 TeXcolorgray -128 1560 4252 92
v Black 0.95 TeXcolorgray 4124 1560 25 92 v Black 0.95
TeXcolorgray Black -128 1532 a
SDict begin H.S end
-128 1532 a -128 1532
a
SDict begin 11 H.A end
-128 1532 a -128 1532 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-425.2) cvn H.B /DEST pdfmark end
-128 1532 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1651 25 92 v Black 0.95
TeXcolorgray -128 1651 4252 92 v Black 0.95 TeXcolorgray
4124 1651 25 92 v Black 0.95 TeXcolorgray Black -128
1624 a
SDict begin H.S end
-128 1624 a -128 1624 a
SDict begin 11 H.A end
-128 1624 a -128 1624
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-425.3) cvn H.B /DEST pdfmark end
-128 1624 a 0 0 0 TeXcolorrgb 90 w Fo(sort)p Black
134 w(::)f(\(?)p 0 0 0 TeXcolorrgb(cmp)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Bool)p
Black(\))g(=>)h([)p 0 0 0 TeXcolorrgb(a)p Black -1 w(])g(->)g([)p
0 0 0 TeXcolorrgb -1 w(a)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1742 25 92 v Black 0.95
TeXcolorgray -128 1742 4252 92 v Black 0.95 TeXcolorgray
4124 1742 25 92 v Black 0.95 TeXcolorgray Black -128
1715 a
SDict begin H.S end
-128 1715 a -128 1715 a
SDict begin 11 H.A end
-128 1715 a -128 1715
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-425.4) cvn H.B /DEST pdfmark end
-128 1715 a 0 0 0 TeXcolorrgb 90 w Fo(sort)p Black
179 w(=)p 0 0 0 TeXcolorrgb 44 w(sortBy)p Black 44 w(?)p
0 0 0 TeXcolorrgb(cmp)p Black 0.95 TeXcolorgray -153
1767 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1933 a
SDict begin H.S end
-128 1933 a -128 1933 a
SDict begin 12 H.A end
-128 1933 a -128
1933 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.2.1) cvn H.B /DEST pdfmark end
-128 1933 a Black 125 x Fx(7.8.2.1)p Black 73
w(Implicit-parameter)17 b(type)j(constraints)-128 2261
y FA(Dynamic)h(binding)f(constraints)h(beha)n(v)o(e)f(just)i(lik)o(e)g
(other)e(type)h(class)i(constraints)e(in)g(that)h(the)o(y)f(are)g
(automatically)f(propagated.)26 b(Thus,)c(when)-128 2360
y(a)h(function)e(is)i(used,)f(its)h(implicit)f(parameters)f(are)h
(inherited)f(by)h(the)g(function)f(that)h(called)g(it.)32
b(F)o(or)22 b(e)o(xample,)f(our)g Ft(sort)h FA(function)f(might)g(be)
-128 2460 y(used)f(to)h(pick)e(out)h(the)h(least)f(v)n(alue)g(in)g(a)h
(list:)-128 2528 y
SDict begin H.S end
-128 2528 a -128 2528 a
SDict begin 12 H.A end
-128 2528
a -128 2528 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-426) cvn H.B /DEST pdfmark end
-128 2528 a 0.95 TeXcolorgray -153 2543
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2634 25 92 v Black 0.95
TeXcolorgray -128 2634 4252 92 v Black 0.95 TeXcolorgray
4124 2634 25 92 v Black 0.95 TeXcolorgray Black -128
2607 a
SDict begin H.S end
-128 2607 a -128 2607 a
SDict begin 11 H.A end
-128 2607 a -128 2607
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-426.1) cvn H.B /DEST pdfmark end
-128 2607 a 0 0 0 TeXcolorrgb 90 w Fo(least)p Black
134 w(::)44 b(\(?)p 0 0 0 TeXcolorrgb(cmp)p Black 44
w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black -1 w(\))h(=>)g([)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(])g(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2726 25
92 v Black 0.95 TeXcolorgray -128 2726 4252 92 v Black
0.95 TeXcolorgray 4124 2726 25 92 v Black 0.95 TeXcolorgray
Black -128 2698 a
SDict begin H.S end
-128 2698 a -128 2698 a
SDict begin 11 H.A end
-128 2698 a
-128 2698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-426.2) cvn H.B /DEST pdfmark end
-128 2698 a 0 0 0 TeXcolorrgb 90 w Fo(least)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(head)p Black 44 w(\()p 0 0 0 TeXcolorrgb(sort)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black(\))p 0.95 TeXcolorgray
-153 2751 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2925 a FA(W)m(ithout)22 b(lifting)f(a)i(\002nger)m(,)e(the)h
Ft(?cmp)g FA(parameter)e(is)j(propagated)c(to)j(become)f(a)h(parameter)
f(of)h Ft(least)f FA(as)i(well.)31 b(W)m(ith)22 b(e)o(xplicit)f
(parameters,)-128 3025 y(the)k(def)o(ault)e(is)i(that)f(parameters)f
(must)h(al)o(w)o(ays)h(be)f(e)o(xplicit)f(propagated.)34
b(W)m(ith)24 b(implicit)g(parameters,)g(the)g(def)o(ault)g(is)h(to)f
(al)o(w)o(ays)g(propagate)-128 3124 y(them.)-128 3274
y(An)29 b(implicit-parameter)c(type)j(constraint)f(dif)n(fers)h(from)f
(other)g(type)h(class)h(constraints)f(in)g(the)g(follo)n(wing)f(w)o
(ay:)41 b(All)29 b(uses)g(of)f(a)g(particular)-128 3373
y(implicit)20 b(parameter)e(must)h(ha)n(v)o(e)g(the)h(same)f(type.)24
b(This)c(means)f(that)h(the)f(type)g(of)g Ft(\(?x,)50
b(?x\))19 b FA(is)h Ft(\(?x::a\))49 b(=>)g(\(a,a\))p
FA(,)19 b(and)g(not)g Ft(\(?x:-)-128 3473 y(:a,)50 b(?x::b\))e(=>)i
(\(a,)f(b\))p FA(,)20 b(as)h(w)o(ould)f(be)g(the)g(case)h(for)e(type)h
(class)h(constraints.)-128 3622 y(Y)-9 b(ou)23 b(can')o(t)f(ha)n(v)o(e)
h(an)g(implicit)g(parameter)f(in)i(the)f(conte)o(xt)f(of)h(a)g(class)i
(or)e(instance)f(declaration.)33 b(F)o(or)23 b(e)o(xample,)f(both)h
(these)g(declarations)f(are)-128 3722 y(ille)o(gal:)-128
3790 y
SDict begin H.S end
-128 3790 a -128 3790 a
SDict begin 12 H.A end
-128 3790 a -128 3790
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-427) cvn H.B /DEST pdfmark end
-128 3790 a 0.95 TeXcolorgray -153 3805 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3896 25 92 v Black 0.95 TeXcolorgray
-128 3896 4252 92 v Black 0.95 TeXcolorgray 4124 3896
25 92 v Black 0.95 TeXcolorgray Black -128 3869 a
SDict begin H.S end
-128
3869 a -128 3869 a
SDict begin 11 H.A end
-128 3869 a -128 3869 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-427.1) cvn H.B /DEST pdfmark end
-128 3869
a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black 44 w(\(?)p
0 0 0 TeXcolorrgb(x)p Black(::)p 0 0 0 TeXcolorrgb -1
w(Int)p Black(\))44 b(=>)p 0 0 0 TeXcolorrgb 45 w(C)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3988 25 92 v Black 0.95 TeXcolorgray
-128 3988 4252 92 v Black 0.95 TeXcolorgray 4124 3988
25 92 v Black 0.95 TeXcolorgray Black -128 3960 a
SDict begin H.S end
-128
3960 a -128 3960 a
SDict begin 11 H.A end
-128 3960 a -128 3960 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-427.2) cvn H.B /DEST pdfmark end
-128 3960
a 0 0 0 TeXcolorrgb 90 w Fo(instance)p Black 44 w(\(?)p
0 0 0 TeXcolorrgb -1 w(x)p Black(::)p 0 0 0 TeXcolorrgb(a)p
Black(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(Foo)p Black 44
w([)p 0 0 0 TeXcolorrgb(a)p Black(])p 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(...)p 0.95 TeXcolorgray -153
4013 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4187 a FA(Reason:)27 b(e)o(xactly)20 b(which)g(implicit)h
(parameter)e(you)h(pick)g(up)g(depends)g(on)g(e)o(xactly)g(where)g(you)
g(in)m(v)n(ok)o(e)f(a)j(function.)j(But)c(the)g(\223in)m(v)n
(ocation\224)d(of)-128 4286 y(instance)k(declarations)f(is)h(done)f
(behind)g(the)h(scenes)g(by)f(the)h(compiler)m(,)f(so)h(it')-5
b(s)23 b(hard)e(to)h(\002gure)f(out)g(e)o(xactly)g(where)h(it)g(is)h
(done.)29 b(Easiest)23 b(thing)-128 4386 y(is)f(to)e(outla)o(w)f(the)i
(of)n(fending)c(types.)-128 4536 y(Implicit-parameter)h(constraints)h
(do)h(not)g(cause)g(ambiguity)-5 b(.)23 b(F)o(or)d(e)o(xample,)e
(consider:)-128 4603 y
SDict begin H.S end
-128 4603 a -128 4603 a
SDict begin 12 H.A end
-128 4603
a -128 4603 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-428) cvn H.B /DEST pdfmark end
-128 4603 a 0.95 TeXcolorgray -153 4619
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4710 25 92 v Black 0.95
TeXcolorgray -128 4710 4252 92 v Black 0.95 TeXcolorgray
4124 4710 25 92 v Black 0.95 TeXcolorgray Black -128
4683 a
SDict begin H.S end
-128 4683 a -128 4683 a
SDict begin 11 H.A end
-128 4683 a -128 4683
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-428.1) cvn H.B /DEST pdfmark end
-128 4683 a 0 0 0 TeXcolorrgb 135 w Fo(f)p Black 45
w(::)44 b(\(?)p 0 0 0 TeXcolorrgb(x)p Black 44 w(::)h([)p
0 0 0 TeXcolorrgb(a)p Black(]\))f(=>)p 0 0 0 TeXcolorrgb
45 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4801 25 92 v Black 0.95 TeXcolorgray -128 4801 4252 92
v Black 0.95 TeXcolorgray 4124 4801 25 92 v Black 0.95
TeXcolorgray Black -128 4774 a
SDict begin H.S end
-128 4774 a -128 4774
a
SDict begin 11 H.A end
-128 4774 a -128 4774 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-428.2) cvn H.B /DEST pdfmark end
-128 4774 a 0 0 0 TeXcolorrgb
135 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(n)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(n)p Black 45 w(+)p 0 0 0
TeXcolorrgb 44 w(length)p Black 44 w(?)p 0 0 0 TeXcolorrgb(x)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4893 25 92 v Black 0.95 TeXcolorgray -128 4893 4252 92
v Black 0.95 TeXcolorgray 4124 4893 25 92 v Black 0.95
TeXcolorgray Black -128 4865 a
SDict begin H.S end
-128 4865 a -128 4865
a
SDict begin 11 H.A end
-128 4865 a -128 4865 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-428.3) cvn H.B /DEST pdfmark end
-128 4865 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4984 25 92 v Black 0.95
TeXcolorgray -128 4984 4252 92 v Black 0.95 TeXcolorgray
4124 4984 25 92 v Black 0.95 TeXcolorgray Black -128
4956 a
SDict begin H.S end
-128 4956 a -128 4956 a
SDict begin 11 H.A end
-128 4956 a -128 4956
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-428.4) cvn H.B /DEST pdfmark end
-128 4956 a 0 0 0 TeXcolorrgb 135 w Fo(g)p Black 45
w(::)g(\()p 0 0 0 TeXcolorrgb(Read)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Show)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(\))g(=>)p 0 0 0 TeXcolorrgb
45 w(String)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(String)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5075 25 92 v Black 0.95 TeXcolorgray -128 5075 4252 92
v Black 0.95 TeXcolorgray 4124 5075 25 92 v Black 0.95
TeXcolorgray Black -128 5048 a
SDict begin H.S end
-128 5048 a -128 5048
a
SDict begin 11 H.A end
-128 5048 a -128 5048 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-428.5) cvn H.B /DEST pdfmark end
-128 5048 a 0 0 0 TeXcolorrgb
135 w Fo(g)p Black 0 0 0 TeXcolorrgb 45 w(s)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(show)p Black 44 w(\()p 0 0 0
TeXcolorrgb(read)p Black 0 0 0 TeXcolorrgb 44 w(s)p Black(\))p
0.95 TeXcolorgray -153 5100 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5274 a FA(Here,)21 b Ft(g)h FA(has)f(an)g
(ambiguous)d(type,)j(and)f(is)i(rejected,)e(b)n(ut)h
Ft(f)h FA(is)f(\002ne.)28 b(The)20 b(binding)f(for)i
Ft(?x)g FA(at)g Ft(f)p FA(')-5 b(s)22 b(call)f(site)h(is)g(quite)f
(unambiguous,)c(and)k(\002x)o(es)-128 5374 y(the)g(type)e
Ft(a)p FA(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 160 175
TeXDict begin 160 174 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.160) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(160)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.2.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.8.2.2)p
Black 73 w(Implicit-parameter)d(bindings)-128 376 y FA(An)23
b(implicit)f(parameter)f(is)j Fq(bound)f FA(using)f(the)g(standard)f
Ft(let)i FA(or)f Ft(where)g FA(binding)f(forms.)31 b(F)o(or)22
b(e)o(xample,)g(we)h(de\002ne)f(the)g Ft(min)h FA(function)d(by)-128
476 y(binding)f Ft(cmp)p FA(.)-128 544 y
SDict begin H.S end
-128 544 a -128
544 a
SDict begin 12 H.A end
-128 544 a -128 544 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-429) cvn H.B /DEST pdfmark end
-128 544 a 0.95 TeXcolorgray
-153 559 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 650 25 92 v
Black 0.95 TeXcolorgray -128 650 4252 92 v Black 0.95
TeXcolorgray 4124 650 25 92 v Black 0.95 TeXcolorgray
Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128 623 a -128
623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-429.1) cvn H.B /DEST pdfmark end
-128 623 a 0 0 0 TeXcolorrgb 90 w Fo(min)p Black
44 w(::)45 b([)p 0 0 0 TeXcolorrgb(a)p Black(])f(->)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 742 25 92 v Black 0.95 TeXcolorgray
-128 742 4252 92 v Black 0.95 TeXcolorgray 4124 742 25
92 v Black 0.95 TeXcolorgray Black -128 714 a
SDict begin H.S end
-128 714
a -128 714 a
SDict begin 11 H.A end
-128 714 a -128 714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-429.2) cvn H.B /DEST pdfmark end
-128 714 a 0 0 0 TeXcolorrgb
90 w Fo(min)p Black 89 w(=)p 0 0 0 TeXcolorrgb 45 w(let)p
Black 44 w(?)p 0 0 0 TeXcolorrgb(cmp)p Black 44 w(=)h(\(<=\))p
0 0 0 TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 45
w(least)p Black 0.95 TeXcolorgray -153 766 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 941 a
FA(A)23 b(group)d(of)h(implicit-parameter)f(bindings)g(may)h(occur)g
(an)o(ywhere)f(a)i(normal)f(group)f(of)h(Hask)o(ell)h(bindings)f(can)g
(occur)m(,)g(e)o(xcept)g(at)h(top)g(le)n(v)o(el.)-128
1040 y(That)f(is,)g(the)o(y)f(can)h(occur)e(in)i(a)g
Ft(let)g FA(\(including)d(in)j(a)g(list)h(comprehension,)17
b(or)j(do-notation,)e(or)i(pattern)g(guards\),)f(or)h(a)i
Ft(where)e FA(clause.)26 b(Note)-128 1140 y(the)21 b(follo)n(wing)d
(points:)p Black -128 1356 a(\225)p Black 42 w(An)30
b(implicit-parameter)d(binding)h(group)h(must)h(be)f(a)i(collection)e
(of)g(simple)h(bindings)f(to)h(implicit-style)f(v)n(ariables)g(\(no)g
(function-style)-57 1456 y(bindings,)19 b(and)g(no)h(type)g
(signatures\);)f(these)h(bindings)f(are)h(neither)f(polymorphic)e(or)j
(recursi)n(v)o(e.)p Black -128 1622 a(\225)p Black 42
w(Y)-9 b(ou)18 b(may)g(not)f(mix)i(implicit-parameter)c(bindings)i
(with)i(ordinary)d(bindings)h(in)h(a)h(single)f Ft(let)g
FA(e)o(xpression;)g(use)g(tw)o(o)h(nested)f Ft(let)p
FA(s)g(instead.)-57 1721 y(\(In)i(the)g(case)g(of)g Ft(where)g
FA(you)f(are)i(stuck,)e(since)i(you)e(can')o(t)g(nest)i
Ft(where)f FA(clauses.\))p Black -128 1887 a(\225)p Black
42 w(Y)-9 b(ou)23 b(may)g(put)h(multiple)f(implicit-parameter)e
(bindings)i(in)h(a)g(single)f(binding)g(group;)g(b)n(ut)h(the)o(y)f
(are)h Fq(not)h FA(treated)e(as)i(a)f(mutually)e(recursi)n(v)o(e)-57
1987 y(group)16 b(\(as)j(ordinary)d Ft(let)i FA(bindings)f(are\).)23
b(Instead)18 b(the)o(y)f(are)h(treated)g(as)h(a)f(non-recursi)n(v)o(e)d
(group,)h(simultaneously)h(binding)f(all)j(the)f(implicit)-57
2086 y(parameter)-5 b(.)34 b(The)23 b(bindings)f(are)i(not)f(nested,)h
(and)f(may)g(be)g(re-ordered)e(without)i(changing)e(the)j(meaning)e(of)
h(the)h(program.)32 b(F)o(or)24 b(e)o(xample,)-57 2186
y(consider:)-128 2237 y
SDict begin H.S end
-128 2237 a -128 2237 a
SDict begin 12 H.A end
-128
2237 a -128 2237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-430) cvn H.B /DEST pdfmark end
-128 2237 a 0.95 TeXcolorgray -82
2269 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 2360 25 92 v Black 0.95 TeXcolorgray
-57 2360 4182 92 v Black 0.95 TeXcolorgray 4124 2360
25 92 v Black 0.95 TeXcolorgray Black -57 2333 a
SDict begin H.S end
-57
2333 a -57 2333 a
SDict begin 11 H.A end
-57 2333 a -57 2333 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-430.1) cvn H.B /DEST pdfmark end
-57 2333 a 0 0 0
TeXcolorrgb 90 w Fo(f)p Black 0 0 0 TeXcolorrgb 44 w(t)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(let)p Black 44
w({)45 b(?)p 0 0 0 TeXcolorrgb -1 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(t)p Black(;)f(?)p 0 0 0 TeXcolorrgb(y)p
Black 45 w(=)g(?)p 0 0 0 TeXcolorrgb(x)p Black(+\(1::)p
0 0 0 TeXcolorrgb -1 w(Int)p Black(\))g(})p 0 0 0 TeXcolorrgb
45 w(in)p Black 45 w(?)p 0 0 0 TeXcolorrgb -1 w(x)p Black
45 w(+)h(?)p 0 0 0 TeXcolorrgb(y)p Black 0.95 TeXcolorgray
-82 2385 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 2543 a FA(The)20 b(use)g(of)g Ft(?x)h FA(in)f(the)g(binding)f
(for)g Ft(?y)i FA(does)e(not)h("see")h(the)f(binding)f(for)g
Ft(?x)p FA(,)h(so)h(the)f(type)g(of)g Ft(f)g FA(is)-128
2611 y
SDict begin H.S end
-128 2611 a -128 2611 a
SDict begin 12 H.A end
-128 2611 a -128 2611
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-431) cvn H.B /DEST pdfmark end
-128 2611 a 0.95 TeXcolorgray -82 2626 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2717 25 92 v Black 0.95 TeXcolorgray
-57 2717 4182 92 v Black 0.95 TeXcolorgray 4124 2717
25 92 v Black 0.95 TeXcolorgray Black -57 2690 a
SDict begin H.S end
-57
2690 a -57 2690 a
SDict begin 11 H.A end
-57 2690 a -57 2690 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-431.1) cvn H.B /DEST pdfmark end
-57 2690 a 0 0 0
TeXcolorrgb 90 w Fo(f)p Black 44 w(::)45 b(\(?)p 0 0 0
TeXcolorrgb(x)p Black -1 w(::)p 0 0 0 TeXcolorrgb(Int)p
Black -1 w(\))g(=>)p 0 0 0 TeXcolorrgb 45 w(Int)p Black
44 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
-82 2742 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2908 a
SDict begin H.S end
-128 2908 a -128 2908 a
SDict begin 12 H.A end
-128 2908 a
-128 2908 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.2.3) cvn H.B /DEST pdfmark end
-128 2908 a Black 125 x Fx(7.8.2.3)p Black
73 w(Implicit)19 b(parameter)o(s)f(and)i(pol)o(ymorphic)e(recur)o(sion)
-128 3236 y FA(Consider)i(these)g(tw)o(o)h(de\002nitions:)-128
3287 y
SDict begin H.S end
-128 3287 a -128 3287 a
SDict begin 12 H.A end
-128 3287 a -128 3287
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-432) cvn H.B /DEST pdfmark end
-128 3287 a 0.95 TeXcolorgray -153 3319 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3410 25 92 v Black 0.95 TeXcolorgray
-128 3410 4252 92 v Black 0.95 TeXcolorgray 4124 3410
25 92 v Black 0.95 TeXcolorgray Black -128 3383 a
SDict begin H.S end
-128
3383 a -128 3383 a
SDict begin 11 H.A end
-128 3383 a -128 3383 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.1) cvn H.B /DEST pdfmark end
-128 3383
a 0 0 0 TeXcolorrgb 90 w Fo(len1)p Black 44 w(::)45 b([)p
0 0 0 TeXcolorrgb(a)p Black -1 w(])g(->)p 0 0 0 TeXcolorrgb
45 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3502 25 92 v Black 0.95 TeXcolorgray -128 3502 4252
92 v Black 0.95 TeXcolorgray 4124 3502 25 92 v Black
0.95 TeXcolorgray Black -128 3474 a
SDict begin H.S end
-128 3474 a -128
3474 a
SDict begin 11 H.A end
-128 3474 a -128 3474 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.2) cvn H.B /DEST pdfmark end
-128 3474 a 0 0 0 TeXcolorrgb
90 w Fo(len1)p Black 0 0 0 TeXcolorrgb 44 w(xs)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(let)p Black 45 w(?)p
0 0 0 TeXcolorrgb(acc)p Black 44 w(=)g(0)p 0 0 0 TeXcolorrgb
44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(len_acc1)p Black
0 0 0 TeXcolorrgb 43 w(xs)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3593 25 92 v Black 0.95 TeXcolorgray
-128 3593 4252 92 v Black 0.95 TeXcolorgray 4124 3593
25 92 v Black 0.95 TeXcolorgray Black -128 3566 a
SDict begin H.S end
-128
3566 a -128 3566 a
SDict begin 11 H.A end
-128 3566 a -128 3566 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.3) cvn H.B /DEST pdfmark end
-128 3566
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3684
25 92 v Black 0.95 TeXcolorgray -128 3684 4252 92 v Black
0.95 TeXcolorgray 4124 3684 25 92 v Black 0.95 TeXcolorgray
Black -128 3657 a
SDict begin H.S end
-128 3657 a -128 3657 a
SDict begin 11 H.A end
-128 3657 a
-128 3657 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.4) cvn H.B /DEST pdfmark end
-128 3657 a 0 0 0 TeXcolorrgb 90 w Fo(len_acc1)p
Black 44 w([])f(=)h(?)p 0 0 0 TeXcolorrgb(acc)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3776 25
92 v Black 0.95 TeXcolorgray -128 3776 4252 92 v Black
0.95 TeXcolorgray 4124 3776 25 92 v Black 0.95 TeXcolorgray
Black -128 3748 a
SDict begin H.S end
-128 3748 a -128 3748 a
SDict begin 11 H.A end
-128 3748 a
-128 3748 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.5) cvn H.B /DEST pdfmark end
-128 3748 a 0 0 0 TeXcolorrgb 90 w Fo(len_acc1)p
Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(x)p Black(:)p
0 0 0 TeXcolorrgb(xs)p Black(\))f(=)p 0 0 0 TeXcolorrgb
45 w(let)p Black 44 w(?)p 0 0 0 TeXcolorrgb(acc)p Black
45 w(=)g(?)p 0 0 0 TeXcolorrgb(acc)p Black 44 w(+)h(\(1::)p
0 0 0 TeXcolorrgb -1 w(Int)p Black(\))p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(len_acc1)p Black
0 0 0 TeXcolorrgb 44 w(xs)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3867 25 92 v Black 0.95 TeXcolorgray
-128 3867 4252 92 v Black 0.95 TeXcolorgray 4124 3867
25 92 v Black 0.95 TeXcolorgray Black -128 3839 a
SDict begin H.S end
-128
3839 a -128 3839 a
SDict begin 11 H.A end
-128 3839 a -128 3839 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.6) cvn H.B /DEST pdfmark end
-128 3839
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3958
25 92 v Black 0.95 TeXcolorgray -128 3958 4252 92 v Black
0.95 TeXcolorgray 4124 3958 25 92 v Black 0.95 TeXcolorgray
Black -128 3931 a
SDict begin H.S end
-128 3931 a -128 3931 a
SDict begin 11 H.A end
-128 3931 a
-128 3931 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.7) cvn H.B /DEST pdfmark end
-128 3931 a 90 w Fo(------------)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4050 25 92 v Black 0.95
TeXcolorgray -128 4050 4252 92 v Black 0.95 TeXcolorgray
4124 4050 25 92 v Black 0.95 TeXcolorgray Black -128
4022 a
SDict begin H.S end
-128 4022 a -128 4022 a
SDict begin 11 H.A end
-128 4022 a -128 4022
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.8) cvn H.B /DEST pdfmark end
-128 4022 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4141 25 92 v Black 0.95 TeXcolorgray -128 4141 4252
92 v Black 0.95 TeXcolorgray 4124 4141 25 92 v Black
0.95 TeXcolorgray Black -128 4113 a
SDict begin H.S end
-128 4113 a -128
4113 a
SDict begin 11 H.A end
-128 4113 a -128 4113 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.9) cvn H.B /DEST pdfmark end
-128 4113 a 0 0 0 TeXcolorrgb
90 w Fo(len2)p Black 44 w(::)g([)p 0 0 0 TeXcolorrgb(a)p
Black -1 w(])g(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4232 25
92 v Black 0.95 TeXcolorgray -128 4232 4252 92 v Black
0.95 TeXcolorgray 4124 4232 25 92 v Black 0.95 TeXcolorgray
Black -128 4205 a
SDict begin H.S end
-128 4205 a -128 4205 a
SDict begin 11 H.A end
-128 4205 a
-128 4205 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.10) cvn H.B /DEST pdfmark end
-128 4205 a 0 0 0 TeXcolorrgb 90 w Fo(len2)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(let)p Black 45 w(?)p 0 0 0 TeXcolorrgb(acc)p
Black 44 w(=)g(0)p 0 0 0 TeXcolorrgb 44 w(in)p Black
0 0 0 TeXcolorrgb 45 w(len_acc2)p Black 0 0 0 TeXcolorrgb
43 w(xs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4323 25 92 v Black 0.95 TeXcolorgray -128 4323 4252
92 v Black 0.95 TeXcolorgray 4124 4323 25 92 v Black
0.95 TeXcolorgray Black -128 4296 a
SDict begin H.S end
-128 4296 a -128
4296 a
SDict begin 11 H.A end
-128 4296 a -128 4296 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.11) cvn H.B /DEST pdfmark end
-128 4296 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4415 25 92 v Black 0.95
TeXcolorgray -128 4415 4252 92 v Black 0.95 TeXcolorgray
4124 4415 25 92 v Black 0.95 TeXcolorgray Black -128
4387 a
SDict begin H.S end
-128 4387 a -128 4387 a
SDict begin 11 H.A end
-128 4387 a -128 4387
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.12) cvn H.B /DEST pdfmark end
-128 4387 a 0 0 0 TeXcolorrgb 90 w Fo(len_acc2)p Black
44 w(::)f(\(?)p 0 0 0 TeXcolorrgb(acc)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(Int)p Black -1 w(\))h(=>)f([)p
0 0 0 TeXcolorrgb(a)p Black(])h(->)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4506 25 92 v Black 0.95 TeXcolorgray -128 4506 4252
92 v Black 0.95 TeXcolorgray 4124 4506 25 92 v Black
0.95 TeXcolorgray Black -128 4479 a
SDict begin H.S end
-128 4479 a -128
4479 a
SDict begin 11 H.A end
-128 4479 a -128 4479 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.13) cvn H.B /DEST pdfmark end
-128 4479 a 0 0 0 TeXcolorrgb
90 w Fo(len_acc2)p Black 44 w([])f(=)h(?)p 0 0 0 TeXcolorrgb(acc)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4597 25 92 v Black 0.95 TeXcolorgray -128 4597 4252 92
v Black 0.95 TeXcolorgray 4124 4597 25 92 v Black 0.95
TeXcolorgray Black -128 4570 a
SDict begin H.S end
-128 4570 a -128 4570
a
SDict begin 11 H.A end
-128 4570 a -128 4570 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-432.14) cvn H.B /DEST pdfmark end
-128 4570 a 0 0 0 TeXcolorrgb
90 w Fo(len_acc2)p Black 44 w(\()p 0 0 0 TeXcolorrgb
-1 w(x)p Black(:)p 0 0 0 TeXcolorrgb(xs)p Black(\))f(=)p
0 0 0 TeXcolorrgb 45 w(let)p Black 44 w(?)p 0 0 0 TeXcolorrgb(acc)p
Black 45 w(=)g(?)p 0 0 0 TeXcolorrgb(acc)p Black 44 w(+)h(\(1::)p
0 0 0 TeXcolorrgb -1 w(Int)p Black(\))p 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(len_acc2)p Black
0 0 0 TeXcolorrgb 44 w(xs)p Black 0.95 TeXcolorgray -153
4622 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4797 a FA(The)22 b(only)e(dif)n(ference)g(between)g(the)i(tw)o(o)g
(groups)e(is)i(that)g(in)f(the)h(second)e(group)g Ft(len_acc)h
FA(is)h(gi)n(v)o(en)e(a)i(type)f(signature.)28 b(In)21
b(the)h(former)e(case,)-128 4896 y Ft(len_acc1)f FA(is)h(monomorphic)c
(in)j(its)h(o)n(wn)f(right-hand)e(side,)i(so)h(the)f(implicit)g
(parameter)f Ft(?acc)h FA(is)h(not)f(passed)g(to)h(the)f(recursi)n(v)o
(e)f(call.)25 b(In)19 b(the)-128 4996 y(latter)h(case,)f(because)f
Ft(len_acc2)h FA(has)g(a)g(type)g(signature,)f(the)h(recursi)n(v)o(e)e
(call)j(is)g(made)e(to)h(the)h Fq(polymorphic)d FA(v)o(ersion,)h(which)
g(tak)o(es)h Ft(?acc)g FA(as)-128 5096 y(an)i(implicit)f(parameter)-5
b(.)24 b(So)c(we)h(get)f(the)g(follo)n(wing)e(results)j(in)f(GHCi:)-128
5163 y
SDict begin H.S end
-128 5163 a -128 5163 a
SDict begin 12 H.A end
-128 5163 a -128 5163
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-433) cvn H.B /DEST pdfmark end
-128 5163 a 0.95 TeXcolorgray -153 5179 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5270 25 92 v Black 0.95 TeXcolorgray
-128 5270 4252 92 v Black 0.95 TeXcolorgray 4124 5270
25 92 v Black 0.95 TeXcolorgray Black -128 5243 a
SDict begin H.S end
-128
5243 a -128 5243 a
SDict begin 11 H.A end
-128 5243 a -128 5243 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-433.1) cvn H.B /DEST pdfmark end
-128 5243
a 0 0 0 TeXcolorrgb 90 w Fo(Prog)p Black -1 w(>)p 0 0 0
TeXcolorrgb 45 w(len1)p Black 44 w(")p 0 0 0 TeXcolorrgb(hello)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5361 25 92 v Black 0.95 TeXcolorgray -128 5361 4252
92 v Black 0.95 TeXcolorgray 4124 5361 25 92 v Black
0.95 TeXcolorgray Black -128 5334 a
SDict begin H.S end
-128 5334 a -128
5334 a
SDict begin 11 H.A end
-128 5334 a -128 5334 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-433.2) cvn H.B /DEST pdfmark end
-128 5334 a 90 w Fo(0)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5453 25
92 v Black 0.95 TeXcolorgray -128 5453 4252 92 v Black
0.95 TeXcolorgray 4124 5453 25 92 v Black 0.95 TeXcolorgray
Black -128 5425 a
SDict begin H.S end
-128 5425 a -128 5425 a
SDict begin 11 H.A end
-128 5425 a
-128 5425 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-433.3) cvn H.B /DEST pdfmark end
-128 5425 a 0 0 0 TeXcolorrgb 90 w Fo(Prog)p
Black -1 w(>)p 0 0 0 TeXcolorrgb 45 w(len2)p Black 44
w(")p 0 0 0 TeXcolorrgb(hello)p Black -1 w(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5544 25 92 v Black 0.95
TeXcolorgray -128 5544 4252 92 v Black 0.95 TeXcolorgray
4124 5544 25 92 v Black 0.95 TeXcolorgray Black -128
5517 a
SDict begin H.S end
-128 5517 a -128 5517 a
SDict begin 11 H.A end
-128 5517 a -128 5517
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-433.4) cvn H.B /DEST pdfmark end
-128 5517 a 90 w Fo(5)p 0.95 TeXcolorgray -153 5569
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5743 a FA(Adding)f(a)i(type)f(signature)f(dramatically)f(changes)i(the)
g(result!)25 b(This)20 b(is)h(a)g(rather)e(counter)n(-intuiti)n(v)o(e)e
(phenomenon,)g(w)o(orth)i(w)o(atching)h(out)g(for)-5
b(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 161 176
TeXDict begin 161 175 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.161) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(161)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.2.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.8.2.4)p
Black 73 w(Implicit)f(parameter)o(s)f(and)i(monomorphism)-128
373 y FA(GHC)i(applies)f(the)g(dreaded)e(Monomorphism)e(Restriction)k
(\(section)f(4.5.5)g(of)g(the)h(Hask)o(ell)h(Report\))e(to)h(implicit)f
(parameters.)26 b(F)o(or)21 b(e)o(xample,)-128 473 y(consider:)-128
520 y
SDict begin H.S end
-128 520 a -128 520 a
SDict begin 12 H.A end
-128 520 a -128 520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-434) cvn H.B /DEST pdfmark end
-128
520 a 0.95 TeXcolorgray -153 552 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 644 25 92 v Black 0.95 TeXcolorgray -128 644 4252
92 v Black 0.95 TeXcolorgray 4124 644 25 92 v Black 0.95
TeXcolorgray Black -128 616 a
SDict begin H.S end
-128 616 a -128 616 a
SDict begin 11 H.A end
-128
616 a -128 616 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-434.1) cvn H.B /DEST pdfmark end
-128 616 a 0 0 0 TeXcolorrgb 45 w Fo(f)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 735 25 92 v Black 0.95 TeXcolorgray
-128 735 4252 92 v Black 0.95 TeXcolorgray 4124 735 25
92 v Black 0.95 TeXcolorgray Black -128 708 a
SDict begin H.S end
-128 708
a -128 708 a
SDict begin 11 H.A end
-128 708 a -128 708 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-434.2) cvn H.B /DEST pdfmark end
-128 708 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(v)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(let)p Black 44 w(?)p 0 0 0
TeXcolorrgb(x)p Black 45 w(=)45 b(0)p 0 0 0 TeXcolorrgb
224 w(in)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 826 25 92 v Black 0.95 TeXcolorgray -128 826 4252
92 v Black 0.95 TeXcolorgray 4124 826 25 92 v Black 0.95
TeXcolorgray Black -128 799 a
SDict begin H.S end
-128 799 a -128 799 a
SDict begin 11 H.A end
-128
799 a -128 799 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-434.3) cvn H.B /DEST pdfmark end
-128 799 a 0 0 0 TeXcolorrgb 359 w Fo(let)p
Black 0 0 0 TeXcolorrgb 44 w(y)p Black 45 w(=)g(?)p 0 0 0
TeXcolorrgb(x)p Black 44 w(+)p 0 0 0 TeXcolorrgb 45 w(v)p
Black 0 0 0 TeXcolorrgb 45 w(in)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 918 25 92 v Black 0.95 TeXcolorgray
-128 918 4252 92 v Black 0.95 TeXcolorgray 4124 918 25
92 v Black 0.95 TeXcolorgray Black -128 890 a
SDict begin H.S end
-128 890
a -128 890 a
SDict begin 11 H.A end
-128 890 a -128 890 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-434.4) cvn H.B /DEST pdfmark end
-128 890 a 0 0 0 TeXcolorrgb
359 w Fo(let)p Black 44 w(?)p 0 0 0 TeXcolorrgb(x)p Black
45 w(=)g(5)p 0 0 0 TeXcolorrgb 224 w(in)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1009 25 92
v Black 0.95 TeXcolorgray -128 1009 4252 92 v Black 0.95
TeXcolorgray 4124 1009 25 92 v Black 0.95 TeXcolorgray
Black -128 982 a
SDict begin H.S end
-128 982 a -128 982 a
SDict begin 11 H.A end
-128 982 a -128
982 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-434.5) cvn H.B /DEST pdfmark end
-128 982 a 0 0 0 TeXcolorrgb 359 w Fo(y)p Black
0.95 TeXcolorgray -153 1034 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1202 a FA(Since)28 b(the)g(binding)f(for)g
Ft(y)i FA(f)o(alls)f(under)f(the)h(Monomorphism)c(Restriction)k(it)h
(is)g(not)f(generalised,)g(so)g(the)g(type)g(of)g Ft(y)g
FA(is)h(simply)f Ft(Int)p FA(,)h(not)-128 1301 y Ft(\(?x::Int\))49
b(=>)g(Int)p FA(.)37 b(Hence,)25 b Ft(\(f)49 b(9\))25
b FA(returns)e(result)i Ft(9)p FA(.)37 b(If)24 b(you)g(add)g(a)g(type)g
(signature)f(for)h Ft(y)p FA(,)h(then)f Ft(y)h FA(will)g(get)f(type)g
Ft(\(?x::Int\))-128 1401 y(=>)50 b(Int)p FA(,)20 b(so)g(the)h
(occurrence)c(of)j Ft(y)h FA(in)f(the)h(body)d(of)i(the)g
Ft(let)h FA(will)g(see)f(the)h(inner)e(binding)f(of)i
Ft(?x)p FA(,)g(so)h Ft(\(f)49 b(9\))21 b FA(will)g(return)e
Ft(14)p FA(.)-128 1534 y
SDict begin H.S end
-128 1534 a -128 1534 a
SDict begin 12 H.A end
-128
1534 a -128 1534 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.3) cvn H.B /DEST pdfmark end
-128 1534 a Black 144 x Fp(7.8.3)p
Black 90 w(Explicitl)o(y-kinded)j(quanti\002cation)-128
1767 y
SDict begin H.S end
-128 1767 a -128 1767 a
SDict begin 12 H.A end
-128 1767 a -128 1767
a
SDict begin [ /View [/XYZ H.V] /Dest (kinding) cvn H.B /DEST pdfmark end
-128 1767 a 111 x FA(Hask)o(ell)k(infers)e(the)h(kind)f(of)h(each)g
(type)f(v)n(ariable.)38 b(Sometimes)25 b(it)h(is)f(nice)g(to)g(be)g
(able)g(to)g(gi)n(v)o(e)f(the)h(kind)f(e)o(xplicitly)g(as)i
(\(machine-check)o(ed\))-128 1978 y(documentation,)18
b(just)j(as)h(it)f(is)h(nice)f(to)g(gi)n(v)o(e)f(a)h(type)f(signature)g
(for)g(a)h(function.)k(On)c(some)f(occasions,)g(it)i(is)g(essential)f
(to)g(do)f(so.)27 b(F)o(or)21 b(e)o(xample,)-128 2077
y(in)g(his)f(paper)g("Restricted)g(Data)g(T)-7 b(ypes)20
b(in)h(Hask)o(ell")f(\(Hask)o(ell)g(W)-7 b(orkshop)19
b(1999\))g(John)g(Hughes)h(had)f(to)i(de\002ne)e(the)i(data)f(type:)
-128 2142 y
SDict begin H.S end
-128 2142 a -128 2142 a
SDict begin 12 H.A end
-128 2142 a -128
2142 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-435) cvn H.B /DEST pdfmark end
-128 2142 a 0.95 TeXcolorgray -153 2157 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2248 25 92 v Black 0.95 TeXcolorgray
-128 2248 4252 92 v Black 0.95 TeXcolorgray 4124 2248
25 92 v Black 0.95 TeXcolorgray Black -128 2221 a
SDict begin H.S end
-128
2221 a -128 2221 a
SDict begin 11 H.A end
-128 2221 a -128 2221 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-435.1) cvn H.B /DEST pdfmark end
-128 2221
a 0 0 0 TeXcolorrgb 225 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(Set)p Black 0 0 0 TeXcolorrgb 44 w(cxt)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(Set)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2340 25
92 v Black 0.95 TeXcolorgray -128 2340 4252 92 v Black
0.95 TeXcolorgray 4124 2340 25 92 v Black 0.95 TeXcolorgray
Black -128 2312 a
SDict begin H.S end
-128 2312 a -128 2312 a
SDict begin 11 H.A end
-128 2312 a
-128 2312 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-435.2) cvn H.B /DEST pdfmark end
-128 2312 a 897 w Fo(|)p 0 0 0 TeXcolorrgb
45 w(Unused)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(cxt)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)45 b(\(\)\))p
0.95 TeXcolorgray -153 2365 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2532 a FA(The)20 b(only)g(use)g(for)g(the)g
Ft(Unused)f FA(constructor)g(w)o(as)i(to)f(force)f(the)i(correct)e
(kind)g(for)h(the)g(type)g(v)n(ariable)f Ft(cxt)p FA(.)-128
2679 y(GHC)h(no)n(w)f(instead)f(allo)n(ws)h(you)f(to)h(specify)g(the)g
(kind)f(of)g(a)i(type)e(v)n(ariable)g(directly)-5 b(,)18
b(where)n(v)o(er)f(a)i(type)f(v)n(ariable)g(is)i(e)o(xplicitly)e
(bound,)f(with)i(the)-128 2778 y(\003ag)i Ft(-XKindSignatures)p
FA(.)-128 2924 y(This)g(\003ag)f(enables)g(kind)f(signatures)h(in)g
(the)g(follo)n(wing)f(places:)p Black -128 3130 a(\225)p
Black 42 w Ft(data)h FA(declarations:)-128 3178 y
SDict begin H.S end
-128
3178 a -128 3178 a
SDict begin 12 H.A end
-128 3178 a -128 3178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-436) cvn H.B /DEST pdfmark end
-128 3178
a 0.95 TeXcolorgray -82 3210 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3301
25 92 v Black 0.95 TeXcolorgray -57 3301 4182 92 v Black
0.95 TeXcolorgray 4124 3301 25 92 v Black 0.95 TeXcolorgray
Black -57 3274 a
SDict begin H.S end
-57 3274 a -57 3274 a
SDict begin 11 H.A end
-57 3274 a -57
3274 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-436.1) cvn H.B /DEST pdfmark end
-57 3274 a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black
0 0 0 TeXcolorrgb 44 w(Set)p Black 44 w(\()p 0 0 0 TeXcolorrgb(cxt)p
Black 44 w(::)795 3287 y(*)884 3274 y(->)1019 3287 y(*)1064
3274 y(\))p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(Set)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p
Black(])p 0.95 TeXcolorgray -82 3326 4232 25 v Black
0.95 TeXcolorgray Black Black Black Black -128 3511 a
FA(\225)p Black 42 w Ft(type)g FA(declarations:)-128
3570 y
SDict begin H.S end
-128 3570 a -128 3570 a
SDict begin 12 H.A end
-128 3570 a -128 3570
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-437) cvn H.B /DEST pdfmark end
-128 3570 a 0.95 TeXcolorgray -82 3590 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3682 25 92 v Black 0.95 TeXcolorgray
-57 3682 4182 92 v Black 0.95 TeXcolorgray 4124 3682
25 92 v Black 0.95 TeXcolorgray Black -57 3654 a
SDict begin H.S end
-57
3654 a -57 3654 a
SDict begin 11 H.A end
-57 3654 a -57 3654 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-437.1) cvn H.B /DEST pdfmark end
-57 3654 a 0 0 0
TeXcolorrgb 90 w Fo(type)p Black 0 0 0 TeXcolorrgb 44
w(T)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(f)p Black
45 w(::)615 3667 y(*)705 3654 y(->)840 3667 y(*)885 3654
y(\))44 b(=)p 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray -82 3707
4232 25 v Black 0.95 TeXcolorgray Black Black Black Black
-128 3891 a FA(\225)p Black 42 w Ft(class)20 b FA(declarations:)-128
3939 y
SDict begin H.S end
-128 3939 a -128 3939 a
SDict begin 12 H.A end
-128 3939 a -128 3939
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-438) cvn H.B /DEST pdfmark end
-128 3939 a 0.95 TeXcolorgray -82 3971 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4062 25 92 v Black 0.95 TeXcolorgray
-57 4062 4182 92 v Black 0.95 TeXcolorgray 4124 4062
25 92 v Black 0.95 TeXcolorgray Black -57 4035 a
SDict begin H.S end
-57
4035 a -57 4035 a
SDict begin 11 H.A end
-57 4035 a -57 4035 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-438.1) cvn H.B /DEST pdfmark end
-57 4035 a 0 0 0
TeXcolorrgb 90 w Fo(class)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Eq)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))44 b(=>)p 0 0 0
TeXcolorrgb 45 w(C)p Black 45 w(\()p 0 0 0 TeXcolorrgb
-1 w(f)p Black 45 w(::)1109 4048 y(*)1198 4035 y(->)1333
4048 y(*)1378 4035 y(\))p 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(where)p Black 44 w(...)p
0.95 TeXcolorgray -82 4087 4232 25 v Black 0.95 TeXcolorgray
Black Black Black Black -128 4271 a FA(\225)p Black 42
w Ft(forall)p FA(')-5 b(s)20 b(in)g(type)g(signatures:)-128
4336 y
SDict begin H.S end
-128 4336 a -128 4336 a
SDict begin 12 H.A end
-128 4336 a -128 4336
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-439) cvn H.B /DEST pdfmark end
-128 4336 a 0.95 TeXcolorgray -82 4351 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4442 25 92 v Black 0.95 TeXcolorgray
-57 4442 4182 92 v Black 0.95 TeXcolorgray 4124 4442
25 92 v Black 0.95 TeXcolorgray Black -57 4415 a
SDict begin H.S end
-57
4415 a -57 4415 a
SDict begin 11 H.A end
-57 4415 a -57 4415 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-439.1) cvn H.B /DEST pdfmark end
-57 4415 a 0 0 0
TeXcolorrgb 90 w Fo(f)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(cxt)p
Black 45 w(::)929 4428 y(*)1019 4415 y(->)1153 4428 y(*)1198
4415 y(\).)p 0 0 0 TeXcolorrgb 45 w(Set)p Black 0 0 0
TeXcolorrgb 44 w(cxt)p Black 0 0 0 TeXcolorrgb 44 w(Int)p
Black 0.95 TeXcolorgray -82 4467 4232 25 v Black 0.95
TeXcolorgray Black Black Black -128 4695 a FA(The)i(parentheses)f(are)i
(required.)29 b(Some)22 b(of)g(the)g(spaces)h(are)f(required)e(too,)i
(to)h(separate)e(the)i(le)o(x)o(emes.)30 b(If)22 b(you)f(write)i
Ft(\(f::)3577 4710 y(*)3627 4695 y(->)3727 4710 y(*)3777
4695 y(\))e FA(you)g(will)-128 4795 y(get)g(a)f(parse)g(error)m(,)f
(because)g(")p Ft(::)865 4810 y(*)915 4795 y(->)1015
4810 y(*)1065 4795 y FA(")h(is)h(a)f(single)g(le)o(x)o(eme)f(in)i(Hask)
o(ell.)-128 4941 y(As)g(part)f(of)g(the)g(same)h(e)o(xtension,)d(you)i
(can)g(put)f(kind)h(annotations)e(in)j(types)f(as)h(well.)k(Thus:)-128
5005 y
SDict begin H.S end
-128 5005 a -128 5005 a
SDict begin 12 H.A end
-128 5005 a -128 5005
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-440) cvn H.B /DEST pdfmark end
-128 5005 a 0.95 TeXcolorgray -153 5020 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5112 25 92 v Black 0.95 TeXcolorgray
-128 5112 4252 92 v Black 0.95 TeXcolorgray 4124 5112
25 92 v Black 0.95 TeXcolorgray Black -128 5084 a
SDict begin H.S end
-128
5084 a -128 5084 a
SDict begin 11 H.A end
-128 5084 a -128 5084 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-440.1) cvn H.B /DEST pdfmark end
-128 5084
a 0 0 0 TeXcolorrgb 135 w Fo(f)p Black 45 w(::)44 b(\()p
0 0 0 TeXcolorrgb(Int)p Black 44 w(::)590 5097 y(*)635
5084 y(\))g(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5203 25 92
v Black 0.95 TeXcolorgray -128 5203 4252 92 v Black 0.95
TeXcolorgray 4124 5203 25 92 v Black 0.95 TeXcolorgray
Black -128 5176 a
SDict begin H.S end
-128 5176 a -128 5176 a
SDict begin 11 H.A end
-128 5176 a
-128 5176 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-440.2) cvn H.B /DEST pdfmark end
-128 5176 a 0 0 0 TeXcolorrgb 135 w Fo(g)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(.)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)h(\()p 0 0 0 TeXcolorrgb -1 w(a)p
Black 45 w(::)1173 5189 y(*)1218 5176 y(\))p 0.95 TeXcolorgray
-153 5228 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5396 a FA(The)20 b(syntax)g(is)-128 5460 y
SDict begin H.S end
-128 5460 a -128 5460 a
SDict begin 12 H.A end
-128 5460 a -128 5460 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-441) cvn H.B /DEST pdfmark end
-128
5460 a 0.95 TeXcolorgray -153 5475 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5567 25 92 v Black 0.95 TeXcolorgray -128 5567 4252
92 v Black 0.95 TeXcolorgray 4124 5567 25 92 v Black
0.95 TeXcolorgray Black -128 5539 a
SDict begin H.S end
-128 5539 a -128
5539 a
SDict begin 11 H.A end
-128 5539 a -128 5539 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-441.1) cvn H.B /DEST pdfmark end
-128 5539 a 0 0 0 TeXcolorrgb
135 w Fo(atype)p Black 44 w(::=)44 b('\(')p 0 0 0 TeXcolorrgb
45 w(ctype)p Black 44 w('::')p 0 0 0 TeXcolorrgb 44 w(kind)p
Black 44 w('\))p 0.95 TeXcolorgray -153 5592 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 5759
a FA(The)20 b(parentheses)f(are)h(required.)p Black -128
6084 4252 5 v Black eop end
%%Page: 162 177
TeXDict begin 162 176 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.162) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(162)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.8.4)p
Black 90 w(Arbitrar)q(y-rank)i(pol)o(ymorphism)-128 262
y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (universal-quantification) cvn H.B /DEST pdfmark end
-128 262
a 105 x FA(Hask)o(ell)29 b(type)f(signatures)f(are)h(implicitly)g
(quanti\002ed.)48 b(The)28 b(ne)n(w)g(k)o(e)o(yw)o(ord)e
Ft(forall)i FA(allo)n(ws)g(us)h(to)f(say)g(e)o(xactly)g(what)g(this)h
(means.)48 b(F)o(or)-128 466 y(e)o(xample:)-128 524 y
SDict begin H.S end
-128 524 a -128 524 a
SDict begin 12 H.A end
-128 524 a -128 524 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-442) cvn H.B /DEST pdfmark end
-128 524
a 0.95 TeXcolorgray -153 540 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
631 25 92 v Black 0.95 TeXcolorgray -128 631 4252 92
v Black 0.95 TeXcolorgray 4124 631 25 92 v Black 0.95
TeXcolorgray Black -128 604 a
SDict begin H.S end
-128 604 a -128 604 a
SDict begin 11 H.A end
-128
604 a -128 604 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-442.1) cvn H.B /DEST pdfmark end
-128 604 a 0 0 0 TeXcolorrgb 359 w Fo(g)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray -153
656 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 811 a FA(means)20 b(this:)-128 852 y
SDict begin H.S end
-128 852 a
-128 852 a
SDict begin 12 H.A end
-128 852 a -128 852 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-443) cvn H.B /DEST pdfmark end
-128 852 a 0.95 TeXcolorgray
-153 884 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 976 25 92 v
Black 0.95 TeXcolorgray -128 976 4252 92 v Black 0.95
TeXcolorgray 4124 976 25 92 v Black 0.95 TeXcolorgray
Black -128 948 a
SDict begin H.S end
-128 948 a -128 948 a
SDict begin 11 H.A end
-128 948 a -128
948 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-443.1) cvn H.B /DEST pdfmark end
-128 948 a 0 0 0 TeXcolorrgb 359 w Fo(g)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black(.)45 b(\()p 0 0 0 TeXcolorrgb
-1 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black
-1 w(\))p 0.95 TeXcolorgray -153 1001 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1156 a FA(The)20
b(tw)o(o)h(are)f(treated)g(identically)-5 b(.)-128 1296
y(Ho)n(we)n(v)o(er)m(,)23 b(GHC')-5 b(s)25 b(type)f(system)g(supports)e
Fq(arbitr)o(ary-r)o(ank)i FA(e)o(xplicit)f(uni)n(v)o(ersal)g
(quanti\002cation)f(in)i(types.)36 b(F)o(or)23 b(e)o(xample,)g(all)i
(the)f(follo)n(wing)-128 1395 y(types)c(are)h(le)o(gal:)-128
1454 y
SDict begin H.S end
-128 1454 a -128 1454 a
SDict begin 12 H.A end
-128 1454 a -128 1454
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-444) cvn H.B /DEST pdfmark end
-128 1454 a 0.95 TeXcolorgray -153 1469 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1560 25 92 v Black 0.95 TeXcolorgray
-128 1560 4252 92 v Black 0.95 TeXcolorgray 4124 1560
25 92 v Black 0.95 TeXcolorgray Black -128 1533 a
SDict begin H.S end
-128
1533 a -128 1533 a
SDict begin 11 H.A end
-128 1533 a -128 1533 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.1) cvn H.B /DEST pdfmark end
-128 1533
a 0 0 0 TeXcolorrgb 180 w Fo(f1)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black(.)p 0 0 0
TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1651 25
92 v Black 0.95 TeXcolorgray -128 1651 4252 92 v Black
0.95 TeXcolorgray 4124 1651 25 92 v Black 0.95 TeXcolorgray
Black -128 1624 a
SDict begin H.S end
-128 1624 a -128 1624 a
SDict begin 11 H.A end
-128 1624 a
-128 1624 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.2) cvn H.B /DEST pdfmark end
-128 1624 a 0 0 0 TeXcolorrgb 180 w Fo(g1)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black(.)45 b(\()p 0 0 0 TeXcolorrgb(Ord)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(,)p 0 0 0 TeXcolorrgb
44 w(Eq)p Black 0 0 0 TeXcolorrgb 90 w(b)p Black(\))f(=>)p
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1743 25
92 v Black 0.95 TeXcolorgray -128 1743 4252 92 v Black
0.95 TeXcolorgray 4124 1743 25 92 v Black 0.95 TeXcolorgray
Black -128 1715 a
SDict begin H.S end
-128 1715 a -128 1715 a
SDict begin 11 H.A end
-128 1715 a
-128 1715 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.3) cvn H.B /DEST pdfmark end
-128 1715 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1834 25 92 v Black 0.95 TeXcolorgray
-128 1834 4252 92 v Black 0.95 TeXcolorgray 4124 1834
25 92 v Black 0.95 TeXcolorgray Black -128 1807 a
SDict begin H.S end
-128
1807 a -128 1807 a
SDict begin 11 H.A end
-128 1807 a -128 1807 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.4) cvn H.B /DEST pdfmark end
-128 1807
a 0 0 0 TeXcolorrgb 180 w Fo(f2)p Black 44 w(::)h(\()p
0 0 0 TeXcolorrgb(forall)p Black 0 0 0 TeXcolorrgb 43
w(a)p Black(.)p 0 0 0 TeXcolorrgb 45 w(a)p Black(->)p
0 0 0 TeXcolorrgb -1 w(a)p Black(\))g(->)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1925 25 92 v Black 0.95 TeXcolorgray -128 1925 4252 92
v Black 0.95 TeXcolorgray 4124 1925 25 92 v Black 0.95
TeXcolorgray Black -128 1898 a
SDict begin H.S end
-128 1898 a -128 1898
a
SDict begin 11 H.A end
-128 1898 a -128 1898 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.5) cvn H.B /DEST pdfmark end
-128 1898 a 0 0 0 TeXcolorrgb
180 w Fo(g2)p Black 44 w(::)g(\()p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)g([)p
0 0 0 TeXcolorrgb -1 w(a)p Black(])g(->)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p
Black -1 w(\))g(->)p 0 0 0 TeXcolorrgb 44 w(Int)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2017 25 92 v Black 0.95
TeXcolorgray -128 2017 4252 92 v Black 0.95 TeXcolorgray
4124 2017 25 92 v Black 0.95 TeXcolorgray Black -128
1989 a
SDict begin H.S end
-128 1989 a -128 1989 a
SDict begin 11 H.A end
-128 1989 a -128 1989
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.6) cvn H.B /DEST pdfmark end
-128 1989 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2108 25 92 v Black 0.95 TeXcolorgray -128 2108 4252
92 v Black 0.95 TeXcolorgray 4124 2108 25 92 v Black
0.95 TeXcolorgray Black -128 2081 a
SDict begin H.S end
-128 2081 a -128
2081 a
SDict begin 11 H.A end
-128 2081 a -128 2081 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.7) cvn H.B /DEST pdfmark end
-128 2081 a 0 0 0 TeXcolorrgb
180 w Fo(f3)p Black 44 w(::)g(\(\()p 0 0 0 TeXcolorrgb
-1 w(forall)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(.)p
0 0 0 TeXcolorrgb 45 w(a)p Black(->)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(\))g(->)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black(\))f(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 44
w(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2199 25 92 v Black 0.95
TeXcolorgray -128 2199 4252 92 v Black 0.95 TeXcolorgray
4124 2199 25 92 v Black 0.95 TeXcolorgray Black -128
2172 a
SDict begin H.S end
-128 2172 a -128 2172 a
SDict begin 11 H.A end
-128 2172 a -128 2172
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.8) cvn H.B /DEST pdfmark end
-128 2172 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2291 25 92 v Black 0.95 TeXcolorgray -128 2291 4252
92 v Black 0.95 TeXcolorgray 4124 2291 25 92 v Black
0.95 TeXcolorgray Black -128 2263 a
SDict begin H.S end
-128 2263 a -128
2263 a
SDict begin 11 H.A end
-128 2263 a -128 2263 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-444.9) cvn H.B /DEST pdfmark end
-128 2263 a 0 0 0 TeXcolorrgb
180 w Fo(f4)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 44 w(->)h(\()p 0 0 0 TeXcolorrgb -1 w(forall)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black(\))p
0.95 TeXcolorgray -153 2316 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2471 a FA(Here,)30 b Ft(f1)e FA(and)f
Ft(g1)h FA(are)g(rank-1)e(types,)k(and)d(can)h(be)g(written)f(in)h
(standard)f(Hask)o(ell)h(\(e.g.)48 b Ft(f1)h(::)99 b(a->b->a)p
FA(\).)47 b(The)28 b Ft(forall)f FA(mak)o(es)-128 2570
y(e)o(xplicit)20 b(the)g(uni)n(v)o(ersal)f(quanti\002cation)f(that)j
(is)g(implicitly)f(added)f(by)g(Hask)o(ell.)-128 2710
y(The)i(functions)e Ft(f2)i FA(and)g Ft(g2)g FA(ha)n(v)o(e)f(rank-2)f
(types;)i(the)g Ft(forall)f FA(is)i(on)e(the)h(left)g(of)g(a)g
(function)e(arro)n(w)-5 b(.)25 b(As)d Ft(g2)f FA(sho)n(ws,)g(the)g
(polymorphic)c(type)-128 2810 y(on)j(the)g(left)h(of)f(the)g(function)e
(arro)n(w)i(can)g(be)g(o)o(v)o(erloaded.)-128 2950 y(The)g(function)f
Ft(f3)h FA(has)h(a)f(rank-3)f(type;)g(it)i(has)g(rank-2)d(types)i(on)g
(the)g(left)h(of)f(a)g(function)f(arro)n(w)-5 b(.)-128
3089 y(GHC)21 b(has)g(three)f(\003ags)g(to)h(control)d(higher)n(-rank)g
(types:)p Black -128 3277 a(\225)p Black 42 w Ft
(-XPolymorphicComponents)p FA(:)k(data)e(constructors)e(\(only\))h(can)
h(ha)n(v)o(e)f(polymorphic)e(ar)o(gument)h(types.)p Black
-128 3433 a(\225)p Black 42 w Ft(-XRank2Types)p FA(:)24
b(an)o(y)19 b(function)f(\(including)g(data)j(constructors\))d(can)i
(ha)n(v)o(e)f(a)i(rank-2)d(type.)p Black -128 3589 a(\225)p
Black 42 w Ft(-XRankNTypes)p FA(:)24 b(an)o(y)c(function)e(\(including)
h(data)h(constructors\))f(can)h(ha)n(v)o(e)g(an)g(arbitrary-rank)d
(type.)25 b(That)20 b(is,)i(you)d(can)h(nest)h Ft(forall)p
FA(s)-57 3689 y(arbitrarily)c(deep)g(in)h(function)e(arro)n(ws.)24
b(In)17 b(particular)m(,)g(a)h(forall-type)e(\(also)i(called)g(a)g
("type)f(scheme"\),)h(including)e(an)i(operational)e(type)h(class)-57
3789 y(conte)o(xt,)i(is)i(le)o(gal:)p Black -57 3945
a Fu(\226)p Black 41 w FA(On)f(the)g(left)h(or)f(right)f(\(see)i
Ft(f4)p FA(,)f(for)f(e)o(xample\))g(of)h(a)g(function)f(arro)n(w)p
Black -57 4068 a Fu(\226)p Black 41 w FA(As)i(the)f(ar)o(gument)d(of)j
(a)g(constructor)m(,)e(or)h(type)h(of)f(a)i(\002eld,)f(in)g(a)g(data)g
(type)f(declaration.)k(F)o(or)d(e)o(xample,)e(an)o(y)h(of)h(the)g
Ft(f1,f2,f3,g1,g2)26 4168 y FA(abo)o(v)o(e)f(w)o(ould)g(be)h(v)n(alid)g
(\002eld)g(type)g(signatures.)p Black -57 4291 a Fu(\226)p
Black 41 w FA(As)h(the)f(type)g(of)g(an)g(implicit)g(parameter)p
Black -57 4414 a Fu(\226)p Black 41 w FA(In)g(a)h(pattern)e(type)h
(signature)f(\(see)h(Section)p 1 0 0 TeXcolorrgb 1338
4415 a
SDict begin H.S end
1338 4415 a 1 0 0 TeXcolorrgb -1 x FA(7.8.6)p
1 0 0 TeXcolorrgb 1504 4358 a
SDict begin H.R end
1504 4358 a 1504 4414 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.6) cvn H.B /ANN pdfmark end
1504 4414 a Black FA(\))-128 4601 y(Of)h(course)e Ft(forall)h
FA(becomes)f(a)i(k)o(e)o(yw)o(ord;)d(you)h(can')o(t)h(use)g
Ft(forall)g FA(as)h(a)f(type)g(v)n(ariable)f(an)o(y)g(more!)-128
4731 y
SDict begin H.S end
-128 4731 a -128 4731 a
SDict begin 12 H.A end
-128 4731 a -128 4731
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.4.1) cvn H.B /DEST pdfmark end
-128 4731 a Black 122 x Fx(7.8.4.1)p Black 73 w(Examples)-128
4937 y
SDict begin H.S end
-128 4937 a -128 4937 a
SDict begin 12 H.A end
-128 4937 a -128 4937
a
SDict begin [ /View [/XYZ H.V] /Dest (univ) cvn H.B /DEST pdfmark end
-128 4937 a 110 x FA(In)h(a)h Ft(data)f FA(or)g Ft(newtype)f
FA(declaration)g(one)h(can)g(quantify)e(the)i(types)g(of)g(the)g
(constructor)f(ar)o(guments.)k(Here)d(are)g(se)n(v)o(eral)f(e)o
(xamples:)-128 5105 y
SDict begin H.S end
-128 5105 a -128 5105 a
SDict begin 12 H.A end
-128 5105
a -128 5105 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-445) cvn H.B /DEST pdfmark end
-128 5105 a 0.95 TeXcolorgray -153 5120
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5212 25 92 v Black 0.95
TeXcolorgray -128 5212 4252 92 v Black 0.95 TeXcolorgray
4124 5212 25 92 v Black 0.95 TeXcolorgray Black -128
5184 a
SDict begin H.S end
-128 5184 a -128 5184 a
SDict begin 11 H.A end
-128 5184 a -128 5184
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.1) cvn H.B /DEST pdfmark end
-128 5184 a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0
TeXcolorrgb 45 w(T)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(T1)p Black 44 w(\()p
0 0 0 TeXcolorrgb(forall)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black(.)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black -1 w(\))p 0 0 0 TeXcolorrgb 45 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5303 25
92 v Black 0.95 TeXcolorgray -128 5303 4252 92 v Black
0.95 TeXcolorgray 4124 5303 25 92 v Black 0.95 TeXcolorgray
Black -128 5275 a
SDict begin H.S end
-128 5275 a -128 5275 a
SDict begin 11 H.A end
-128 5275 a
-128 5275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.2) cvn H.B /DEST pdfmark end
-128 5275 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5394 25 92 v Black 0.95 TeXcolorgray
-128 5394 4252 92 v Black 0.95 TeXcolorgray 4124 5394
25 92 v Black 0.95 TeXcolorgray Black -128 5367 a
SDict begin H.S end
-128
5367 a -128 5367 a
SDict begin 11 H.A end
-128 5367 a -128 5367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.3) cvn H.B /DEST pdfmark end
-128 5367
a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(MonadT)p Black 0 0 0 TeXcolorrgb 43 w(m)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(MkMonad)p Black 43 w({)p
0 0 0 TeXcolorrgb 45 w(return)p Black 44 w(::)p 0 0 0
TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black(.)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(m)p Black 0 0 0 TeXcolorrgb 45
w(a)p Black -1 w(,)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5485 25 92 v Black 0.95 TeXcolorgray -128 5485 4252
92 v Black 0.95 TeXcolorgray 4124 5485 25 92 v Black
0.95 TeXcolorgray Black -128 5458 a
SDict begin H.S end
-128 5458 a -128
5458 a
SDict begin 11 H.A end
-128 5458 a -128 5458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.4) cvn H.B /DEST pdfmark end
-128 5458 a 0 0 0 TeXcolorrgb
1166 w Fo(bind)p Black 134 w(::)p 0 0 0 TeXcolorrgb 44
w(forall)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black(.)p 0 0 0 TeXcolorrgb 44 w(m)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)44 b(\()p
0 0 0 TeXcolorrgb(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black(\))g(->)p
0 0 0 TeXcolorrgb 45 w(m)p Black 0 0 0 TeXcolorrgb 45
w(b)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5577 25 92 v Black 0.95 TeXcolorgray -128 5577 4252
92 v Black 0.95 TeXcolorgray 4124 5577 25 92 v Black
0.95 TeXcolorgray Black -128 5549 a
SDict begin H.S end
-128 5549 a -128
5549 a
SDict begin 11 H.A end
-128 5549 a -128 5549 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.5) cvn H.B /DEST pdfmark end
-128 5549 a 1076 w Fo(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5668 25
92 v Black 0.95 TeXcolorgray -128 5668 4252 92 v Black
0.95 TeXcolorgray 4124 5668 25 92 v Black 0.95 TeXcolorgray
Black -128 5641 a
SDict begin H.S end
-128 5641 a -128 5641 a
SDict begin 11 H.A end
-128 5641 a
-128 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.6) cvn H.B /DEST pdfmark end
-128 5641 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5759 25 92 v Black 0.95 TeXcolorgray
-128 5759 4252 92 v Black 0.95 TeXcolorgray 4124 5759
25 92 v Black 0.95 TeXcolorgray Black -128 5732 a
SDict begin H.S end
-128
5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-445.7) cvn H.B /DEST pdfmark end
-128 5732
a 0 0 0 TeXcolorrgb Fo(newtype)p Black 0 0 0 TeXcolorrgb
44 w(Swizzle)p Black 44 w(=)p 0 0 0 TeXcolorrgb 44 w(MkSwizzle)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(Ord)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(=>)g([)p 0 0 0 TeXcolorrgb(a)p Black(])g(->)h([)p
0 0 0 TeXcolorrgb(a)p Black(]\))p 0.95 TeXcolorgray -153
5784 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 6084 4252 5 v Black eop end
%%Page: 163 178
TeXDict begin 163 177 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.163) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(163)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(The)g(constructors)f(ha)n
(v)o(e)g(rank-2)g(types:)-128 237 y
SDict begin H.S end
-128 237 a -128 237
a
SDict begin 12 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-446) cvn H.B /DEST pdfmark end
-128 237 a 0.95 TeXcolorgray
-153 252 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 344 25 92 v
Black 0.95 TeXcolorgray -128 344 4252 92 v Black 0.95
TeXcolorgray 4124 344 25 92 v Black 0.95 TeXcolorgray
Black -128 316 a
SDict begin H.S end
-128 316 a -128 316 a
SDict begin 11 H.A end
-128 316 a -128
316 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-446.1) cvn H.B /DEST pdfmark end
-128 316 a 0 0 0 TeXcolorrgb Fo(T1)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(.)45 b(\()p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 43 w(b)p Black(.)p 0 0 0 TeXcolorrgb
45 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black(\))g(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(T)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 435 25 92 v
Black 0.95 TeXcolorgray -128 435 4252 92 v Black 0.95
TeXcolorgray 4124 435 25 92 v Black 0.95 TeXcolorgray
Black -128 408 a
SDict begin H.S end
-128 408 a -128 408 a
SDict begin 11 H.A end
-128 408 a -128
408 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-446.2) cvn H.B /DEST pdfmark end
-128 408 a 0 0 0 TeXcolorrgb Fo(MkMonad)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0
TeXcolorrgb 43 w(m)p Black(.)g(\()p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black -1 w(.)p 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 526 25
92 v Black 0.95 TeXcolorgray -128 526 4252 92 v Black
0.95 TeXcolorgray 4124 526 25 92 v Black 0.95 TeXcolorgray
Black -128 499 a
SDict begin H.S end
-128 499 a -128 499 a
SDict begin 11 H.A end
-128 499 a -128
499 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-446.3) cvn H.B /DEST pdfmark end
-128 499 a 807 w Fo(->)g(\()p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black(.)p 0 0 0 TeXcolorrgb 45 w(m)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(->)g(\()p 0 0 0 TeXcolorrgb
-1 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(m)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black(\))g(->)p 0 0 0 TeXcolorrgb
44 w(m)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 618 25
92 v Black 0.95 TeXcolorgray -128 618 4252 92 v Black
0.95 TeXcolorgray 4124 618 25 92 v Black 0.95 TeXcolorgray
Black -128 590 a
SDict begin H.S end
-128 590 a -128 590 a
SDict begin 11 H.A end
-128 590 a -128
590 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-446.4) cvn H.B /DEST pdfmark end
-128 590 a 807 w Fo(->)p 0 0 0 TeXcolorrgb 45 w(MonadT)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 709 25 92 v Black 0.95 TeXcolorgray
-128 709 4252 92 v Black 0.95 TeXcolorgray 4124 709 25
92 v Black 0.95 TeXcolorgray Black -128 682 a
SDict begin H.S end
-128 682
a -128 682 a
SDict begin 11 H.A end
-128 682 a -128 682 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-446.5) cvn H.B /DEST pdfmark end
-128 682 a 0 0 0 TeXcolorrgb
Fo(MkSwizzle)p Black 44 w(::)f(\()p 0 0 0 TeXcolorrgb(Ord)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)h([)p
0 0 0 TeXcolorrgb -1 w(a)p Black(])g(->)f([)p 0 0 0 TeXcolorrgb(a)p
Black(]\))h(->)p 0 0 0 TeXcolorrgb 44 w(Swizzle)p Black
0.95 TeXcolorgray -153 734 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 901 a FA(Notice)23 b(that)h(you)e(don')o(t)f
(need)i(to)g(use)h(a)f Ft(forall)g FA(if)g(there')-5
b(s)23 b(an)g(e)o(xplicit)g(conte)o(xt.)32 b(F)o(or)23
b(e)o(xample)f(in)h(the)g(\002rst)h(ar)o(gument)d(of)i(the)g
(constructor)-128 1000 y Ft(MkSwizzle)p FA(,)j(an)f(implicit)g(")p
Ft(forall)48 b(a.)p FA(")26 b(is)g(pre\002x)o(ed)e(to)h(the)g(ar)o
(gument)e(type.)40 b(The)25 b(implicit)g Ft(forall)g
FA(quanti\002es)f(all)i(type)f(v)n(ariables)-128 1100
y(that)c(are)f(not)g(already)f(in)h(scope,)g(and)f(are)h(mentioned)f
(in)h(the)g(type)g(quanti\002ed)f(o)o(v)o(er)-5 b(.)-128
1246 y(As)21 b(for)f(type)g(signatures,)f(implicit)h(quanti\002cation)e
(happens)h(for)h(non-o)o(v)o(erloaded)15 b(types)20 b(too.)25
b(So)20 b(if)h(you)e(write)h(this:)-128 1310 y
SDict begin H.S end
-128 1310
a -128 1310 a
SDict begin 12 H.A end
-128 1310 a -128 1310 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-447) cvn H.B /DEST pdfmark end
-128 1310 a 0.95
TeXcolorgray -153 1325 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1416 25 92 v Black 0.95 TeXcolorgray -128 1416 4252 92
v Black 0.95 TeXcolorgray 4124 1416 25 92 v Black 0.95
TeXcolorgray Black -128 1389 a
SDict begin H.S end
-128 1389 a -128 1389
a
SDict begin 11 H.A end
-128 1389 a -128 1389 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-447.1) cvn H.B /DEST pdfmark end
-128 1389 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(T)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(MkT)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(Either)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black(\))44 b(\()p 0 0 0 TeXcolorrgb(b)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black(\))p 0.95
TeXcolorgray -153 1441 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1608 a FA(it')-5 b(s)22 b(just)e(as)h(if)g(you)e
(had)h(written)g(this:)-128 1672 y
SDict begin H.S end
-128 1672 a -128 1672
a
SDict begin 12 H.A end
-128 1672 a -128 1672 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-448) cvn H.B /DEST pdfmark end
-128 1672 a 0.95 TeXcolorgray
-153 1687 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1779 25 92
v Black 0.95 TeXcolorgray -128 1779 4252 92 v Black 0.95
TeXcolorgray 4124 1779 25 92 v Black 0.95 TeXcolorgray
Black -128 1751 a
SDict begin H.S end
-128 1751 a -128 1751 a
SDict begin 11 H.A end
-128 1751 a
-128 1751 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-448.1) cvn H.B /DEST pdfmark end
-128 1751 a 0 0 0 TeXcolorrgb 90 w Fo(data)p
Black 0 0 0 TeXcolorrgb 44 w(T)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(MkT)p
Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black(.)p 0 0 0 TeXcolorrgb
45 w(Either)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black(\))45 b(\()p 0 0 0 TeXcolorrgb(forall)
p Black 0 0 0 TeXcolorrgb 43 w(b)p Black(.)p 0 0 0 TeXcolorrgb
45 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black(\))p
0.95 TeXcolorgray -153 1804 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1970 a FA(That)26 b(is,)i(since)e(the)g(type)g
(v)n(ariable)f Ft(b)h FA(isn')o(t)g(in)g(scope,)h(it')-5
b(s)27 b(implicitly)e(uni)n(v)o(ersally)g(quanti\002ed.)40
b(\(Ar)o(guably)-5 b(,)25 b(it)h(w)o(ould)g(be)f(better)h(to)g
Fq(r)m(equir)m(e)-128 2070 y FA(e)o(xplicit)20 b(quanti\002cation)e(on)
i(constructor)e(ar)o(guments)h(where)g(that)h(is)i(what)e(is)h(w)o
(anted.)j(Feedback)19 b(welcomed.\))-128 2216 y(Y)-9
b(ou)30 b(construct)e(v)n(alues)i(of)f(types)h Ft(T1,)49
b(MonadT,)f(Swizzle)29 b FA(by)h(applying)e(the)h(constructor)f(to)i
(suitable)g(v)n(alues,)h(just)f(as)h(usual.)53 b(F)o(or)-128
2315 y(e)o(xample,)-128 2379 y
SDict begin H.S end
-128 2379 a -128 2379
a
SDict begin 12 H.A end
-128 2379 a -128 2379 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-449) cvn H.B /DEST pdfmark end
-128 2379 a 0.95 TeXcolorgray
-153 2395 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2486 25 92
v Black 0.95 TeXcolorgray -128 2486 4252 92 v Black 0.95
TeXcolorgray 4124 2486 25 92 v Black 0.95 TeXcolorgray
Black -128 2459 a
SDict begin H.S end
-128 2459 a -128 2459 a
SDict begin 11 H.A end
-128 2459 a
-128 2459 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.1) cvn H.B /DEST pdfmark end
-128 2459 a 0 0 0 TeXcolorrgb 180 w Fo(a1)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(T)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2577 25 92 v Black 0.95 TeXcolorgray
-128 2577 4252 92 v Black 0.95 TeXcolorgray 4124 2577
25 92 v Black 0.95 TeXcolorgray Black -128 2550 a
SDict begin H.S end
-128
2550 a -128 2550 a
SDict begin 11 H.A end
-128 2550 a -128 2550 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.2) cvn H.B /DEST pdfmark end
-128 2550
a 0 0 0 TeXcolorrgb 180 w Fo(a1)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(T1)p Black 44 w(\(\\)p 0 0 0 TeXcolorrgb(xy)p
Black(->)p 0 0 0 TeXcolorrgb -1 w(x)p Black(\))45 b(3)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2669 25
92 v Black 0.95 TeXcolorgray -128 2669 4252 92 v Black
0.95 TeXcolorgray 4124 2669 25 92 v Black 0.95 TeXcolorgray
Black -128 2641 a
SDict begin H.S end
-128 2641 a -128 2641 a
SDict begin 11 H.A end
-128 2641 a
-128 2641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.3) cvn H.B /DEST pdfmark end
-128 2641 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2760 25 92 v Black 0.95 TeXcolorgray
-128 2760 4252 92 v Black 0.95 TeXcolorgray 4124 2760
25 92 v Black 0.95 TeXcolorgray Black -128 2733 a
SDict begin H.S end
-128
2733 a -128 2733 a
SDict begin 11 H.A end
-128 2733 a -128 2733 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.4) cvn H.B /DEST pdfmark end
-128 2733
a 0 0 0 TeXcolorrgb 180 w Fo(a2)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(a3)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(Swizzle)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2851 25 92 v Black 0.95 TeXcolorgray -128 2851 4252
92 v Black 0.95 TeXcolorgray 4124 2851 25 92 v Black
0.95 TeXcolorgray Black -128 2824 a
SDict begin H.S end
-128 2824 a -128
2824 a
SDict begin 11 H.A end
-128 2824 a -128 2824 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.5) cvn H.B /DEST pdfmark end
-128 2824 a 0 0 0 TeXcolorrgb
180 w Fo(a2)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(MkSwizzle)p
Black 0 0 0 TeXcolorrgb 43 w(sort)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2943 25 92 v Black 0.95
TeXcolorgray -128 2943 4252 92 v Black 0.95 TeXcolorgray
4124 2943 25 92 v Black 0.95 TeXcolorgray Black -128
2915 a
SDict begin H.S end
-128 2915 a -128 2915 a
SDict begin 11 H.A end
-128 2915 a -128 2915
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.6) cvn H.B /DEST pdfmark end
-128 2915 a 0 0 0 TeXcolorrgb 180 w Fo(a3)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(MkSwizzle)p Black 0 0 0
TeXcolorrgb 43 w(reverse)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3034 25 92 v Black 0.95 TeXcolorgray
-128 3034 4252 92 v Black 0.95 TeXcolorgray 4124 3034
25 92 v Black 0.95 TeXcolorgray Black -128 3007 a
SDict begin H.S end
-128
3007 a -128 3007 a
SDict begin 11 H.A end
-128 3007 a -128 3007 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.7) cvn H.B /DEST pdfmark end
-128 3007
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3125
25 92 v Black 0.95 TeXcolorgray -128 3125 4252 92 v Black
0.95 TeXcolorgray 4124 3125 25 92 v Black 0.95 TeXcolorgray
Black -128 3098 a
SDict begin H.S end
-128 3098 a -128 3098 a
SDict begin 11 H.A end
-128 3098 a
-128 3098 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.8) cvn H.B /DEST pdfmark end
-128 3098 a 0 0 0 TeXcolorrgb 180 w Fo(a4)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(MonadT)p Black
0 0 0 TeXcolorrgb 44 w(Maybe)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3217 25 92 v Black 0.95
TeXcolorgray -128 3217 4252 92 v Black 0.95 TeXcolorgray
4124 3217 25 92 v Black 0.95 TeXcolorgray Black -128
3189 a
SDict begin H.S end
-128 3189 a -128 3189 a
SDict begin 11 H.A end
-128 3189 a -128 3189
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.9) cvn H.B /DEST pdfmark end
-128 3189 a 0 0 0 TeXcolorrgb 180 w Fo(a4)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0 TeXcolorrgb
44 w(r)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(Just)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3308 25 92 v Black 0.95 TeXcolorgray -128 3308 4252
92 v Black 0.95 TeXcolorgray 4124 3308 25 92 v Black
0.95 TeXcolorgray Black -128 3281 a
SDict begin H.S end
-128 3281 a -128
3281 a
SDict begin 11 H.A end
-128 3281 a -128 3281 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.10) cvn H.B /DEST pdfmark end
-128 3281 a 0 0 0 TeXcolorrgb
314 w Fo(b)p Black 0 0 0 TeXcolorrgb 45 w(m)p Black 0 0 0
TeXcolorrgb 45 w(k)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(case)p Black 0 0 0 TeXcolorrgb 44 w(m)p Black 0 0 0
TeXcolorrgb 45 w(of)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3399 25 92 v Black 0.95 TeXcolorgray
-128 3399 4252 92 v Black 0.95 TeXcolorgray 4124 3399
25 92 v Black 0.95 TeXcolorgray Black -128 3372 a
SDict begin H.S end
-128
3372 a -128 3372 a
SDict begin 11 H.A end
-128 3372 a -128 3372 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.11) cvn H.B /DEST pdfmark end
-128 3372
a 0 0 0 TeXcolorrgb 494 w Fo(Just)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(k)p Black
0 0 0 TeXcolorrgb 45 w(y)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3491 25 92 v Black 0.95 TeXcolorgray
-128 3491 4252 92 v Black 0.95 TeXcolorgray 4124 3491
25 92 v Black 0.95 TeXcolorgray Black -128 3463 a
SDict begin H.S end
-128
3463 a -128 3463 a
SDict begin 11 H.A end
-128 3463 a -128 3463 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.12) cvn H.B /DEST pdfmark end
-128 3463
a 0 0 0 TeXcolorrgb 494 w Fo(Nothing)p Black 43 w(->)p
0 0 0 TeXcolorrgb 45 w(Nothing)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3582 25 92 v Black 0.95
TeXcolorgray -128 3582 4252 92 v Black 0.95 TeXcolorgray
4124 3582 25 92 v Black 0.95 TeXcolorgray Black -128
3554 a
SDict begin H.S end
-128 3554 a -128 3554 a
SDict begin 11 H.A end
-128 3554 a -128 3554
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.13) cvn H.B /DEST pdfmark end
-128 3554 a 0 0 0 TeXcolorrgb 404 w Fo(in)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3673 25 92
v Black 0.95 TeXcolorgray -128 3673 4252 92 v Black 0.95
TeXcolorgray 4124 3673 25 92 v Black 0.95 TeXcolorgray
Black -128 3646 a
SDict begin H.S end
-128 3646 a -128 3646 a
SDict begin 11 H.A end
-128 3646 a
-128 3646 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.14) cvn H.B /DEST pdfmark end
-128 3646 a 0 0 0 TeXcolorrgb 404 w Fo(MkMonad)p
Black 0 0 0 TeXcolorrgb 44 w(r)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3765 25 92 v Black 0.95 TeXcolorgray -128 3765 4252
92 v Black 0.95 TeXcolorgray 4124 3765 25 92 v Black
0.95 TeXcolorgray Black -128 3737 a
SDict begin H.S end
-128 3737 a -128
3737 a
SDict begin 11 H.A end
-128 3737 a -128 3737 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.15) cvn H.B /DEST pdfmark end
-128 3737 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3856 25 92 v Black 0.95
TeXcolorgray -128 3856 4252 92 v Black 0.95 TeXcolorgray
4124 3856 25 92 v Black 0.95 TeXcolorgray Black -128
3828 a
SDict begin H.S end
-128 3828 a -128 3828 a
SDict begin 11 H.A end
-128 3828 a -128 3828
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.16) cvn H.B /DEST pdfmark end
-128 3828 a 0 0 0 TeXcolorrgb 180 w Fo(mkTs)p Black
44 w(::)f(\()p 0 0 0 TeXcolorrgb(forall)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black(.)p 0 0 0 TeXcolorrgb 45 w(b)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(b)p Black(\))g(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(->)g([)p 0 0 0 TeXcolorrgb(T)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3947 25 92 v Black 0.95
TeXcolorgray -128 3947 4252 92 v Black 0.95 TeXcolorgray
4124 3947 25 92 v Black 0.95 TeXcolorgray Black -128
3920 a
SDict begin H.S end
-128 3920 a -128 3920 a
SDict begin 11 H.A end
-128 3920 a -128 3920
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-449.17) cvn H.B /DEST pdfmark end
-128 3920 a 0 0 0 TeXcolorrgb 180 w Fo(mkTs)p Black
0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb 45
w(x)p Black 0 0 0 TeXcolorrgb 44 w(y)p Black 45 w(=)h([)p
0 0 0 TeXcolorrgb -1 w(T1)p Black 0 0 0 TeXcolorrgb 45
w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(T1)p Black 0 0 0 TeXcolorrgb 45
w(f)p Black 0 0 0 TeXcolorrgb 44 w(y)p Black(])p 0.95
TeXcolorgray -153 3972 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4139 a FA(The)21 b(type)g(of)g(the)g(ar)o
(gument)e(can,)i(as)h(usual,)f(be)g(more)f(general)h(than)f(the)h(type)
g(required,)f(as)i Ft(\(MkSwizzle)47 b(reverse\))21 b
FA(sho)n(ws.)28 b(\()p Ft(reve-)-128 4239 y(rse)21 b
FA(does)f(not)f(need)h(the)g Ft(Ord)g FA(constraint.\))-128
4384 y(When)g(you)g(use)g(pattern)f(matching,)g(the)h(bound)f(v)n
(ariables)g(may)h(no)n(w)f(ha)n(v)o(e)h(polymorphic)d(types.)25
b(F)o(or)19 b(e)o(xample:)-128 4448 y
SDict begin H.S end
-128 4448 a -128
4448 a
SDict begin 12 H.A end
-128 4448 a -128 4448 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-450) cvn H.B /DEST pdfmark end
-128 4448 a 0.95 TeXcolorgray
-153 4464 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4555 25 92
v Black 0.95 TeXcolorgray -128 4555 4252 92 v Black 0.95
TeXcolorgray 4124 4555 25 92 v Black 0.95 TeXcolorgray
Black -128 4527 a
SDict begin H.S end
-128 4527 a -128 4527 a
SDict begin 11 H.A end
-128 4527 a
-128 4527 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.1) cvn H.B /DEST pdfmark end
-128 4527 a 0 0 0 TeXcolorrgb 180 w Fo(f)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(T)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(->)45 b(\()p 0 0 0 TeXcolorrgb(a)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(Char)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4646 25 92
v Black 0.95 TeXcolorgray -128 4646 4252 92 v Black 0.95
TeXcolorgray 4124 4646 25 92 v Black 0.95 TeXcolorgray
Black -128 4619 a
SDict begin H.S end
-128 4619 a -128 4619 a
SDict begin 11 H.A end
-128 4619 a
-128 4619 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.2) cvn H.B /DEST pdfmark end
-128 4619 a 0 0 0 TeXcolorrgb 180 w Fo(f)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(T1)p Black 0 0 0 TeXcolorrgb
45 w(w)p Black 0 0 0 TeXcolorrgb 44 w(k)p Black(\))p
0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(=)f(\()p 0 0 0
TeXcolorrgb(w)p Black 0 0 0 TeXcolorrgb 45 w(k)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black(,)p 0 0 0 TeXcolorrgb
45 w(w)p Black 45 w(')p 0 0 0 TeXcolorrgb -1 w(c)p Black(')h(')p
0 0 0 TeXcolorrgb(d)p Black('\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4737 25 92 v Black 0.95 TeXcolorgray
-128 4737 4252 92 v Black 0.95 TeXcolorgray 4124 4737
25 92 v Black 0.95 TeXcolorgray Black -128 4710 a
SDict begin H.S end
-128
4710 a -128 4710 a
SDict begin 11 H.A end
-128 4710 a -128 4710 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.3) cvn H.B /DEST pdfmark end
-128 4710
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4829
25 92 v Black 0.95 TeXcolorgray -128 4829 4252 92 v Black
0.95 TeXcolorgray 4124 4829 25 92 v Black 0.95 TeXcolorgray
Black -128 4801 a
SDict begin H.S end
-128 4801 a -128 4801 a
SDict begin 11 H.A end
-128 4801 a
-128 4801 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.4) cvn H.B /DEST pdfmark end
-128 4801 a 0 0 0 TeXcolorrgb 180 w Fo(g)p
Black 44 w(::)g(\()p 0 0 0 TeXcolorrgb(Ord)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(,)p 0 0 0 TeXcolorrgb 45 w(Ord)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black(\))f(=>)p 0 0 0
TeXcolorrgb 45 w(Swizzle)p Black 44 w(->)g([)p 0 0 0
TeXcolorrgb(a)p Black(])g(->)h(\()p 0 0 0 TeXcolorrgb(a)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black(\))f(->)h([)p
0 0 0 TeXcolorrgb(b)p Black(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4920 25 92 v Black 0.95 TeXcolorgray
-128 4920 4252 92 v Black 0.95 TeXcolorgray 4124 4920
25 92 v Black 0.95 TeXcolorgray Black -128 4893 a
SDict begin H.S end
-128
4893 a -128 4893 a
SDict begin 11 H.A end
-128 4893 a -128 4893 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.5) cvn H.B /DEST pdfmark end
-128 4893
a 0 0 0 TeXcolorrgb 180 w Fo(g)p Black 44 w(\()p 0 0 0
TeXcolorrgb(MkSwizzle)p Black 0 0 0 TeXcolorrgb 44 w(s)p
Black -1 w(\))p 0 0 0 TeXcolorrgb 45 w(xs)p Black 0 0 0
TeXcolorrgb 45 w(f)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(s)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(map)p
Black 0 0 0 TeXcolorrgb 45 w(f)p Black 44 w(\()p 0 0 0
TeXcolorrgb(s)p Black 0 0 0 TeXcolorrgb 45 w(xs)p Black(\))o(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5011 25
92 v Black 0.95 TeXcolorgray -128 5011 4252 92 v Black
0.95 TeXcolorgray 4124 5011 25 92 v Black 0.95 TeXcolorgray
Black -128 4984 a
SDict begin H.S end
-128 4984 a -128 4984 a
SDict begin 11 H.A end
-128 4984 a
-128 4984 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.6) cvn H.B /DEST pdfmark end
-128 4984 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5103 25 92 v Black 0.95 TeXcolorgray
-128 5103 4252 92 v Black 0.95 TeXcolorgray 4124 5103
25 92 v Black 0.95 TeXcolorgray Black -128 5075 a
SDict begin H.S end
-128
5075 a -128 5075 a
SDict begin 11 H.A end
-128 5075 a -128 5075 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.7) cvn H.B /DEST pdfmark end
-128 5075
a 0 0 0 TeXcolorrgb 180 w Fo(h)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(MonadT)p Black 0 0 0 TeXcolorrgb 44
w(m)p Black 44 w(->)g([)p 0 0 0 TeXcolorrgb(m)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(])g(->)p 0 0 0 TeXcolorrgb
44 w(m)p Black 45 w([)p 0 0 0 TeXcolorrgb(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5194 25
92 v Black 0.95 TeXcolorgray -128 5194 4252 92 v Black
0.95 TeXcolorgray 4124 5194 25 92 v Black 0.95 TeXcolorgray
Black -128 5167 a
SDict begin H.S end
-128 5167 a -128 5167 a
SDict begin 11 H.A end
-128 5167 a
-128 5167 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.8) cvn H.B /DEST pdfmark end
-128 5167 a 0 0 0 TeXcolorrgb 180 w Fo(h)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 45 w([])g(=)p
0 0 0 TeXcolorrgb 44 w(return)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 45 w([])p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5285 25 92 v Black 0.95 TeXcolorgray
-128 5285 4252 92 v Black 0.95 TeXcolorgray 4124 5285
25 92 v Black 0.95 TeXcolorgray Black -128 5258 a
SDict begin H.S end
-128
5258 a -128 5258 a
SDict begin 11 H.A end
-128 5258 a -128 5258 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.9) cvn H.B /DEST pdfmark end
-128 5258
a 0 0 0 TeXcolorrgb 180 w Fo(h)p Black 0 0 0 TeXcolorrgb
44 w(m)p Black 45 w(\()p 0 0 0 TeXcolorrgb(x)p Black(:)p
0 0 0 TeXcolorrgb(xs)p Black -1 w(\))g(=)p 0 0 0 TeXcolorrgb
45 w(bind)p Black 0 0 0 TeXcolorrgb 44 w(m)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 449 w($)p
Black 44 w(\\)p 0 0 0 TeXcolorrgb(y)p Black 45 w(->)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5377 25
92 v Black 0.95 TeXcolorgray -128 5377 4252 92 v Black
0.95 TeXcolorgray 4124 5377 25 92 v Black 0.95 TeXcolorgray
Black -128 5349 a
SDict begin H.S end
-128 5349 a -128 5349 a
SDict begin 11 H.A end
-128 5349 a
-128 5349 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.10) cvn H.B /DEST pdfmark end
-128 5349 a 0 0 0 TeXcolorrgb 763 w Fo(bind)p
Black 0 0 0 TeXcolorrgb 44 w(m)p Black 44 w(\()p 0 0 0
TeXcolorrgb(h)p Black 0 0 0 TeXcolorrgb 45 w(m)p Black
0 0 0 TeXcolorrgb 45 w(xs)p Black -1 w(\))p 0 0 0 TeXcolorrgb
135 w($)p Black 44 w(\\)p 0 0 0 TeXcolorrgb(ys)p Black
45 w(->)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5468 25 92 v Black 0.95 TeXcolorgray -128 5468 4252 92
v Black 0.95 TeXcolorgray 4124 5468 25 92 v Black 0.95
TeXcolorgray Black -128 5441 a
SDict begin H.S end
-128 5441 a -128 5441
a
SDict begin 11 H.A end
-128 5441 a -128 5441 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-450.11) cvn H.B /DEST pdfmark end
-128 5441 a 0 0 0 TeXcolorrgb
763 w Fo(return)p Black 0 0 0 TeXcolorrgb 43 w(m)p Black
45 w(\()p 0 0 0 TeXcolorrgb(y)p Black(:)p 0 0 0 TeXcolorrgb(ys)p
Black -1 w(\))p 0.95 TeXcolorgray -153 5493 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 5660 a
FA(In)22 b(the)g(function)e Ft(h)j FA(we)f(use)g(the)g(record)f
(selectors)h Ft(return)f FA(and)g Ft(bind)h FA(to)g(e)o(xtract)f(the)h
(polymorphic)d(bind)i(and)h(return)f(functions)f(from)h(the)-128
5759 y Ft(MonadT)f FA(data)g(structure,)f(rather)h(than)f(using)h
(pattern)f(matching.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 164 179
TeXDict begin 164 178 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.164) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(164)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.4.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.8.4.2)p
Black 73 w(T)l(ype)e(inf)o(erence)-128 374 y FA(In)29
b(general,)h(type)f(inference)e(for)h(arbitrary-rank)e(types)j(is)h
(undecidable.)49 b(GHC)30 b(uses)f(an)g(algorithm)f(proposed)f(by)h
(Odersk)o(y)g(and)g(Laufer)-128 474 y(\("Putting)18 b(type)g
(annotations)f(to)i(w)o(ork",)f(POPL)-8 b('96\))18 b(to)h(get)f(a)i
(decidable)d(algorithm)g(by)h(requiring)f(some)h(help)g(from)g(the)h
(programmer)-5 b(.)22 b(W)-7 b(e)19 b(do)-128 574 y(not)h(yet)h(ha)n(v)
o(e)e(a)i(formal)e(speci\002cation)g(of)h("some)g(help")g(b)n(ut)g(the)
g(rule)g(is)h(this:)-128 721 y Fq(F)-9 b(or)26 b(a)f(lambda-bound)c(or)
k(case-bound)e(variable)o(,)i(x,)i(either)e(the)g(pr)l(o)o(gr)o(ammer)g
(pr)l(o)o(vides)g(an)f(e)n(xplicit)i(polymorphic)d(type)i(for)h(x,)g
(or)g(GHC')m(s)-128 821 y(type)21 b(infer)m(ence)e(will)i(assume)g
(that)f(x')m(s)g(type)g(has)g(no)g(for)o(alls)g(in)g(it)p
FA(.)-128 968 y(What)j(does)f(it)h(mean)e(to)h("pro)o(vide")e(an)i(e)o
(xplicit)g(type)f(for)h(x?)31 b(Y)-9 b(ou)21 b(can)h(do)g(that)g(by)g
(gi)n(ving)f(a)h(type)g(signature)f(for)g(x)i(directly)-5
b(,)21 b(using)g(a)i(pattern)-128 1068 y(type)d(signature)f(\(Section)p
1 0 0 TeXcolorrgb 659 1069 a
SDict begin H.S end
659 1069 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.6)p 1 0 0 TeXcolorrgb 825 1012 a
SDict begin H.R end
825 1012
a 825 1068 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.6) cvn H.B /ANN pdfmark end
825 1068 a Black FA(\),)h(thus:)-128 1134
y
SDict begin H.S end
-128 1134 a -128 1134 a
SDict begin 12 H.A end
-128 1134 a -128 1134 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-451) cvn H.B /DEST pdfmark end
-128
1134 a 0.95 TeXcolorgray -153 1149 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1241 25 92 v Black 0.95 TeXcolorgray -128 1241 4252
92 v Black 0.95 TeXcolorgray 4124 1241 25 92 v Black
0.95 TeXcolorgray Black -128 1213 a
SDict begin H.S end
-128 1213 a -128
1213 a
SDict begin 11 H.A end
-128 1213 a -128 1213 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-451.1) cvn H.B /DEST pdfmark end
-128 1213 a 225 w Fo(\\)p
0 0 0 TeXcolorrgb 44 w(f)p Black 45 w(::)44 b(\()p 0 0 0
TeXcolorrgb(forall)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black(.)p 0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(->)p
0 0 0 TeXcolorrgb(a)p Black(\))h(->)f(\()p 0 0 0 TeXcolorrgb(f)p
Black 0 0 0 TeXcolorrgb 45 w(True)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(f)p Black 44 w(')p 0 0 0 TeXcolorrgb(c)p
Black('\))p 0.95 TeXcolorgray -153 1266 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1436 a FA(Alternati)n(v)o(ely)
-5 b(,)31 b(you)e(can)h(gi)n(v)o(e)g(a)h(type)f(signature)f(to)h(the)h
(enclosing)e(conte)o(xt,)i(which)f(GHC)h(can)f("push)f(do)n(wn")h(to)g
(\002nd)g(the)g(type)g(for)g(the)-128 1536 y(v)n(ariable:)-128
1585 y
SDict begin H.S end
-128 1585 a -128 1585 a
SDict begin 12 H.A end
-128 1585 a -128 1585
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-452) cvn H.B /DEST pdfmark end
-128 1585 a 0.95 TeXcolorgray -153 1617 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1708 25 92 v Black 0.95 TeXcolorgray
-128 1708 4252 92 v Black 0.95 TeXcolorgray 4124 1708
25 92 v Black 0.95 TeXcolorgray Black -128 1681 a
SDict begin H.S end
-128
1681 a -128 1681 a
SDict begin 11 H.A end
-128 1681 a -128 1681 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-452.1) cvn H.B /DEST pdfmark end
-128 1681
a 225 w Fo(\(\\)p 0 0 0 TeXcolorrgb 44 w(f)p Black 45
w(->)44 b(\()p 0 0 0 TeXcolorrgb(f)p Black 0 0 0 TeXcolorrgb
45 w(True)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(f)p
Black 44 w(')p 0 0 0 TeXcolorrgb(c)p Black('\)\))g(::)h(\()p
0 0 0 TeXcolorrgb(forall)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black -1 w(.)p 0 0 0 TeXcolorrgb 45 w(a)p Black(->)p
0 0 0 TeXcolorrgb(a)p Black -1 w(\))g(->)g(\()p 0 0 0
TeXcolorrgb -1 w(Bool)p Black(,)p 0 0 0 TeXcolorrgb(Char)p
Black -1 w(\))p 0.95 TeXcolorgray -153 1733 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1904 a
FA(Here)23 b(the)f(type)g(signature)g(on)g(the)g(e)o(xpression)f(can)h
(be)h(pushed)e(inw)o(ards)h(to)h(gi)n(v)o(e)e(a)i(type)f(signature)g
(for)f(f.)32 b(Similarly)-5 b(,)22 b(and)g(more)g(commonly)-5
b(,)-128 2004 y(one)20 b(can)g(gi)n(v)o(e)f(a)i(type)f(signature)f(for)
g(the)i(function)d(itself:)-128 2070 y
SDict begin H.S end
-128 2070 a -128
2070 a
SDict begin 12 H.A end
-128 2070 a -128 2070 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-453) cvn H.B /DEST pdfmark end
-128 2070 a 0.95 TeXcolorgray
-153 2085 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2176 25 92
v Black 0.95 TeXcolorgray -128 2176 4252 92 v Black 0.95
TeXcolorgray 4124 2176 25 92 v Black 0.95 TeXcolorgray
Black -128 2149 a
SDict begin H.S end
-128 2149 a -128 2149 a
SDict begin 11 H.A end
-128 2149 a
-128 2149 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-453.1) cvn H.B /DEST pdfmark end
-128 2149 a 0 0 0 TeXcolorrgb 225 w Fo(h)p
Black 44 w(::)45 b(\()p 0 0 0 TeXcolorrgb(forall)p Black
0 0 0 TeXcolorrgb 43 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(a)p Black(->)p 0 0 0 TeXcolorrgb -1 w(a)p Black(\))g(->)f(\()p
0 0 0 TeXcolorrgb(Bool)p Black(,)p 0 0 0 TeXcolorrgb
-1 w(Char)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2267 25 92 v Black 0.95 TeXcolorgray -128 2267 4252
92 v Black 0.95 TeXcolorgray 4124 2267 25 92 v Black
0.95 TeXcolorgray Black -128 2240 a
SDict begin H.S end
-128 2240 a -128
2240 a
SDict begin 11 H.A end
-128 2240 a -128 2240 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-453.2) cvn H.B /DEST pdfmark end
-128 2240 a 0 0 0 TeXcolorrgb
225 w Fo(h)p Black 0 0 0 TeXcolorrgb 44 w(f)p Black 45
w(=)h(\()p 0 0 0 TeXcolorrgb -1 w(f)p Black 0 0 0 TeXcolorrgb
45 w(True)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(f)p
Black 45 w(')p 0 0 0 TeXcolorrgb(c)p Black -1 w('\))p
0.95 TeXcolorgray -153 2292 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2463 a FA(Y)-9 b(ou)27 b(don')o(t)f(need)g(to)i
(gi)n(v)o(e)e(a)i(type)f(signature)f(if)h(the)h(lambda)e(bound)f(v)n
(ariable)h(is)j(a)e(constructor)f(ar)o(gument.)44 b(Here)27
b(is)h(an)f(e)o(xample)f(we)i(sa)o(w)-128 2563 y(earlier:)-128
2611 y
SDict begin H.S end
-128 2611 a -128 2611 a
SDict begin 12 H.A end
-128 2611 a -128 2611
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-454) cvn H.B /DEST pdfmark end
-128 2611 a 0.95 TeXcolorgray -153 2644 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2735 25 92 v Black 0.95 TeXcolorgray
-128 2735 4252 92 v Black 0.95 TeXcolorgray 4124 2735
25 92 v Black 0.95 TeXcolorgray Black -128 2708 a
SDict begin H.S end
-128
2708 a -128 2708 a
SDict begin 11 H.A end
-128 2708 a -128 2708 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-454.1) cvn H.B /DEST pdfmark end
-128 2708
a 0 0 0 TeXcolorrgb 180 w Fo(f)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(T)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)45
b(\()p 0 0 0 TeXcolorrgb(a)p Black(,)p 0 0 0 TeXcolorrgb
44 w(Char)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2826 25 92 v Black 0.95 TeXcolorgray -128 2826 4252
92 v Black 0.95 TeXcolorgray 4124 2826 25 92 v Black
0.95 TeXcolorgray Black -128 2799 a
SDict begin H.S end
-128 2799 a -128
2799 a
SDict begin 11 H.A end
-128 2799 a -128 2799 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-454.2) cvn H.B /DEST pdfmark end
-128 2799 a 0 0 0 TeXcolorrgb
180 w Fo(f)p Black 44 w(\()p 0 0 0 TeXcolorrgb(T1)p Black
0 0 0 TeXcolorrgb 45 w(w)p Black 0 0 0 TeXcolorrgb 44
w(k)p Black(\))p 0 0 0 TeXcolorrgb 45 w(x)p Black 45
w(=)f(\()p 0 0 0 TeXcolorrgb(w)p Black 0 0 0 TeXcolorrgb
45 w(k)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black(,)p 0 0 0
TeXcolorrgb 45 w(w)p Black 45 w(')p 0 0 0 TeXcolorrgb
-1 w(c)p Black(')h(')p 0 0 0 TeXcolorrgb(d)p Black('\))p
0.95 TeXcolorgray -153 2851 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3022 a FA(Here)21 b(we)h(do)f(not)g(need)f(to)h
(gi)n(v)o(e)g(a)g(type)g(signature)f(to)h Ft(w)p FA(,)h(because)e(it)i
(is)g(an)f(ar)o(gument)e(of)i(constructor)e Ft(T1)j FA(and)e(that)h
(tells)h(GHC)g(all)g(it)g(needs)f(to)-128 3122 y(kno)n(w)-5
b(.)-128 3238 y
SDict begin H.S end
-128 3238 a -128 3238 a
SDict begin 12 H.A end
-128 3238 a -128
3238 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.4.3) cvn H.B /DEST pdfmark end
-128 3238 a Black 147 x Fx(7.8.4.3)p Black 73
w(Implicit)19 b(quanti\002cation)-128 3468 y
SDict begin H.S end
-128 3468
a -128 3468 a
SDict begin 12 H.A end
-128 3468 a -128 3468 a
SDict begin [ /View [/XYZ H.V] /Dest (implicit-quant) cvn H.B /DEST pdfmark end
-128 3468 a 118
x FA(GHC)25 b(performs)d(implicit)h(quanti\002cation)f(as)j(follo)n
(ws.)34 b Fq(At)25 b(the)e(top)h(le)o(vel)f(\(only\))g(of)g(user)n
(-written)i(types,)f(if)h(and)e(only)g(if)h(ther)m(e)g(is)g(no)g(e)n
(xplicit)-128 3685 y Fg(forall)p Fq(,)e(GHC)h(\002nds)e(all)h(the)g
(type)f(variables)h(mentioned)e(in)i(the)g(type)g(that)f(ar)m(e)h(not)g
(alr)m(eady)f(in)h(scope)o(,)g(and)e(univer)o(sally)i(quanti\002es)e
(them.)-128 3785 y FA(F)o(or)g(e)o(xample,)f(the)h(follo)n(wing)f
(pairs)h(are)g(equi)n(v)n(alent:)-128 3851 y
SDict begin H.S end
-128 3851
a -128 3851 a
SDict begin 12 H.A end
-128 3851 a -128 3851 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-455) cvn H.B /DEST pdfmark end
-128 3851 a 0.95
TeXcolorgray -153 3866 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3958 25 92 v Black 0.95 TeXcolorgray -128 3958 4252 92
v Black 0.95 TeXcolorgray 4124 3958 25 92 v Black 0.95
TeXcolorgray Black -128 3930 a
SDict begin H.S end
-128 3930 a -128 3930
a
SDict begin 11 H.A end
-128 3930 a -128 3930 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.1) cvn H.B /DEST pdfmark end
-128 3930 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4049 25 92
v Black 0.95 TeXcolorgray -128 4049 4252 92 v Black 0.95
TeXcolorgray 4124 4049 25 92 v Black 0.95 TeXcolorgray
Black -128 4022 a
SDict begin H.S end
-128 4022 a -128 4022 a
SDict begin 11 H.A end
-128 4022 a
-128 4022 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.2) cvn H.B /DEST pdfmark end
-128 4022 a 0 0 0 TeXcolorrgb 90 w Fo(f)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4140 25
92 v Black 0.95 TeXcolorgray -128 4140 4252 92 v Black
0.95 TeXcolorgray 4124 4140 25 92 v Black 0.95 TeXcolorgray
Black -128 4113 a
SDict begin H.S end
-128 4113 a -128 4113 a
SDict begin 11 H.A end
-128 4113 a
-128 4113 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.3) cvn H.B /DEST pdfmark end
-128 4113 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4232 25 92 v Black 0.95 TeXcolorgray
-128 4232 4252 92 v Black 0.95 TeXcolorgray 4124 4232
25 92 v Black 0.95 TeXcolorgray Black -128 4204 a
SDict begin H.S end
-128
4204 a -128 4204 a
SDict begin 11 H.A end
-128 4204 a -128 4204 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.4) cvn H.B /DEST pdfmark end
-128 4204
a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black 45 w(\()p 0 0 0
TeXcolorrgb(x)p Black -1 w(::)p 0 0 0 TeXcolorrgb(a)p
Black(\))45 b(=)p 0 0 0 TeXcolorrgb 44 w(let)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4323 25
92 v Black 0.95 TeXcolorgray -128 4323 4252 92 v Black
0.95 TeXcolorgray 4124 4323 25 92 v Black 0.95 TeXcolorgray
Black -128 4295 a
SDict begin H.S end
-128 4295 a -128 4295 a
SDict begin 11 H.A end
-128 4295 a
-128 4295 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.5) cvn H.B /DEST pdfmark end
-128 4295 a 0 0 0 TeXcolorrgb 718 w Fo(h)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4414 25 92 v Black 0.95 TeXcolorgray -128 4414 4252
92 v Black 0.95 TeXcolorgray 4124 4414 25 92 v Black
0.95 TeXcolorgray Black -128 4387 a
SDict begin H.S end
-128 4387 a -128
4387 a
SDict begin 11 H.A end
-128 4387 a -128 4387 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.6) cvn H.B /DEST pdfmark end
-128 4387 a 0 0 0 TeXcolorrgb
718 w Fo(h)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0
TeXcolorrgb 45 w(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4506 25 92 v Black 0.95 TeXcolorgray -128 4506 4252
92 v Black 0.95 TeXcolorgray 4124 4506 25 92 v Black
0.95 TeXcolorgray Black -128 4478 a
SDict begin H.S end
-128 4478 a -128
4478 a
SDict begin 11 H.A end
-128 4478 a -128 4478 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.7) cvn H.B /DEST pdfmark end
-128 4478 a 0 0 0 TeXcolorrgb
583 w Fo(in)p Black 45 w(...)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4597 25 92 v Black 0.95 TeXcolorgray
-128 4597 4252 92 v Black 0.95 TeXcolorgray 4124 4597
25 92 v Black 0.95 TeXcolorgray Black -128 4569 a
SDict begin H.S end
-128
4569 a -128 4569 a
SDict begin 11 H.A end
-128 4569 a -128 4569 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.8) cvn H.B /DEST pdfmark end
-128 4569
a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black 45 w(\()p 0 0 0
TeXcolorrgb(x)p Black -1 w(::)p 0 0 0 TeXcolorrgb(a)p
Black(\))g(=)p 0 0 0 TeXcolorrgb 44 w(let)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4688 25 92
v Black 0.95 TeXcolorgray -128 4688 4252 92 v Black 0.95
TeXcolorgray 4124 4688 25 92 v Black 0.95 TeXcolorgray
Black -128 4661 a
SDict begin H.S end
-128 4661 a -128 4661 a
SDict begin 11 H.A end
-128 4661 a
-128 4661 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.9) cvn H.B /DEST pdfmark end
-128 4661 a 0 0 0 TeXcolorrgb 718 w Fo(h)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black(.)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4780 25 92 v Black 0.95
TeXcolorgray -128 4780 4252 92 v Black 0.95 TeXcolorgray
4124 4780 25 92 v Black 0.95 TeXcolorgray Black -128
4752 a
SDict begin H.S end
-128 4752 a -128 4752 a
SDict begin 11 H.A end
-128 4752 a -128 4752
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.10) cvn H.B /DEST pdfmark end
-128 4752 a 0 0 0 TeXcolorrgb 718 w Fo(h)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45 w(y)p
Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(y)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4871 25 92
v Black 0.95 TeXcolorgray -128 4871 4252 92 v Black 0.95
TeXcolorgray 4124 4871 25 92 v Black 0.95 TeXcolorgray
Black -128 4843 a
SDict begin H.S end
-128 4843 a -128 4843 a
SDict begin 11 H.A end
-128 4843 a
-128 4843 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-455.11) cvn H.B /DEST pdfmark end
-128 4843 a 0 0 0 TeXcolorrgb 583 w Fo(in)p
Black 45 w(...)p 0.95 TeXcolorgray -153 4896 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 5066
a FA(Notice)21 b(that)f(GHC)h(does)f Fq(not)h FA(\002nd)f(the)g
(innermost)f(possible)h(quanti\002cation)e(point.)25
b(F)o(or)19 b(e)o(xample:)-128 5132 y
SDict begin H.S end
-128 5132 a -128
5132 a
SDict begin 12 H.A end
-128 5132 a -128 5132 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-456) cvn H.B /DEST pdfmark end
-128 5132 a 0.95 TeXcolorgray
-153 5148 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5239 25 92
v Black 0.95 TeXcolorgray -128 5239 4252 92 v Black 0.95
TeXcolorgray 4124 5239 25 92 v Black 0.95 TeXcolorgray
Black -128 5212 a
SDict begin H.S end
-128 5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a
-128 5212 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.1) cvn H.B /DEST pdfmark end
-128 5212 a 0 0 0 TeXcolorrgb 90 w Fo(f)p
Black 45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(a)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black(\))h(->)p 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5330 25 92 v Black 0.95 TeXcolorgray
-128 5330 4252 92 v Black 0.95 TeXcolorgray 4124 5330
25 92 v Black 0.95 TeXcolorgray Black -128 5303 a
SDict begin H.S end
-128
5303 a -128 5303 a
SDict begin 11 H.A end
-128 5303 a -128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.2) cvn H.B /DEST pdfmark end
-128 5303
a 494 w Fo(--)p 0 0 0 TeXcolorrgb 44 w(MEANS)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5422 25
92 v Black 0.95 TeXcolorgray -128 5422 4252 92 v Black
0.95 TeXcolorgray 4124 5422 25 92 v Black 0.95 TeXcolorgray
Black -128 5394 a
SDict begin H.S end
-128 5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a
-128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.3) cvn H.B /DEST pdfmark end
-128 5394 a 0 0 0 TeXcolorrgb 90 w Fo(f)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(.)g(\()p 0 0 0 TeXcolorrgb
-1 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
-1 w(\))g(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5513 25 92
v Black 0.95 TeXcolorgray -128 5513 4252 92 v Black 0.95
TeXcolorgray 4124 5513 25 92 v Black 0.95 TeXcolorgray
Black -128 5485 a
SDict begin H.S end
-128 5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a
-128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.4) cvn H.B /DEST pdfmark end
-128 5485 a 494 w Fo(--)p 0 0 0 TeXcolorrgb
44 w(NOT)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5604 25 92 v Black 0.95 TeXcolorgray -128 5604 4252
92 v Black 0.95 TeXcolorgray 4124 5604 25 92 v Black
0.95 TeXcolorgray Black -128 5577 a
SDict begin H.S end
-128 5577 a -128
5577 a
SDict begin 11 H.A end
-128 5577 a -128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.5) cvn H.B /DEST pdfmark end
-128 5577 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)f(\()p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(.)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
-1 w(\))h(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5696 25 92
v Black 0.95 TeXcolorgray -128 5696 4252 92 v Black 0.95
TeXcolorgray 4124 5696 25 92 v Black 0.95 TeXcolorgray
Black -128 5668 a
SDict begin H.S end
-128 5668 a -128 5668 a
SDict begin 11 H.A end
-128 5668 a
-128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.6) cvn H.B /DEST pdfmark end
-128 5668 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5787 25 92 v Black 0.95 TeXcolorgray
-128 5787 4252 92 v Black 0.95 TeXcolorgray 4124 5787
25 92 v Black 0.95 TeXcolorgray Black -128 5759 a
SDict begin H.S end
-128
5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.7) cvn H.B /DEST pdfmark end
-128 5759
a Black -128 6084 4252 5 v Black eop end
%%Page: 165 180
TeXDict begin 165 179 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.165) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(165)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.8) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
90 w Fo(g)p Black 45 w(::)44 b(\()p 0 0 0 TeXcolorrgb(Ord)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black(\))g(->)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
292 25 92 v Black 0.95 TeXcolorgray -128 292 4252 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.9) cvn H.B /DEST pdfmark end
-128 265 a 494 w Fo(--)p 0 0 0 TeXcolorrgb
44 w(MEANS)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 44 w(illegal)p Black 0 0 0 TeXcolorrgb
44 w(type)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 383 25 92 v Black 0.95 TeXcolorgray -128 383 4252
92 v Black 0.95 TeXcolorgray 4124 383 25 92 v Black 0.95
TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128
356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.10) cvn H.B /DEST pdfmark end
-128 356 a 0 0 0 TeXcolorrgb 90 w Fo(g)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(.)h(\()p 0 0 0 TeXcolorrgb
-1 w(Ord)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44
w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(a)p Black(\))g(->)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 475 25 92 v Black 0.95 TeXcolorgray -128 475 4252
92 v Black 0.95 TeXcolorgray 4124 475 25 92 v Black 0.95
TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128
447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.11) cvn H.B /DEST pdfmark end
-128 447 a 494 w Fo(--)p 0 0 0 TeXcolorrgb
44 w(NOT)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 566 25 92 v Black 0.95 TeXcolorgray -128 566 4252
92 v Black 0.95 TeXcolorgray 4124 566 25 92 v Black 0.95
TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128
538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-456.12) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb 90 w Fo(g)p
Black 45 w(::)f(\()p 0 0 0 TeXcolorrgb(forall)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black(.)p 0 0 0 TeXcolorrgb
44 w(Ord)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44
w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(a)p Black(\))h(->)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray -152 591 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 765 a
FA(The)21 b(latter)h(produces)d(an)j(ille)o(gal)e(type,)h(which)g(you)f
(might)h(think)f(is)i(silly)-5 b(,)22 b(b)n(ut)f(at)h(least)g(the)f
(rule)g(is)h(simple.)28 b(If)22 b(you)e(w)o(ant)h(the)h(latter)f(type,)
g(you)-128 865 y(can)f(write)h(your)e(for)n(-alls)h(e)o(xplicitly)-5
b(.)23 b(Indeed,)c(doing)f(so)j(is)g(strongly)e(advised)g(for)h(rank-2)
e(types.)-128 999 y
SDict begin H.S end
-128 999 a -128 999 a
SDict begin 12 H.A end
-128 999 a
-128 999 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.5) cvn H.B /DEST pdfmark end
-128 999 a Black 148 x Fp(7.8.5)p Black 90
w(Impredicative)k(pol)o(ymorphism)-128 1235 y
SDict begin H.S end
-128 1235
a -128 1235 a
SDict begin 12 H.A end
-128 1235 a -128 1235 a
SDict begin [ /View [/XYZ H.V] /Dest (impredicative-polymorphism) cvn H.B /DEST pdfmark end
-128 1235 a 115
x FA(GHC)k(supports)d Fq(impr)m(edicative)h(polymorphism)p
FA(,)g(enabled)f(with)i Ft(-XImpredicativeTypes)p FA(.)35
b(This)25 b(means)f(that)h(you)f(can)g(call)h(a)g(poly-)-128
1450 y(morphic)19 b(function)f(at)j(a)g(polymorphic)c(type,)i(and)h
(parameterise)f(data)h(structures)f(o)o(v)o(er)g(polymorphic)e(types.)
25 b(F)o(or)20 b(e)o(xample:)-128 1517 y
SDict begin H.S end
-128 1517 a
-128 1517 a
SDict begin 12 H.A end
-128 1517 a -128 1517 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-457) cvn H.B /DEST pdfmark end
-128 1517 a 0.95
TeXcolorgray -153 1533 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1624 25 92 v Black 0.95 TeXcolorgray -128 1624 4252 92
v Black 0.95 TeXcolorgray 4124 1624 25 92 v Black 0.95
TeXcolorgray Black -128 1597 a
SDict begin H.S end
-128 1597 a -128 1597
a
SDict begin 11 H.A end
-128 1597 a -128 1597 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-457.1) cvn H.B /DEST pdfmark end
-128 1597 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Maybe)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(forall)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black(.)44 b([)p 0 0 0 TeXcolorrgb(a)p
Black(])h(->)f([)p 0 0 0 TeXcolorrgb(a)p Black(]\))g(->)p
0 0 0 TeXcolorrgb 45 w(Maybe)p Black 44 w(\([)p 0 0 0
TeXcolorrgb(Int)p Black -1 w(],)h([)p 0 0 0 TeXcolorrgb
-1 w(Char)p Black(]\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1715 25 92 v Black 0.95 TeXcolorgray
-128 1715 4252 92 v Black 0.95 TeXcolorgray 4124 1715
25 92 v Black 0.95 TeXcolorgray Black -128 1688 a
SDict begin H.S end
-128
1688 a -128 1688 a
SDict begin 11 H.A end
-128 1688 a -128 1688 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-457.2) cvn H.B /DEST pdfmark end
-128 1688
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(\()p 0 0 0
TeXcolorrgb(Just)p Black 0 0 0 TeXcolorrgb 44 w(g)p Black(\))f(=)p
0 0 0 TeXcolorrgb 45 w(Just)p Black 44 w(\()p 0 0 0 TeXcolorrgb(g)p
Black 45 w([3],)p 0 0 0 TeXcolorrgb 44 w(g)p Black 44
w(")p 0 0 0 TeXcolorrgb(hello)p Black -1 w("\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1807 25 92
v Black 0.95 TeXcolorgray -128 1807 4252 92 v Black 0.95
TeXcolorgray 4124 1807 25 92 v Black 0.95 TeXcolorgray
Black -128 1779 a
SDict begin H.S end
-128 1779 a -128 1779 a
SDict begin 11 H.A end
-128 1779 a
-128 1779 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-457.3) cvn H.B /DEST pdfmark end
-128 1779 a 0 0 0 TeXcolorrgb 90 w Fo(f)p
Black 0 0 0 TeXcolorrgb 45 w(Nothing)p Black 88 w(=)p
0 0 0 TeXcolorrgb 45 w(Nothing)p Black 0.95 TeXcolorgray
-153 1832 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2006 a FA(Notice)21 b(here)e(that)h(the)h
Ft(Maybe)e FA(type)h(is)h(parameterised)e(by)h(the)g
Fq(polymorphic)e FA(type)i Ft(\(forall)48 b(a.)100 b([a])49
b(->)g([a]\))p FA(.)-128 2155 y(The)15 b(technical)g(details)g(of)g
(this)h(e)o(xtension)e(are)h(described)f(in)h(the)g(paper)p
0 1 0 0 TeXcolorcmyk 1968 2173 a
SDict begin H.S end
1968 2173 a 0 1 0 0
TeXcolorcmyk -18 x FA(Boxy)k(types:)25 b(type)20 b(inference)f(for)g
(higher)n(-rank)f(types)i(and)f(impredicati)n(vity)p
0 1 0 0 TeXcolorcmyk 4251 2099 a
SDict begin H.R end
4251 2099 a 4251 2155
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/boxy/) >> /Subtype /Link H.B /ANN pdfmark end
4251 2155 a Black FA(,)-128 2255 y(which)h(appeared)e(at)j(ICFP)g
(2006.)-128 2389 y
SDict begin H.S end
-128 2389 a -128 2389 a
SDict begin 12 H.A end
-128 2389
a -128 2389 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.6) cvn H.B /DEST pdfmark end
-128 2389 a Black 148 x Fp(7.8.6)p Black
90 w(Le)o(xicall)o(y)i(scoped)g(type)i(v)n(ariab)o(les)-128
2626 y
SDict begin H.S end
-128 2626 a -128 2626 a
SDict begin 12 H.A end
-128 2626 a -128 2626
a
SDict begin [ /View [/XYZ H.V] /Dest (scoped-type-variables) cvn H.B /DEST pdfmark end
-128 2626 a 114 x FA(GHC)c(supports)d Fq(le)n(xically)i(scoped)e
(type)h(variables)p FA(,)g(without)g(which)g(some)g(type)g(signatures)g
(are)g(simply)g(impossible)g(to)g(write.)25 b(F)o(or)19
b(e)o(xample:)-128 2808 y
SDict begin H.S end
-128 2808 a -128 2808 a
SDict begin 12 H.A end
-128
2808 a -128 2808 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-458) cvn H.B /DEST pdfmark end
-128 2808 a 0.95 TeXcolorgray -153
2823 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2915 25 92 v Black 0.95
TeXcolorgray -128 2915 4252 92 v Black 0.95 TeXcolorgray
4124 2915 25 92 v Black 0.95 TeXcolorgray Black -128
2887 a
SDict begin H.S end
-128 2887 a -128 2887 a
SDict begin 11 H.A end
-128 2887 a -128 2887
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-458.1) cvn H.B /DEST pdfmark end
-128 2887 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(::)p
0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb
43 w(a)p Black(.)45 b([)p 0 0 0 TeXcolorrgb(a)p Black(])f(->)h([)p
0 0 0 TeXcolorrgb(a)p Black -1 w(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3006 25 92 v Black 0.95
TeXcolorgray -128 3006 4252 92 v Black 0.95 TeXcolorgray
4124 3006 25 92 v Black 0.95 TeXcolorgray Black -128
2978 a
SDict begin H.S end
-128 2978 a -128 2978 a
SDict begin 11 H.A end
-128 2978 a -128 2978
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-458.2) cvn H.B /DEST pdfmark end
-128 2978 a 0 0 0 TeXcolorrgb Fo(f)p Black 0 0 0 TeXcolorrgb
45 w(xs)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(ys)p
Black 45 w(++)p 0 0 0 TeXcolorrgb 44 w(ys)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3097 25 92
v Black 0.95 TeXcolorgray -128 3097 4252 92 v Black 0.95
TeXcolorgray 4124 3097 25 92 v Black 0.95 TeXcolorgray
Black -128 3070 a
SDict begin H.S end
-128 3070 a -128 3070 a
SDict begin 11 H.A end
-128 3070 a
-128 3070 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-458.3) cvn H.B /DEST pdfmark end
-128 3070 a 0 0 0 TeXcolorrgb 225 w Fo(where)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3188 25 92 v Black 0.95 TeXcolorgray -128 3188 4252 92
v Black 0.95 TeXcolorgray 4124 3188 25 92 v Black 0.95
TeXcolorgray Black -128 3161 a
SDict begin H.S end
-128 3161 a -128 3161
a
SDict begin 11 H.A end
-128 3161 a -128 3161 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-458.4) cvn H.B /DEST pdfmark end
-128 3161 a 0 0 0 TeXcolorrgb
314 w Fo(ys)p Black 45 w(::)f([)p 0 0 0 TeXcolorrgb(a)p
Black(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3280 25 92 v Black 0.95 TeXcolorgray -128 3280 4252 92
v Black 0.95 TeXcolorgray 4124 3280 25 92 v Black 0.95
TeXcolorgray Black -128 3252 a
SDict begin H.S end
-128 3252 a -128 3252
a
SDict begin 11 H.A end
-128 3252 a -128 3252 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-458.5) cvn H.B /DEST pdfmark end
-128 3252 a 0 0 0 TeXcolorrgb
314 w Fo(ys)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(reverse)p
Black 0 0 0 TeXcolorrgb 44 w(xs)p Black 0.95 TeXcolorgray
-153 3305 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3479 a FA(The)19 b(type)g(signature)f(for)h
Ft(f)g FA(brings)f(the)i(type)e(v)n(ariable)g Ft(a)i
FA(into)f(scope;)g(it)h(scopes)f(o)o(v)o(er)f(the)h(entire)g
(de\002nition)f(of)h Ft(f)p FA(.)25 b(In)19 b(particular)m(,)e(it)j(is)
g(in)f(scope)-128 3579 y(at)k(the)e(type)g(signature)g(for)g
Ft(ys)p FA(.)29 b(In)22 b(Hask)o(ell)g(98)f(it)h(is)h(not)e(possible)g
(to)h(declare)f(a)h(type)f(for)g Ft(ys)p FA(;)i(a)f(major)f(bene\002t)g
(of)g(scoped)g(type)g(v)n(ariables)g(is)-128 3678 y(that)g(it)g
(becomes)e(possible)h(to)g(do)g(so.)-128 3828 y(Le)o(xically-scoped)e
(type)h(v)n(ariables)h(are)g(enabled)f(by)h Ft(-XScopedTypeVariables)p
FA(.)h(This)g(\003ag)f(implies)g Ft(-XRelaxedPolyRec)p
FA(.)-128 3977 y(Note:)27 b(GHC)22 b(6.6)e(contains)g(substantial)h
(changes)f(to)h(the)g(w)o(ay)g(that)g(scoped)f(type)h(v)n(ariables)f(w)
o(ork,)g(compared)f(to)i(earlier)g(releases.)27 b(Read)21
b(this)-128 4077 y(section)f(carefully!)-128 4211 y
SDict begin H.S end
-128
4211 a -128 4211 a
SDict begin 12 H.A end
-128 4211 a -128 4211 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.6.1) cvn H.B /DEST pdfmark end
-128 4211
a Black 131 x Fx(7.8.6.1)p Black 73 w(Over)q(vie)o(w)-128
4545 y FA(The)g(design)g(follo)n(ws)g(the)g(follo)n(wing)e(principles)p
Black -128 4761 a(\225)p Black 42 w(A)j(scoped)e(type)h(v)n(ariable)f
(stands)h(for)g(a)g(type)g Fq(variable)p FA(,)f(and)h(not)g(for)f(a)i
Fq(type)p FA(.)k(\(This)20 b(is)h(a)f(change)f(from)g(GHC')-5
b(s)22 b(earlier)e(design.\))p Black -128 4927 a(\225)p
Black 42 w(Furthermore,)i(distinct)i(le)o(xical)g(type)g(v)n(ariables)f
(stand)h(for)f(distinct)h(type)g(v)n(ariables.)36 b(This)24
b(means)f(that)i(e)n(v)o(ery)d(programmer)n(-written)e(type)-57
5027 y(signature)j(\(including)f(one)h(that)h(contains)g(free)f(scoped)
h(type)f(v)n(ariables\))g(denotes)g(a)i Fq(rigid)h FA(type;)f(that)g
(is,)g(the)f(type)g(is)h(fully)e(kno)n(wn)g(to)h(the)-57
5127 y(type)c(check)o(er)m(,)e(and)i(no)g(inference)e(is)j(in)m(v)n
(olv)o(ed.)p Black -128 5293 a(\225)p Black 42 w(Le)o(xical)f(type)f(v)
n(ariables)h(may)f(be)h(alpha-renamed)e(freely)-5 b(,)18
b(without)i(changing)e(the)i(program.)-128 5509 y(A)h
Fq(le)n(xically)g(scoped)e(type)h(variable)f FA(can)h(be)g(bound)f(by:)
p Black -128 5724 a(\225)p Black 42 w(A)i(declaration)d(type)i
(signature)f(\(Section)p 1 0 0 TeXcolorrgb 1200 5725
a
SDict begin H.S end
1200 5725 a 1 0 0 TeXcolorrgb -1 x FA(7.8.6.2)p 1 0 0
TeXcolorrgb 1428 5668 a
SDict begin H.R end
1428 5668 a 1428 5724 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.8.6.2) cvn H.B /ANN pdfmark end
1428
5724 a Black FA(\))p Black -128 6084 4252 5 v Black eop
end
%%Page: 166 181
TeXDict begin 166 180 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.166) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(166)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(An)g(e)o(xpression)f(type)h(signature)f(\(Section)p
1 0 0 TeXcolorrgb 1226 174 a
SDict begin H.S end
1226 174 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.6.3)p 1 0 0 TeXcolorrgb 1454 117 a
SDict begin H.R end
1454 117
a 1454 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.8.6.3) cvn H.B /ANN pdfmark end
1454 173 a Black FA(\))p Black -128 339
a(\225)p Black 42 w(A)i(pattern)e(type)h(signature)f(\(Section)p
1 0 0 TeXcolorrgb 1061 340 a
SDict begin H.S end
1061 340 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.6.4)p 1 0 0 TeXcolorrgb 1290 283 a
SDict begin H.R end
1290 283
a 1290 339 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.8.6.4) cvn H.B /ANN pdfmark end
1290 339 a Black FA(\))p Black -128 505
a(\225)p Black 42 w(Class)j(and)d(instance)h(declarations)f(\(Section)p
1 0 0 TeXcolorrgb 1296 506 a
SDict begin H.S end
1296 506 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.6.5)p 1 0 0 TeXcolorrgb 1525 449 a
SDict begin H.R end
1525 449
a 1525 505 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.8.6.5) cvn H.B /ANN pdfmark end
1525 505 a Black FA(\))-128 721 y(In)i(Hask)o(ell,)g(a)g
(programmer)n(-written)c(type)j(signature)g(is)i(implicitly)e
(quanti\002ed)g(o)o(v)o(er)f(its)j(free)e(type)g(v)n(ariables)g(\()p
0 1 0 0 TeXcolorcmyk 3201 722 a
SDict begin H.S end
3201 722 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Section)g(4.1.2)p 0 1 0 0 TeXcolorcmyk 3637 665
a
SDict begin H.R end
3637 665 a 3637 721 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/decls.html#sect4.1.2) >> /Subtype /Link H.B /ANN pdfmark end
3637 721 a Black 21 w FA(of)h(the)g(Hask)o(ell)
-128 821 y(Report\).)32 b(Le)o(xically)21 b(scoped)h(type)g(v)n
(ariables)f(af)n(fect)h(this)h(implicit)g(quanti\002cation)e(rules)h
(as)h(follo)n(ws:)30 b(an)o(y)22 b(type)g(v)n(ariable)f(that)i(is)g(in)
g(scope)f(is)-128 920 y Fq(not)g FA(uni)n(v)o(ersally)c(quanti\002ed.)
24 b(F)o(or)c(e)o(xample,)e(if)j(type)e(v)n(ariable)g
Ft(a)i FA(is)g(in)f(scope,)g(then)-128 988 y
SDict begin H.S end
-128 988
a -128 988 a
SDict begin 12 H.A end
-128 988 a -128 988 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-459) cvn H.B /DEST pdfmark end
-128 988 a 0.95 TeXcolorgray
-153 1003 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1095 25 92
v Black 0.95 TeXcolorgray -128 1095 4252 92 v Black 0.95
TeXcolorgray 4124 1095 25 92 v Black 0.95 TeXcolorgray
Black -128 1067 a
SDict begin H.S end
-128 1067 a -128 1067 a
SDict begin 11 H.A end
-128 1067 a
-128 1067 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-459.1) cvn H.B /DEST pdfmark end
-128 1067 a 90 w Fo(\()p 0 0 0 TeXcolorrgb(e)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black(\))p 0 0 0 TeXcolorrgb
224 w(means)p Black 223 w(\()p 0 0 0 TeXcolorrgb(e)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 45 w(a)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1186 25 92 v Black 0.95
TeXcolorgray -128 1186 4252 92 v Black 0.95 TeXcolorgray
4124 1186 25 92 v Black 0.95 TeXcolorgray Black -128
1159 a
SDict begin H.S end
-128 1159 a -128 1159 a
SDict begin 11 H.A end
-128 1159 a -128 1159
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-459.2) cvn H.B /DEST pdfmark end
-128 1159 a 90 w Fo(\()p 0 0 0 TeXcolorrgb(e)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black(\))p 0 0 0 TeXcolorrgb
224 w(means)p Black 223 w(\()p 0 0 0 TeXcolorrgb(e)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black(.)p 0 0 0 TeXcolorrgb
45 w(b)p Black(->)p 0 0 0 TeXcolorrgb -1 w(b)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1277 25
92 v Black 0.95 TeXcolorgray -128 1277 4252 92 v Black
0.95 TeXcolorgray 4124 1277 25 92 v Black 0.95 TeXcolorgray
Black -128 1250 a
SDict begin H.S end
-128 1250 a -128 1250 a
SDict begin 11 H.A end
-128 1250 a
-128 1250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-459.3) cvn H.B /DEST pdfmark end
-128 1250 a 90 w Fo(\()p 0 0 0 TeXcolorrgb(e)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black(\))p 0 0 0 TeXcolorrgb
224 w(means)p Black 223 w(\()p 0 0 0 TeXcolorrgb(e)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(b)p Black(.)p 0 0 0 TeXcolorrgb
45 w(a)p Black(->)p 0 0 0 TeXcolorrgb -1 w(b)p Black(\))p
0.95 TeXcolorgray -153 1302 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1468 a
SDict begin H.S end
-128 1468 a -128 1468 a
SDict begin 12 H.A end
-128 1468 a -128 1468 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.6.2) cvn H.B /DEST pdfmark end
-128 1468 a Black 125 x Fx(7.8.6.2)p
Black 73 w(Dec)o(laration)d(type)i(signatures)-128 1676
y
SDict begin H.S end
-128 1676 a -128 1676 a
SDict begin 12 H.A end
-128 1676 a -128 1676 a
SDict begin [ /View [/XYZ H.V] /Dest (decl-type-sigs) cvn H.B /DEST pdfmark end
-128
1676 a 120 x FA(A)31 b(declaration)e(type)h(signature)f(that)i(has)f
Fq(e)n(xplicit)i FA(quanti\002cation)d(\(using)g Ft(forall)p
FA(\))h(brings)f(into)h(scope)g(the)g(e)o(xplicitly-quanti\002ed)d
(type)-128 1895 y(v)n(ariables,)20 b(in)g(the)g(de\002nition)f(of)h
(the)g(named)f(function.)24 b(F)o(or)19 b(e)o(xample:)-128
1963 y
SDict begin H.S end
-128 1963 a -128 1963 a
SDict begin 12 H.A end
-128 1963 a -128 1963
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-460) cvn H.B /DEST pdfmark end
-128 1963 a 0.95 TeXcolorgray -153 1978 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2070 25 92 v Black 0.95 TeXcolorgray
-128 2070 4252 92 v Black 0.95 TeXcolorgray 4124 2070
25 92 v Black 0.95 TeXcolorgray Black -128 2042 a
SDict begin H.S end
-128
2042 a -128 2042 a
SDict begin 11 H.A end
-128 2042 a -128 2042 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-460.1) cvn H.B /DEST pdfmark end
-128 2042
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black(.)45 b([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])g(->)f([)p
0 0 0 TeXcolorrgb(a)p Black(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2161 25 92 v Black 0.95 TeXcolorgray
-128 2161 4252 92 v Black 0.95 TeXcolorgray 4124 2161
25 92 v Black 0.95 TeXcolorgray Black -128 2134 a
SDict begin H.S end
-128
2134 a -128 2134 a
SDict begin 11 H.A end
-128 2134 a -128 2134 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-460.2) cvn H.B /DEST pdfmark end
-128 2134
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(\()p 0 0 0
TeXcolorrgb(x)p Black -1 w(:)p 0 0 0 TeXcolorrgb(xs)p
Black(\))h(=)p 0 0 0 TeXcolorrgb 44 w(xs)p Black 45 w(++)f([)p
0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(])p 0.95 TeXcolorgray -153 2186 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 2360
a FA(The)20 b(")p Ft(forall)49 b(a)p FA(")20 b(brings)g(")p
Ft(a)p FA(")g(into)g(scope)g(in)g(the)g(de\002nition)f(of)h(")p
Ft(f)p FA(".)-128 2510 y(This)h(only)e(happens)g(if:)p
Black -128 2726 a(\225)p Black 42 w(The)h(quanti\002cation)e(in)j
Ft(f)p FA(')-5 b(s)21 b(type)e(signature)g(is)i(e)o(xplicit.)k(F)o(or)
20 b(e)o(xample:)-128 2793 y
SDict begin H.S end
-128 2793 a -128 2793 a
SDict begin 12 H.A end
-128 2793 a -128 2793 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-461) cvn H.B /DEST pdfmark end
-128 2793 a 0.95 TeXcolorgray
-82 2809 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2900 25 92 v
Black 0.95 TeXcolorgray -57 2900 4182 92 v Black 0.95
TeXcolorgray 4124 2900 25 92 v Black 0.95 TeXcolorgray
Black -57 2873 a
SDict begin H.S end
-57 2873 a -57 2873 a
SDict begin 11 H.A end
-57 2873 a -57
2873 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-461.1) cvn H.B /DEST pdfmark end
-57 2873 a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black
44 w(::)45 b([)p 0 0 0 TeXcolorrgb(a)p Black(])f(->)h([)p
0 0 0 TeXcolorrgb -1 w(a)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 2991 25 92 v Black 0.95 TeXcolorgray
-57 2991 4182 92 v Black 0.95 TeXcolorgray 4124 2991
25 92 v Black 0.95 TeXcolorgray Black -57 2964 a
SDict begin H.S end
-57
2964 a -57 2964 a
SDict begin 11 H.A end
-57 2964 a -57 2964 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-461.2) cvn H.B /DEST pdfmark end
-57 2964 a 0 0 0
TeXcolorrgb 90 w Fo(g)p Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p
Black(:)p 0 0 0 TeXcolorrgb(xs)p Black(\))f(=)p 0 0 0
TeXcolorrgb 45 w(xs)p Black 44 w(++)h([)p 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(])p 0.95 TeXcolorgray -82 3016 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 3174 a FA(This)26
b(program)e(will)i(be)g(rejected,)g(because)f(")p Ft(a)p
FA(")h(does)g(not)f(scope)g(o)o(v)o(er)g(the)h(de\002nition)e(of)i(")p
Ft(f)p FA(",)h(so)f(")p Ft(x::a)p FA(")f(means)h(")p
Ft(x::forall)48 b(a.)-57 3274 y(a)p FA(")20 b(by)g(Hask)o(ell')-5
b(s)21 b(usual)f(implicit)g(quanti\002cation)f(rules.)p
Black -128 3440 a(\225)p Black 42 w(The)h(signature)f(gi)n(v)o(es)h(a)g
(type)g(for)g(a)g(function)f(binding)f(or)i(a)h(bare)e(v)n(ariable)g
(binding,)g(not)g(a)i(pattern)e(binding.)24 b(F)o(or)19
b(e)o(xample:)-128 3507 y
SDict begin H.S end
-128 3507 a -128 3507 a
SDict begin 12 H.A end
-128
3507 a -128 3507 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-462) cvn H.B /DEST pdfmark end
-128 3507 a 0.95 TeXcolorgray -82
3523 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3614 25 92 v Black 0.95 TeXcolorgray
-57 3614 4182 92 v Black 0.95 TeXcolorgray 4124 3614
25 92 v Black 0.95 TeXcolorgray Black -57 3587 a
SDict begin H.S end
-57
3587 a -57 3587 a
SDict begin 11 H.A end
-57 3587 a -57 3587 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.1) cvn H.B /DEST pdfmark end
-57 3587 a 0 0 0
TeXcolorrgb 90 w Fo(f1)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)45
b([)p 0 0 0 TeXcolorrgb(a)p Black(])f(->)h([)p 0 0 0
TeXcolorrgb(a)p Black -1 w(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3705 25 92 v Black 0.95 TeXcolorgray
-57 3705 4182 92 v Black 0.95 TeXcolorgray 4124 3705
25 92 v Black 0.95 TeXcolorgray Black -57 3678 a
SDict begin H.S end
-57
3678 a -57 3678 a
SDict begin 11 H.A end
-57 3678 a -57 3678 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.2) cvn H.B /DEST pdfmark end
-57 3678 a 0 0 0
TeXcolorrgb 90 w Fo(f1)p Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p
Black(:)p 0 0 0 TeXcolorrgb(xs)p Black -1 w(\))g(=)p
0 0 0 TeXcolorrgb 45 w(xs)p Black 44 w(++)g([)p 0 0 0
TeXcolorrgb 44 w(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(])134 b(--)p 0 0 0 TeXcolorrgb 45
w(OK)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3797 25 92 v Black 0.95 TeXcolorgray -57 3797 4182
92 v Black 0.95 TeXcolorgray 4124 3797 25 92 v Black
0.95 TeXcolorgray Black -57 3769 a
SDict begin H.S end
-57 3769 a -57 3769
a
SDict begin 11 H.A end
-57 3769 a -57 3769 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.3) cvn H.B /DEST pdfmark end
-57 3769 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3888 25 92 v Black 0.95 TeXcolorgray
-57 3888 4182 92 v Black 0.95 TeXcolorgray 4124 3888
25 92 v Black 0.95 TeXcolorgray Black -57 3861 a
SDict begin H.S end
-57
3861 a -57 3861 a
SDict begin 11 H.A end
-57 3861 a -57 3861 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.4) cvn H.B /DEST pdfmark end
-57 3861 a 0 0 0
TeXcolorrgb 90 w Fo(f2)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(forall)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)45
b([)p 0 0 0 TeXcolorrgb(a)p Black(])f(->)h([)p 0 0 0
TeXcolorrgb(a)p Black -1 w(])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3979 25 92 v Black 0.95 TeXcolorgray
-57 3979 4182 92 v Black 0.95 TeXcolorgray 4124 3979
25 92 v Black 0.95 TeXcolorgray Black -57 3952 a
SDict begin H.S end
-57
3952 a -57 3952 a
SDict begin 11 H.A end
-57 3952 a -57 3952 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.5) cvn H.B /DEST pdfmark end
-57 3952 a 0 0 0
TeXcolorrgb 90 w Fo(f2)p Black 44 w(=)g(\\\()p 0 0 0
TeXcolorrgb(x)p Black -1 w(:)p 0 0 0 TeXcolorrgb(xs)p
Black(\))f(->)p 0 0 0 TeXcolorrgb 45 w(xs)p Black 44
w(++)h([)p 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(])135 b(--)p 0 0 0
TeXcolorrgb 44 w(OK)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4071 25 92 v Black 0.95 TeXcolorgray
-57 4071 4182 92 v Black 0.95 TeXcolorgray 4124 4071
25 92 v Black 0.95 TeXcolorgray Black -57 4043 a
SDict begin H.S end
-57
4043 a -57 4043 a
SDict begin 11 H.A end
-57 4043 a -57 4043 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.6) cvn H.B /DEST pdfmark end
-57 4043 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4162 25 92 v
Black 0.95 TeXcolorgray -57 4162 4182 92 v Black 0.95
TeXcolorgray 4124 4162 25 92 v Black 0.95 TeXcolorgray
Black -57 4135 a
SDict begin H.S end
-57 4135 a -57 4135 a
SDict begin 11 H.A end
-57 4135 a -57
4135 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.7) cvn H.B /DEST pdfmark end
-57 4135 a 0 0 0 TeXcolorrgb 90 w Fo(f3)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0
TeXcolorrgb 43 w(a)p Black(.)45 b([)p 0 0 0 TeXcolorrgb(a)p
Black(])f(->)h([)p 0 0 0 TeXcolorrgb(a)p Black -1 w(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4253 25
92 v Black 0.95 TeXcolorgray -57 4253 4182 92 v Black
0.95 TeXcolorgray 4124 4253 25 92 v Black 0.95 TeXcolorgray
Black -57 4226 a
SDict begin H.S end
-57 4226 a -57 4226 a
SDict begin 11 H.A end
-57 4226 a -57
4226 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-462.8) cvn H.B /DEST pdfmark end
-57 4226 a 0 0 0 TeXcolorrgb 90 w Fo(Just)p Black
0 0 0 TeXcolorrgb 44 w(f3)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(Just)p Black 44 w(\(\\\()p 0 0 0 TeXcolorrgb(x)p
Black -1 w(:)p 0 0 0 TeXcolorrgb(xs)p Black(\))g(->)p
0 0 0 TeXcolorrgb 44 w(xs)p Black 45 w(++)f([)p 0 0 0
TeXcolorrgb 45 w(x)p Black 44 w(::)p 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(]\))134 b(--)p 0 0 0 TeXcolorrgb
44 w(Not)p Black 0 0 0 TeXcolorrgb 45 w(OK)p Black -1
w(!)p 0.95 TeXcolorgray -82 4278 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 4436 a FA(The)28 b(binding)f(for)h
Ft(f3)h FA(is)h(a)f(pattern)e(binding,)i(and)f(so)h(its)h(type)e
(signature)g(does)g(not)g(bring)g Ft(a)h FA(into)f(scope.)50
b(Ho)n(we)n(v)o(er)27 b Ft(f1)i FA(is)h(a)f(function)-57
4536 y(binding,)18 b(and)i Ft(f2)g FA(binds)g(a)h(bare)e(v)n(ariable;)g
(in)i(both)e(cases)i(the)f(type)g(signature)f(brings)g
Ft(a)i FA(into)f(scope.)-128 4670 y
SDict begin H.S end
-128 4670 a -128
4670 a
SDict begin 12 H.A end
-128 4670 a -128 4670 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.6.3) cvn H.B /DEST pdfmark end
-128 4670 a Black 131
x Fx(7.8.6.3)p Black 73 w(Expression)d(type)j(signatures)-128
4885 y
SDict begin H.S end
-128 4885 a -128 4885 a
SDict begin 12 H.A end
-128 4885 a -128 4885
a
SDict begin [ /View [/XYZ H.V] /Dest (exp-type-sigs) cvn H.B /DEST pdfmark end
-128 4885 a 119 x FA(An)29 b(e)o(xpression)e(type)h(signature)g(that)
g(has)h Fq(e)n(xplicit)h FA(quanti\002cation)d(\(using)h
Ft(forall)p FA(\))f(brings)h(into)g(scope)h(the)f(e)o
(xplicitly-quanti\002ed)d(type)-128 5104 y(v)n(ariables,)20
b(in)g(the)g(annotated)f(e)o(xpression.)k(F)o(or)d(e)o(xample:)-128
5172 y
SDict begin H.S end
-128 5172 a -128 5172 a
SDict begin 12 H.A end
-128 5172 a -128 5172
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-463) cvn H.B /DEST pdfmark end
-128 5172 a 0.95 TeXcolorgray -153 5187 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5278 25 92 v Black 0.95 TeXcolorgray
-128 5278 4252 92 v Black 0.95 TeXcolorgray 4124 5278
25 92 v Black 0.95 TeXcolorgray Black -128 5251 a
SDict begin H.S end
-128
5251 a -128 5251 a
SDict begin 11 H.A end
-128 5251 a -128 5251 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-463.1) cvn H.B /DEST pdfmark end
-128 5251
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(runST)p Black 44 w(\()45 b(\()p 0 0 0
TeXcolorrgb(op)p Black 44 w(>>=)g(\\\()p 0 0 0 TeXcolorrgb
-1 w(x)p Black 45 w(::)p 0 0 0 TeXcolorrgb 45 w(STRef)p
Black 0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black(\))f(->)p 0 0 0 TeXcolorrgb 45 w(g)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black -1 w(\))h(::)p
0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0 TeXcolorrgb
43 w(s)p Black(.)p 0 0 0 TeXcolorrgb 45 w(ST)p Black
0 0 0 TeXcolorrgb 44 w(s)p Black 0 0 0 TeXcolorrgb 45
w(Bool)p Black 44 w(\))p 0.95 TeXcolorgray -153 5303
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5477 a FA(Here,)27 b(the)f(type)g(signature)f Ft(forall)48
b(a.)100 b(ST)49 b(s)h(Bool)25 b FA(brings)g(the)h(type)g(v)n(ariable)f
Ft(s)h FA(into)g(scope,)g(in)g(the)g(annotated)f(e)o(xpression)f
Ft(\(op)-128 5577 y(>>=)50 b(\\\(x)f(::)99 b(STRef)49
b(s)h(Int\))f(->)g(g)h(x\))p FA(.)p Black -128 6084 4252
5 v Black eop end
%%Page: 167 182
TeXDict begin 167 181 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.167) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(167)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.6.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fx(7.8.6.4)p
Black 73 w(P)n(attern)f(type)g(signatures)-128 257 y
SDict begin H.S end
-128 257 a -128 257 a
SDict begin 12 H.A end
-128 257 a -128 257 a
SDict begin [ /View [/XYZ H.V] /Dest (pattern-type-sigs) cvn H.B /DEST pdfmark end
-128 257
a 113 x FA(A)i(type)f(signature)f(may)h(occur)f(in)h(an)o(y)g(pattern;)
f(this)i(is)g(a)f Fq(pattern)g(type)g(signatur)m(e)p
FA(.)k(F)o(or)c(e)o(xample:)-128 431 y
SDict begin H.S end
-128 431 a -128
431 a
SDict begin 12 H.A end
-128 431 a -128 431 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-464) cvn H.B /DEST pdfmark end
-128 431 a 0.95 TeXcolorgray
-153 446 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 538 25 92 v
Black 0.95 TeXcolorgray -128 538 4252 92 v Black 0.95
TeXcolorgray 4124 538 25 92 v Black 0.95 TeXcolorgray
Black -128 510 a
SDict begin H.S end
-128 510 a -128 510 a
SDict begin 11 H.A end
-128 510 a -128
510 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-464.1) cvn H.B /DEST pdfmark end
-128 510 a 90 w Fo(--)p 0 0 0 TeXcolorrgb 45 w(f)p
Black 0 0 0 TeXcolorrgb 44 w(and)p Black 0 0 0 TeXcolorrgb
45 w(g)p Black 0 0 0 TeXcolorrgb 44 w(assume)p Black
0 0 0 TeXcolorrgb 44 w(that)p Black 44 w(')p 0 0 0 TeXcolorrgb(a)p
Black(')p 0 0 0 TeXcolorrgb 45 w(is)p Black 0 0 0 TeXcolorrgb
44 w(already)p Black 0 0 0 TeXcolorrgb 44 w(in)p Black
0 0 0 TeXcolorrgb 44 w(scope)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 629 25 92 v Black 0.95 TeXcolorgray
-128 629 4252 92 v Black 0.95 TeXcolorgray 4124 629 25
92 v Black 0.95 TeXcolorgray Black -128 602 a
SDict begin H.S end
-128 602
a -128 602 a
SDict begin 11 H.A end
-128 602 a -128 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-464.2) cvn H.B /DEST pdfmark end
-128 602 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(=)44 b(\\\()p 0 0 0 TeXcolorrgb(x)p
Black(::)p 0 0 0 TeXcolorrgb(Int)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(y)p Black(::)p 0 0 0 TeXcolorrgb -1
w(a)p Black(\))h(->)p 0 0 0 TeXcolorrgb 44 w(x)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 720 25
92 v Black 0.95 TeXcolorgray -128 720 4252 92 v Black
0.95 TeXcolorgray 4124 720 25 92 v Black 0.95 TeXcolorgray
Black -128 693 a
SDict begin H.S end
-128 693 a -128 693 a
SDict begin 11 H.A end
-128 693 a -128
693 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-464.3) cvn H.B /DEST pdfmark end
-128 693 a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black
45 w(\()p 0 0 0 TeXcolorrgb(x)p Black -1 w(::)p 0 0 0
TeXcolorrgb(a)p Black(\))g(=)p 0 0 0 TeXcolorrgb 44 w(x)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
812 25 92 v Black 0.95 TeXcolorgray -128 812 4252 92
v Black 0.95 TeXcolorgray 4124 812 25 92 v Black 0.95
TeXcolorgray Black -128 784 a
SDict begin H.S end
-128 784 a -128 784 a
SDict begin 11 H.A end
-128
784 a -128 784 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-464.4) cvn H.B /DEST pdfmark end
-128 784 a 0 0 0 TeXcolorrgb 90 w Fo(h)p
Black 45 w(\(\()p 0 0 0 TeXcolorrgb -1 w(x)p Black(,)p
0 0 0 TeXcolorrgb(y)p Black(\))g(::)f(\()p 0 0 0 TeXcolorrgb(Int)p
Black -1 w(,)p 0 0 0 TeXcolorrgb(Bool)p Black(\))o(\))h(=)g(\()p
0 0 0 TeXcolorrgb(y)p Black -1 w(,)p 0 0 0 TeXcolorrgb(x)p
Black(\))p 0.95 TeXcolorgray -153 837 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 998 a FA(In)23
b(the)h(case)g(where)e(all)i(the)f(type)g(v)n(ariables)g(in)g(the)h
(pattern)e(type)h(signature)f(are)h(already)g(in)g(scope)g(\(i.e.)34
b(bound)22 b(by)g(the)i(enclosing)e(conte)o(xt\),)-128
1098 y(matters)f(are)f(simple:)25 b(the)20 b(signature)f(simply)h
(constrains)g(the)g(type)f(of)h(the)h(pattern)e(in)h(the)g(ob)o(vious)f
(w)o(ay)-5 b(.)-128 1241 y(Unlik)o(e)19 b(e)o(xpression)f(and)h
(declaration)f(type)g(signatures,)h(pattern)f(type)h(signatures)g(are)g
(not)g(implicitly)g(generalised.)k(The)c(pattern)f(in)i(a)g
Fq(pattern)-128 1340 y(binding)f FA(may)h(only)f(mention)g(type)h(v)n
(ariables)f(that)h(are)g(already)f(in)i(scope.)j(F)o(or)c(e)o(xample:)
-128 1402 y
SDict begin H.S end
-128 1402 a -128 1402 a
SDict begin 12 H.A end
-128 1402 a -128
1402 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-465) cvn H.B /DEST pdfmark end
-128 1402 a 0.95 TeXcolorgray -153 1417 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1508 25 92 v Black 0.95 TeXcolorgray
-128 1508 4252 92 v Black 0.95 TeXcolorgray 4124 1508
25 92 v Black 0.95 TeXcolorgray Black -128 1481 a
SDict begin H.S end
-128
1481 a -128 1481 a
SDict begin 11 H.A end
-128 1481 a -128 1481 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.1) cvn H.B /DEST pdfmark end
-128 1481
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(forall)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black(.)45 b([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])g(->)f(\()p
0 0 0 TeXcolorrgb(Int)p Black(,)g([)p 0 0 0 TeXcolorrgb(a)p
Black(]\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1600 25 92 v Black 0.95 TeXcolorgray -128 1600 4252
92 v Black 0.95 TeXcolorgray 4124 1600 25 92 v Black
0.95 TeXcolorgray Black -128 1572 a
SDict begin H.S end
-128 1572 a -128
1572 a
SDict begin 11 H.A end
-128 1572 a -128 1572 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.2) cvn H.B /DEST pdfmark end
-128 1572 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(xs)p Black 44
w(=)h(\()p 0 0 0 TeXcolorrgb(n)p Black(,)p 0 0 0 TeXcolorrgb
44 w(zs)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1691 25 92 v Black 0.95 TeXcolorgray -128 1691 4252
92 v Black 0.95 TeXcolorgray 4124 1691 25 92 v Black
0.95 TeXcolorgray Black -128 1664 a
SDict begin H.S end
-128 1664 a -128
1664 a
SDict begin 11 H.A end
-128 1664 a -128 1664 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.3) cvn H.B /DEST pdfmark end
-128 1664 a 0 0 0 TeXcolorrgb
180 w Fo(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1782 25 92 v Black 0.95 TeXcolorgray -128 1782 4252
92 v Black 0.95 TeXcolorgray 4124 1782 25 92 v Black
0.95 TeXcolorgray Black -128 1755 a
SDict begin H.S end
-128 1755 a -128
1755 a
SDict begin 11 H.A end
-128 1755 a -128 1755 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.4) cvn H.B /DEST pdfmark end
-128 1755 a 269 w Fo(\()p
0 0 0 TeXcolorrgb(ys)p Black(::[)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(],)p 0 0 0 TeXcolorrgb 45 w(n)p Black(\))f(=)h(\()p
0 0 0 TeXcolorrgb(reverse)p Black 0 0 0 TeXcolorrgb 43
w(xs)p Black(,)p 0 0 0 TeXcolorrgb 45 w(length)p Black
0 0 0 TeXcolorrgb 44 w(xs)p Black -1 w(\))g(--)p 0 0 0
TeXcolorrgb 44 w(OK)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1874 25 92 v Black 0.95 TeXcolorgray
-128 1874 4252 92 v Black 0.95 TeXcolorgray 4124 1874
25 92 v Black 0.95 TeXcolorgray Black -128 1846 a
SDict begin H.S end
-128
1846 a -128 1846 a
SDict begin 11 H.A end
-128 1846 a -128 1846 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.5) cvn H.B /DEST pdfmark end
-128 1846
a 0 0 0 TeXcolorrgb 269 w Fo(zs)p Black(::[)p 0 0 0 TeXcolorrgb(a)p
Black -1 w(])g(=)p 0 0 0 TeXcolorrgb 45 w(xs)p Black
44 w(++)p 0 0 0 TeXcolorrgb 45 w(ys)p Black 941 w(--)p
0 0 0 TeXcolorrgb 44 w(OK)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1965 25 92 v Black 0.95 TeXcolorgray
-128 1965 4252 92 v Black 0.95 TeXcolorgray 4124 1965
25 92 v Black 0.95 TeXcolorgray Black -128 1938 a
SDict begin H.S end
-128
1938 a -128 1938 a
SDict begin 11 H.A end
-128 1938 a -128 1938 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.6) cvn H.B /DEST pdfmark end
-128 1938
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2056
25 92 v Black 0.95 TeXcolorgray -128 2056 4252 92 v Black
0.95 TeXcolorgray 4124 2056 25 92 v Black 0.95 TeXcolorgray
Black -128 2029 a
SDict begin H.S end
-128 2029 a -128 2029 a
SDict begin 11 H.A end
-128 2029 a
-128 2029 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-465.7) cvn H.B /DEST pdfmark end
-128 2029 a 0 0 0 TeXcolorrgb 269 w Fo(Just)p
Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(v)p Black(::)p
0 0 0 TeXcolorrgb(b)p Black(\))f(=)h(...)89 b(--)p 0 0 0
TeXcolorrgb 45 w(Not)p Black 0 0 0 TeXcolorrgb 44 w(OK)p
Black(;)p 0 0 0 TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb
45 w(is)p Black 0 0 0 TeXcolorrgb 45 w(not)p Black 0 0 0
TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 44 w(scope)p
Black 0.95 TeXcolorgray -153 2081 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2243 a FA(Here,)20
b(the)g(pattern)g(signatures)f(for)h Ft(ys)g FA(and)g
Ft(zs)g FA(are)g(\002ne,)g(b)n(ut)h(the)f(one)f(for)h
Ft(v)g FA(is)i(not)d(because)h Ft(b)h FA(is)g(not)f(in)g(scope.)-128
2386 y(Ho)n(we)n(v)o(er)m(,)f(in)i(all)g(patterns)f Fq(other)i
FA(than)e(pattern)g(bindings,)f(a)i(pattern)f(type)g(signature)f(may)h
(mention)g(a)h(type)f(v)n(ariable)f(that)i(is)g(not)g(in)f(scope;)h(in)
-128 2485 y(this)j(case,)f Fq(the)g(signatur)m(e)e(brings)i(that)f
(type)g(variable)g(into)g(scope)p FA(.)32 b(This)23 b(is)g
(particularly)e(important)g(for)h(e)o(xistential)g(data)h
(constructors.)30 b(F)o(or)-128 2585 y(e)o(xample:)-128
2646 y
SDict begin H.S end
-128 2646 a -128 2646 a
SDict begin 12 H.A end
-128 2646 a -128 2646
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-466) cvn H.B /DEST pdfmark end
-128 2646 a 0.95 TeXcolorgray -153 2662 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2753 25 92 v Black 0.95 TeXcolorgray
-128 2753 4252 92 v Black 0.95 TeXcolorgray 4124 2753
25 92 v Black 0.95 TeXcolorgray Black -128 2725 a
SDict begin H.S end
-128
2725 a -128 2725 a
SDict begin 11 H.A end
-128 2725 a -128 2725 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-466.1) cvn H.B /DEST pdfmark end
-128 2725
a 0 0 0 TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb
44 w(T)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(forall)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black(.)p 0 0 0 TeXcolorrgb
45 w(MkT)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2844 25
92 v Black 0.95 TeXcolorgray -128 2844 4252 92 v Black
0.95 TeXcolorgray 4124 2844 25 92 v Black 0.95 TeXcolorgray
Black -128 2817 a
SDict begin H.S end
-128 2817 a -128 2817 a
SDict begin 11 H.A end
-128 2817 a
-128 2817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-466.2) cvn H.B /DEST pdfmark end
-128 2817 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2935 25 92 v Black 0.95 TeXcolorgray
-128 2935 4252 92 v Black 0.95 TeXcolorgray 4124 2935
25 92 v Black 0.95 TeXcolorgray Black -128 2908 a
SDict begin H.S end
-128
2908 a -128 2908 a
SDict begin 11 H.A end
-128 2908 a -128 2908 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-466.3) cvn H.B /DEST pdfmark end
-128 2908
a 0 0 0 TeXcolorrgb 90 w Fo(k)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(T)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(T)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3027 25 92 v Black 0.95 TeXcolorgray -128 3027 4252
92 v Black 0.95 TeXcolorgray 4124 3027 25 92 v Black
0.95 TeXcolorgray Black -128 2999 a
SDict begin H.S end
-128 2999 a -128
2999 a
SDict begin 11 H.A end
-128 2999 a -128 2999 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-466.4) cvn H.B /DEST pdfmark end
-128 2999 a 0 0 0 TeXcolorrgb
90 w Fo(k)p Black 45 w(\()p 0 0 0 TeXcolorrgb(MkT)p Black
44 w([)p 0 0 0 TeXcolorrgb(t)p Black(::)p 0 0 0 TeXcolorrgb
-1 w(a)p Black(]\))45 b(=)p 0 0 0 TeXcolorrgb 44 w(MkT)p
Black 0 0 0 TeXcolorrgb 45 w(t3)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3118 25 92 v Black 0.95
TeXcolorgray -128 3118 4252 92 v Black 0.95 TeXcolorgray
4124 3118 25 92 v Black 0.95 TeXcolorgray Black -128
3091 a
SDict begin H.S end
-128 3091 a -128 3091 a
SDict begin 11 H.A end
-128 3091 a -128 3091
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-466.5) cvn H.B /DEST pdfmark end
-128 3091 a 0 0 0 TeXcolorrgb 763 w Fo(where)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3209 25
92 v Black 0.95 TeXcolorgray -128 3209 4252 92 v Black
0.95 TeXcolorgray 4124 3209 25 92 v Black 0.95 TeXcolorgray
Black -128 3182 a
SDict begin H.S end
-128 3182 a -128 3182 a
SDict begin 11 H.A end
-128 3182 a
-128 3182 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-466.6) cvn H.B /DEST pdfmark end
-128 3182 a 0 0 0 TeXcolorrgb 852 w Fo(t3)p
Black(::[)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])g(=)g([)p
0 0 0 TeXcolorrgb -1 w(t)p Black(,)p 0 0 0 TeXcolorrgb(t)p
Black(,)p 0 0 0 TeXcolorrgb(t)p Black(])p 0.95 TeXcolorgray
-153 3234 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3396 a FA(Here,)22 b(the)g(pattern)e(type)i(signature)e
Ft(\(t::a\))h FA(mentions)g(a)h(le)o(xical)f(type)g(v)n(ariable)g(that)
h(is)g(not)g(already)e(in)i(scope.)29 b(Indeed,)20 b(it)i
Fq(cannot)g FA(already)-128 3495 y(be)d(in)h(scope,)e(because)h(it)g
(is)h(bound)e(by)g(the)h(pattern)g(match.)24 b(GHC')-5
b(s)20 b(rule)f(is)h(that)f(in)g(this)h(situation)e(\(and)g(only)h
(then\),)f(a)h(pattern)f(type)h(signature)-128 3595 y(can)k(mention)f
(a)i(type)f(v)n(ariable)f(that)h(is)h(not)f(already)f(in)h(scope;)i
(the)e(ef)n(fect)f(is)i(to)g(bring)e(it)i(into)f(scope,)g(standing)f
(for)g(the)i(e)o(xistentially-bound)-128 3695 y(type)c(v)n(ariable.)
-128 3838 y(When)32 b(a)g(pattern)e(type)h(signature)g(binds)g(a)h
(type)f(v)n(ariable)f(in)i(this)g(w)o(ay)-5 b(,)34 b(GHC)e(insists)h
(that)e(the)h(type)f(v)n(ariable)f(is)j(bound)c(to)j(a)g
Fq(rigid)p FA(,)i(or)-128 3937 y(fully-kno)n(wn,)17 b(type)j(v)n
(ariable.)k(This)c(means)g(that)g(an)o(y)g(user)n(-written)f(type)h
(signature)f(al)o(w)o(ays)i(stands)f(for)f(a)i(completely)e(kno)n(wn)f
(type.)-128 4080 y(If)j(all)h(this)f(seems)h(a)f(little)h(odd,)e(we)h
(think)f(so)i(too.)k(But)c(we)f(must)g(ha)n(v)o(e)g Fq(some)g
FA(w)o(ay)g(to)g(bring)f(such)g(type)h(v)n(ariables)f(into)h(scope,)f
(else)i(we)f(could)-128 4180 y(not)f(name)g(e)o(xistentially-bound)c
(type)k(v)n(ariables)g(in)g(subsequent)f(type)g(signatures.)-128
4323 y(This)25 b(is)g(\(no)n(w\))e(the)h Fq(only)g FA(situation)g(in)g
(which)g(a)g(pattern)g(type)g(signature)f(is)i(allo)n(wed)e(to)i
(mention)e(a)h(le)o(xical)g(v)n(ariable)f(that)i(is)g(not)f(already)f
(in)-128 4423 y(scope.)i(F)o(or)20 b(e)o(xample,)e(both)i
Ft(f)g FA(and)g Ft(g)g FA(w)o(ould)g(be)g(ille)o(gal)g(if)g
Ft(a)h FA(w)o(as)g(not)f(already)f(in)h(scope.)-128 4554
y
SDict begin H.S end
-128 4554 a -128 4554 a
SDict begin 12 H.A end
-128 4554 a -128 4554 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.8.6.5) cvn H.B /DEST pdfmark end
-128
4554 a Black 125 x Fx(7.8.6.5)p Black 73 w(Class)f(and)g(instance)f
(dec)o(larations)-128 4763 y
SDict begin H.S end
-128 4763 a -128 4763 a
SDict begin 12 H.A end
-128 4763 a -128 4763 a
SDict begin [ /View [/XYZ H.V] /Dest (cls-inst-scoped-tyvars) cvn H.B /DEST pdfmark end
-128 4763 a 113 x FA(The)24 b(type)g(v)n
(ariables)f(in)h(the)g(head)f(of)h(a)g Ft(class)g FA(or)f
Ft(instance)g FA(declaration)g(scope)g(o)o(v)o(er)g(the)h(methods)f
(de\002ned)g(in)h(the)g Ft(where)f FA(part.)36 b(F)o(or)-128
4975 y(e)o(xample:)-128 5037 y
SDict begin H.S end
-128 5037 a -128 5037
a
SDict begin 12 H.A end
-128 5037 a -128 5037 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-467) cvn H.B /DEST pdfmark end
-128 5037 a 0.95 TeXcolorgray
-153 5052 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5143 25 92
v Black 0.95 TeXcolorgray -128 5143 4252 92 v Black 0.95
TeXcolorgray 4124 5143 25 92 v Black 0.95 TeXcolorgray
Black -128 5116 a
SDict begin H.S end
-128 5116 a -128 5116 a
SDict begin 11 H.A end
-128 5116 a
-128 5116 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.1) cvn H.B /DEST pdfmark end
-128 5116 a 0 0 0 TeXcolorrgb 90 w Fo(class)p
Black 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5235 25 92
v Black 0.95 TeXcolorgray -128 5235 4252 92 v Black 0.95
TeXcolorgray 4124 5235 25 92 v Black 0.95 TeXcolorgray
Black -128 5207 a
SDict begin H.S end
-128 5207 a -128 5207 a
SDict begin 11 H.A end
-128 5207 a
-128 5207 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.2) cvn H.B /DEST pdfmark end
-128 5207 a 0 0 0 TeXcolorrgb 180 w Fo(op)p
Black 44 w(::)45 b([)p 0 0 0 TeXcolorrgb(a)p Black -1
w(])g(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5326 25 92 v Black 0.95
TeXcolorgray -128 5326 4252 92 v Black 0.95 TeXcolorgray
4124 5326 25 92 v Black 0.95 TeXcolorgray Black -128
5298 a
SDict begin H.S end
-128 5298 a -128 5298 a
SDict begin 11 H.A end
-128 5298 a -128 5298
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.3) cvn H.B /DEST pdfmark end
-128 5298 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5417 25 92 v Black 0.95 TeXcolorgray -128 5417 4252
92 v Black 0.95 TeXcolorgray 4124 5417 25 92 v Black
0.95 TeXcolorgray Black -128 5390 a
SDict begin H.S end
-128 5390 a -128
5390 a
SDict begin 11 H.A end
-128 5390 a -128 5390 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.4) cvn H.B /DEST pdfmark end
-128 5390 a 0 0 0 TeXcolorrgb
180 w Fo(op)p Black 0 0 0 TeXcolorrgb 44 w(xs)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(let)p Black 0 0 0 TeXcolorrgb
45 w(ys)p Black -1 w(::[)p 0 0 0 TeXcolorrgb(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5509 25
92 v Black 0.95 TeXcolorgray -128 5509 4252 92 v Black
0.95 TeXcolorgray 4124 5509 25 92 v Black 0.95 TeXcolorgray
Black -128 5481 a
SDict begin H.S end
-128 5481 a -128 5481 a
SDict begin 11 H.A end
-128 5481 a
-128 5481 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.5) cvn H.B /DEST pdfmark end
-128 5481 a 0 0 0 TeXcolorrgb 718 w Fo(ys)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(reverse)p Black
0 0 0 TeXcolorrgb 44 w(xs)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5600 25 92 v Black 0.95 TeXcolorgray
-128 5600 4252 92 v Black 0.95 TeXcolorgray 4124 5600
25 92 v Black 0.95 TeXcolorgray Black -128 5572 a
SDict begin H.S end
-128
5572 a -128 5572 a
SDict begin 11 H.A end
-128 5572 a -128 5572 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.6) cvn H.B /DEST pdfmark end
-128 5572
a 0 0 0 TeXcolorrgb 538 w Fo(in)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5691 25 92 v Black 0.95
TeXcolorgray -128 5691 4252 92 v Black 0.95 TeXcolorgray
4124 5691 25 92 v Black 0.95 TeXcolorgray Black -128
5664 a
SDict begin H.S end
-128 5664 a -128 5664 a
SDict begin 11 H.A end
-128 5664 a -128 5664
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-467.7) cvn H.B /DEST pdfmark end
-128 5664 a 0 0 0 TeXcolorrgb 538 w Fo(head)p Black
0 0 0 TeXcolorrgb 45 w(ys)p Black 0.95 TeXcolorgray -153
5716 4302 25 v Black 0.95 TeXcolorgray Black Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 168 183
TeXDict begin 168 182 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.168) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(168)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.8.7) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.8.7)p
Black 90 w(Generalised)j(typing)h(of)g(m)n(utuall)o(y)g(recur)o(sive)f
(bindings)-128 262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a
-128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (typing-binds) cvn H.B /DEST pdfmark end
-128 262 a 107 x FA(The)30 b(Hask)o(ell)h(Report)e
(speci\002es)i(that)f(a)h(group)d(of)i(bindings)f(\(at)h(top)g(le)n(v)o
(el,)i(or)e(in)g(a)h Ft(let)f FA(or)g Ft(where)p FA(\))f(should)g(be)h
(sorted)g(into)g(strongly-)-128 468 y(connected)f(components,)i(and)g
(then)f(type-check)o(ed)e(in)j(dependenc)o(y)d(order)h(\()p
0 1 0 0 TeXcolorcmyk 2252 486 a
SDict begin H.S end
2252 486 a 0 1 0 0 TeXcolorcmyk
-18 x FA(Hask)o(ell)21 b(Report,)e(Section)h(4.5.1)p
0 1 0 0 TeXcolorcmyk 3229 412 a
SDict begin H.R end
3229 412 a 3229 468 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/decls.html#sect4.5.1) >> /Subtype /Link H.B /ANN pdfmark end
3229 468 a Black FA(\).)57 b(As)32 b(each)e(group)f(is)j(type-)-128
568 y(check)o(ed,)25 b(an)o(y)e(binders)h(of)g(the)h(group)d(that)j(ha)
n(v)o(e)f(an)h(e)o(xplicit)f(type)g(signature)f(are)i(put)f(in)g(the)h
(type)f(en)m(vironment)e(with)i(the)h(speci\002ed)f(poly-)-128
668 y(morphic)19 b(type,)g(and)h(all)h(others)e(are)i(monomorphic)16
b(until)k(the)g(group)f(is)i(generalised)e(\()p 0 1 0 0
TeXcolorcmyk 2444 686 a
SDict begin H.S end
2444 686 a 0 1 0 0 TeXcolorcmyk
-18 x FA(Hask)o(ell)h(Report,)f(Section)h(4.5.2)p 0 1 0 0
TeXcolorcmyk 3420 611 a
SDict begin H.R end
3420 611 a 3420 668 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/decls.html#sect4.5.2) >> /Subtype /Link H.B /ANN pdfmark end
3420 668
a Black FA(\).)-128 810 y(F)o(ollo)n(wing)h(a)i(suggestion)e(of)h(Mark)
f(Jones,)i(in)f(his)h(paper)p 0 1 0 0 TeXcolorcmyk 1608
828 a
SDict begin H.S end
1608 828 a 0 1 0 0 TeXcolorcmyk -18 x FA(T)-7 b(yping)19
b(Hask)o(ell)h(in)g(Hask)o(ell)p 0 1 0 0 TeXcolorcmyk
2473 753 a
SDict begin H.R end
2473 753 a 2473 810 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://citeseer.ist.psu.edu/424440.html) >> /Subtype /Link H.B /ANN pdfmark end
2473 810 a Black FA(,)j(GHC)g
(implements)e(a)i(more)e(general)g(scheme.)31 b(If)22
b Ft(--)-128 909 y(XRelaxedPolyRec)d FA(is)j(speci\002ed:)k
Fq(the)20 b(dependency)f(analysis)h(ignor)m(es)g(r)m(efer)m(ences)h(to)
g(variables)g(that)f(have)g(an)g(e)n(xplicit)h(type)g(signatur)m(e)p
FA(.)-128 1009 y(As)31 b(a)f(result)g(of)f(this)h(re\002ned)f
(dependenc)o(y)d(analysis,)32 b(the)e(dependenc)o(y)c(groups)i(are)i
(smaller)m(,)h(and)f(more)e(bindings)h(will)h(typecheck.)51
b(F)o(or)-128 1108 y(e)o(xample,)19 b(consider:)-128
1169 y
SDict begin H.S end
-128 1169 a -128 1169 a
SDict begin 12 H.A end
-128 1169 a -128 1169
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-468) cvn H.B /DEST pdfmark end
-128 1169 a 0.95 TeXcolorgray -153 1184 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1275 25 92 v Black 0.95 TeXcolorgray
-128 1275 4252 92 v Black 0.95 TeXcolorgray 4124 1275
25 92 v Black 0.95 TeXcolorgray Black -128 1248 a
SDict begin H.S end
-128
1248 a -128 1248 a
SDict begin 11 H.A end
-128 1248 a -128 1248 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-468.1) cvn H.B /DEST pdfmark end
-128 1248
a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(Eq)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1367 25 92 v Black 0.95
TeXcolorgray -128 1367 4252 92 v Black 0.95 TeXcolorgray
4124 1367 25 92 v Black 0.95 TeXcolorgray Black -128
1339 a
SDict begin H.S end
-128 1339 a -128 1339 a
SDict begin 11 H.A end
-128 1339 a -128 1339
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-468.2) cvn H.B /DEST pdfmark end
-128 1339 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 0 0 0
TeXcolorrgb 45 w(x)p Black 44 w(=)45 b(\()p 0 0 0 TeXcolorrgb(x)p
Black 45 w(==)p 0 0 0 TeXcolorrgb 44 w(x)p Black(\))g(||)p
0 0 0 TeXcolorrgb 44 w(g)p Black 0 0 0 TeXcolorrgb 45
w(True)p Black 44 w(||)p 0 0 0 TeXcolorrgb 44 w(g)p Black
45 w(")p 0 0 0 TeXcolorrgb(Yes)p Black -1 w(")p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1458 25 92
v Black 0.95 TeXcolorgray -128 1458 4252 92 v Black 0.95
TeXcolorgray 4124 1458 25 92 v Black 0.95 TeXcolorgray
Black -128 1431 a
SDict begin H.S end
-128 1431 a -128 1431 a
SDict begin 11 H.A end
-128 1431 a
-128 1431 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-468.3) cvn H.B /DEST pdfmark end
-128 1431 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1549 25 92 v Black 0.95 TeXcolorgray
-128 1549 4252 92 v Black 0.95 TeXcolorgray 4124 1549
25 92 v Black 0.95 TeXcolorgray Black -128 1522 a
SDict begin H.S end
-128
1522 a -128 1522 a
SDict begin 11 H.A end
-128 1522 a -128 1522 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-468.4) cvn H.B /DEST pdfmark end
-128 1522
a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black 44 w(=)g(\()p 0 0 0 TeXcolorrgb(y)p Black
45 w(<=)p 0 0 0 TeXcolorrgb 44 w(y)p Black(\))g(||)p
0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb 45
w(True)p Black 0.95 TeXcolorgray -153 1574 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1734 a
FA(This)28 b(is)g(rejected)f(by)g(Hask)o(ell)g(98,)i(b)n(ut)e(under)f
(Jones')-5 b(s)28 b(scheme)e(the)i(de\002nition)e(for)h
Ft(g)g FA(is)i(typecheck)o(ed)c(\002rst,)k(separately)e(from)f(that)h
(for)g Ft(f)p FA(,)-128 1833 y(because)20 b(the)g(reference)f(to)h
Ft(f)h FA(in)f Ft(g)p FA(')-5 b(s)21 b(right)e(hand)h(side)g(is)h
(ignored)e(by)g(the)i(dependenc)o(y)c(analysis.)25 b(Then)19
b Ft(g)p FA(')-5 b(s)21 b(type)f(is)h(generalised,)d(to)j(get)-128
1893 y
SDict begin H.S end
-128 1893 a -128 1893 a
SDict begin 12 H.A end
-128 1893 a -128 1893
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-469) cvn H.B /DEST pdfmark end
-128 1893 a 0.95 TeXcolorgray -153 1909 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2000 25 92 v Black 0.95 TeXcolorgray
-128 2000 4252 92 v Black 0.95 TeXcolorgray 4124 2000
25 92 v Black 0.95 TeXcolorgray Black -128 1973 a
SDict begin H.S end
-128
1973 a -128 1973 a
SDict begin 11 H.A end
-128 1973 a -128 1973 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-469.1) cvn H.B /DEST pdfmark end
-128 1973
a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(Ord)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
-153 2025 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2184 a FA(No)n(w)-5 b(,)20 b(the)g(de\002nition)f(for)h
Ft(f)g FA(is)h(typecheck)o(ed,)d(with)i(this)h(type)f(for)f
Ft(g)i FA(in)f(the)h(type)e(en)m(vironment.)-128 2326
y(The)h(same)g(re\002ned)f(dependenc)o(y)e(analysis)j(also)h(allo)n(ws)
f(the)g(type)f(signatures)h(of)f(mutually-recursi)n(v)o(e)e(functions)h
(to)i(ha)n(v)o(e)g(dif)n(ferent)e(conte)o(xts,)-128 2426
y(something)f(that)i(is)g(ille)o(gal)f(in)h(Hask)o(ell)f(98)g
(\(Section)g(4.5.2,)f(last)i(sentence\).)24 b(W)m(ith)18
b Ft(-XRelaxedPolyRec)e FA(GHC)j(only)f(insists)i(that)e(the)g(type)
-128 2525 y(signatures)i(of)g(a)h Fq(r)m(e\002ned)h FA(group)d(ha)n(v)o
(e)h(identical)g(type)g(signatures;)g(in)g(practice)g(this)h(means)f
(that)h(only)e(v)n(ariables)h(bound)f(by)h(the)g(same)h(pattern)-128
2625 y(binding)e(must)h(ha)n(v)o(e)g(the)g(same)g(conte)o(xt.)k(F)o(or)
c(e)o(xample,)e(this)j(is)g(\002ne:)-128 2685 y
SDict begin H.S end
-128
2685 a -128 2685 a
SDict begin 12 H.A end
-128 2685 a -128 2685 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-470) cvn H.B /DEST pdfmark end
-128 2685
a 0.95 TeXcolorgray -153 2701 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2792 25 92 v Black 0.95 TeXcolorgray -128 2792 4252 92
v Black 0.95 TeXcolorgray 4124 2792 25 92 v Black 0.95
TeXcolorgray Black -128 2765 a
SDict begin H.S end
-128 2765 a -128 2765
a
SDict begin 11 H.A end
-128 2765 a -128 2765 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-470.1) cvn H.B /DEST pdfmark end
-128 2765 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Eq)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2883 25 92 v Black 0.95 TeXcolorgray -128 2883 4252
92 v Black 0.95 TeXcolorgray 4124 2883 25 92 v Black
0.95 TeXcolorgray Black -128 2856 a
SDict begin H.S end
-128 2856 a -128
2856 a
SDict begin 11 H.A end
-128 2856 a -128 2856 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-470.2) cvn H.B /DEST pdfmark end
-128 2856 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44
w(=)45 b(\()p 0 0 0 TeXcolorrgb(x)p Black 45 w(==)p 0 0 0
TeXcolorrgb 44 w(x)p Black(\))g(||)p 0 0 0 TeXcolorrgb
44 w(g)p Black 0 0 0 TeXcolorrgb 45 w(True)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2975 25 92
v Black 0.95 TeXcolorgray -128 2975 4252 92 v Black 0.95
TeXcolorgray 4124 2975 25 92 v Black 0.95 TeXcolorgray
Black -128 2947 a
SDict begin H.S end
-128 2947 a -128 2947 a
SDict begin 11 H.A end
-128 2947 a
-128 2947 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-470.3) cvn H.B /DEST pdfmark end
-128 2947 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3066 25 92 v Black 0.95 TeXcolorgray
-128 3066 4252 92 v Black 0.95 TeXcolorgray 4124 3066
25 92 v Black 0.95 TeXcolorgray Black -128 3039 a
SDict begin H.S end
-128
3039 a -128 3039 a
SDict begin 11 H.A end
-128 3039 a -128 3039 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-470.4) cvn H.B /DEST pdfmark end
-128 3039
a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black 45 w(::)p 0 0 0
TeXcolorrgb 44 w(Ord)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3157 25 92 v Black 0.95
TeXcolorgray -128 3157 4252 92 v Black 0.95 TeXcolorgray
4124 3157 25 92 v Black 0.95 TeXcolorgray Black -128
3130 a
SDict begin H.S end
-128 3130 a -128 3130 a
SDict begin 11 H.A end
-128 3130 a -128 3130
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-470.5) cvn H.B /DEST pdfmark end
-128 3130 a 0 0 0 TeXcolorrgb 90 w Fo(g)p Black 0 0 0
TeXcolorrgb 45 w(y)p Black 44 w(=)g(\()p 0 0 0 TeXcolorrgb(y)p
Black 45 w(<=)p 0 0 0 TeXcolorrgb 44 w(y)p Black(\))g(||)p
0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb 45
w(True)p Black 0.95 TeXcolorgray -153 3182 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 3346 a
SDict begin H.S end
-128 3346 a -128 3346 a
SDict begin 12 H.A end
-128 3346 a -128 3346 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.9) cvn H.B /DEST pdfmark end
-128
3346 a Black 167 x Fs(7.9)p Black 108 w(T)-6 b(emplate)27
b(Haskell)-128 3640 y
SDict begin H.S end
-128 3640 a -128 3640 a
SDict begin 12 H.A end
-128 3640
a -128 3640 a
SDict begin [ /View [/XYZ H.V] /Dest (template-haskell) cvn H.B /DEST pdfmark end
-128 3640 a 107 x FA(T)-6 b(emplate)22
b(Hask)o(ell)h(allo)n(ws)g(you)f(to)g(do)h(compile-time)d
(meta-programming)f(in)j(Hask)o(ell.)33 b(The)22 b(background)d(to)k
(the)f(main)g(technical)g(inno)o(v)n(a-)-128 3847 y(tions)f(is)g
(discussed)f(in)g(")p 0 1 0 0 TeXcolorcmyk 589 3865 a
SDict begin H.S end
589 3865 a 0 1 0 0 TeXcolorcmyk 610 3847 a FA(T)-6 b(emplate)19
b(Meta-programming)d(for)k(Hask)o(ell)p 0 1 0 0 TeXcolorcmyk
1980 3790 a
SDict begin H.R end
1980 3790 a 1980 3847 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/papers/meta-haskell/) >> /Subtype /Link H.B /ANN pdfmark end
1980 3847 a Black
FA(")g(\(Proc)g(Hask)o(ell)g(W)-7 b(orkshop)19 b(2002\).)-128
3989 y(There)g(is)i(a)f(W)m(iki)g(page)f(about)f(T)-6
b(emplate)19 b(Hask)o(ell)h(at)p 0 1 0 0 TeXcolorcmyk
1464 4007 a
SDict begin H.S end
1464 4007 a 0 1 0 0 TeXcolorcmyk 1485 3989
a FA(http://www)-5 b(.hask)o(ell.or)o(g/hask)o(ell)o(wiki/T)f
(emplate_H)o(ask)o(ell)p 0 1 0 0 TeXcolorcmyk 3272 3932
a
SDict begin H.R end
3272 3932 a 3272 3989 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/haskellwiki/Template_Haskell) >> /Subtype /Link H.B /ANN pdfmark end
3272 3989 a Black FA(,)20 b(and)f(that)h(is)h
(the)e(best)h(place)-128 4088 y(to)25 b(look)f(for)f(further)g
(details.)38 b(Y)-9 b(ou)24 b(may)g(also)h(consult)e(the)p
0 1 0 0 TeXcolorcmyk 1660 4106 a
SDict begin H.S end
1660 4106 a 0 1 0 0
TeXcolorcmyk -18 x FA(online)c(Hask)o(ell)i(library)e(reference)f
(material)p 0 1 0 0 TeXcolorcmyk 3005 4032 a
SDict begin H.R end
3005 4032
a 3005 4088 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/ghc/docs/latest/html/libraries/index.html) >> /Subtype /Link H.B /ANN pdfmark end
3005 4088 a Black 25 w FA(\(look)23 b(for)h(module)f
Ft(Language.-)-128 4188 y(Haskell.TH)p FA(\).)j(Man)o(y)g(changes)g(to)
h(the)g(original)f(design)g(are)h(described)f(in)p 0 1 0 0
TeXcolorcmyk 2280 4206 a
SDict begin H.S end
2280 4206 a 0 1 0 0 TeXcolorcmyk
2301 4188 a FA(Notes)21 b(on)e(T)-6 b(emplate)20 b(Hask)o(ell)h(v)o
(ersion)d(2)p 0 1 0 0 TeXcolorcmyk 3527 4132 a
SDict begin H.R end
3527 4132
a 3527 4188 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/papers/meta-haskell/notes2.ps) >> /Subtype /Link H.B /ANN pdfmark end
3527 4188 a Black FA(.)46 b(Not)27 b(all)h(of)f(these)
-128 4288 y(changes)20 b(are)g(in)g(GHC,)h(ho)n(we)n(v)o(er)-5
b(.)-128 4430 y(The)20 b(\002rst)h(e)o(xample)e(from)g(that)h(paper)g
(is)h(set)g(out)f(belo)n(w)f(\(Section)p 1 0 0 TeXcolorrgb
1841 4432 a
SDict begin H.S end
1841 4432 a 1 0 0 TeXcolorrgb -2 x FA(7.9.3)p
1 0 0 TeXcolorrgb 2007 4373 a
SDict begin H.R end
2007 4373 a 2007 4430 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.9.3) cvn H.B /ANN pdfmark end
2007 4430 a Black FA(\))h(as)h(a)g(w)o(ork)o(ed)e(e)o(xample)f(to)j
(help)f(get)g(you)f(started.)-128 4571 y(The)i(documentation)d(here)i
(describes)g(the)h(realisation)f(of)h(T)-6 b(emplate)20
b(Hask)o(ell)h(in)g(GHC.)g(It)g(is)h(not)e(detailed)g(enough)f(to)i
(understand)e(T)-6 b(emplate)-128 4671 y(Hask)o(ell;)21
b(see)g(the)p 0 1 0 0 TeXcolorcmyk 418 4689 a
SDict begin H.S end
418 4689
a 0 1 0 0 TeXcolorcmyk 439 4671 a FA(W)m(iki)f(page)p
0 1 0 0 TeXcolorcmyk 779 4615 a
SDict begin H.R end
779 4615 a 779 4671 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://haskell.org/haskellwiki/Template_Haskell) >> /Subtype /Link H.B /ANN pdfmark end
779 4671 a Black FA(.)-128 4802 y
SDict begin H.S end
-128 4802 a -128 4802
a
SDict begin 12 H.A end
-128 4802 a -128 4802 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.9.1) cvn H.B /DEST pdfmark end
-128 4802 a Black 141 x Fp(7.9.1)p
Black 90 w(Syntax)-128 5138 y FA(T)-6 b(emplate)26 b(Hask)o(ell)g(has)h
(the)f(follo)n(wing)e(ne)n(w)i(syntactic)g(constructions.)41
b(Y)-9 b(ou)26 b(need)f(to)h(use)h(the)f(\003ag)g Ft(-XTemplateHaskell)
d FA(to)k(switch)-128 5238 y(these)21 b(syntactic)f(e)o(xtensions)f(on)
h(\()p Ft(-XTemplateHaskell)d FA(is)k(no)f(longer)f(implied)g(by)h
Ft(-fglasgow-exts)p FA(\).)p Black -128 5431 a(\225)p
Black 42 w(A)h(splice)g(is)h(written)e Ft($x)p FA(,)h(where)f
Ft(x)h FA(is)h(an)e(identi\002er)m(,)g(or)g Ft($\(...\))p
FA(,)g(where)g(the)h("...")f(is)i(an)f(arbitrary)e(e)o(xpression.)25
b(There)19 b(must)i(be)g(no)f(space)-57 5531 y(between)27
b(the)h("$")f(and)g(the)h(identi\002er)f(or)g(parenthesis.)47
b(This)28 b(use)g(of)f("$")h(o)o(v)o(errides)d(its)k(meaning)d(as)j(an)
e(in\002x)h(operator)m(,)f(just)h(as)h("M.x")-57 5630
y(o)o(v)o(errides)18 b(the)i(meaning)f(of)h(".")g(as)h(an)f(in\002x)g
(operator)-5 b(.)24 b(If)c(you)f(w)o(ant)i(the)f(in\002x)g(operator)m
(,)e(put)h(spaces)i(around)d(it.)-57 5759 y(A)j(splice)f(can)g(occur)f
(in)i(place)f(of)p Black -128 6084 4252 5 v Black eop
end
%%Page: 169 184
TeXDict begin 169 183 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.169) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(169)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -57 173 a Fu(\226)p Black
41 w FA(an)g(e)o(xpression;)f(the)h(spliced)g(e)o(xpression)f(must)h
(ha)n(v)o(e)f(type)h Ft(Q)50 b(Exp)p Black -57 306 a
Fu(\226)p Black 41 w FA(a)21 b(list)g(of)f(top-le)n(v)o(el)e
(declarations;)h(the)i(spliced)f(e)o(xpression)e(must)i(ha)n(v)o(e)g
(type)g Ft(Q)49 b([Dec])-57 472 y FA(Inside)29 b(a)i(splice)f(you)e
(can)i(can)g(only)f(call)h(functions)e(de\002ned)h(in)h(imported)e
(modules,)j(not)f(functions)e(de\002ned)h(else)n(where)g(in)h(the)g
(same)-57 572 y(module.)p Black -128 738 a(\225)p Black
42 w(A)21 b(e)o(xpression)d(quotation)h(is)i(written)f(in)g(Oxford)f
(brack)o(ets,)g(thus:)p Black -57 904 a Fu(\226)p Black
41 w Ft([|)49 b(...)100 b(|])p FA(,)20 b(where)f(the)h("...")g(is)h(an)
f(e)o(xpression;)f(the)h(quotation)f(has)h(type)g Ft(Q)50
b(Exp)p FA(.)p Black -57 1037 a Fu(\226)p Black 41 w
Ft([d|)f(...)99 b(|])p FA(,)20 b(where)g(the)g("...")g(is)h(a)g(list)g
(of)f(top-le)n(v)o(el)f(declarations;)g(the)h(quotation)e(has)j(type)e
Ft(Q)50 b([Dec])p FA(.)p Black -57 1169 a Fu(\226)p Black
41 w Ft([t|)f(...)99 b(|])p FA(,)20 b(where)g(the)g("...")g(is)h(a)g
(type;)f(the)g(quotation)e(has)j(type)e Ft(Q)50 b(Typ)p
FA(.)p Black -128 1336 a(\225)p Black 42 w(A)21 b(quasi-quotation)c
(can)j(appear)f(in)h(either)g(a)h(pattern)e(conte)o(xt)g(or)h(an)g(e)o
(xpression)f(conte)o(xt)g(and)g(is)i(also)g(written)f(in)g(Oxford)f
(brack)o(ets:)p Black -57 1502 a Fu(\226)p Black 41 w
Ft([:)p Fr(varid)s Ft(|)48 b(...)99 b(|])p FA(,)30 b(where)e(the)g
("...")g(is)h(an)f(arbitrary)e(string;)32 b(a)c(full)g(description)f
(of)h(the)g(quasi-quotation)d(f)o(acility)j(is)h(gi)n(v)o(en)e(in)26
1601 y(Section)p 1 0 0 TeXcolorrgb 296 1603 a
SDict begin H.S end
296 1603
a 1 0 0 TeXcolorrgb -2 x FA(7.9.5)p 1 0 0 TeXcolorrgb
462 1545 a
SDict begin H.R end
462 1545 a 462 1601 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.9.5) cvn H.B /ANN pdfmark end
462 1601 a Black FA(.)p
Black -128 1767 a(\225)p Black 42 w(A)21 b(name)e(can)h(be)g(quoted)f
(with)i(either)e(one)h(or)g(tw)o(o)g(pre\002x)g(single)g(quotes:)p
Black -57 1933 a Fu(\226)p Black 41 w Ft('f)25 b FA(has)h(type)e
Ft(Name)p FA(,)i(and)e(names)h(the)g(function)e Ft(f)p
FA(.)40 b(Similarly)25 b Ft('C)g FA(has)g(type)g Ft(Name)g
FA(and)f(names)h(the)g(data)g(constructor)e Ft(C)p FA(.)i(In)g(general)
26 2033 y Ft(')p Fr(thing)f FA(interprets)19 b Fr(thing)25
b FA(in)20 b(an)g(e)o(xpression)f(conte)o(xt.)p Black
-57 2166 a Fu(\226)p Black 41 w Ft(''T)h FA(has)h(type)e
Ft(Name)p FA(,)h(and)g(names)g(the)g(type)g(constructor)e
Ft(T)p FA(.)i(That)g(is,)h Ft('')p Fr(thing)j FA(interprets)19
b Fr(thing)24 b FA(in)d(a)f(type)g(conte)o(xt.)-57 2332
y(These)g Ft(Names)g FA(can)f(be)h(used)g(to)g(construct)f(T)-6
b(emplate)20 b(Hask)o(ell)g(e)o(xpressions,)e(patterns,)i(declarations)
e(etc.)26 b(The)o(y)19 b(may)g(also)i(be)f(gi)n(v)o(en)e(as)j(an)-57
2431 y(ar)o(gument)d(to)i(the)g Ft(reify)g FA(function.)-128
2647 y(\(Compared)c(to)h(the)h(original)e(paper)m(,)g(there)h(are)g
(man)o(y)f(dif)n(ferences)g(of)h(detail.)24 b(The)17
b(syntax)f(for)h(a)h(declaration)d(splice)j(uses)g(")p
Ft($)p FA(")f(not)g(")p Ft(splice)p FA(".)-128 2747 y(The)g(type)g(of)g
(the)g(enclosed)g(e)o(xpression)e(must)i(be)h Ft(Q)49
b([Dec])p FA(,)17 b(not)g Ft([Q)50 b(Dec])p FA(.)23 b(T)-7
b(ype)17 b(splices)h(are)f(not)g(implemented,)f(and)g(neither)h(are)g
(pattern)-128 2847 y(splices)k(or)f(quotations.)-128
2981 y
SDict begin H.S end
-128 2981 a -128 2981 a
SDict begin 12 H.A end
-128 2981 a -128 2981
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.9.2) cvn H.B /DEST pdfmark end
-128 2981 a Black 148 x Fp(7.9.2)p Black 114 w(Using)k(T)-5
b(emplate)24 b(Haskell)p Black -128 3332 a FA(\225)p
Black 42 w(The)16 b(data)g(types)h(and)f(monadic)f(constructor)f
(functions)h(for)h(T)-6 b(emplate)16 b(Hask)o(ell)h(are)f(in)h(the)f
(library)f Ft(Language.Haskell.THSyntax)p FA(.)p Black
-128 3498 a(\225)p Black 42 w(Y)-9 b(ou)24 b(can)g(only)g(run)g(a)h
(function)e(at)i(compile)e(time)i(if)g(it)g(is)h(imported)d(from)g
(another)g(module.)37 b(That)24 b(is,)j(you)c(can')o(t)h(de\002ne)g(a)h
(function)e(in)i(a)-57 3597 y(module,)19 b(and)g(call)i(it)g(from)e
(within)h(a)g(splice)h(in)f(the)g(same)h(module.)i(\(It)e(w)o(ould)e
(mak)o(e)h(sense)g(to)h(do)e(so,)i(b)n(ut)f(it')-5 b(s)21
b(hard)f(to)g(implement.\))p Black -128 3763 a(\225)p
Black 42 w(Y)-9 b(ou)17 b(can)h(only)f(run)g(a)h(function)e(at)i
(compile)f(time)h(if)g(it)g(is)h(imported)d(from)h(another)f(module)g
Fq(that)i(is)g(not)g(part)g(of)f(a)h(mutually-r)m(ecur)o(sive)f(gr)l
(oup)-57 3863 y(of)h(modules)f(that)g(includes)g(the)h(module)f(curr)m
(ently)h(being)e(compiled)p FA(.)23 b(Furthermore,)16
b(all)i(of)g(the)g(modules)e(of)i(the)g(mutually-recursi)n(v)o(e)c
(group)-57 3963 y(must)20 b(be)g(reachable)f(by)h(non-SOURCE)f(imports)
h(from)f(the)h(module)f(where)h(the)g(splice)g(is)h(to)g(be)f(run.)-57
4096 y(F)o(or)i(e)o(xample,)e(when)i(compiling)e(module)g(A,)j(you)e
(can)g(only)g(run)h(T)-6 b(emplate)21 b(Hask)o(ell)h(functions)f
(imported)f(from)h(B)i(if)f(B)h(does)e(not)h(import)-57
4195 y(A)d(\(directly)f(or)g(indirectly\).)23 b(The)18
b(reason)g(should)g(be)g(clear:)25 b(to)18 b(run)g(B)i(we)f(must)f
(compile)g(and)g(run)g(A,)h(b)n(ut)g(we)g(are)f(currently)f
(type-checking)-57 4295 y(A.)p Black -128 4461 a(\225)p
Black 42 w(The)j(\003ag)g Ft(-ddump-splices)e FA(sho)n(ws)j(the)f(e)o
(xpansion)e(of)i(all)h(top-le)n(v)o(el)d(splices)j(as)g(the)o(y)e
(happen.)p Black -128 4627 a(\225)p Black 42 w(If)31
b(you)f(are)h(b)n(uilding)f(GHC)i(from)e(source,)j(you)d(need)g(at)i
(least)f(a)h(stage-2)e(bootstrap)g(compiler)g(to)h(run)f(T)-6
b(emplate)31 b(Hask)o(ell.)58 b(A)31 b(stage-)-57 4727
y(1)e(compiler)f(will)i(reject)f(the)g(TH)g(constructs.)51
b(Reason:)43 b(TH)29 b(compiles)f(and)h(runs)f(a)i(program,)f(and)f
(then)h(looks)f(at)i(the)f(result.)52 b(So)29 b(it')-5
b(s)-57 4826 y(important)19 b(that)h(the)g(program)e(it)j(compiles)f
(produces)e(results)j(whose)e(representations)g(are)h(identical)g(to)g
(those)g(of)g(the)g(compiler)f(itself.)-128 5059 y(T)-6
b(emplate)29 b(Hask)o(ell)g(w)o(orks)f(in)h(an)o(y)f(mode)g(\()p
Ft(--make)p FA(,)i Ft(--interactive)p FA(,)f(or)g(\002le-at-a-time\).)
49 b(There)28 b(used)h(to)g(be)g(a)g(restriction)f(to)h(the)-128
5158 y(former)19 b(tw)o(o,)h(b)n(ut)h(that)f(restriction)f(has)i(been)e
(lifted.)p Black -128 6084 4252 5 v Black eop end
%%Page: 170 185
TeXDict begin 170 184 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.170) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(170)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.9.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.9.3)p
Black 114 w(A)25 b(T)-5 b(emplate)23 b(Haskell)h(W)-5
b(orked)24 b(Example)-128 262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (th-example) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(T)-7 b(o)20
b(help)g(you)f(get)g(o)o(v)o(er)g(the)g(con\002dence)f(barrier)m(,)h
(try)g(out)h(this)g(sk)o(eletal)g(w)o(ork)o(ed)f(e)o(xample.)k(First)e
(cut)e(and)h(paste)g(the)f(tw)o(o)h(modules)f(belo)n(w)g(into)-128
476 y("Main.hs")h(and)f("Printf.hs":)-128 527 y
SDict begin H.S end
-128
527 a -128 527 a
SDict begin 12 H.A end
-128 527 a -128 527 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-471) cvn H.B /DEST pdfmark end
-128 527 a 0.95
TeXcolorgray -153 559 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
650 25 92 v Black 0.95 TeXcolorgray -128 650 4252 92
v Black 0.95 TeXcolorgray 4124 650 25 92 v Black 0.95
TeXcolorgray Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128
623 a -128 623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.1) cvn H.B /DEST pdfmark end
-128 623 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 742 25 92 v Black 0.95 TeXcolorgray
-128 742 4252 92 v Black 0.95 TeXcolorgray 4124 742 25
92 v Black 0.95 TeXcolorgray Black -128 714 a
SDict begin H.S end
-128 714
a -128 714 a
SDict begin 11 H.A end
-128 714 a -128 714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.2) cvn H.B /DEST pdfmark end
-128 714 a Fo({-)p
0 0 0 TeXcolorrgb 45 w(Main)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black 45 w(-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 833 25 92 v Black 0.95 TeXcolorgray -128 833 4252
92 v Black 0.95 TeXcolorgray 4124 833 25 92 v Black 0.95
TeXcolorgray Black -128 805 a
SDict begin H.S end
-128 805 a -128 805 a
SDict begin 11 H.A end
-128
805 a -128 805 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.3) cvn H.B /DEST pdfmark end
-128 805 a 0 0 0 TeXcolorrgb Fo(module)p
Black 0 0 0 TeXcolorrgb 44 w(Main)p Black 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 924 25 92 v Black 0.95 TeXcolorgray -128 924 4252
92 v Black 0.95 TeXcolorgray 4124 924 25 92 v Black 0.95
TeXcolorgray Black -128 897 a
SDict begin H.S end
-128 897 a -128 897 a
SDict begin 11 H.A end
-128
897 a -128 897 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.4) cvn H.B /DEST pdfmark end
-128 897 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1016 25 92 v Black 0.95 TeXcolorgray
-128 1016 4252 92 v Black 0.95 TeXcolorgray 4124 1016
25 92 v Black 0.95 TeXcolorgray Black -128 988 a
SDict begin H.S end
-128
988 a -128 988 a
SDict begin 11 H.A end
-128 988 a -128 988 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.5) cvn H.B /DEST pdfmark end
-128 988 a Fo(--)p
0 0 0 TeXcolorrgb 45 w(Import)p Black 0 0 0 TeXcolorrgb
44 w(our)p Black 0 0 0 TeXcolorrgb 44 w(template)p Black
44 w(")p 0 0 0 TeXcolorrgb -1 w(pr)p Black(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1107 25 92 v Black 0.95
TeXcolorgray -128 1107 4252 92 v Black 0.95 TeXcolorgray
4124 1107 25 92 v Black 0.95 TeXcolorgray Black -128
1079 a
SDict begin H.S end
-128 1079 a -128 1079 a
SDict begin 11 H.A end
-128 1079 a -128 1079
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.6) cvn H.B /DEST pdfmark end
-128 1079 a 0 0 0 TeXcolorrgb Fo(import)p Black 0 0 0
TeXcolorrgb 44 w(Printf)p Black 44 w(\()p 0 0 0 TeXcolorrgb
45 w(pr)p Black 44 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1198 25 92 v Black 0.95 TeXcolorgray
-128 1198 4252 92 v Black 0.95 TeXcolorgray 4124 1198
25 92 v Black 0.95 TeXcolorgray Black -128 1171 a
SDict begin H.S end
-128
1171 a -128 1171 a
SDict begin 11 H.A end
-128 1171 a -128 1171 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.7) cvn H.B /DEST pdfmark end
-128 1171
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1289
25 92 v Black 0.95 TeXcolorgray -128 1289 4252 92 v Black
0.95 TeXcolorgray 4124 1289 25 92 v Black 0.95 TeXcolorgray
Black -128 1262 a
SDict begin H.S end
-128 1262 a -128 1262 a
SDict begin 11 H.A end
-128 1262 a
-128 1262 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.8) cvn H.B /DEST pdfmark end
-128 1262 a Fo(--)p 0 0 0 TeXcolorrgb 45
w(The)p Black 0 0 0 TeXcolorrgb 44 w(splice)p Black 0 0 0
TeXcolorrgb 44 w(operator)p Black 0 0 0 TeXcolorrgb 44
w($)p Black 0 0 0 TeXcolorrgb 44 w(takes)p Black 0 0 0
TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb 45 w(Haskell)p
Black 0 0 0 TeXcolorrgb 43 w(source)p Black 0 0 0 TeXcolorrgb
44 w(code)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1381 25 92 v Black 0.95 TeXcolorgray -128 1381 4252
92 v Black 0.95 TeXcolorgray 4124 1381 25 92 v Black
0.95 TeXcolorgray Black -128 1353 a
SDict begin H.S end
-128 1353 a -128
1353 a
SDict begin 11 H.A end
-128 1353 a -128 1353 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.9) cvn H.B /DEST pdfmark end
-128 1353 a Fo(--)p 0 0 0
TeXcolorrgb 45 w(generated)p Black 0 0 0 TeXcolorrgb
43 w(at)p Black 0 0 0 TeXcolorrgb 45 w(compile)p Black
0 0 0 TeXcolorrgb 43 w(time)p Black 0 0 0 TeXcolorrgb
45 w(by)p Black 44 w(")p 0 0 0 TeXcolorrgb(pr)p Black(")p
0 0 0 TeXcolorrgb 44 w(and)p Black 0 0 0 TeXcolorrgb
45 w(splices)p Black 0 0 0 TeXcolorrgb 43 w(it)p Black
0 0 0 TeXcolorrgb 45 w(into)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1472 25 92 v Black 0.95
TeXcolorgray -128 1472 4252 92 v Black 0.95 TeXcolorgray
4124 1472 25 92 v Black 0.95 TeXcolorgray Black -128
1445 a
SDict begin H.S end
-128 1445 a -128 1445 a
SDict begin 11 H.A end
-128 1445 a -128 1445
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.10) cvn H.B /DEST pdfmark end
-128 1445 a Fo(--)p 0 0 0 TeXcolorrgb 45 w(the)p Black
0 0 0 TeXcolorrgb 44 w(argument)p Black 0 0 0 TeXcolorrgb
44 w(of)p Black 44 w(")p 0 0 0 TeXcolorrgb(putStrLn)p
Black -1 w(".)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1563 25 92 v Black 0.95 TeXcolorgray -128 1563 4252
92 v Black 0.95 TeXcolorgray 4124 1563 25 92 v Black
0.95 TeXcolorgray Black -128 1536 a
SDict begin H.S end
-128 1536 a -128
1536 a
SDict begin 11 H.A end
-128 1536 a -128 1536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.11) cvn H.B /DEST pdfmark end
-128 1536 a 0 0 0 TeXcolorrgb
Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(putStrLn)p
Black 44 w(\()p 0 0 0 TeXcolorrgb 44 w($)p Black(\()p
0 0 0 TeXcolorrgb(pr)p Black 45 w(")p 0 0 0 TeXcolorrgb
-1 w(Hello)p Black("\))44 b(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1655 25 92 v Black 0.95 TeXcolorgray
-128 1655 4252 92 v Black 0.95 TeXcolorgray 4124 1655
25 92 v Black 0.95 TeXcolorgray Black -128 1627 a
SDict begin H.S end
-128
1627 a -128 1627 a
SDict begin 11 H.A end
-128 1627 a -128 1627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.12) cvn H.B /DEST pdfmark end
-128 1627
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1746
25 92 v Black 0.95 TeXcolorgray -128 1746 4252 92 v Black
0.95 TeXcolorgray 4124 1746 25 92 v Black 0.95 TeXcolorgray
Black -128 1719 a
SDict begin H.S end
-128 1719 a -128 1719 a
SDict begin 11 H.A end
-128 1719 a
-128 1719 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.13) cvn H.B /DEST pdfmark end
-128 1719 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1837 25 92 v Black 0.95 TeXcolorgray
-128 1837 4252 92 v Black 0.95 TeXcolorgray 4124 1837
25 92 v Black 0.95 TeXcolorgray Black -128 1810 a
SDict begin H.S end
-128
1810 a -128 1810 a
SDict begin 11 H.A end
-128 1810 a -128 1810 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.14) cvn H.B /DEST pdfmark end
-128 1810
a Fo({-)p 0 0 0 TeXcolorrgb 45 w(Printf)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black 44 w(-})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1929 25 92 v Black 0.95
TeXcolorgray -128 1929 4252 92 v Black 0.95 TeXcolorgray
4124 1929 25 92 v Black 0.95 TeXcolorgray Black -128
1901 a
SDict begin H.S end
-128 1901 a -128 1901 a
SDict begin 11 H.A end
-128 1901 a -128 1901
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.15) cvn H.B /DEST pdfmark end
-128 1901 a 0 0 0 TeXcolorrgb Fo(module)p Black 0 0 0
TeXcolorrgb 44 w(Printf)p Black 0 0 0 TeXcolorrgb 44
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2020 25 92 v Black 0.95 TeXcolorgray -128 2020 4252
92 v Black 0.95 TeXcolorgray 4124 2020 25 92 v Black
0.95 TeXcolorgray Black -128 1993 a
SDict begin H.S end
-128 1993 a -128
1993 a
SDict begin 11 H.A end
-128 1993 a -128 1993 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.16) cvn H.B /DEST pdfmark end
-128 1993 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2111 25 92 v Black 0.95
TeXcolorgray -128 2111 4252 92 v Black 0.95 TeXcolorgray
4124 2111 25 92 v Black 0.95 TeXcolorgray Black -128
2084 a
SDict begin H.S end
-128 2084 a -128 2084 a
SDict begin 11 H.A end
-128 2084 a -128 2084
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.17) cvn H.B /DEST pdfmark end
-128 2084 a Fo(--)p 0 0 0 TeXcolorrgb 45 w(Skeletal)p
Black 0 0 0 TeXcolorrgb 43 w(printf)p Black 0 0 0 TeXcolorrgb
44 w(from)p Black 0 0 0 TeXcolorrgb 44 w(the)p Black
0 0 0 TeXcolorrgb 45 w(paper)p Black -1 w(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2203 25 92 v Black 0.95
TeXcolorgray -128 2203 4252 92 v Black 0.95 TeXcolorgray
4124 2203 25 92 v Black 0.95 TeXcolorgray Black -128
2175 a
SDict begin H.S end
-128 2175 a -128 2175 a
SDict begin 11 H.A end
-128 2175 a -128 2175
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.18) cvn H.B /DEST pdfmark end
-128 2175 a Fo(--)p 0 0 0 TeXcolorrgb 45 w(It)p Black
0 0 0 TeXcolorrgb 44 w(needs)p Black 0 0 0 TeXcolorrgb
44 w(to)p Black 0 0 0 TeXcolorrgb 45 w(be)p Black 0 0 0
TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(separate)p Black 0 0 0 TeXcolorrgb
43 w(module)p Black 0 0 0 TeXcolorrgb 44 w(to)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb
45 w(one)p Black 0 0 0 TeXcolorrgb 44 w(where)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2294 25
92 v Black 0.95 TeXcolorgray -128 2294 4252 92 v Black
0.95 TeXcolorgray 4124 2294 25 92 v Black 0.95 TeXcolorgray
Black -128 2267 a
SDict begin H.S end
-128 2267 a -128 2267 a
SDict begin 11 H.A end
-128 2267 a
-128 2267 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.19) cvn H.B /DEST pdfmark end
-128 2267 a Fo(--)p 0 0 0 TeXcolorrgb 45
w(you)p Black 0 0 0 TeXcolorrgb 44 w(intend)p Black 0 0 0
TeXcolorrgb 44 w(to)p Black 0 0 0 TeXcolorrgb 45 w(use)p
Black 0 0 0 TeXcolorrgb 44 w(it)p Black(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2385 25 92 v Black 0.95
TeXcolorgray -128 2385 4252 92 v Black 0.95 TeXcolorgray
4124 2385 25 92 v Black 0.95 TeXcolorgray Black -128
2358 a
SDict begin H.S end
-128 2358 a -128 2358 a
SDict begin 11 H.A end
-128 2358 a -128 2358
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.20) cvn H.B /DEST pdfmark end
-128 2358 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2477 25 92 v Black 0.95 TeXcolorgray -128 2477 4252
92 v Black 0.95 TeXcolorgray 4124 2477 25 92 v Black
0.95 TeXcolorgray Black -128 2449 a
SDict begin H.S end
-128 2449 a -128
2449 a
SDict begin 11 H.A end
-128 2449 a -128 2449 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.21) cvn H.B /DEST pdfmark end
-128 2449 a Fo(--)p 0 0 0
TeXcolorrgb 45 w(Import)p Black 0 0 0 TeXcolorrgb 44
w(some)p Black 0 0 0 TeXcolorrgb 44 w(Template)p Black
0 0 0 TeXcolorrgb 43 w(Haskell)p Black 0 0 0 TeXcolorrgb
44 w(syntax)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2568 25 92 v Black 0.95 TeXcolorgray -128 2568 4252
92 v Black 0.95 TeXcolorgray 4124 2568 25 92 v Black
0.95 TeXcolorgray Black -128 2541 a
SDict begin H.S end
-128 2541 a -128
2541 a
SDict begin 11 H.A end
-128 2541 a -128 2541 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.22) cvn H.B /DEST pdfmark end
-128 2541 a 0 0 0 TeXcolorrgb
Fo(import)p Black 0 0 0 TeXcolorrgb 44 w(Language)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(Haskell)p Black -1 w(.)p 0 0 0
TeXcolorrgb -1 w(TH)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2659 25 92 v Black 0.95 TeXcolorgray
-128 2659 4252 92 v Black 0.95 TeXcolorgray 4124 2659
25 92 v Black 0.95 TeXcolorgray Black -128 2632 a
SDict begin H.S end
-128
2632 a -128 2632 a
SDict begin 11 H.A end
-128 2632 a -128 2632 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.23) cvn H.B /DEST pdfmark end
-128 2632
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2751
25 92 v Black 0.95 TeXcolorgray -128 2751 4252 92 v Black
0.95 TeXcolorgray 4124 2751 25 92 v Black 0.95 TeXcolorgray
Black -128 2723 a
SDict begin H.S end
-128 2723 a -128 2723 a
SDict begin 11 H.A end
-128 2723 a
-128 2723 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.24) cvn H.B /DEST pdfmark end
-128 2723 a Fo(--)p 0 0 0 TeXcolorrgb 45
w(Describe)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black 0 0 0
TeXcolorrgb 45 w(format)p Black 0 0 0 TeXcolorrgb 44
w(string)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2842 25 92 v Black 0.95 TeXcolorgray -128 2842 4252
92 v Black 0.95 TeXcolorgray 4124 2842 25 92 v Black
0.95 TeXcolorgray Black -128 2815 a
SDict begin H.S end
-128 2815 a -128
2815 a
SDict begin 11 H.A end
-128 2815 a -128 2815 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.25) cvn H.B /DEST pdfmark end
-128 2815 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(Format)p Black
43 w(=)p 0 0 0 TeXcolorrgb 45 w(D)p Black 45 w(|)p 0 0 0
TeXcolorrgb 44 w(S)p Black 45 w(|)p 0 0 0 TeXcolorrgb
45 w(L)p Black 0 0 0 TeXcolorrgb 44 w(String)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2933 25
92 v Black 0.95 TeXcolorgray -128 2933 4252 92 v Black
0.95 TeXcolorgray 4124 2933 25 92 v Black 0.95 TeXcolorgray
Black -128 2906 a
SDict begin H.S end
-128 2906 a -128 2906 a
SDict begin 11 H.A end
-128 2906 a
-128 2906 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.26) cvn H.B /DEST pdfmark end
-128 2906 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3025 25 92 v Black 0.95 TeXcolorgray
-128 3025 4252 92 v Black 0.95 TeXcolorgray 4124 3025
25 92 v Black 0.95 TeXcolorgray Black -128 2997 a
SDict begin H.S end
-128
2997 a -128 2997 a
SDict begin 11 H.A end
-128 2997 a -128 2997 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.27) cvn H.B /DEST pdfmark end
-128 2997
a Fo(--)p 0 0 0 TeXcolorrgb 45 w(Parse)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(format)p
Black 0 0 0 TeXcolorrgb 43 w(string)p Black -1 w(.)p
0 0 0 TeXcolorrgb 90 w(This)p Black 0 0 0 TeXcolorrgb
44 w(is)p Black 0 0 0 TeXcolorrgb 45 w(left)p Black 0 0 0
TeXcolorrgb 44 w(largely)p Black 0 0 0 TeXcolorrgb 43
w(to)p Black 0 0 0 TeXcolorrgb 45 w(you)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3116 25 92
v Black 0.95 TeXcolorgray -128 3116 4252 92 v Black 0.95
TeXcolorgray 4124 3116 25 92 v Black 0.95 TeXcolorgray
Black -128 3089 a
SDict begin H.S end
-128 3089 a -128 3089 a
SDict begin 11 H.A end
-128 3089 a
-128 3089 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.28) cvn H.B /DEST pdfmark end
-128 3089 a Fo(--)p 0 0 0 TeXcolorrgb 45
w(as)p Black 0 0 0 TeXcolorrgb 44 w(we)p Black 0 0 0
TeXcolorrgb 45 w(are)p Black 0 0 0 TeXcolorrgb 44 w(here)p
Black 0 0 0 TeXcolorrgb 44 w(interested)p Black 0 0 0
TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 44 w(building)p
Black 0 0 0 TeXcolorrgb 44 w(our)p Black 0 0 0 TeXcolorrgb
44 w(first)p Black 0 0 0 TeXcolorrgb 44 w(ever)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3207 25
92 v Black 0.95 TeXcolorgray -128 3207 4252 92 v Black
0.95 TeXcolorgray 4124 3207 25 92 v Black 0.95 TeXcolorgray
Black -128 3180 a
SDict begin H.S end
-128 3180 a -128 3180 a
SDict begin 11 H.A end
-128 3180 a
-128 3180 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.29) cvn H.B /DEST pdfmark end
-128 3180 a Fo(--)p 0 0 0 TeXcolorrgb 45
w(Template)p Black 0 0 0 TeXcolorrgb 43 w(Haskell)p Black
0 0 0 TeXcolorrgb 44 w(program)p Black 0 0 0 TeXcolorrgb
44 w(and)p Black 0 0 0 TeXcolorrgb 44 w(not)p Black 0 0 0
TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(building)p
Black 0 0 0 TeXcolorrgb 43 w(printf)p Black -1 w(.)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3299 25
92 v Black 0.95 TeXcolorgray -128 3299 4252 92 v Black
0.95 TeXcolorgray 4124 3299 25 92 v Black 0.95 TeXcolorgray
Black -128 3271 a
SDict begin H.S end
-128 3271 a -128 3271 a
SDict begin 11 H.A end
-128 3271 a
-128 3271 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.30) cvn H.B /DEST pdfmark end
-128 3271 a 0 0 0 TeXcolorrgb Fo(parse)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(String)p Black
44 w(->)g([)p 0 0 0 TeXcolorrgb(Format)p Black -1 w(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3390 25
92 v Black 0.95 TeXcolorgray -128 3390 4252 92 v Black
0.95 TeXcolorgray 4124 3390 25 92 v Black 0.95 TeXcolorgray
Black -128 3363 a
SDict begin H.S end
-128 3363 a -128 3363 a
SDict begin 11 H.A end
-128 3363 a
-128 3363 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.31) cvn H.B /DEST pdfmark end
-128 3363 a 0 0 0 TeXcolorrgb Fo(parse)p
Black 0 0 0 TeXcolorrgb 44 w(s)p Black 135 w(=)g([)p
0 0 0 TeXcolorrgb 45 w(L)p Black 0 0 0 TeXcolorrgb 45
w(s)p Black 44 w(])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3481 25 92 v Black 0.95 TeXcolorgray -128 3481 4252
92 v Black 0.95 TeXcolorgray 4124 3481 25 92 v Black
0.95 TeXcolorgray Black -128 3454 a
SDict begin H.S end
-128 3454 a -128
3454 a
SDict begin 11 H.A end
-128 3454 a -128 3454 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.32) cvn H.B /DEST pdfmark end
-128 3454 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3573 25 92 v Black 0.95
TeXcolorgray -128 3573 4252 92 v Black 0.95 TeXcolorgray
4124 3573 25 92 v Black 0.95 TeXcolorgray Black -128
3545 a
SDict begin H.S end
-128 3545 a -128 3545 a
SDict begin 11 H.A end
-128 3545 a -128 3545
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.33) cvn H.B /DEST pdfmark end
-128 3545 a Fo(--)p 0 0 0 TeXcolorrgb 45 w(Generate)p
Black 0 0 0 TeXcolorrgb 43 w(Haskell)p Black 0 0 0 TeXcolorrgb
44 w(source)p Black 0 0 0 TeXcolorrgb 44 w(code)p Black
0 0 0 TeXcolorrgb 44 w(from)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(parsed)p Black
0 0 0 TeXcolorrgb 44 w(representation)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3664 25 92 v Black 0.95
TeXcolorgray -128 3664 4252 92 v Black 0.95 TeXcolorgray
4124 3664 25 92 v Black 0.95 TeXcolorgray Black -128
3637 a
SDict begin H.S end
-128 3637 a -128 3637 a
SDict begin 11 H.A end
-128 3637 a -128 3637
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.34) cvn H.B /DEST pdfmark end
-128 3637 a Fo(--)p 0 0 0 TeXcolorrgb 45 w(of)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb
45 w(format)p Black 0 0 0 TeXcolorrgb 44 w(string)p Black
-1 w(.)p 0 0 0 TeXcolorrgb 89 w(This)p Black 0 0 0 TeXcolorrgb
44 w(code)p Black 0 0 0 TeXcolorrgb 44 w(will)p Black
0 0 0 TeXcolorrgb 45 w(be)p Black 0 0 0 TeXcolorrgb 44
w(spliced)p Black 0 0 0 TeXcolorrgb 44 w(into)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3755 25
92 v Black 0.95 TeXcolorgray -128 3755 4252 92 v Black
0.95 TeXcolorgray 4124 3755 25 92 v Black 0.95 TeXcolorgray
Black -128 3728 a
SDict begin H.S end
-128 3728 a -128 3728 a
SDict begin 11 H.A end
-128 3728 a
-128 3728 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.35) cvn H.B /DEST pdfmark end
-128 3728 a Fo(--)p 0 0 0 TeXcolorrgb 45
w(the)p Black 0 0 0 TeXcolorrgb 44 w(module)p Black 0 0 0
TeXcolorrgb 44 w(which)p Black 0 0 0 TeXcolorrgb 44 w(calls)p
Black 44 w(")p 0 0 0 TeXcolorrgb(pr)p Black(",)p 0 0 0
TeXcolorrgb 44 w(at)p Black 0 0 0 TeXcolorrgb 45 w(compile)p
Black 0 0 0 TeXcolorrgb 43 w(time)p Black(.)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3847 25 92 v Black 0.95
TeXcolorgray -128 3847 4252 92 v Black 0.95 TeXcolorgray
4124 3847 25 92 v Black 0.95 TeXcolorgray Black -128
3819 a
SDict begin H.S end
-128 3819 a -128 3819 a
SDict begin 11 H.A end
-128 3819 a -128 3819
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.36) cvn H.B /DEST pdfmark end
-128 3819 a 0 0 0 TeXcolorrgb Fo(gen)p Black 45 w(::)g([)p
0 0 0 TeXcolorrgb(Format)p Black -1 w(])h(->)p 0 0 0
TeXcolorrgb 44 w(Q)p Black 0 0 0 TeXcolorrgb 45 w(Exp)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3938 25 92 v Black 0.95 TeXcolorgray -128 3938 4252 92
v Black 0.95 TeXcolorgray 4124 3938 25 92 v Black 0.95
TeXcolorgray Black -128 3910 a
SDict begin H.S end
-128 3910 a -128 3910
a
SDict begin 11 H.A end
-128 3910 a -128 3910 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.37) cvn H.B /DEST pdfmark end
-128 3910 a 0 0 0 TeXcolorrgb
Fo(gen)p Black 45 w([)p 0 0 0 TeXcolorrgb(D)p Black -1
w(])135 b(=)44 b([|)h(\\)p 0 0 0 TeXcolorrgb(n)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(show)p Black 0 0 0 TeXcolorrgb
44 w(n)p Black 45 w(|])p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4029 25 92 v Black 0.95 TeXcolorgray
-128 4029 4252 92 v Black 0.95 TeXcolorgray 4124 4029
25 92 v Black 0.95 TeXcolorgray Black -128 4002 a
SDict begin H.S end
-128
4002 a -128 4002 a
SDict begin 11 H.A end
-128 4002 a -128 4002 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.38) cvn H.B /DEST pdfmark end
-128 4002
a 0 0 0 TeXcolorrgb Fo(gen)p Black 45 w([)p 0 0 0 TeXcolorrgb(S)p
Black -1 w(])135 b(=)44 b([|)h(\\)p 0 0 0 TeXcolorrgb(s)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(s)p Black 45 w(|])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4121 25
92 v Black 0.95 TeXcolorgray -128 4121 4252 92 v Black
0.95 TeXcolorgray 4124 4121 25 92 v Black 0.95 TeXcolorgray
Black -128 4093 a
SDict begin H.S end
-128 4093 a -128 4093 a
SDict begin 11 H.A end
-128 4093 a
-128 4093 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.39) cvn H.B /DEST pdfmark end
-128 4093 a 0 0 0 TeXcolorrgb Fo(gen)p Black
45 w([)p 0 0 0 TeXcolorrgb(L)p Black 0 0 0 TeXcolorrgb
44 w(s)p Black(])g(=)p 0 0 0 TeXcolorrgb 44 w(stringE)p
Black 0 0 0 TeXcolorrgb 44 w(s)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4212 25 92 v Black 0.95
TeXcolorgray -128 4212 4252 92 v Black 0.95 TeXcolorgray
4124 4212 25 92 v Black 0.95 TeXcolorgray Black -128
4184 a
SDict begin H.S end
-128 4184 a -128 4184 a
SDict begin 11 H.A end
-128 4184 a -128 4184
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.40) cvn H.B /DEST pdfmark end
-128 4184 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4303 25 92 v Black 0.95 TeXcolorgray -128 4303 4252
92 v Black 0.95 TeXcolorgray 4124 4303 25 92 v Black
0.95 TeXcolorgray Black -128 4276 a
SDict begin H.S end
-128 4276 a -128
4276 a
SDict begin 11 H.A end
-128 4276 a -128 4276 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.41) cvn H.B /DEST pdfmark end
-128 4276 a Fo(--)p 0 0 0
TeXcolorrgb 45 w(Here)p Black 0 0 0 TeXcolorrgb 44 w(we)p
Black 0 0 0 TeXcolorrgb 45 w(generate)p Black 0 0 0 TeXcolorrgb
43 w(the)p Black 0 0 0 TeXcolorrgb 44 w(Haskell)p Black
0 0 0 TeXcolorrgb 44 w(code)p Black 0 0 0 TeXcolorrgb
44 w(for)p Black 0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0
TeXcolorrgb 44 w(splice)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4395 25 92 v Black 0.95 TeXcolorgray
-128 4395 4252 92 v Black 0.95 TeXcolorgray 4124 4395
25 92 v Black 0.95 TeXcolorgray Black -128 4367 a
SDict begin H.S end
-128
4367 a -128 4367 a
SDict begin 11 H.A end
-128 4367 a -128 4367 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.42) cvn H.B /DEST pdfmark end
-128 4367
a Fo(--)p 0 0 0 TeXcolorrgb 45 w(from)p Black 0 0 0 TeXcolorrgb
44 w(an)p Black 0 0 0 TeXcolorrgb 45 w(input)p Black
0 0 0 TeXcolorrgb 44 w(format)p Black 0 0 0 TeXcolorrgb
43 w(string)p Black -1 w(.)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4486 25 92 v Black 0.95 TeXcolorgray
-128 4486 4252 92 v Black 0.95 TeXcolorgray 4124 4486
25 92 v Black 0.95 TeXcolorgray Black -128 4458 a
SDict begin H.S end
-128
4458 a -128 4458 a
SDict begin 11 H.A end
-128 4458 a -128 4458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.43) cvn H.B /DEST pdfmark end
-128 4458
a 0 0 0 TeXcolorrgb Fo(pr)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(String)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Q)p
Black 0 0 0 TeXcolorrgb 44 w(Exp)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4577 25 92 v Black 0.95
TeXcolorgray -128 4577 4252 92 v Black 0.95 TeXcolorgray
4124 4577 25 92 v Black 0.95 TeXcolorgray Black -128
4550 a
SDict begin H.S end
-128 4550 a -128 4550 a
SDict begin 11 H.A end
-128 4550 a -128 4550
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-471.44) cvn H.B /DEST pdfmark end
-128 4550 a 0 0 0 TeXcolorrgb Fo(pr)p Black 0 0 0 TeXcolorrgb
45 w(s)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(gen)p
Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(parse)p Black
0 0 0 TeXcolorrgb 44 w(s)p Black(\))p 0.95 TeXcolorgray
-153 4602 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4776 a FA(No)n(w)21 b(run)e(the)h(compiler)f(\(here)g(we)i
(are)f(a)h(Cygwin)e(prompt)g(on)h(W)m(indo)n(ws\):)-128
4844 y
SDict begin H.S end
-128 4844 a -128 4844 a
SDict begin 12 H.A end
-128 4844 a -128 4844
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-472) cvn H.B /DEST pdfmark end
-128 4844 a 0.95 TeXcolorgray -153 4859 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4951 25 92 v Black 0.95 TeXcolorgray
-128 4951 4252 92 v Black 0.95 TeXcolorgray 4124 4951
25 92 v Black 0.95 TeXcolorgray Black -128 4923 a
SDict begin H.S end
-128
4923 a -128 4923 a
SDict begin 11 H.A end
-128 4923 a -128 4923 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-472.1) cvn H.B /DEST pdfmark end
-128 4923
a 0 0 0 TeXcolorrgb Fo($)p Black 0 0 0 TeXcolorrgb 45
w(ghc)p Black 44 w(--)p 0 0 0 TeXcolorrgb(make)p Black
44 w(-)p 0 0 0 TeXcolorrgb(XTemplateHaskell)p Black 0 0 0
TeXcolorrgb 42 w(main)p Black(.)p 0 0 0 TeXcolorrgb -1
w(hs)p Black 45 w(-)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0
TeXcolorrgb 44 w(main)p Black(.)p 0 0 0 TeXcolorrgb(exe)p
Black 0.95 TeXcolorgray -153 4976 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5150 a FA(Run)h("main.e)o(x)o(e")d
(and)h(here)h(is)h(your)e(output:)-128 5218 y
SDict begin H.S end
-128 5218
a -128 5218 a
SDict begin 12 H.A end
-128 5218 a -128 5218 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-473) cvn H.B /DEST pdfmark end
-128 5218 a 0.95
TeXcolorgray -153 5233 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5324 25 92 v Black 0.95 TeXcolorgray -128 5324 4252 92
v Black 0.95 TeXcolorgray 4124 5324 25 92 v Black 0.95
TeXcolorgray Black -128 5297 a
SDict begin H.S end
-128 5297 a -128 5297
a
SDict begin 11 H.A end
-128 5297 a -128 5297 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-473.1) cvn H.B /DEST pdfmark end
-128 5297 a 0 0 0 TeXcolorrgb
Fo($)p Black 45 w(./)p 0 0 0 TeXcolorrgb(main)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5416 25
92 v Black 0.95 TeXcolorgray -128 5416 4252 92 v Black
0.95 TeXcolorgray 4124 5416 25 92 v Black 0.95 TeXcolorgray
Black -128 5388 a
SDict begin H.S end
-128 5388 a -128 5388 a
SDict begin 11 H.A end
-128 5388 a
-128 5388 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-473.2) cvn H.B /DEST pdfmark end
-128 5388 a 0 0 0 TeXcolorrgb Fo(Hello)p
Black 0.95 TeXcolorgray -153 5441 4302 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 6084 4252 5
v Black eop end
%%Page: 171 186
TeXDict begin 171 185 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.171) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(171)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.9.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.9.4)p
Black 90 w(Using)k(T)-5 b(emplate)23 b(Haskell)h(with)g(Pr)n(o\002ling)
-128 375 y FA(T)-6 b(emplate)23 b(Hask)o(ell)g(relies)g(on)g(GHC')-5
b(s)24 b(b)n(uilt-in)e(bytecode)g(compiler)f(and)i(interpreter)e(to)i
(run)f(the)h(splice)g(e)o(xpressions.)32 b(The)23 b(bytecode)e(inter)n
(-)-128 474 y(preter)j(runs)g(the)h(compiled)e(e)o(xpression)g(on)i
(top)f(of)g(the)h(same)g(runtime)e(on)h(which)g(GHC)i(itself)f(is)h
(running;)f(this)g(means)f(that)h(the)f(compiled)-128
574 y(code)19 b(referred)e(to)j(by)f(the)g(interpreted)e(e)o(xpression)
h(must)h(be)g(compatible)f(with)h(this)h(runtime,)e(and)h(in)g
(particular)f(this)i(means)f(that)g(object)g(code)-128
673 y(that)j(is)g(compiled)e(for)h(pro\002ling)f Fq(cannot)i
FA(be)f(loaded)f(and)h(used)g(by)g(a)h(splice)g(e)o(xpression,)e
(because)h(pro\002led)f(object)h(code)f(is)j(only)d(compatible)-128
773 y(with)h(the)f(pro\002ling)f(v)o(ersion)g(of)h(the)g(runtime.)-128
921 y(This)26 b(causes)f(dif)n(\002culties)g(if)h(you)e(ha)n(v)o(e)h(a)
h(multi-module)d(program)g(containing)g(T)-6 b(emplate)25
b(Hask)o(ell)g(code)g(and)g(you)f(need)h(to)g(compile)g(it)h(for)-128
1020 y(pro\002ling,)20 b(because)h(GHC)h(cannot)e(load)g(the)i
(pro\002led)e(object)g(code)h(and)f(use)i(it)g(when)e(e)o(x)o(ecuting)f
(the)i(splices.)29 b(F)o(ortunately)19 b(GHC)j(pro)o(vides)e(a)-128
1120 y(w)o(orkaround.)i(The)e(basic)g(idea)h(is)g(to)f(compile)f(the)h
(program)f(twice:)-128 1217 y
SDict begin H.S end
-128 1217 a -128 1217 a
SDict begin 12 H.A end
-128 1217 a -128 1217 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.30) cvn H.B /DEST pdfmark end
-128 1217 a Black -24 1331 a
FA(1.)p Black 41 w(Compile)h(the)g(program)e(or)i(library)f(\002rst)i
(the)f(normal)f(w)o(ay)-5 b(,)20 b(without)f Ft(-prof)p
FA(.)-128 1381 y
SDict begin H.S end
-128 1381 a -128 1381 a
SDict begin 12 H.A end
-128 1381 a
-128 1381 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.31) cvn H.B /DEST pdfmark end
-128 1381 a Black -24 1495 a FA(2.)p Black
41 w(Then)f(compile)g(it)i(again)e(with)i Ft(-prof)p
FA(,)e(and)h(additionally)e(use)j Ft(-osuf)48 b(p_o)20
b FA(to)f(name)f(the)h(object)g(\002les)h(dif)n(ferently)d(\(you)h(can)
h(choose)80 1595 y(an)o(y)h(suf)n(\002x)g(that)h(isn')o(t)f(the)g
(normal)g(object)g(suf)n(\002x)g(here\).)25 b(GHC)c(will)g
(automatically)e(load)h(the)h(object)f(\002les)i(b)n(uilt)e(in)h(the)f
(\002rst)i(step)f(when)80 1694 y(e)o(x)o(ecuting)d(splice)j(e)o
(xpressions.)j(If)c(you)f(omit)h(the)h Ft(-osuf)f FA(\003ag)g(when)g(b)
n(uilding)f(with)h Ft(-prof)g FA(and)g(T)-6 b(emplate)19
b(Hask)o(ell)i(is)g(used,)f(GHC)80 1794 y(will)h(emit)f(an)g(error)f
(message.)-128 1927 y
SDict begin H.S end
-128 1927 a -128 1927 a
SDict begin 12 H.A end
-128 1927
a -128 1927 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.9.5) cvn H.B /DEST pdfmark end
-128 1927 a Black 147 x Fp(7.9.5)p Black
114 w(T)-5 b(emplate)24 b(Haskell)g(Quasi-quotation)-128
2162 y
SDict begin H.S end
-128 2162 a -128 2162 a
SDict begin 12 H.A end
-128 2162 a -128 2162
a
SDict begin [ /View [/XYZ H.V] /Dest (th-quasiquotation) cvn H.B /DEST pdfmark end
-128 2162 a 113 x FA(Quasi-quotation)18 b(allo)n(ws)j(patterns)e(and)
h(e)o(xpressions)f(to)h(be)g(written)g(using)g(programmer)n(-de\002ned)
15 b(concrete)k(syntax;)h(the)g(moti)n(v)n(ation)e(behind)-128
2375 y(the)29 b(e)o(xtension)f(and)g(se)n(v)o(eral)h(e)o(xamples)e(are)
i(documented)e(in)i(")p 0 1 0 0 TeXcolorcmyk 1797 2393
a
SDict begin H.S end
1797 2393 a 0 1 0 0 TeXcolorcmyk -18 x FA(Why)19 b(It')-5
b(s)21 b(Nice)g(to)f(be)g(Quoted:)k(Quasiquoting)19 b(for)g(Hask)o(ell)
p 0 1 0 0 TeXcolorcmyk 3599 2319 a
SDict begin H.R end
3599 2319 a 3599 2375
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.eecs.harvard.edu/~mainland/ghc-quasiquoting/) >> /Subtype /Link H.B /ANN pdfmark end
3599 2375 a Black FA(")29 b(\(Proc)g(Hask)o(ell)-128
2474 y(W)-7 b(orkshop)19 b(2007\).)24 b(The)19 b(e)o(xample)g(belo)n(w)
h(sho)n(ws)g(ho)n(w)g(to)g(write)g(a)h(quasiquoter)d(for)i(a)g(simple)h
(e)o(xpression)d(language.)-128 2622 y(In)i(the)h(e)o(xample,)d(the)j
(quasiquoter)d Ft(expr)i FA(is)h(bound)e(to)h(a)h(v)n(alue)f(of)g(type)
g Ft(Language.Haskell.TH.Quote.QuasiQu)o(oter)15 b FA(which)-128
2722 y(contains)27 b(tw)o(o)g(functions)f(for)h(quoting)e(e)o
(xpressions)h(and)h(patterns,)h(respecti)n(v)o(ely)-5
b(.)43 b(The)27 b(\002rst)h(ar)o(gument)d(to)i(each)g(quoter)f(is)i
(the)f(\(arbitrary\))-128 2821 y(string)h(enclosed)g(in)g(the)g(Oxford)
f(brack)o(ets.)49 b(The)28 b(conte)o(xt)f(of)h(the)g(quasi-quotation)d
(statement)j(determines)f(which)h(of)g(the)h(tw)o(o)f(parsers)g(is)-128
2921 y(called:)d(if)20 b(the)f(quasi-quotation)d(occurs)j(in)g(an)h(e)o
(xpression)d(conte)o(xt,)h(the)h(e)o(xpression)f(parser)h(is)h(called,)
f(and)g(if)g(it)h(occurs)f(in)g(a)h(pattern)e(conte)o(xt,)-128
3021 y(the)j(pattern)e(parser)h(is)h(called.)-128 3168
y(Note)c(that)g(in)g(the)g(e)o(xample)f(we)h(mak)o(e)g(use)g(of)g(an)f
(antiquoted)f(v)n(ariable)h Ft(n)p FA(,)i(indicated)e(by)g(the)h
(syntax)g Ft('int:n)f FA(\(this)h(syntax)f(for)h(anti-quotation)-128
3268 y(w)o(as)22 b(de\002ned)f(by)f(the)i(parser')-5
b(s)21 b(author)m(,)e Fq(not)k FA(by)d(GHC\).)i(This)f(binds)g
Ft(n)h FA(to)f(the)g(inte)o(ger)f(v)n(alue)h(ar)o(gument)e(of)i(the)g
(constructor)e Ft(IntExpr)i FA(when)-128 3368 y(pattern)29
b(matching.)50 b(Please)30 b(see)g(the)f(referenced)e(paper)h(for)h
(further)e(details)j(re)o(garding)c(anti-quotation)g(as)k(well)g(as)g
(the)f(description)f(of)h(a)-128 3467 y(technique)20
b(that)i(uses)g(SYB)g(to)g(le)n(v)o(erage)d(a)j(single)g(parser)e(of)h
(type)g Ft(String)49 b(->)h(a)21 b FA(to)h(generate)e(both)h(an)g(e)o
(xpression)f(parser)h(that)g(returns)g(a)-128 3567 y(v)n(alue)f(of)g
(type)g Ft(Q)49 b(Exp)20 b FA(and)g(a)h(pattern)e(parser)h(that)g
(returns)f(a)i(v)n(alue)e(of)h(type)g Ft(Q)50 b(Pat)p
FA(.)-128 3715 y(In)29 b(general,)g(a)g(quasi-quote)e(has)i(the)g(form)
e Ft([$)p Fr(quoter)s Ft(|)48 b Fr(string)53 b Ft(|])p
FA(.)e(The)28 b Fr(quoter)j FA(must)e(be)g(the)f(name)g(of)h(an)f
(imported)g(quoter;)j(it)-128 3814 y(cannot)20 b(be)g(an)g(arbitrary)e
(e)o(xpression.)24 b(The)c(quoted)e Fr(string)24 b FA(can)c(be)g
(arbitrary)-5 b(,)18 b(and)i(may)g(contain)f(ne)n(wlines.)-128
3962 y(Quasiquoters)h(must)i(obe)o(y)e(the)h(same)g(stage)h
(restrictions)f(as)h(T)-6 b(emplate)20 b(Hask)o(ell,)i(e.g.,)e(in)i
(the)f(e)o(xample,)f Ft(expr)h FA(cannot)f(be)i(de\002ned)e(in)h
Ft(Mai-)-128 4062 y(n.hs)f FA(where)g(it)h(is)g(used,)f(b)n(ut)g(must)g
(be)g(imported.)-128 4128 y
SDict begin H.S end
-128 4128 a -128 4128 a
SDict begin 12 H.A end
-128
4128 a -128 4128 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-474) cvn H.B /DEST pdfmark end
-128 4128 a 0.95 TeXcolorgray -153
4143 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4234 25 92 v Black 0.95
TeXcolorgray -128 4234 4252 92 v Black 0.95 TeXcolorgray
4124 4234 25 92 v Black 0.95 TeXcolorgray Black -128
4207 a
SDict begin H.S end
-128 4207 a -128 4207 a
SDict begin 11 H.A end
-128 4207 a -128 4207
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.1) cvn H.B /DEST pdfmark end
-128 4207 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4326 25 92 v Black 0.95 TeXcolorgray -128 4326 4252
92 v Black 0.95 TeXcolorgray 4124 4326 25 92 v Black
0.95 TeXcolorgray Black -128 4298 a
SDict begin H.S end
-128 4298 a -128
4298 a
SDict begin 11 H.A end
-128 4298 a -128 4298 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.2) cvn H.B /DEST pdfmark end
-128 4298 a Fo({-)p 0 0 0
TeXcolorrgb 45 w(Main)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black 45 w(-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4417 25 92 v Black 0.95 TeXcolorgray -128 4417 4252
92 v Black 0.95 TeXcolorgray 4124 4417 25 92 v Black
0.95 TeXcolorgray Black -128 4390 a
SDict begin H.S end
-128 4390 a -128
4390 a
SDict begin 11 H.A end
-128 4390 a -128 4390 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.3) cvn H.B /DEST pdfmark end
-128 4390 a 0 0 0 TeXcolorrgb
Fo(module)p Black 0 0 0 TeXcolorrgb 44 w(Main)p Black
0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4508 25 92 v Black 0.95
TeXcolorgray -128 4508 4252 92 v Black 0.95 TeXcolorgray
4124 4508 25 92 v Black 0.95 TeXcolorgray Black -128
4481 a
SDict begin H.S end
-128 4481 a -128 4481 a
SDict begin 11 H.A end
-128 4481 a -128 4481
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.4) cvn H.B /DEST pdfmark end
-128 4481 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4600 25 92 v Black 0.95 TeXcolorgray -128 4600 4252
92 v Black 0.95 TeXcolorgray 4124 4600 25 92 v Black
0.95 TeXcolorgray Black -128 4572 a
SDict begin H.S end
-128 4572 a -128
4572 a
SDict begin 11 H.A end
-128 4572 a -128 4572 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.5) cvn H.B /DEST pdfmark end
-128 4572 a 0 0 0 TeXcolorrgb
Fo(import)p Black 0 0 0 TeXcolorrgb 44 w(Expr)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4691 25
92 v Black 0.95 TeXcolorgray -128 4691 4252 92 v Black
0.95 TeXcolorgray 4124 4691 25 92 v Black 0.95 TeXcolorgray
Black -128 4664 a
SDict begin H.S end
-128 4664 a -128 4664 a
SDict begin 11 H.A end
-128 4664 a
-128 4664 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.6) cvn H.B /DEST pdfmark end
-128 4664 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4782 25 92 v Black 0.95 TeXcolorgray
-128 4782 4252 92 v Black 0.95 TeXcolorgray 4124 4782
25 92 v Black 0.95 TeXcolorgray Black -128 4755 a
SDict begin H.S end
-128
4755 a -128 4755 a
SDict begin 11 H.A end
-128 4755 a -128 4755 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.7) cvn H.B /DEST pdfmark end
-128 4755
a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(IO)p Black 45 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4874 25 92 v Black 0.95 TeXcolorgray
-128 4874 4252 92 v Black 0.95 TeXcolorgray 4124 4874
25 92 v Black 0.95 TeXcolorgray Black -128 4846 a
SDict begin H.S end
-128
4846 a -128 4846 a
SDict begin 11 H.A end
-128 4846 a -128 4846 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.8) cvn H.B /DEST pdfmark end
-128 4846
a 0 0 0 TeXcolorrgb Fo(main)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(do)p Black 45 w({)p 0 0 0 TeXcolorrgb 44 w(print)p
Black 0 0 0 TeXcolorrgb 44 w($)p Black 0 0 0 TeXcolorrgb
45 w(eval)p Black 44 w([)p 0 0 0 TeXcolorrgb($expr)p
Black -1 w(|1)45 b(+)f(2|])p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4965 25 92 v Black 0.95 TeXcolorgray
-128 4965 4252 92 v Black 0.95 TeXcolorgray 4124 4965
25 92 v Black 0.95 TeXcolorgray Black -128 4938 a
SDict begin H.S end
-128
4938 a -128 4938 a
SDict begin 11 H.A end
-128 4938 a -128 4938 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.9) cvn H.B /DEST pdfmark end
-128 4938
a 449 w Fo(;)p 0 0 0 TeXcolorrgb 44 w(case)p Black 0 0 0
TeXcolorrgb 45 w(IntExpr)p Black 43 w(1)p 0 0 0 TeXcolorrgb
45 w(of)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5056 25 92 v Black 0.95 TeXcolorgray -128 5056 4252
92 v Black 0.95 TeXcolorgray 4124 5056 25 92 v Black
0.95 TeXcolorgray Black -128 5029 a
SDict begin H.S end
-128 5029 a -128
5029 a
SDict begin 11 H.A end
-128 5029 a -128 5029 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.10) cvn H.B /DEST pdfmark end
-128 5029 a 628 w Fo({)h([)p
0 0 0 TeXcolorrgb($expr)p Black -1 w(|')p 0 0 0 TeXcolorrgb
-1 w(int)p Black(:)p 0 0 0 TeXcolorrgb(n)p Black(|])f(->)p
0 0 0 TeXcolorrgb 45 w(print)p Black 0 0 0 TeXcolorrgb
44 w(n)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5148 25 92 v Black 0.95 TeXcolorgray -128 5148 4252
92 v Black 0.95 TeXcolorgray 4124 5148 25 92 v Black
0.95 TeXcolorgray Black -128 5120 a
SDict begin H.S end
-128 5120 a -128
5120 a
SDict begin 11 H.A end
-128 5120 a -128 5120 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.11) cvn H.B /DEST pdfmark end
-128 5120 a 628 w Fo(;)p
0 0 0 TeXcolorrgb 90 w(_)p Black 627 w(->)p 0 0 0 TeXcolorrgb
45 w(return)p Black 43 w(\(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5239 25 92 v Black 0.95 TeXcolorgray
-128 5239 4252 92 v Black 0.95 TeXcolorgray 4124 5239
25 92 v Black 0.95 TeXcolorgray Black -128 5212 a
SDict begin H.S end
-128
5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a -128 5212 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.12) cvn H.B /DEST pdfmark end
-128 5212
a 628 w Fo(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5330 25 92 v Black 0.95 TeXcolorgray -128 5330 4252
92 v Black 0.95 TeXcolorgray 4124 5330 25 92 v Black
0.95 TeXcolorgray Black -128 5303 a
SDict begin H.S end
-128 5303 a -128
5303 a
SDict begin 11 H.A end
-128 5303 a -128 5303 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.13) cvn H.B /DEST pdfmark end
-128 5303 a 449 w Fo(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5422 25
92 v Black 0.95 TeXcolorgray -128 5422 4252 92 v Black
0.95 TeXcolorgray 4124 5422 25 92 v Black 0.95 TeXcolorgray
Black -128 5394 a
SDict begin H.S end
-128 5394 a -128 5394 a
SDict begin 11 H.A end
-128 5394 a
-128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.14) cvn H.B /DEST pdfmark end
-128 5394 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5513 25 92 v Black 0.95 TeXcolorgray
-128 5513 4252 92 v Black 0.95 TeXcolorgray 4124 5513
25 92 v Black 0.95 TeXcolorgray Black -128 5485 a
SDict begin H.S end
-128
5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a -128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.15) cvn H.B /DEST pdfmark end
-128 5485
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5604
25 92 v Black 0.95 TeXcolorgray -128 5604 4252 92 v Black
0.95 TeXcolorgray 4124 5604 25 92 v Black 0.95 TeXcolorgray
Black -128 5577 a
SDict begin H.S end
-128 5577 a -128 5577 a
SDict begin 11 H.A end
-128 5577 a
-128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.16) cvn H.B /DEST pdfmark end
-128 5577 a Fo({-)p 0 0 0 TeXcolorrgb 45
w(Expr)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p Black
45 w(-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5696 25 92 v Black 0.95 TeXcolorgray -128 5696 4252 92
v Black 0.95 TeXcolorgray 4124 5696 25 92 v Black 0.95
TeXcolorgray Black -128 5668 a
SDict begin H.S end
-128 5668 a -128 5668
a
SDict begin 11 H.A end
-128 5668 a -128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.17) cvn H.B /DEST pdfmark end
-128 5668 a 0 0 0 TeXcolorrgb
Fo(module)p Black 0 0 0 TeXcolorrgb 44 w(Expr)p Black
0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5787 25 92 v Black 0.95
TeXcolorgray -128 5787 4252 92 v Black 0.95 TeXcolorgray
4124 5787 25 92 v Black 0.95 TeXcolorgray Black -128
5759 a
SDict begin H.S end
-128 5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.18) cvn H.B /DEST pdfmark end
-128 5759 a Black -128 6084 4252 5 v Black eop end
%%Page: 172 187
TeXDict begin 172 186 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.172) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(172)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.19) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
Fo(import)p Black 0 0 0 TeXcolorrgb 44 w(qualified)p
Black 0 0 0 TeXcolorrgb 44 w(Language)p Black -2 w(.)p
0 0 0 TeXcolorrgb(Haskell)p Black -1 w(.)p 0 0 0 TeXcolorrgb(TH)p
Black 0 0 0 TeXcolorrgb 44 w(as)p Black 0 0 0 TeXcolorrgb
45 w(TH)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 292 25 92 v Black 0.95 TeXcolorgray -128 292 4252
92 v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.20) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb Fo(import)p
Black 0 0 0 TeXcolorrgb 44 w(Language)p Black -1 w(.)p
0 0 0 TeXcolorrgb(Haskell)p Black -1 w(.)p 0 0 0 TeXcolorrgb
-1 w(TH)p Black(.)p 0 0 0 TeXcolorrgb(Quote)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 383 25 92 v
Black 0.95 TeXcolorgray -128 383 4252 92 v Black 0.95
TeXcolorgray 4124 383 25 92 v Black 0.95 TeXcolorgray
Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128 356 a -128
356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.21) cvn H.B /DEST pdfmark end
-128 356 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 475 25 92 v Black 0.95 TeXcolorgray -128 475 4252
92 v Black 0.95 TeXcolorgray 4124 475 25 92 v Black 0.95
TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128
447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.22) cvn H.B /DEST pdfmark end
-128 447 a 0 0 0 TeXcolorrgb Fo(data)p
Black 0 0 0 TeXcolorrgb 45 w(Expr)p Black 89 w(=)p 0 0 0
TeXcolorrgb 89 w(IntExpr)p Black 0 0 0 TeXcolorrgb 44
w(Integer)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 566 25 92 v Black 0.95 TeXcolorgray -128 566 4252
92 v Black 0.95 TeXcolorgray 4124 566 25 92 v Black 0.95
TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128
538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.23) cvn H.B /DEST pdfmark end
-128 538 a 494 w Fo(|)p 0 0 0 TeXcolorrgb
89 w(AntiIntExpr)p Black 0 0 0 TeXcolorrgb 43 w(String)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
657 25 92 v Black 0.95 TeXcolorgray -128 657 4252 92
v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.24) cvn H.B /DEST pdfmark end
-128 630 a 494 w Fo(|)p 0 0 0 TeXcolorrgb
89 w(BinopExpr)p Black 0 0 0 TeXcolorrgb 43 w(BinOp)p
Black 0 0 0 TeXcolorrgb 44 w(Expr)p Black 0 0 0 TeXcolorrgb
45 w(Expr)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 749 25 92 v Black 0.95 TeXcolorgray -128 749 4252
92 v Black 0.95 TeXcolorgray 4124 749 25 92 v Black 0.95
TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721 a -128 721 a
SDict begin 11 H.A end
-128
721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.25) cvn H.B /DEST pdfmark end
-128 721 a 494 w Fo(|)p 0 0 0 TeXcolorrgb
89 w(AntiExpr)p Black 0 0 0 TeXcolorrgb 44 w(String)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
840 25 92 v Black 0.95 TeXcolorgray -128 840 4252 92
v Black 0.95 TeXcolorgray 4124 840 25 92 v Black 0.95
TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812 a -128 812 a
SDict begin 11 H.A end
-128
812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.26) cvn H.B /DEST pdfmark end
-128 812 a 0 0 0 TeXcolorrgb 180 w Fo(deriving)p
Black -2 w(\()p 0 0 0 TeXcolorrgb(Show)p Black(,)p 0 0 0
TeXcolorrgb 44 w(Typeable)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(Data)p Black -1 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 931 25 92 v Black 0.95 TeXcolorgray
-128 931 4252 92 v Black 0.95 TeXcolorgray 4124 931 25
92 v Black 0.95 TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904
a -128 904 a
SDict begin 11 H.A end
-128 904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.27) cvn H.B /DEST pdfmark end
-128 904 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1023 25 92 v Black 0.95
TeXcolorgray -128 1023 4252 92 v Black 0.95 TeXcolorgray
4124 1023 25 92 v Black 0.95 TeXcolorgray Black -128
995 a
SDict begin H.S end
-128 995 a -128 995 a
SDict begin 11 H.A end
-128 995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.28) cvn H.B /DEST pdfmark end
-128
995 a 0 0 0 TeXcolorrgb Fo(data)p Black 0 0 0 TeXcolorrgb
45 w(BinOp)p Black 88 w(=)p 0 0 0 TeXcolorrgb 90 w(AddOp)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1114 25 92 v Black 0.95 TeXcolorgray -128 1114 4252 92
v Black 0.95 TeXcolorgray 4124 1114 25 92 v Black 0.95
TeXcolorgray Black -128 1086 a
SDict begin H.S end
-128 1086 a -128 1086
a
SDict begin 11 H.A end
-128 1086 a -128 1086 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.29) cvn H.B /DEST pdfmark end
-128 1086 a 538 w Fo(|)p 0 0 0
TeXcolorrgb 90 w(SubOp)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1205 25 92 v Black 0.95 TeXcolorgray
-128 1205 4252 92 v Black 0.95 TeXcolorgray 4124 1205
25 92 v Black 0.95 TeXcolorgray Black -128 1178 a
SDict begin H.S end
-128
1178 a -128 1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.30) cvn H.B /DEST pdfmark end
-128 1178
a 538 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(MulOp)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1296 25 92
v Black 0.95 TeXcolorgray -128 1296 4252 92 v Black 0.95
TeXcolorgray 4124 1296 25 92 v Black 0.95 TeXcolorgray
Black -128 1269 a
SDict begin H.S end
-128 1269 a -128 1269 a
SDict begin 11 H.A end
-128 1269 a
-128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.31) cvn H.B /DEST pdfmark end
-128 1269 a 538 w Fo(|)p 0 0 0 TeXcolorrgb
90 w(DivOp)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1388 25 92 v Black 0.95 TeXcolorgray -128 1388 4252
92 v Black 0.95 TeXcolorgray 4124 1388 25 92 v Black
0.95 TeXcolorgray Black -128 1360 a
SDict begin H.S end
-128 1360 a -128
1360 a
SDict begin 11 H.A end
-128 1360 a -128 1360 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.32) cvn H.B /DEST pdfmark end
-128 1360 a 0 0 0 TeXcolorrgb
180 w Fo(deriving)p Black -2 w(\()p 0 0 0 TeXcolorrgb(Show)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(Typeable)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(Data)p Black -1 w(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -152 1479 25 92
v Black 0.95 TeXcolorgray -128 1479 4252 92 v Black 0.95
TeXcolorgray 4124 1479 25 92 v Black 0.95 TeXcolorgray
Black -128 1452 a
SDict begin H.S end
-128 1452 a -128 1452 a
SDict begin 11 H.A end
-128 1452 a
-128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.33) cvn H.B /DEST pdfmark end
-128 1452 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 1570 25 92 v Black 0.95 TeXcolorgray
-128 1570 4252 92 v Black 0.95 TeXcolorgray 4124 1570
25 92 v Black 0.95 TeXcolorgray Black -128 1543 a
SDict begin H.S end
-128
1543 a -128 1543 a
SDict begin 11 H.A end
-128 1543 a -128 1543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.34) cvn H.B /DEST pdfmark end
-128 1543
a 0 0 0 TeXcolorrgb Fo(eval)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(Expr)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Integer)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1662 25 92 v Black 0.95 TeXcolorgray -128 1662 4252 92
v Black 0.95 TeXcolorgray 4124 1662 25 92 v Black 0.95
TeXcolorgray Black -128 1634 a
SDict begin H.S end
-128 1634 a -128 1634
a
SDict begin 11 H.A end
-128 1634 a -128 1634 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.35) cvn H.B /DEST pdfmark end
-128 1634 a 0 0 0 TeXcolorrgb
Fo(eval)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(IntExpr)p
Black 0 0 0 TeXcolorrgb 44 w(n)p Black(\))358 b(=)p 0 0 0
TeXcolorrgb 45 w(n)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 1753 25 92 v Black 0.95 TeXcolorgray
-128 1753 4252 92 v Black 0.95 TeXcolorgray 4124 1753
25 92 v Black 0.95 TeXcolorgray Black -128 1726 a
SDict begin H.S end
-128
1726 a -128 1726 a
SDict begin 11 H.A end
-128 1726 a -128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.36) cvn H.B /DEST pdfmark end
-128 1726
a 0 0 0 TeXcolorrgb Fo(eval)p Black 45 w(\()p 0 0 0 TeXcolorrgb
-1 w(BinopExpr)p Black 0 0 0 TeXcolorrgb 44 w(op)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45
w(y)p Black(\))44 b(=)h(\()p 0 0 0 TeXcolorrgb(opToFun)p
Black 0 0 0 TeXcolorrgb 44 w(op)p Black -1 w(\))g(\()p
0 0 0 TeXcolorrgb(eval)p Black 0 0 0 TeXcolorrgb 44 w(x)p
Black(\))f(\()p 0 0 0 TeXcolorrgb(eval)p Black 0 0 0
TeXcolorrgb 44 w(y)p Black(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1844 25 92 v Black 0.95 TeXcolorgray
-128 1844 4252 92 v Black 0.95 TeXcolorgray 4124 1844
25 92 v Black 0.95 TeXcolorgray Black -128 1817 a
SDict begin H.S end
-128
1817 a -128 1817 a
SDict begin 11 H.A end
-128 1817 a -128 1817 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.37) cvn H.B /DEST pdfmark end
-128 1817
a 0 0 0 TeXcolorrgb 90 w Fo(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1936 25 92 v Black 0.95
TeXcolorgray -128 1936 4252 92 v Black 0.95 TeXcolorgray
4124 1936 25 92 v Black 0.95 TeXcolorgray Black -128
1908 a
SDict begin H.S end
-128 1908 a -128 1908 a
SDict begin 11 H.A end
-128 1908 a -128 1908
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.38) cvn H.B /DEST pdfmark end
-128 1908 a 0 0 0 TeXcolorrgb 180 w Fo(opToFun)p Black
0 0 0 TeXcolorrgb 43 w(AddOp)p Black 44 w(=)h(\(+\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 2027 25
92 v Black 0.95 TeXcolorgray -128 2027 4252 92 v Black
0.95 TeXcolorgray 4124 2027 25 92 v Black 0.95 TeXcolorgray
Black -128 2000 a
SDict begin H.S end
-128 2000 a -128 2000 a
SDict begin 11 H.A end
-128 2000 a
-128 2000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.39) cvn H.B /DEST pdfmark end
-128 2000 a 0 0 0 TeXcolorrgb 180 w Fo(opToFun)p
Black 0 0 0 TeXcolorrgb 43 w(SubOp)p Black 44 w(=)g(\(-\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 2118 25
92 v Black 0.95 TeXcolorgray -128 2118 4252 92 v Black
0.95 TeXcolorgray 4124 2118 25 92 v Black 0.95 TeXcolorgray
Black -128 2091 a
SDict begin H.S end
-128 2091 a -128 2091 a
SDict begin 11 H.A end
-128 2091 a
-128 2091 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.40) cvn H.B /DEST pdfmark end
-128 2091 a 0 0 0 TeXcolorrgb 180 w Fo(opToFun)p
Black 0 0 0 TeXcolorrgb 43 w(MulOp)p Black 44 w(=)g(\()814
2104 y(*)859 2091 y(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 2210 25 92 v Black 0.95 TeXcolorgray
-128 2210 4252 92 v Black 0.95 TeXcolorgray 4124 2210
25 92 v Black 0.95 TeXcolorgray Black -128 2182 a
SDict begin H.S end
-128
2182 a -128 2182 a
SDict begin 11 H.A end
-128 2182 a -128 2182 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.41) cvn H.B /DEST pdfmark end
-128 2182
a 0 0 0 TeXcolorrgb 180 w Fo(opToFun)p Black 0 0 0 TeXcolorrgb
43 w(DivOp)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(div)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
2301 25 92 v Black 0.95 TeXcolorgray -128 2301 4252 92
v Black 0.95 TeXcolorgray 4124 2301 25 92 v Black 0.95
TeXcolorgray Black -128 2274 a
SDict begin H.S end
-128 2274 a -128 2274
a
SDict begin 11 H.A end
-128 2274 a -128 2274 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.42) cvn H.B /DEST pdfmark end
-128 2274 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2392 25 92 v Black 0.95
TeXcolorgray -128 2392 4252 92 v Black 0.95 TeXcolorgray
4124 2392 25 92 v Black 0.95 TeXcolorgray Black -128
2365 a
SDict begin H.S end
-128 2365 a -128 2365 a
SDict begin 11 H.A end
-128 2365 a -128 2365
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.43) cvn H.B /DEST pdfmark end
-128 2365 a 0 0 0 TeXcolorrgb Fo(expr)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(QuasiQuoter)p Black 0 0 0 TeXcolorrgb
43 w(parseExprExp)p Black 0 0 0 TeXcolorrgb 43 w(parseExprPat)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
2484 25 92 v Black 0.95 TeXcolorgray -128 2484 4252 92
v Black 0.95 TeXcolorgray 4124 2484 25 92 v Black 0.95
TeXcolorgray Black -128 2456 a
SDict begin H.S end
-128 2456 a -128 2456
a
SDict begin 11 H.A end
-128 2456 a -128 2456 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.44) cvn H.B /DEST pdfmark end
-128 2456 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 2575 25 92 v Black 0.95
TeXcolorgray -128 2575 4252 92 v Black 0.95 TeXcolorgray
4124 2575 25 92 v Black 0.95 TeXcolorgray Black -128
2548 a
SDict begin H.S end
-128 2548 a -128 2548 a
SDict begin 11 H.A end
-128 2548 a -128 2548
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.45) cvn H.B /DEST pdfmark end
-128 2548 a Fo(--)p 0 0 0 TeXcolorrgb 45 w(Parse)p
Black 0 0 0 TeXcolorrgb 44 w(an)p Black 0 0 0 TeXcolorrgb
44 w(Expr)p Black(,)p 0 0 0 TeXcolorrgb 44 w(returning)p
Black 0 0 0 TeXcolorrgb 44 w(its)p Black 0 0 0 TeXcolorrgb
44 w(representation)p Black 0 0 0 TeXcolorrgb 43 w(as)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
2666 25 92 v Black 0.95 TeXcolorgray -128 2666 4252 92
v Black 0.95 TeXcolorgray 4124 2666 25 92 v Black 0.95
TeXcolorgray Black -128 2639 a
SDict begin H.S end
-128 2639 a -128 2639
a
SDict begin 11 H.A end
-128 2639 a -128 2639 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.46) cvn H.B /DEST pdfmark end
-128 2639 a Fo(--)p 0 0 0 TeXcolorrgb
45 w(either)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 44 w(Q)p Black 0 0 0 TeXcolorrgb 45
w(Exp)p Black 0 0 0 TeXcolorrgb 44 w(or)p Black 0 0 0
TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 45 w(Q)p
Black 0 0 0 TeXcolorrgb 44 w(Pat)p Black(.)p 0 0 0 TeXcolorrgb
44 w(See)p Black 0 0 0 TeXcolorrgb 45 w(the)p Black 0 0 0
TeXcolorrgb 44 w(referenced)p Black 0 0 0 TeXcolorrgb
43 w(paper)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2758 25 92 v Black 0.95 TeXcolorgray -128 2758 4252
92 v Black 0.95 TeXcolorgray 4124 2758 25 92 v Black
0.95 TeXcolorgray Black -128 2730 a
SDict begin H.S end
-128 2730 a -128
2730 a
SDict begin 11 H.A end
-128 2730 a -128 2730 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.47) cvn H.B /DEST pdfmark end
-128 2730 a Fo(--)p 0 0 0
TeXcolorrgb 45 w(for)p Black 0 0 0 TeXcolorrgb 44 w(how)p
Black 0 0 0 TeXcolorrgb 45 w(to)p Black 0 0 0 TeXcolorrgb
44 w(use)p Black 0 0 0 TeXcolorrgb 44 w(SYB)p Black 0 0 0
TeXcolorrgb 45 w(to)p Black 0 0 0 TeXcolorrgb 44 w(do)p
Black 0 0 0 TeXcolorrgb 45 w(this)p Black 0 0 0 TeXcolorrgb
44 w(by)p Black 0 0 0 TeXcolorrgb 44 w(writing)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(single)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2849 25 92 v Black 0.95 TeXcolorgray -128 2849 4252
92 v Black 0.95 TeXcolorgray 4124 2849 25 92 v Black
0.95 TeXcolorgray Black -128 2822 a
SDict begin H.S end
-128 2822 a -128
2822 a
SDict begin 11 H.A end
-128 2822 a -128 2822 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.48) cvn H.B /DEST pdfmark end
-128 2822 a Fo(--)p 0 0 0
TeXcolorrgb 45 w(parser)p Black 0 0 0 TeXcolorrgb 44
w(of)p Black 0 0 0 TeXcolorrgb 44 w(type)p Black 0 0 0
TeXcolorrgb 44 w(String)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(Expr)p Black 0 0 0 TeXcolorrgb 44 w(instead)p Black
0 0 0 TeXcolorrgb 44 w(of)p Black 0 0 0 TeXcolorrgb 44
w(two)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 2940 25 92 v Black 0.95 TeXcolorgray -128 2940 4252
92 v Black 0.95 TeXcolorgray 4124 2940 25 92 v Black
0.95 TeXcolorgray Black -128 2913 a
SDict begin H.S end
-128 2913 a -128
2913 a
SDict begin 11 H.A end
-128 2913 a -128 2913 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.49) cvn H.B /DEST pdfmark end
-128 2913 a Fo(--)p 0 0 0
TeXcolorrgb 45 w(separate)p Black 0 0 0 TeXcolorrgb 43
w(parsers)p Black -1 w(.)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 3032 25 92 v Black 0.95 TeXcolorgray
-128 3032 4252 92 v Black 0.95 TeXcolorgray 4124 3032
25 92 v Black 0.95 TeXcolorgray Black -128 3004 a
SDict begin H.S end
-128
3004 a -128 3004 a
SDict begin 11 H.A end
-128 3004 a -128 3004 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.50) cvn H.B /DEST pdfmark end
-128 3004
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 3123
25 92 v Black 0.95 TeXcolorgray -128 3123 4252 92 v Black
0.95 TeXcolorgray 4124 3123 25 92 v Black 0.95 TeXcolorgray
Black -128 3096 a
SDict begin H.S end
-128 3096 a -128 3096 a
SDict begin 11 H.A end
-128 3096 a
-128 3096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.51) cvn H.B /DEST pdfmark end
-128 3096 a 0 0 0 TeXcolorrgb Fo(parseExprExp)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 45 w(String)p Black
44 w(->)p 0 0 0 TeXcolorrgb 44 w(Q)p Black 0 0 0 TeXcolorrgb
45 w(Exp)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 3214 25 92 v Black 0.95 TeXcolorgray -128 3214 4252
92 v Black 0.95 TeXcolorgray 4124 3214 25 92 v Black
0.95 TeXcolorgray Black -128 3187 a
SDict begin H.S end
-128 3187 a -128
3187 a
SDict begin 11 H.A end
-128 3187 a -128 3187 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.52) cvn H.B /DEST pdfmark end
-128 3187 a 0 0 0 TeXcolorrgb
Fo(parseExprExp)p Black 43 w(...)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3306 25 92 v Black 0.95
TeXcolorgray -128 3306 4252 92 v Black 0.95 TeXcolorgray
4124 3306 25 92 v Black 0.95 TeXcolorgray Black -128
3278 a
SDict begin H.S end
-128 3278 a -128 3278 a
SDict begin 11 H.A end
-128 3278 a -128 3278
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.53) cvn H.B /DEST pdfmark end
-128 3278 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 3397 25 92 v Black 0.95 TeXcolorgray -128 3397 4252
92 v Black 0.95 TeXcolorgray 4124 3397 25 92 v Black
0.95 TeXcolorgray Black -128 3370 a
SDict begin H.S end
-128 3370 a -128
3370 a
SDict begin 11 H.A end
-128 3370 a -128 3370 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.54) cvn H.B /DEST pdfmark end
-128 3370 a 0 0 0 TeXcolorrgb
Fo(parseExprPat)p Black 43 w(::)p 0 0 0 TeXcolorrgb 45
w(String)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Q)p
Black 0 0 0 TeXcolorrgb 45 w(Pat)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 3488 25 92 v Black 0.95
TeXcolorgray -128 3488 4252 92 v Black 0.95 TeXcolorgray
4124 3488 25 92 v Black 0.95 TeXcolorgray Black -128
3461 a
SDict begin H.S end
-128 3461 a -128 3461 a
SDict begin 11 H.A end
-128 3461 a -128 3461
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-474.55) cvn H.B /DEST pdfmark end
-128 3461 a 0 0 0 TeXcolorrgb Fo(parseExprPat)p Black
43 w(...)p 0.95 TeXcolorgray -152 3513 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 3688 a FA(No)n(w)21
b(run)e(the)h(compiler:)-128 3755 y
SDict begin H.S end
-128 3755 a -128
3755 a
SDict begin 12 H.A end
-128 3755 a -128 3755 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-475) cvn H.B /DEST pdfmark end
-128 3755 a 0.95 TeXcolorgray
-153 3771 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3862 25 92
v Black 0.95 TeXcolorgray -128 3862 4252 92 v Black 0.95
TeXcolorgray 4124 3862 25 92 v Black 0.95 TeXcolorgray
Black -128 3834 a
SDict begin H.S end
-128 3834 a -128 3834 a
SDict begin 11 H.A end
-128 3834 a
-128 3834 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-475.1) cvn H.B /DEST pdfmark end
-128 3834 a 0 0 0 TeXcolorrgb Fo($)p Black
0 0 0 TeXcolorrgb 45 w(ghc)p Black 44 w(--)p 0 0 0 TeXcolorrgb(make)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(XQuasiQuotes)p Black
0 0 0 TeXcolorrgb 43 w(Main)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black 45 w(-)p 0 0 0 TeXcolorrgb -1 w(o)p Black 0 0 0
TeXcolorrgb 45 w(main)p Black 0.95 TeXcolorgray -153
3887 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4061 a FA(Run)h("main")e(and)h(here)f(is)j(your)c(output:)-128
4129 y
SDict begin H.S end
-128 4129 a -128 4129 a
SDict begin 12 H.A end
-128 4129 a -128 4129
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-476) cvn H.B /DEST pdfmark end
-128 4129 a 0.95 TeXcolorgray -153 4144 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4235 25 92 v Black 0.95 TeXcolorgray
-128 4235 4252 92 v Black 0.95 TeXcolorgray 4124 4235
25 92 v Black 0.95 TeXcolorgray Black -128 4208 a
SDict begin H.S end
-128
4208 a -128 4208 a
SDict begin 11 H.A end
-128 4208 a -128 4208 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-476.1) cvn H.B /DEST pdfmark end
-128 4208
a 0 0 0 TeXcolorrgb Fo($)p Black 45 w(./)p 0 0 0 TeXcolorrgb(main)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4327 25 92 v Black 0.95 TeXcolorgray -128 4327 4252 92
v Black 0.95 TeXcolorgray 4124 4327 25 92 v Black 0.95
TeXcolorgray Black -128 4299 a
SDict begin H.S end
-128 4299 a -128 4299
a
SDict begin 11 H.A end
-128 4299 a -128 4299 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-476.2) cvn H.B /DEST pdfmark end
-128 4299 a Fo(3)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4418 25 92 v Black 0.95
TeXcolorgray -128 4418 4252 92 v Black 0.95 TeXcolorgray
4124 4418 25 92 v Black 0.95 TeXcolorgray Black -128
4391 a
SDict begin H.S end
-128 4391 a -128 4391 a
SDict begin 11 H.A end
-128 4391 a -128 4391
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-476.3) cvn H.B /DEST pdfmark end
-128 4391 a Fo(1)p 0.95 TeXcolorgray -153 4443 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 4618
a
SDict begin H.S end
-128 4618 a -128 4618 a
SDict begin 12 H.A end
-128 4618 a -128 4618 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.10) cvn H.B /DEST pdfmark end
-128
4618 a Black 174 x Fs(7.10)p Black 107 w(Arr)n(o)n(w)29
b(notation)-128 4919 y
SDict begin H.S end
-128 4919 a -128 4919 a
SDict begin 12 H.A end
-128 4919
a -128 4919 a
SDict begin [ /View [/XYZ H.V] /Dest (arrow-notation) cvn H.B /DEST pdfmark end
-128 4919 a 115 x FA(Arro)n(ws)20 b(are)g(a)h
(generalization)d(of)i(monads)f(introduced)f(by)h(John)h(Hughes.)k(F)o
(or)c(more)f(details,)i(see)p Black -128 5250 a(\225)p
Black 42 w(\223Generalising)g(Monads)f(to)i(Arro)n(ws\224,)g(John)f
(Hughes,)g(in)h Fq(Science)f(of)h(Computer)g(Pr)l(o)o(gr)o(amming)e
FA(37,)i(pp67\226111,)c(May)k(2000.)29 b(The)21 b(paper)-57
5349 y(that)f(introduced)e(arro)n(ws:)25 b(a)20 b(friendly)f
(introduction,)e(moti)n(v)n(ated)i(with)h(programming)d(e)o(xamples.)p
Black -128 5515 a(\225)p Black 42 w(\223)p 0 1 0 0 TeXcolorcmyk
-20 5516 a
SDict begin H.S end
-20 5516 a 0 1 0 0 TeXcolorcmyk -1 x FA(A)k(Ne)n(w)f
(Notation)f(for)h(Arro)n(ws)p 0 1 0 0 TeXcolorcmyk 912
5459 a
SDict begin H.R end
912 5459 a 912 5515 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.soi.city.ac.uk/~ross/papers/notation.html) >> /Subtype /Link H.B /ANN pdfmark end
912 5515 a Black FA(\224,)g(Ross)h(P)o
(aterson,)f(in)g Fq(ICFP)p FA(,)g(Sep)g(2001.)k(Introduced)17
b(the)j(notation)f(described)g(here.)p Black -128 5681
a(\225)p Black 42 w(\223)p 0 1 0 0 TeXcolorcmyk -20 5699
a
SDict begin H.S end
-20 5699 a 0 1 0 0 TeXcolorcmyk -18 x FA(Arro)n(ws)h(and)f
(Computation)p 0 1 0 0 TeXcolorcmyk 822 5625 a
SDict begin H.R end
822 5625
a 822 5681 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.soi.city.ac.uk/~ross/papers/fop.html) >> /Subtype /Link H.B /ANN pdfmark end
822 5681 a Black FA(\224,)h(Ross)h(P)o(aterson,)f(in)g
Fq(The)g(Fun)g(of)g(Pr)l(o)o(gr)o(amming)p FA(,)f(P)o(algra)n(v)o(e,)f
(2003.)p Black -128 6084 4252 5 v Black eop end
%%Page: 173 188
TeXDict begin 173 187 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.173) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(173)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(\223)p 0 1 0 0 TeXcolorcmyk -20 191 a
SDict begin H.S end
-20 191 a
0 1 0 0 TeXcolorcmyk -18 x FA(Programming)d(with)k(Arro)n(ws)p
0 1 0 0 TeXcolorcmyk 873 117 a
SDict begin H.R end
873 117 a 873 173 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cs.chalmers.se/~rjmh/afp-arrows.pdf) >> /Subtype /Link H.B /ANN pdfmark end
873
173 a Black FA(\224,)f(John)g(Hughes,)g(in)h Fq(5th)f(International)e
(Summer)j(Sc)o(hool)e(on)h(Advanced)e(Functional)h(Pr)l(o)o(gr)o
(amming)p FA(,)g Fq(Lec-)-57 273 y(tur)m(e)29 b(Notes)g(in)f(Computer)g
(Science)f FA(v)n(ol.)50 b(3622,)28 b(Springer)m(,)h(2004.)47
b(This)29 b(paper)e(includes)h(another)e(introduction)g(to)j(the)f
(notation,)h(with)-57 372 y(practical)20 b(e)o(xamples.)p
Black -128 538 a(\225)p Black 42 w(\223)p 0 1 0 0 TeXcolorcmyk
-20 556 a
SDict begin H.S end
-20 556 a 0 1 0 0 TeXcolorcmyk -18 x FA(T)-7
b(ype)20 b(and)f(T)m(ranslation)g(Rules)i(for)f(Arro)n(w)f(Notation)g
(in)i(GHC)p 0 1 0 0 TeXcolorcmyk 1836 482 a
SDict begin H.R end
1836 482
a 1836 538 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/ghc/docs/papers/arrow-rules.pdf) >> /Subtype /Link H.B /ANN pdfmark end
1836 538 a Black FA(\224,)30 b(Ross)e(P)o(aterson)f(and)g
(Simon)g(Pe)o(yton)g(Jones,)i(September)e(16,)i(2004.)45
b(A)-57 638 y(terse)21 b(enumeration)c(of)j(the)g(formal)f(rules)i
(used)f(\(e)o(xtracted)e(from)h(comments)g(in)i(the)f(source)f(code\).)
p Black -128 804 a(\225)p Black 42 w(The)h(arro)n(ws)f(web)i(page)e(at)
p 0 1 0 0 TeXcolorcmyk 755 822 a
SDict begin H.S end
755 822 a 0 1 0 0 TeXcolorcmyk
-18 x FA(http://www)-5 b(.hask)o(ell.or)o(g/arro)n(ws/)p
0 1 0 0 TeXcolorcmyk 1783 748 a
SDict begin H.R end
1783 748 a 1783 804 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/arrows/) >> /Subtype /Link H.B /ANN pdfmark end
1783 804 a Black FA(.)-128 1020 y(W)m(ith)22 b(the)g
Ft(-XArrows)e FA(\003ag,)i(GHC)g(supports)e(the)i(arro)n(w)e(notation)g
(described)h(in)g(the)h(second)e(of)h(these)h(papers,)f(translating)f
(it)i(using)f(combi-)-128 1120 y(nators)k(from)e(the)p
0 1 0 0 TeXcolorcmyk 414 1121 a
SDict begin H.S end
414 1121 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Control.Arro)n(w)p 0 1 0 0 TeXcolorcmyk 903 1063
a
SDict begin H.R end
903 1063 a 903 1120 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Arrow.html) >> /Subtype /Link H.B /ANN pdfmark end
903 1120 a Black 25 w FA(module.)37
b(What)25 b(follo)n(ws)g(is)g(a)g(brief)f(introduction)f(to)h(the)h
(notation;)h(it)f(w)o(on')o(t)f(mak)o(e)g(much)g(sense)h(unless)-128
1219 y(you')l(v)o(e)18 b(read)i(Hughes')-5 b(s)20 b(paper)-5
b(.)-128 1369 y(The)20 b(e)o(xtension)f(adds)h(a)h(ne)n(w)f(kind)f(of)h
(e)o(xpression)e(for)i(de\002ning)f(arro)n(ws:)-128 1437
y
SDict begin H.S end
-128 1437 a -128 1437 a
SDict begin 12 H.A end
-128 1437 a -128 1437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-477) cvn H.B /DEST pdfmark end
-128
1437 a 0.95 TeXcolorgray -153 1452 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1543 25 92 v Black 0.95 TeXcolorgray -128 1543 4252
92 v Black 0.95 TeXcolorgray 4124 1543 25 92 v Black
0.95 TeXcolorgray Black -128 1516 a
SDict begin H.S end
-128 1516 a -128
1516 a
SDict begin 11 H.A end
-128 1516 a -128 1516 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-477.1) cvn H.B /DEST pdfmark end
-128 1516 a 0 0 0 TeXcolorrgb
Fo(exp10)p Black 44 w(::=)45 b(...)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1634 25 92 v Black 0.95
TeXcolorgray -128 1634 4252 92 v Black 0.95 TeXcolorgray
4124 1634 25 92 v Black 0.95 TeXcolorgray Black -128
1607 a
SDict begin H.S end
-128 1607 a -128 1607 a
SDict begin 11 H.A end
-128 1607 a -128 1607
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-477.2) cvn H.B /DEST pdfmark end
-128 1607 a 314 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(proc)p
Black 0 0 0 TeXcolorrgb 44 w(apat)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(cmd)p Black 0.95 TeXcolorgray -153 1659
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
1834 a FA(where)21 b Ft(proc)h FA(is)g(a)g(ne)n(w)f(k)o(e)o(yw)o(ord.)
28 b(The)21 b(v)n(ariables)f(of)i(the)f(pattern)g(are)g(bound)f(in)i
(the)f(body)f(of)i(the)f Ft(proc)p FA(-e)o(xpression,)e(which)i(is)i(a)
f(ne)n(w)f(sort)-128 1933 y(of)f(thing)g(called)g(a)g
Fq(command)p FA(.)k(The)c(syntax)f(of)h(commands)e(is)k(as)f(follo)n
(ws:)-128 2001 y
SDict begin H.S end
-128 2001 a -128 2001 a
SDict begin 12 H.A end
-128 2001 a
-128 2001 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-478) cvn H.B /DEST pdfmark end
-128 2001 a 0.95 TeXcolorgray -153 2016 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2108 25 92 v Black 0.95
TeXcolorgray -128 2108 4252 92 v Black 0.95 TeXcolorgray
4124 2108 25 92 v Black 0.95 TeXcolorgray Black -128
2080 a
SDict begin H.S end
-128 2080 a -128 2080 a
SDict begin 11 H.A end
-128 2080 a -128 2080
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-478.1) cvn H.B /DEST pdfmark end
-128 2080 a 0 0 0 TeXcolorrgb Fo(cmd)p Black 134 w(::=)p
0 0 0 TeXcolorrgb 45 w(exp10)p Black 44 w(-<)p 0 0 0
TeXcolorrgb 89 w(exp)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2199 25 92 v Black 0.95 TeXcolorgray
-128 2199 4252 92 v Black 0.95 TeXcolorgray 4124 2199
25 92 v Black 0.95 TeXcolorgray Black -128 2172 a
SDict begin H.S end
-128
2172 a -128 2172 a
SDict begin 11 H.A end
-128 2172 a -128 2172 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-478.2) cvn H.B /DEST pdfmark end
-128 2172
a 314 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(exp10)p Black 44
w(-<<)p 0 0 0 TeXcolorrgb 44 w(exp)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2290 25 92 v Black 0.95
TeXcolorgray -128 2290 4252 92 v Black 0.95 TeXcolorgray
4124 2290 25 92 v Black 0.95 TeXcolorgray Black -128
2263 a
SDict begin H.S end
-128 2263 a -128 2263 a
SDict begin 11 H.A end
-128 2263 a -128 2263
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-478.3) cvn H.B /DEST pdfmark end
-128 2263 a 314 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(cmd0)p
Black 0.95 TeXcolorgray -153 2315 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2490 a FA(with)g
Fr(cmd)179 2459 y Fn(0)234 2490 y FA(up)f(to)g Fr(cmd)561
2459 y Fn(9)616 2490 y FA(de\002ned)f(using)h(in\002x)g(operators)f(as)
i(for)e(e)o(xpressions,)g(and)-128 2557 y
SDict begin H.S end
-128 2557 a
-128 2557 a
SDict begin 12 H.A end
-128 2557 a -128 2557 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-479) cvn H.B /DEST pdfmark end
-128 2557 a 0.95
TeXcolorgray -153 2573 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2664 25 92 v Black 0.95 TeXcolorgray -128 2664 4252 92
v Black 0.95 TeXcolorgray 4124 2664 25 92 v Black 0.95
TeXcolorgray Black -128 2636 a
SDict begin H.S end
-128 2636 a -128 2636
a
SDict begin 11 H.A end
-128 2636 a -128 2636 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.1) cvn H.B /DEST pdfmark end
-128 2636 a 0 0 0 TeXcolorrgb
Fo(cmd10)p Black 44 w(::=)45 b(\\)p 0 0 0 TeXcolorrgb
44 w(apat)p Black 45 w(...)p 0 0 0 TeXcolorrgb 44 w(apat)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(cmd)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2755 25 92
v Black 0.95 TeXcolorgray -128 2755 4252 92 v Black 0.95
TeXcolorgray 4124 2755 25 92 v Black 0.95 TeXcolorgray
Black -128 2728 a
SDict begin H.S end
-128 2728 a -128 2728 a
SDict begin 11 H.A end
-128 2728 a
-128 2728 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.2) cvn H.B /DEST pdfmark end
-128 2728 a 314 w Fo(|)p 0 0 0 TeXcolorrgb
90 w(let)p Black 0 0 0 TeXcolorrgb 44 w(decls)p Black
0 0 0 TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 45
w(cmd)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2847 25 92 v Black 0.95 TeXcolorgray -128 2847 4252
92 v Black 0.95 TeXcolorgray 4124 2847 25 92 v Black
0.95 TeXcolorgray Black -128 2819 a
SDict begin H.S end
-128 2819 a -128
2819 a
SDict begin 11 H.A end
-128 2819 a -128 2819 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.3) cvn H.B /DEST pdfmark end
-128 2819 a 314 w Fo(|)p
0 0 0 TeXcolorrgb 90 w(if)p Black 0 0 0 TeXcolorrgb 44
w(exp)p Black 0 0 0 TeXcolorrgb 45 w(then)p Black 0 0 0
TeXcolorrgb 44 w(cmd)p Black 0 0 0 TeXcolorrgb 44 w(else)p
Black 0 0 0 TeXcolorrgb 44 w(cmd)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2938 25 92 v Black 0.95
TeXcolorgray -128 2938 4252 92 v Black 0.95 TeXcolorgray
4124 2938 25 92 v Black 0.95 TeXcolorgray Black -128
2910 a
SDict begin H.S end
-128 2910 a -128 2910 a
SDict begin 11 H.A end
-128 2910 a -128 2910
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.4) cvn H.B /DEST pdfmark end
-128 2910 a 314 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(case)p
Black 0 0 0 TeXcolorrgb 44 w(exp)p Black 0 0 0 TeXcolorrgb
44 w(of)p Black 45 w({)p 0 0 0 TeXcolorrgb 44 w(calts)p
Black 44 w(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3029 25 92 v Black 0.95 TeXcolorgray -128 3029 4252
92 v Black 0.95 TeXcolorgray 4124 3029 25 92 v Black
0.95 TeXcolorgray Black -128 3002 a
SDict begin H.S end
-128 3002 a -128
3002 a
SDict begin 11 H.A end
-128 3002 a -128 3002 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.5) cvn H.B /DEST pdfmark end
-128 3002 a 314 w Fo(|)p
0 0 0 TeXcolorrgb 90 w(do)p Black 44 w({)p 0 0 0 TeXcolorrgb
45 w(cstmt)p Black 44 w(;)g(...)p 0 0 0 TeXcolorrgb 44
w(cstmt)p Black 44 w(;)p 0 0 0 TeXcolorrgb 45 w(cmd)p
Black 44 w(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3120 25 92 v Black 0.95 TeXcolorgray -128 3120 4252
92 v Black 0.95 TeXcolorgray 4124 3120 25 92 v Black
0.95 TeXcolorgray Black -128 3093 a
SDict begin H.S end
-128 3093 a -128
3093 a
SDict begin 11 H.A end
-128 3093 a -128 3093 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.6) cvn H.B /DEST pdfmark end
-128 3093 a 314 w Fo(|)p
0 0 0 TeXcolorrgb 90 w(fcmd)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3212 25 92 v Black 0.95
TeXcolorgray -128 3212 4252 92 v Black 0.95 TeXcolorgray
4124 3212 25 92 v Black 0.95 TeXcolorgray Black -128
3184 a
SDict begin H.S end
-128 3184 a -128 3184 a
SDict begin 11 H.A end
-128 3184 a -128 3184
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.7) cvn H.B /DEST pdfmark end
-128 3184 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3303 25 92 v Black 0.95 TeXcolorgray -128 3303 4252
92 v Black 0.95 TeXcolorgray 4124 3303 25 92 v Black
0.95 TeXcolorgray Black -128 3276 a
SDict begin H.S end
-128 3276 a -128
3276 a
SDict begin 11 H.A end
-128 3276 a -128 3276 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.8) cvn H.B /DEST pdfmark end
-128 3276 a 0 0 0 TeXcolorrgb
Fo(fcmd)p Black 89 w(::=)p 0 0 0 TeXcolorrgb 45 w(fcmd)p
Black 0 0 0 TeXcolorrgb 44 w(aexp)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3394 25 92 v Black 0.95
TeXcolorgray -128 3394 4252 92 v Black 0.95 TeXcolorgray
4124 3394 25 92 v Black 0.95 TeXcolorgray Black -128
3367 a
SDict begin H.S end
-128 3367 a -128 3367 a
SDict begin 11 H.A end
-128 3367 a -128 3367
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.9) cvn H.B /DEST pdfmark end
-128 3367 a 314 w Fo(|)90 b(\()p 0 0 0 TeXcolorrgb
44 w(cmd)p Black 45 w(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3486 25 92 v Black 0.95 TeXcolorgray
-128 3486 4252 92 v Black 0.95 TeXcolorgray 4124 3486
25 92 v Black 0.95 TeXcolorgray Black -128 3458 a
SDict begin H.S end
-128
3458 a -128 3458 a
SDict begin 11 H.A end
-128 3458 a -128 3458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.10) cvn H.B /DEST pdfmark end
-128 3458
a 314 w Fo(|)g(\(|)p 0 0 0 TeXcolorrgb 44 w(aexp)p Black
0 0 0 TeXcolorrgb 44 w(cmd)p Black 45 w(...)p 0 0 0 TeXcolorrgb
44 w(cmd)p Black 44 w(|\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3577 25 92 v Black 0.95 TeXcolorgray
-128 3577 4252 92 v Black 0.95 TeXcolorgray 4124 3577
25 92 v Black 0.95 TeXcolorgray Black -128 3550 a
SDict begin H.S end
-128
3550 a -128 3550 a
SDict begin 11 H.A end
-128 3550 a -128 3550 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.11) cvn H.B /DEST pdfmark end
-128 3550
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3668
25 92 v Black 0.95 TeXcolorgray -128 3668 4252 92 v Black
0.95 TeXcolorgray 4124 3668 25 92 v Black 0.95 TeXcolorgray
Black -128 3641 a
SDict begin H.S end
-128 3641 a -128 3641 a
SDict begin 11 H.A end
-128 3641 a
-128 3641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.12) cvn H.B /DEST pdfmark end
-128 3641 a 0 0 0 TeXcolorrgb Fo(cstmt)p
Black 44 w(::=)p 0 0 0 TeXcolorrgb 45 w(let)p Black 0 0 0
TeXcolorrgb 44 w(decls)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3760 25 92 v Black 0.95 TeXcolorgray
-128 3760 4252 92 v Black 0.95 TeXcolorgray 4124 3760
25 92 v Black 0.95 TeXcolorgray Black -128 3732 a
SDict begin H.S end
-128
3732 a -128 3732 a
SDict begin 11 H.A end
-128 3732 a -128 3732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.13) cvn H.B /DEST pdfmark end
-128 3732
a 314 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(pat)p Black 44
w(<-)p 0 0 0 TeXcolorrgb 45 w(cmd)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3851 25 92 v Black 0.95
TeXcolorgray -128 3851 4252 92 v Black 0.95 TeXcolorgray
4124 3851 25 92 v Black 0.95 TeXcolorgray Black -128
3824 a
SDict begin H.S end
-128 3824 a -128 3824 a
SDict begin 11 H.A end
-128 3824 a -128 3824
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.14) cvn H.B /DEST pdfmark end
-128 3824 a 314 w Fo(|)p 0 0 0 TeXcolorrgb 90 w(rec)p
Black 44 w({)p 0 0 0 TeXcolorrgb 45 w(cstmt)p Black 44
w(;)44 b(...)p 0 0 0 TeXcolorrgb 45 w(cstmt)p Black 44
w([;])g(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3942 25 92 v Black 0.95 TeXcolorgray -128 3942 4252
92 v Black 0.95 TeXcolorgray 4124 3942 25 92 v Black
0.95 TeXcolorgray Black -128 3915 a
SDict begin H.S end
-128 3915 a -128
3915 a
SDict begin 11 H.A end
-128 3915 a -128 3915 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-479.15) cvn H.B /DEST pdfmark end
-128 3915 a 314 w Fo(|)p
0 0 0 TeXcolorrgb 90 w(cmd)p Black 0.95 TeXcolorgray
-153 3967 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4142 a FA(where)20 b Fr(calts)g FA(are)g(lik)o(e)h
Fr(alts)f FA(e)o(xcept)f(that)h(the)g(bodies)g(are)g(commands)e
(instead)i(of)g(e)o(xpressions.)-128 4291 y(Commands)e(produce)e(v)n
(alues,)i(b)n(ut)g(\(lik)o(e)g(monadic)f(computations\))f(may)i(yield)g
(more)f(than)h(one)g(v)n(alue,)f(or)h(none,)g(and)f(may)h(do)g(other)f
(things)h(as)-128 4391 y(well.)25 b(F)o(or)15 b(the)i(most)f(part,)g(f)
o(amiliarity)g(with)g(monadic)f(notation)g(is)i(a)g(good)e(guide)g(to)h
(using)g(commands.)22 b(Ho)n(we)n(v)o(er)14 b(the)j(v)n(alues)f(of)g(e)
o(xpressions,)-128 4490 y(e)n(v)o(en)k(monadic)e(ones,)i(are)g
(determined)e(by)i(the)g(v)n(alues)g(of)g(the)g(v)n(ariables)g(the)o(y)
f(contain;)g(this)i(is)g(not)f(necessarily)g(the)g(case)h(for)e
(commands.)-128 4640 y(A)i(simple)f(e)o(xample)f(of)h(the)g(ne)n(w)g
(notation)f(is)i(the)f(e)o(xpression)-128 4708 y
SDict begin H.S end
-128
4708 a -128 4708 a
SDict begin 12 H.A end
-128 4708 a -128 4708 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-480) cvn H.B /DEST pdfmark end
-128 4708
a 0.95 TeXcolorgray -153 4723 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4814 25 92 v Black 0.95 TeXcolorgray -128 4814 4252 92
v Black 0.95 TeXcolorgray 4124 4814 25 92 v Black 0.95
TeXcolorgray Black -128 4787 a
SDict begin H.S end
-128 4787 a -128 4787
a
SDict begin 11 H.A end
-128 4787 a -128 4787 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-480.1) cvn H.B /DEST pdfmark end
-128 4787 a 0 0 0 TeXcolorrgb
Fo(proc)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(f)p Black 44 w(-<)p 0 0 0 TeXcolorrgb
45 w(x)p Black(+1)p 0.95 TeXcolorgray -153 4839 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 5013
a FA(W)-7 b(e)25 b(call)f(this)g(a)f Fq(pr)l(ocedur)m(e)g
FA(or)g Fq(arr)l(ow)h(abstr)o(action)p FA(.)33 b(As)24
b(with)g(a)g(lambda)e(e)o(xpression,)g(the)i(v)n(ariable)e
Ft(x)i FA(is)g(a)g(ne)n(w)f(v)n(ariable)f(bound)g(within)h(the)-128
5113 y Ft(proc)p FA(-e)o(xpression.)32 b(It)24 b(refers)f(to)h(the)f
(input)g(to)g(the)h(arro)n(w)-5 b(.)33 b(In)23 b(the)h(abo)o(v)o(e)d(e)
o(xample,)i Ft(-<)g FA(is)i(not)e(an)g(identi\002er)g(b)n(ut)g(an)h(ne)
n(w)f(reserv)o(ed)f(symbol)-128 5213 y(used)k(for)e(b)n(uilding)h
(commands)e(from)i(an)g(e)o(xpression)f(of)h(arro)n(w)g(type)g(and)g
(an)g(e)o(xpression)f(to)i(be)f(fed)g(as)h(input)f(to)h(that)f(arro)n
(w)-5 b(.)40 b(\(The)24 b(weird)-128 5312 y(look)e(will)h(mak)o(e)f
(more)g(sense)g(later)-5 b(.\))32 b(It)23 b(may)e(be)i(read)f(as)h
(analogue)d(of)i(application)f(for)h(arro)n(ws.)31 b(The)22
b(abo)o(v)o(e)f(e)o(xample)f(is)k(equi)n(v)n(alent)c(to)j(the)-128
5412 y(Hask)o(ell)e(e)o(xpression)-128 5480 y
SDict begin H.S end
-128 5480
a -128 5480 a
SDict begin 12 H.A end
-128 5480 a -128 5480 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-481) cvn H.B /DEST pdfmark end
-128 5480 a 0.95
TeXcolorgray -153 5495 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5586 25 92 v Black 0.95 TeXcolorgray -128 5586 4252 92
v Black 0.95 TeXcolorgray 4124 5586 25 92 v Black 0.95
TeXcolorgray Black -128 5559 a
SDict begin H.S end
-128 5559 a -128 5559
a
SDict begin 11 H.A end
-128 5559 a -128 5559 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-481.1) cvn H.B /DEST pdfmark end
-128 5559 a 0 0 0 TeXcolorrgb
Fo(arr)p Black 45 w(\(\\)p 0 0 0 TeXcolorrgb 44 w(x)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(x)p Black(+1\))45
b(>>>)p 0 0 0 TeXcolorrgb 44 w(f)p Black 0.95 TeXcolorgray
-153 5611 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 6084 4252 5 v Black eop end
%%Page: 174 189
TeXDict begin 174 188 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.174) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(174)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(That)f(w)o(ould)f(mak)o(e)
h(no)f(sense)i(if)f(the)g(e)o(xpression)e(to)i(the)g(left)g(of)g
Ft(-<)g FA(in)m(v)n(olv)o(es)f(the)h(bound)e(v)n(ariable)g
Ft(x)p FA(.)25 b(More)19 b(generally)-5 b(,)17 b(the)i(e)o(xpression)e
(to)i(the)-128 273 y(left)i(of)g Ft(-<)f FA(may)h(not)f(in)m(v)n(olv)o
(e)f(an)o(y)h Fq(local)g(variable)p FA(,)g(i.e.)26 b(a)21
b(v)n(ariable)f(bound)f(in)h(the)h(current)e(arro)n(w)h(abstraction.)25
b(F)o(or)20 b(such)h(a)g(situation)f(there)g(is)-128
372 y(a)h(v)n(ariant)e Ft(-<<)p FA(,)h(as)h(in)-128 424
y
SDict begin H.S end
-128 424 a -128 424 a
SDict begin 12 H.A end
-128 424 a -128 424 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-482) cvn H.B /DEST pdfmark end
-128 424
a 0.95 TeXcolorgray -153 445 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
536 25 92 v Black 0.95 TeXcolorgray -128 536 4252 92
v Black 0.95 TeXcolorgray 4124 536 25 92 v Black 0.95
TeXcolorgray Black -128 509 a
SDict begin H.S end
-128 509 a -128 509 a
SDict begin 11 H.A end
-128
509 a -128 509 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-482.1) cvn H.B /DEST pdfmark end
-128 509 a 0 0 0 TeXcolorrgb Fo(proc)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(x)p
Black 45 w(-<<)p 0 0 0 TeXcolorrgb 44 w(x)p Black(+1)p
0.95 TeXcolorgray -153 561 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 714 a FA(which)f(is)h(equi)n(v)n(alent)e(to)-128
772 y
SDict begin H.S end
-128 772 a -128 772 a
SDict begin 12 H.A end
-128 772 a -128 772 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-483) cvn H.B /DEST pdfmark end
-128
772 a 0.95 TeXcolorgray -153 787 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 878 25 92 v Black 0.95 TeXcolorgray -128 878 4252
92 v Black 0.95 TeXcolorgray 4124 878 25 92 v Black 0.95
TeXcolorgray Black -128 851 a
SDict begin H.S end
-128 851 a -128 851 a
SDict begin 11 H.A end
-128
851 a -128 851 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-483.1) cvn H.B /DEST pdfmark end
-128 851 a 0 0 0 TeXcolorrgb Fo(arr)p
Black 45 w(\(\\)p 0 0 0 TeXcolorrgb 44 w(x)p Black 45
w(->)44 b(\()p 0 0 0 TeXcolorrgb(f)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black(,)p 0 0 0 TeXcolorrgb 44 w(x)p Black(+1\)\))g(>>>)p
0 0 0 TeXcolorrgb 45 w(app)p Black 0.95 TeXcolorgray
-153 903 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1056 a FA(so)21 b(in)g(this)f(case)h(the)f(arro)n(w)g(must)g
(belong)f(to)h(the)h Ft(ArrowApply)e FA(class.)26 b(Such)20
b(an)g(arro)n(w)f(is)j(equi)n(v)n(alent)c(to)j(a)f(monad,)f(so)i(if)f
(you')l(re)f(using)g(this)-128 1156 y(form)h(you)f(may)h(\002nd)g(a)g
(monadic)f(formulation)f(more)h(con)m(v)o(enient.)-128
1285 y
SDict begin H.S end
-128 1285 a -128 1285 a
SDict begin 12 H.A end
-128 1285 a -128 1285
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.10.1) cvn H.B /DEST pdfmark end
-128 1285 a Black 138 x Fp(7.10.1)p Black 89 w(do-notation)k(f)n(or)i
(commands)-128 1615 y FA(Another)19 b(form)g(of)h(command)f(is)i(a)f
(form)f(of)h Ft(do)p FA(-notation.)j(F)o(or)d(e)o(xample,)f(you)g(can)h
(write)-128 1673 y
SDict begin H.S end
-128 1673 a -128 1673 a
SDict begin 12 H.A end
-128 1673
a -128 1673 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-484) cvn H.B /DEST pdfmark end
-128 1673 a 0.95 TeXcolorgray -153 1688
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1779 25 92 v Black 0.95
TeXcolorgray -128 1779 4252 92 v Black 0.95 TeXcolorgray
4124 1779 25 92 v Black 0.95 TeXcolorgray Black -128
1752 a
SDict begin H.S end
-128 1752 a -128 1752 a
SDict begin 11 H.A end
-128 1752 a -128 1752
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-484.1) cvn H.B /DEST pdfmark end
-128 1752 a 0 0 0 TeXcolorrgb Fo(proc)p Black 0 0 0
TeXcolorrgb 45 w(x)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(do)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1870 25 92 v Black 0.95 TeXcolorgray -128 1870 4252
92 v Black 0.95 TeXcolorgray 4124 1870 25 92 v Black
0.95 TeXcolorgray Black -128 1843 a
SDict begin H.S end
-128 1843 a -128
1843 a
SDict begin 11 H.A end
-128 1843 a -128 1843 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-484.2) cvn H.B /DEST pdfmark end
-128 1843 a 0 0 0 TeXcolorrgb
359 w Fo(y)p Black 45 w(<-)p 0 0 0 TeXcolorrgb 44 w(f)p
Black 45 w(-<)p 0 0 0 TeXcolorrgb 44 w(x)p Black(+1)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1962 25
92 v Black 0.95 TeXcolorgray -128 1962 4252 92 v Black
0.95 TeXcolorgray 4124 1962 25 92 v Black 0.95 TeXcolorgray
Black -128 1934 a
SDict begin H.S end
-128 1934 a -128 1934 a
SDict begin 11 H.A end
-128 1934 a
-128 1934 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-484.3) cvn H.B /DEST pdfmark end
-128 1934 a 0 0 0 TeXcolorrgb 359 w Fo(g)p
Black 45 w(-<)44 b(2)500 1947 y(*)p 0 0 0 TeXcolorrgb
-13 x(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2053 25 92 v Black 0.95 TeXcolorgray -128 2053 4252
92 v Black 0.95 TeXcolorgray 4124 2053 25 92 v Black
0.95 TeXcolorgray Black -128 2026 a
SDict begin H.S end
-128 2026 a -128
2026 a
SDict begin 11 H.A end
-128 2026 a -128 2026 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-484.4) cvn H.B /DEST pdfmark end
-128 2026 a 0 0 0 TeXcolorrgb
359 w Fo(let)p Black 0 0 0 TeXcolorrgb 44 w(z)p Black
45 w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black(+)p 0 0 0 TeXcolorrgb
-1 w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2144 25 92 v Black 0.95 TeXcolorgray -128 2144 4252
92 v Black 0.95 TeXcolorgray 4124 2144 25 92 v Black
0.95 TeXcolorgray Black -128 2117 a
SDict begin H.S end
-128 2117 a -128
2117 a
SDict begin 11 H.A end
-128 2117 a -128 2117 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-484.5) cvn H.B /DEST pdfmark end
-128 2117 a 0 0 0 TeXcolorrgb
359 w Fo(t)p Black 45 w(<-)p 0 0 0 TeXcolorrgb 44 w(h)p
Black 45 w(-<)p 0 0 0 TeXcolorrgb 44 w(x)p Black 13 x(*)p
0 0 0 TeXcolorrgb -13 x(z)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2236 25 92 v Black 0.95 TeXcolorgray
-128 2236 4252 92 v Black 0.95 TeXcolorgray 4124 2236
25 92 v Black 0.95 TeXcolorgray Black -128 2208 a
SDict begin H.S end
-128
2208 a -128 2208 a
SDict begin 11 H.A end
-128 2208 a -128 2208 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-484.6) cvn H.B /DEST pdfmark end
-128 2208
a 0 0 0 TeXcolorrgb 359 w Fo(returnA)p Black 44 w(-<)p
0 0 0 TeXcolorrgb 44 w(t)p Black(+)p 0 0 0 TeXcolorrgb(z)p
Black 0.95 TeXcolorgray -153 2261 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2414 a FA(Y)-9 b(ou)21
b(can)h(read)e(this)i(much)f(lik)o(e)h(ordinary)d Ft(do)p
FA(-notation,)g(b)n(ut)j(with)g(commands)d(in)j(place)f(of)g(monadic)f
(e)o(xpressions.)28 b(The)21 b(\002rst)h(line)f(sends)h(the)-128
2513 y(v)n(alue)i(of)f Ft(x+1)h FA(as)g(an)g(input)f(to)h(the)g(arro)n
(w)f Ft(f)p FA(,)i(and)e(matches)g(its)i(output)e(against)g
Ft(y)p FA(.)36 b(In)23 b(the)h(ne)o(xt)f(line,)i(the)f(output)e(is)j
(discarded.)34 b(The)24 b(arro)n(w)-128 2613 y Ft(returnA)c
FA(is)h(de\002ned)e(in)i(the)p 0 1 0 0 TeXcolorcmyk 791
2614 a
SDict begin H.S end
791 2614 a 0 1 0 0 TeXcolorcmyk -1 x FA(Control.Arro)n(w)p
0 1 0 0 TeXcolorcmyk 1280 2557 a
SDict begin H.R end
1280 2557 a 1280 2613
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Arrow.html) >> /Subtype /Link H.B /ANN pdfmark end
1280 2613 a Black 21 w FA(module)d(as)j Ft(arr)50 b(id)p
FA(.)25 b(The)20 b(abo)o(v)o(e)e(e)o(xample)h(is)i(treated)f(as)h(an)f
(abbre)n(viation)d(for)-128 2670 y
SDict begin H.S end
-128 2670 a -128 2670
a
SDict begin 12 H.A end
-128 2670 a -128 2670 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-485) cvn H.B /DEST pdfmark end
-128 2670 a 0.95 TeXcolorgray
-153 2686 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2777 25 92
v Black 0.95 TeXcolorgray -128 2777 4252 92 v Black 0.95
TeXcolorgray 4124 2777 25 92 v Black 0.95 TeXcolorgray
Black -128 2749 a
SDict begin H.S end
-128 2749 a -128 2749 a
SDict begin 11 H.A end
-128 2749 a
-128 2749 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.1) cvn H.B /DEST pdfmark end
-128 2749 a 0 0 0 TeXcolorrgb Fo(arr)p Black
45 w(\(\\)p 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(->)44
b(\()p 0 0 0 TeXcolorrgb(x)p Black(,)p 0 0 0 TeXcolorrgb
45 w(x)p Black(\))o(\))h(>>>)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2868 25 92 v Black 0.95 TeXcolorgray
-128 2868 4252 92 v Black 0.95 TeXcolorgray 4124 2868
25 92 v Black 0.95 TeXcolorgray Black -128 2841 a
SDict begin H.S end
-128
2841 a -128 2841 a
SDict begin 11 H.A end
-128 2841 a -128 2841 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.2) cvn H.B /DEST pdfmark end
-128 2841
a 0 0 0 TeXcolorrgb 359 w Fo(first)p Black 44 w(\()p
0 0 0 TeXcolorrgb(arr)p Black 44 w(\(\\)p 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(x)p Black(+1\))f(>>>)p
0 0 0 TeXcolorrgb 44 w(f)p Black(\))h(>>>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2959 25 92 v Black 0.95
TeXcolorgray -128 2959 4252 92 v Black 0.95 TeXcolorgray
4124 2959 25 92 v Black 0.95 TeXcolorgray Black -128
2932 a
SDict begin H.S end
-128 2932 a -128 2932 a
SDict begin 11 H.A end
-128 2932 a -128 2932
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.3) cvn H.B /DEST pdfmark end
-128 2932 a 0 0 0 TeXcolorrgb 359 w Fo(arr)p Black
44 w(\(\\)g(\()p 0 0 0 TeXcolorrgb(y)p Black(,)p 0 0 0
TeXcolorrgb 44 w(x)p Black(\))g(->)f(\()p 0 0 0 TeXcolorrgb(y)p
Black(,)h(\()p 0 0 0 TeXcolorrgb -1 w(x)p Black(,)p 0 0 0
TeXcolorrgb 45 w(y)p Black(\)\))o(\))g(>>>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3051 25 92 v Black 0.95
TeXcolorgray -128 3051 4252 92 v Black 0.95 TeXcolorgray
4124 3051 25 92 v Black 0.95 TeXcolorgray Black -128
3023 a
SDict begin H.S end
-128 3023 a -128 3023 a
SDict begin 11 H.A end
-128 3023 a -128 3023
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.4) cvn H.B /DEST pdfmark end
-128 3023 a 0 0 0 TeXcolorrgb 359 w Fo(first)p Black
44 w(\()p 0 0 0 TeXcolorrgb(arr)p Black 44 w(\(\\)p 0 0 0
TeXcolorrgb 45 w(y)p Black 44 w(->)g(2)1128 3036 y(*)p
0 0 0 TeXcolorrgb -13 x(y)p Black -1 w(\))g(>>>)p 0 0 0
TeXcolorrgb 44 w(g)p Black(\))g(>>>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3142 25 92 v Black 0.95
TeXcolorgray -128 3142 4252 92 v Black 0.95 TeXcolorgray
4124 3142 25 92 v Black 0.95 TeXcolorgray Black -128
3115 a
SDict begin H.S end
-128 3115 a -128 3115 a
SDict begin 11 H.A end
-128 3115 a -128 3115
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.5) cvn H.B /DEST pdfmark end
-128 3115 a 0 0 0 TeXcolorrgb 359 w Fo(arr)p Black
0 0 0 TeXcolorrgb 44 w(snd)p Black 45 w(>>>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3233 25 92 v Black 0.95
TeXcolorgray -128 3233 4252 92 v Black 0.95 TeXcolorgray
4124 3233 25 92 v Black 0.95 TeXcolorgray Black -128
3206 a
SDict begin H.S end
-128 3206 a -128 3206 a
SDict begin 11 H.A end
-128 3206 a -128 3206
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.6) cvn H.B /DEST pdfmark end
-128 3206 a 0 0 0 TeXcolorrgb 359 w Fo(arr)p Black
44 w(\(\\)g(\()p 0 0 0 TeXcolorrgb(x)p Black(,)p 0 0 0
TeXcolorrgb 44 w(y)p Black(\))g(->)p 0 0 0 TeXcolorrgb
44 w(let)p Black 0 0 0 TeXcolorrgb 45 w(z)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black(+)p 0 0 0 TeXcolorrgb(y)p
Black 0 0 0 TeXcolorrgb 44 w(in)p Black 45 w(\(\()p 0 0 0
TeXcolorrgb -1 w(x)p Black(,)p 0 0 0 TeXcolorrgb 45 w(z)p
Black(\),)p 0 0 0 TeXcolorrgb 44 w(z)p Black(\)\))g(>>>)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3325 25
92 v Black 0.95 TeXcolorgray -128 3325 4252 92 v Black
0.95 TeXcolorgray 4124 3325 25 92 v Black 0.95 TeXcolorgray
Black -128 3297 a
SDict begin H.S end
-128 3297 a -128 3297 a
SDict begin 11 H.A end
-128 3297 a
-128 3297 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.7) cvn H.B /DEST pdfmark end
-128 3297 a 0 0 0 TeXcolorrgb 359 w Fo(first)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(arr)p Black 44 w(\(\\)g(\()p
0 0 0 TeXcolorrgb(x)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(z)p Black(\))g(->)p 0 0 0 TeXcolorrgb 44 w(x)p Black
13 x(*)p 0 0 0 TeXcolorrgb -13 x(z)p Black(\))f(>>>)p
0 0 0 TeXcolorrgb 45 w(h)p Black -1 w(\))h(>>>)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3416 25 92
v Black 0.95 TeXcolorgray -128 3416 4252 92 v Black 0.95
TeXcolorgray 4124 3416 25 92 v Black 0.95 TeXcolorgray
Black -128 3389 a
SDict begin H.S end
-128 3389 a -128 3389 a
SDict begin 11 H.A end
-128 3389 a
-128 3389 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.8) cvn H.B /DEST pdfmark end
-128 3389 a 0 0 0 TeXcolorrgb 359 w Fo(arr)p
Black 44 w(\(\\)g(\()p 0 0 0 TeXcolorrgb(t)p Black(,)p
0 0 0 TeXcolorrgb 44 w(z)p Black(\))g(->)p 0 0 0 TeXcolorrgb
44 w(t)p Black(+)p 0 0 0 TeXcolorrgb(z)p Black(\))f(>>>)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3507 25
92 v Black 0.95 TeXcolorgray -128 3507 4252 92 v Black
0.95 TeXcolorgray 4124 3507 25 92 v Black 0.95 TeXcolorgray
Black -128 3480 a
SDict begin H.S end
-128 3480 a -128 3480 a
SDict begin 11 H.A end
-128 3480 a
-128 3480 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-485.9) cvn H.B /DEST pdfmark end
-128 3480 a 0 0 0 TeXcolorrgb 359 w Fo(returnA)p
Black 0.95 TeXcolorgray -153 3532 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3686 a FA(Note)20
b(that)g(v)n(ariables)e(not)h(used)h(later)f(in)h(the)g(composition)d
(are)j(projected)e(out.)24 b(After)19 b(simpli\002cation)g(using)g(re)n
(write)g(rules)h(\(see)f(Section)p 1 0 0 TeXcolorrgb
3951 3687 a
SDict begin H.S end
3951 3687 a 1 0 0 TeXcolorrgb -1 x FA(7.14)p
1 0 0 TeXcolorrgb 4097 3629 a
SDict begin H.R end
4097 3629 a 4097 3686 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.14) cvn H.B /ANN pdfmark end
4097 3686 a Black FA(\))-128 3785 y(de\002ned)h(in)g(the)p
0 1 0 0 TeXcolorcmyk 345 3786 a
SDict begin H.S end
345 3786 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Control.Arro)n(w)p 0 1 0 0 TeXcolorcmyk 834 3729
a
SDict begin H.R end
834 3729 a 834 3785 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Arrow.html) >> /Subtype /Link H.B /ANN pdfmark end
834 3785 a Black 21 w FA(module,)f(this)h
(reduces)g(to)-128 3836 y
SDict begin H.S end
-128 3836 a -128 3836 a
SDict begin 12 H.A end
-128
3836 a -128 3836 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-486) cvn H.B /DEST pdfmark end
-128 3836 a 0.95 TeXcolorgray -153
3858 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3949 25 92 v Black 0.95
TeXcolorgray -128 3949 4252 92 v Black 0.95 TeXcolorgray
4124 3949 25 92 v Black 0.95 TeXcolorgray Black -128
3922 a
SDict begin H.S end
-128 3922 a -128 3922 a
SDict begin 11 H.A end
-128 3922 a -128 3922
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.1) cvn H.B /DEST pdfmark end
-128 3922 a 0 0 0 TeXcolorrgb Fo(arr)p Black 45 w(\(\\)p
0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(->)44 b(\()p 0 0 0
TeXcolorrgb(x)p Black(+1,)p 0 0 0 TeXcolorrgb 44 w(x)p
Black(\)\))h(>>>)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4040 25 92 v Black 0.95 TeXcolorgray -128 4040 4252
92 v Black 0.95 TeXcolorgray 4124 4040 25 92 v Black
0.95 TeXcolorgray Black -128 4013 a
SDict begin H.S end
-128 4013 a -128
4013 a
SDict begin 11 H.A end
-128 4013 a -128 4013 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.2) cvn H.B /DEST pdfmark end
-128 4013 a 0 0 0 TeXcolorrgb
359 w Fo(first)p Black 0 0 0 TeXcolorrgb 44 w(f)p Black
45 w(>>>)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4132 25 92 v Black 0.95 TeXcolorgray -128 4132 4252
92 v Black 0.95 TeXcolorgray 4124 4132 25 92 v Black
0.95 TeXcolorgray Black -128 4104 a
SDict begin H.S end
-128 4104 a -128
4104 a
SDict begin 11 H.A end
-128 4104 a -128 4104 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.3) cvn H.B /DEST pdfmark end
-128 4104 a 0 0 0 TeXcolorrgb
359 w Fo(arr)p Black 44 w(\(\\)g(\()p 0 0 0 TeXcolorrgb(y)p
Black(,)p 0 0 0 TeXcolorrgb 44 w(x)p Black(\))g(->)f(\(2)1083
4117 y(*)p 0 0 0 TeXcolorrgb -13 x(y)p Black(,)g(\()p
0 0 0 TeXcolorrgb(x)p Black(,)p 0 0 0 TeXcolorrgb 45
w(y)p Black -1 w(\)\)\))h(>>>)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4223 25 92 v Black 0.95 TeXcolorgray
-128 4223 4252 92 v Black 0.95 TeXcolorgray 4124 4223
25 92 v Black 0.95 TeXcolorgray Black -128 4195 a
SDict begin H.S end
-128
4195 a -128 4195 a
SDict begin 11 H.A end
-128 4195 a -128 4195 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.4) cvn H.B /DEST pdfmark end
-128 4195
a 0 0 0 TeXcolorrgb 359 w Fo(first)p Black 0 0 0 TeXcolorrgb
44 w(g)p Black 45 w(>>>)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4314 25 92 v Black 0.95 TeXcolorgray
-128 4314 4252 92 v Black 0.95 TeXcolorgray 4124 4314
25 92 v Black 0.95 TeXcolorgray Black -128 4287 a
SDict begin H.S end
-128
4287 a -128 4287 a
SDict begin 11 H.A end
-128 4287 a -128 4287 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.5) cvn H.B /DEST pdfmark end
-128 4287
a 0 0 0 TeXcolorrgb 359 w Fo(arr)p Black 44 w(\(\\)g(\()p
0 0 0 TeXcolorrgb(_)p Black(,)f(\()p 0 0 0 TeXcolorrgb(x)p
Black(,)p 0 0 0 TeXcolorrgb 45 w(y)p Black -1 w(\)\))h(->)p
0 0 0 TeXcolorrgb 44 w(let)p Black 0 0 0 TeXcolorrgb
45 w(z)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black(+)p
0 0 0 TeXcolorrgb(y)p Black 0 0 0 TeXcolorrgb 44 w(in)p
Black 45 w(\()p 0 0 0 TeXcolorrgb(x)p Black 13 x(*)p
0 0 0 TeXcolorrgb 2024 4287 a(z)p Black(,)p 0 0 0 TeXcolorrgb
45 w(z)p Black(\)\))f(>>>)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4406 25 92 v Black 0.95 TeXcolorgray
-128 4406 4252 92 v Black 0.95 TeXcolorgray 4124 4406
25 92 v Black 0.95 TeXcolorgray Black -128 4378 a
SDict begin H.S end
-128
4378 a -128 4378 a
SDict begin 11 H.A end
-128 4378 a -128 4378 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.6) cvn H.B /DEST pdfmark end
-128 4378
a 0 0 0 TeXcolorrgb 359 w Fo(first)p Black 0 0 0 TeXcolorrgb
44 w(h)p Black 45 w(>>>)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4497 25 92 v Black 0.95 TeXcolorgray
-128 4497 4252 92 v Black 0.95 TeXcolorgray 4124 4497
25 92 v Black 0.95 TeXcolorgray Black -128 4469 a
SDict begin H.S end
-128
4469 a -128 4469 a
SDict begin 11 H.A end
-128 4469 a -128 4469 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-486.7) cvn H.B /DEST pdfmark end
-128 4469
a 0 0 0 TeXcolorrgb 359 w Fo(arr)p Black 44 w(\(\\)h(\()p
0 0 0 TeXcolorrgb(t)p Black(,)p 0 0 0 TeXcolorrgb 44
w(z)p Black(\))g(->)p 0 0 0 TeXcolorrgb 44 w(t)p Black(+)p
0 0 0 TeXcolorrgb(z)p Black(\))p 0.95 TeXcolorgray -153
4522 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4675 a FA(which)20 b(is)h(what)f(you)g(might)f(ha)n(v)o(e)h
(written)g(by)g(hand.)j(W)m(ith)e(arro)n(w)e(notation,)g(GHC)i(k)o
(eeps)f(track)g(of)f(all)i(those)f(tuples)g(of)g(v)n(ariables)g(for)f
(you.)-128 4814 y(Note)k(that)f(although)f(the)h(abo)o(v)o(e)f
(translation)g(suggests)h(that)h Ft(let)p FA(-bound)c(v)n(ariables)j
(lik)o(e)g Ft(z)h FA(must)f(be)g(monomorphic,)d(the)k(actual)f
(translation)-128 4913 y(produces)d(Core,)h(so)g(polymorphic)d(v)n
(ariables)j(are)g(allo)n(wed.)-128 5052 y(It')-5 b(s)21
b(also)g(possible)f(to)g(ha)n(v)o(e)g(mutually)f(recursi)n(v)o(e)f
(bindings,)h(using)h(the)g(ne)n(w)g Ft(rec)g FA(k)o(e)o(yw)o(ord,)e(as)
j(in)f(the)g(follo)n(wing)f(e)o(xample:)-128 5110 y
SDict begin H.S end
-128
5110 a -128 5110 a
SDict begin 12 H.A end
-128 5110 a -128 5110 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-487) cvn H.B /DEST pdfmark end
-128 5110
a 0.95 TeXcolorgray -153 5125 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5216 25 92 v Black 0.95 TeXcolorgray -128 5216 4252 92
v Black 0.95 TeXcolorgray 4124 5216 25 92 v Black 0.95
TeXcolorgray Black -128 5189 a
SDict begin H.S end
-128 5189 a -128 5189
a
SDict begin 11 H.A end
-128 5189 a -128 5189 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-487.1) cvn H.B /DEST pdfmark end
-128 5189 a 0 0 0 TeXcolorrgb
Fo(counter)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(ArrowCircuit)p
Black 0 0 0 TeXcolorrgb 42 w(a)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44 w(Bool)p
Black 0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5307 25 92 v Black 0.95
TeXcolorgray -128 5307 4252 92 v Black 0.95 TeXcolorgray
4124 5307 25 92 v Black 0.95 TeXcolorgray Black -128
5280 a
SDict begin H.S end
-128 5280 a -128 5280 a
SDict begin 11 H.A end
-128 5280 a -128 5280
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-487.2) cvn H.B /DEST pdfmark end
-128 5280 a 0 0 0 TeXcolorrgb Fo(counter)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(proc)p Black 0 0 0 TeXcolorrgb
44 w(reset)p Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(do)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5399 25 92 v Black 0.95 TeXcolorgray -128 5399 4252 92
v Black 0.95 TeXcolorgray 4124 5399 25 92 v Black 0.95
TeXcolorgray Black -128 5371 a
SDict begin H.S end
-128 5371 a -128 5371
a
SDict begin 11 H.A end
-128 5371 a -128 5371 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-487.3) cvn H.B /DEST pdfmark end
-128 5371 a 0 0 0 TeXcolorrgb
359 w Fo(rec)p Black 0 0 0 TeXcolorrgb 224 w(output)p
Black 44 w(<-)p 0 0 0 TeXcolorrgb 44 w(returnA)p Black
44 w(-<)p 0 0 0 TeXcolorrgb 44 w(if)p Black 0 0 0 TeXcolorrgb
45 w(reset)p Black 0 0 0 TeXcolorrgb 44 w(then)p Black
44 w(0)p 0 0 0 TeXcolorrgb 45 w(else)p Black 0 0 0 TeXcolorrgb
44 w(next)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5490 25 92 v Black 0.95 TeXcolorgray -128 5490 4252
92 v Black 0.95 TeXcolorgray 4124 5490 25 92 v Black
0.95 TeXcolorgray Black -128 5463 a
SDict begin H.S end
-128 5463 a -128
5463 a
SDict begin 11 H.A end
-128 5463 a -128 5463 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-487.4) cvn H.B /DEST pdfmark end
-128 5463 a 0 0 0 TeXcolorrgb
718 w Fo(next)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 44
w(delay)p Black 44 w(0)45 b(-<)p 0 0 0 TeXcolorrgb 45
w(output)p Black -1 w(+1)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5581 25 92 v Black 0.95 TeXcolorgray
-128 5581 4252 92 v Black 0.95 TeXcolorgray 4124 5581
25 92 v Black 0.95 TeXcolorgray Black -128 5554 a
SDict begin H.S end
-128
5554 a -128 5554 a
SDict begin 11 H.A end
-128 5554 a -128 5554 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-487.5) cvn H.B /DEST pdfmark end
-128 5554
a 0 0 0 TeXcolorrgb 359 w Fo(returnA)p Black 44 w(-<)p
0 0 0 TeXcolorrgb 44 w(output)p Black 0.95 TeXcolorgray
-153 5606 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5759 a FA(The)20 b(translation)g(of)f(such)h(forms)g(uses)h
(the)f Ft(loop)g FA(combinator)m(,)d(so)k(the)f(arro)n(w)f(concerned)f
(must)i(belong)f(to)h(the)h Ft(ArrowLoop)e FA(class.)p
Black -128 6084 4252 5 v Black eop end
%%Page: 175 190
TeXDict begin 175 189 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.175) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(175)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.10.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.10.2)p
Black 89 w(Conditional)j(commands)-128 376 y FA(In)16
b(the)f(pre)n(vious)f(e)o(xample,)h(we)h(used)f(a)h(conditional)e(e)o
(xpression)g(to)i(construct)e(the)i(input)e(for)h(an)h(arro)n(w)-5
b(.)22 b(Sometimes)15 b(we)h(w)o(ant)g(to)f(conditionally)-128
476 y(e)o(x)o(ecute)k(dif)n(ferent)g(commands,)f(as)j(in)-128
538 y
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 12 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-488) cvn H.B /DEST pdfmark end
-128
538 a 0.95 TeXcolorgray -153 559 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 650 25 92 v Black 0.95 TeXcolorgray -128 650 4252
92 v Black 0.95 TeXcolorgray 4124 650 25 92 v Black 0.95
TeXcolorgray Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128
623 a -128 623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-488.1) cvn H.B /DEST pdfmark end
-128 623 a 0 0 0 TeXcolorrgb Fo(proc)p
Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(x)p Black(,)p
0 0 0 TeXcolorrgb(y)p Black(\))45 b(->)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 742 25 92 v Black 0.95 TeXcolorgray
-128 742 4252 92 v Black 0.95 TeXcolorgray 4124 742 25
92 v Black 0.95 TeXcolorgray Black -128 714 a
SDict begin H.S end
-128 714
a -128 714 a
SDict begin 11 H.A end
-128 714 a -128 714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-488.2) cvn H.B /DEST pdfmark end
-128 714 a 0 0 0 TeXcolorrgb
359 w Fo(if)p Black 0 0 0 TeXcolorrgb 45 w(f)p Black
0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45
w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 833 25 92 v Black 0.95 TeXcolorgray -128 833 4252
92 v Black 0.95 TeXcolorgray 4124 833 25 92 v Black 0.95
TeXcolorgray Black -128 805 a
SDict begin H.S end
-128 805 a -128 805 a
SDict begin 11 H.A end
-128
805 a -128 805 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-488.3) cvn H.B /DEST pdfmark end
-128 805 a 0 0 0 TeXcolorrgb 359 w Fo(then)p
Black 0 0 0 TeXcolorrgb 44 w(g)p Black 45 w(-<)p 0 0 0
TeXcolorrgb 44 w(x)p Black(+1)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 924 25 92 v Black 0.95 TeXcolorgray
-128 924 4252 92 v Black 0.95 TeXcolorgray 4124 924 25
92 v Black 0.95 TeXcolorgray Black -128 897 a
SDict begin H.S end
-128 897
a -128 897 a
SDict begin 11 H.A end
-128 897 a -128 897 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-488.4) cvn H.B /DEST pdfmark end
-128 897 a 0 0 0 TeXcolorrgb
359 w Fo(else)p Black 0 0 0 TeXcolorrgb 44 w(h)p Black
45 w(-<)p 0 0 0 TeXcolorrgb 44 w(y)p Black(+2)p 0.95
TeXcolorgray -153 949 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1123 a FA(which)20 b(is)h(translated)f(to)-128
1174 y
SDict begin H.S end
-128 1174 a -128 1174 a
SDict begin 12 H.A end
-128 1174 a -128 1174
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-489) cvn H.B /DEST pdfmark end
-128 1174 a 0.95 TeXcolorgray -153 1206 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1298 25 92 v Black 0.95 TeXcolorgray
-128 1298 4252 92 v Black 0.95 TeXcolorgray 4124 1298
25 92 v Black 0.95 TeXcolorgray Black -128 1270 a
SDict begin H.S end
-128
1270 a -128 1270 a
SDict begin 11 H.A end
-128 1270 a -128 1270 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-489.1) cvn H.B /DEST pdfmark end
-128 1270
a 0 0 0 TeXcolorrgb Fo(arr)p Black 45 w(\(\\)44 b(\()p
0 0 0 TeXcolorrgb(x)p Black(,)p 0 0 0 TeXcolorrgb(y)p
Black(\))g(->)p 0 0 0 TeXcolorrgb 45 w(if)p Black 0 0 0
TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p
Black 0 0 0 TeXcolorrgb 45 w(y)p Black 0 0 0 TeXcolorrgb
44 w(then)p Black 0 0 0 TeXcolorrgb 44 w(Left)p Black
0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0 TeXcolorrgb 44
w(else)p Black 0 0 0 TeXcolorrgb 44 w(Right)p Black 0 0 0
TeXcolorrgb 44 w(y)p Black(\))h(>>>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1389 25 92 v Black 0.95
TeXcolorgray -128 1389 4252 92 v Black 0.95 TeXcolorgray
4124 1389 25 92 v Black 0.95 TeXcolorgray Black -128
1362 a
SDict begin H.S end
-128 1362 a -128 1362 a
SDict begin 11 H.A end
-128 1362 a -128 1362
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-489.2) cvn H.B /DEST pdfmark end
-128 1362 a 359 w Fo(\()p 0 0 0 TeXcolorrgb(arr)p Black
44 w(\(\\)p 0 0 0 TeXcolorrgb(x)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(x)p Black(+1\))f(>>>)p 0 0 0 TeXcolorrgb
45 w(f)p Black -1 w(\))h(|||)f(\()p 0 0 0 TeXcolorrgb(arr)p
Black 45 w(\(\\)p 0 0 0 TeXcolorrgb -1 w(y)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(y)p Black(+2\))h(>>>)p
0 0 0 TeXcolorrgb 44 w(g)p Black(\))p 0.95 TeXcolorgray
-153 1414 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1588 a FA(Since)21 b(the)f(translation)f(uses)i
Ft(|||)p FA(,)f(the)g(arro)n(w)f(concerned)f(must)i(belong)f(to)i(the)f
Ft(ArrowChoice)e FA(class.)-128 1738 y(There)i(are)g(also)g
Ft(case)g FA(commands,)f(lik)o(e)-128 1800 y
SDict begin H.S end
-128 1800
a -128 1800 a
SDict begin 12 H.A end
-128 1800 a -128 1800 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-490) cvn H.B /DEST pdfmark end
-128 1800 a 0.95
TeXcolorgray -153 1821 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1912 25 92 v Black 0.95 TeXcolorgray -128 1912 4252 92
v Black 0.95 TeXcolorgray 4124 1912 25 92 v Black 0.95
TeXcolorgray Black -128 1885 a
SDict begin H.S end
-128 1885 a -128 1885
a
SDict begin 11 H.A end
-128 1885 a -128 1885 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.1) cvn H.B /DEST pdfmark end
-128 1885 a 0 0 0 TeXcolorrgb
Fo(case)p Black 0 0 0 TeXcolorrgb 45 w(input)p Black
0 0 0 TeXcolorrgb 44 w(of)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2003 25 92 v Black 0.95 TeXcolorgray
-128 2003 4252 92 v Black 0.95 TeXcolorgray 4124 2003
25 92 v Black 0.95 TeXcolorgray Black -128 1976 a
SDict begin H.S end
-128
1976 a -128 1976 a
SDict begin 11 H.A end
-128 1976 a -128 1976 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.2) cvn H.B /DEST pdfmark end
-128 1976
a 180 w Fo([])44 b(->)p 0 0 0 TeXcolorrgb 45 w(f)p Black
44 w(-<)h(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2095 25 92 v Black 0.95 TeXcolorgray -128 2095 4252
92 v Black 0.95 TeXcolorgray 4124 2095 25 92 v Black
0.95 TeXcolorgray Black -128 2067 a
SDict begin H.S end
-128 2067 a -128
2067 a
SDict begin 11 H.A end
-128 2067 a -128 2067 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.3) cvn H.B /DEST pdfmark end
-128 2067 a 180 w Fo([)p
0 0 0 TeXcolorrgb(x)p Black -1 w(])g(->)p 0 0 0 TeXcolorrgb
45 w(g)p Black 44 w(-<)p 0 0 0 TeXcolorrgb 45 w(x)p Black(+1)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2186 25
92 v Black 0.95 TeXcolorgray -128 2186 4252 92 v Black
0.95 TeXcolorgray 4124 2186 25 92 v Black 0.95 TeXcolorgray
Black -128 2159 a
SDict begin H.S end
-128 2159 a -128 2159 a
SDict begin 11 H.A end
-128 2159 a
-128 2159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.4) cvn H.B /DEST pdfmark end
-128 2159 a 0 0 0 TeXcolorrgb 180 w Fo(x1)p
Black -1 w(:)p 0 0 0 TeXcolorrgb(x2)p Black(:)p 0 0 0
TeXcolorrgb(xs)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45
w(do)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2277 25 92 v Black 0.95 TeXcolorgray -128 2277 4252
92 v Black 0.95 TeXcolorgray 4124 2277 25 92 v Black
0.95 TeXcolorgray Black -128 2250 a
SDict begin H.S end
-128 2250 a -128
2250 a
SDict begin 11 H.A end
-128 2250 a -128 2250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.5) cvn H.B /DEST pdfmark end
-128 2250 a 0 0 0 TeXcolorrgb
359 w Fo(y)p Black 45 w(<-)p 0 0 0 TeXcolorrgb 44 w(h)p
Black 45 w(-<)f(\()p 0 0 0 TeXcolorrgb(x1)p Black(,)p
0 0 0 TeXcolorrgb 45 w(x2)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2369 25 92 v Black 0.95
TeXcolorgray -128 2369 4252 92 v Black 0.95 TeXcolorgray
4124 2369 25 92 v Black 0.95 TeXcolorgray Black -128
2341 a
SDict begin H.S end
-128 2341 a -128 2341 a
SDict begin 11 H.A end
-128 2341 a -128 2341
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.6) cvn H.B /DEST pdfmark end
-128 2341 a 0 0 0 TeXcolorrgb 359 w Fo(ys)p Black 45
w(<-)p 0 0 0 TeXcolorrgb 44 w(k)p Black 45 w(-<)p 0 0 0
TeXcolorrgb 44 w(xs)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2460 25 92 v Black 0.95 TeXcolorgray
-128 2460 4252 92 v Black 0.95 TeXcolorgray 4124 2460
25 92 v Black 0.95 TeXcolorgray Black -128 2433 a
SDict begin H.S end
-128
2433 a -128 2433 a
SDict begin 11 H.A end
-128 2433 a -128 2433 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-490.7) cvn H.B /DEST pdfmark end
-128 2433
a 0 0 0 TeXcolorrgb 359 w Fo(returnA)p Black 44 w(-<)p
0 0 0 TeXcolorrgb 44 w(y)p Black(:)p 0 0 0 TeXcolorrgb(ys)p
Black 0.95 TeXcolorgray -153 2485 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2659 a FA(The)19
b(syntax)g(is)h(the)f(same)g(as)h(for)e Ft(case)h FA(e)o(xpressions,)f
(e)o(xcept)g(that)i(the)f(bodies)f(of)h(the)g(alternati)n(v)o(es)f(are)
h(commands)f(rather)g(than)h(e)o(xpressions.)-128 2759
y(The)h(translation)g(is)h(similar)f(to)g(that)h(of)f
Ft(if)g FA(commands.)-128 2876 y
SDict begin H.S end
-128 2876 a -128 2876
a
SDict begin 12 H.A end
-128 2876 a -128 2876 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.10.3) cvn H.B /DEST pdfmark end
-128 2876 a Black 165 x Fp(7.10.3)p
Black 89 w(De\002ning)k(y)n(our)g(o)o(wn)g(contr)n(ol)g(structures)-128
3244 y FA(As)33 b(we')l(re)f(seen,)i(arro)n(w)d(notation)g(pro)o(vides)
f(constructs,)k(modelled)d(on)g(those)h(for)f(e)o(xpressions,)j(for)d
(sequencing,)i(v)n(alue)e(recursion)g(and)-128 3344 y(conditionals.)25
b(But)c(suitable)g(combinators,)d(which)i(you)g(can)g(de\002ne)g(in)h
(ordinary)d(Hask)o(ell,)j(may)f(also)h(be)g(used)f(to)h(b)n(uild)f(ne)n
(w)g(commands)f(out)-128 3443 y(of)25 b(e)o(xisting)e(ones.)37
b(The)25 b(basic)f(idea)g(is)i(that)e(a)h(command)d(de\002nes)j(an)f
(arro)n(w)f(from)h(en)m(vironments)d(to)k(v)n(alues.)37
b(These)24 b(en)m(vironments)e(assign)-128 3543 y(v)n(alues)f(to)f(the)
h(free)f(local)h(v)n(ariables)f(of)g(the)h(command.)j(Thus)c
(combinators)f(that)h(produce)f(arro)n(ws)h(from)g(arro)n(ws)g(may)g
(also)h(be)f(used)h(to)f(b)n(uild)-128 3643 y(commands)f(from)g
(commands.)k(F)o(or)d(e)o(xample,)f(the)h Ft(ArrowChoice)f
FA(class)i(includes)e(a)i(combinator)-128 3711 y
SDict begin H.S end
-128
3711 a -128 3711 a
SDict begin 12 H.A end
-128 3711 a -128 3711 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-491) cvn H.B /DEST pdfmark end
-128 3711
a 0.95 TeXcolorgray -153 3726 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3817 25 92 v Black 0.95 TeXcolorgray -128 3817 4252 92
v Black 0.95 TeXcolorgray 4124 3817 25 92 v Black 0.95
TeXcolorgray Black -128 3790 a
SDict begin H.S end
-128 3790 a -128 3790
a
SDict begin 11 H.A end
-128 3790 a -128 3790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-491.1) cvn H.B /DEST pdfmark end
-128 3790 a 0 0 0 TeXcolorrgb
Fo(ArrowChoice)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black
45 w(=>)45 b(\(<+>\))f(::)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb
44 w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
0 0 0 TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb 45
w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb 44
w(c)p Black 0.95 TeXcolorgray -153 3842 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4016 a FA(so)21
b(we)g(can)f(use)g(it)h(to)f(b)n(uild)g(commands:)-128
4067 y
SDict begin H.S end
-128 4067 a -128 4067 a
SDict begin 12 H.A end
-128 4067 a -128 4067
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-492) cvn H.B /DEST pdfmark end
-128 4067 a 0.95 TeXcolorgray -153 4099 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4191 25 92 v Black 0.95 TeXcolorgray
-128 4191 4252 92 v Black 0.95 TeXcolorgray 4124 4191
25 92 v Black 0.95 TeXcolorgray Black -128 4163 a
SDict begin H.S end
-128
4163 a -128 4163 a
SDict begin 11 H.A end
-128 4163 a -128 4163 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.1) cvn H.B /DEST pdfmark end
-128 4163
a 0 0 0 TeXcolorrgb Fo(expr)p Black(')44 b(=)p 0 0 0
TeXcolorrgb 45 w(proc)p Black 0 0 0 TeXcolorrgb 44 w(x)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(do)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4282 25 92
v Black 0.95 TeXcolorgray -128 4282 4252 92 v Black 0.95
TeXcolorgray 4124 4282 25 92 v Black 0.95 TeXcolorgray
Black -128 4255 a
SDict begin H.S end
-128 4255 a -128 4255 a
SDict begin 11 H.A end
-128 4255 a
-128 4255 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.2) cvn H.B /DEST pdfmark end
-128 4255 a 0 0 0 TeXcolorrgb 718 w Fo(returnA)p
Black 43 w(-<)p 0 0 0 TeXcolorrgb 45 w(x)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4373 25 92
v Black 0.95 TeXcolorgray -128 4373 4252 92 v Black 0.95
TeXcolorgray 4124 4373 25 92 v Black 0.95 TeXcolorgray
Black -128 4346 a
SDict begin H.S end
-128 4346 a -128 4346 a
SDict begin 11 H.A end
-128 4346 a
-128 4346 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.3) cvn H.B /DEST pdfmark end
-128 4346 a 359 w Fo(<+>)p 0 0 0 TeXcolorrgb
44 w(do)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4465 25 92 v Black 0.95 TeXcolorgray -128 4465 4252
92 v Black 0.95 TeXcolorgray 4124 4465 25 92 v Black
0.95 TeXcolorgray Black -128 4437 a
SDict begin H.S end
-128 4437 a -128
4437 a
SDict begin 11 H.A end
-128 4437 a -128 4437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.4) cvn H.B /DEST pdfmark end
-128 4437 a 0 0 0 TeXcolorrgb
718 w Fo(symbol)p Black 0 0 0 TeXcolorrgb 44 w(Plus)p
Black 44 w(-<)g(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4556 25 92 v Black 0.95 TeXcolorgray -128 4556 4252
92 v Black 0.95 TeXcolorgray 4124 4556 25 92 v Black
0.95 TeXcolorgray Black -128 4529 a
SDict begin H.S end
-128 4529 a -128
4529 a
SDict begin 11 H.A end
-128 4529 a -128 4529 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.5) cvn H.B /DEST pdfmark end
-128 4529 a 0 0 0 TeXcolorrgb
718 w Fo(y)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(term)p
Black 44 w(-<)h(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4647 25 92 v Black 0.95 TeXcolorgray -128 4647 4252
92 v Black 0.95 TeXcolorgray 4124 4647 25 92 v Black
0.95 TeXcolorgray Black -128 4620 a
SDict begin H.S end
-128 4620 a -128
4620 a
SDict begin 11 H.A end
-128 4620 a -128 4620 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.6) cvn H.B /DEST pdfmark end
-128 4620 a 0 0 0 TeXcolorrgb
718 w Fo(expr)p Black -1 w(')g(-<)p 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(+)p 0 0 0 TeXcolorrgb 45 w(y)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4739 25
92 v Black 0.95 TeXcolorgray -128 4739 4252 92 v Black
0.95 TeXcolorgray 4124 4739 25 92 v Black 0.95 TeXcolorgray
Black -128 4711 a
SDict begin H.S end
-128 4711 a -128 4711 a
SDict begin 11 H.A end
-128 4711 a
-128 4711 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.7) cvn H.B /DEST pdfmark end
-128 4711 a 359 w Fo(<+>)p 0 0 0 TeXcolorrgb
44 w(do)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4830 25 92 v Black 0.95 TeXcolorgray -128 4830 4252
92 v Black 0.95 TeXcolorgray 4124 4830 25 92 v Black
0.95 TeXcolorgray Black -128 4803 a
SDict begin H.S end
-128 4803 a -128
4803 a
SDict begin 11 H.A end
-128 4803 a -128 4803 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.8) cvn H.B /DEST pdfmark end
-128 4803 a 0 0 0 TeXcolorrgb
718 w Fo(symbol)p Black 0 0 0 TeXcolorrgb 44 w(Minus)p
Black 44 w(-<)f(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4921 25 92 v Black 0.95 TeXcolorgray -128 4921 4252
92 v Black 0.95 TeXcolorgray 4124 4921 25 92 v Black
0.95 TeXcolorgray Black -128 4894 a
SDict begin H.S end
-128 4894 a -128
4894 a
SDict begin 11 H.A end
-128 4894 a -128 4894 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.9) cvn H.B /DEST pdfmark end
-128 4894 a 0 0 0 TeXcolorrgb
718 w Fo(y)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(term)p
Black 44 w(-<)h(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5013 25 92 v Black 0.95 TeXcolorgray -128 5013 4252
92 v Black 0.95 TeXcolorgray 4124 5013 25 92 v Black
0.95 TeXcolorgray Black -128 4985 a
SDict begin H.S end
-128 4985 a -128
4985 a
SDict begin 11 H.A end
-128 4985 a -128 4985 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-492.10) cvn H.B /DEST pdfmark end
-128 4985 a 0 0 0 TeXcolorrgb
718 w Fo(expr)p Black -1 w(')g(-<)p 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(-)p 0 0 0 TeXcolorrgb 45 w(y)p Black
0.95 TeXcolorgray -153 5037 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5212 a FA(\(The)20 b Ft(do)g FA(on)g(the)g
(\002rst)h(line)f(is)h(needed)e(to)h(pre)n(v)o(ent)f(the)h(\002rst)h
Ft(<+>)49 b(...)25 b FA(from)19 b(being)g(interpreted)g(as)h(part)g(of)
g(the)g(e)o(xpression)f(on)g(the)i(pre)n(vious)-128 5311
y(line.\))k(This)20 b(is)i(equi)n(v)n(alent)c(to)-128
5379 y
SDict begin H.S end
-128 5379 a -128 5379 a
SDict begin 12 H.A end
-128 5379 a -128 5379
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-493) cvn H.B /DEST pdfmark end
-128 5379 a 0.95 TeXcolorgray -153 5394 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5486 25 92 v Black 0.95 TeXcolorgray
-128 5486 4252 92 v Black 0.95 TeXcolorgray 4124 5486
25 92 v Black 0.95 TeXcolorgray Black -128 5458 a
SDict begin H.S end
-128
5458 a -128 5458 a
SDict begin 11 H.A end
-128 5458 a -128 5458 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.1) cvn H.B /DEST pdfmark end
-128 5458
a 0 0 0 TeXcolorrgb Fo(expr)p Black(')44 b(=)h(\()p 0 0 0
TeXcolorrgb(proc)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(returnA)p Black 44 w(-<)p
0 0 0 TeXcolorrgb 44 w(x)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5577 25 92 v Black 0.95
TeXcolorgray -128 5577 4252 92 v Black 0.95 TeXcolorgray
4124 5577 25 92 v Black 0.95 TeXcolorgray Black -128
5550 a
SDict begin H.S end
-128 5550 a -128 5550 a
SDict begin 11 H.A end
-128 5550 a -128 5550
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.2) cvn H.B /DEST pdfmark end
-128 5550 a 359 w Fo(<+>)f(\()p 0 0 0 TeXcolorrgb(proc)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(->)p 0 0 0
TeXcolorrgb 45 w(do)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5668 25 92 v Black 0.95 TeXcolorgray
-128 5668 4252 92 v Black 0.95 TeXcolorgray 4124 5668
25 92 v Black 0.95 TeXcolorgray Black -128 5641 a
SDict begin H.S end
-128
5641 a -128 5641 a
SDict begin 11 H.A end
-128 5641 a -128 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.3) cvn H.B /DEST pdfmark end
-128 5641
a 0 0 0 TeXcolorrgb 718 w Fo(symbol)p Black 0 0 0 TeXcolorrgb
44 w(Plus)p Black 44 w(-<)g(\(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5760 25 92 v Black 0.95
TeXcolorgray -128 5760 4252 92 v Black 0.95 TeXcolorgray
4124 5760 25 92 v Black 0.95 TeXcolorgray Black -128
5732 a
SDict begin H.S end
-128 5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.4) cvn H.B /DEST pdfmark end
-128 5732 a 0 0 0 TeXcolorrgb 718 w Fo(y)p Black 44
w(<-)p 0 0 0 TeXcolorrgb 45 w(term)p Black 44 w(-<)h(\(\))p
Black -128 6084 4252 5 v Black eop end
%%Page: 176 191
TeXDict begin 176 190 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.176) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(176)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.5) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
718 w Fo(expr)p Black -1 w(')45 b(-<)p 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(+)p 0 0 0 TeXcolorrgb 45 w(y)p Black
-1 w(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
292 25 92 v Black 0.95 TeXcolorgray -128 292 4252 92
v Black 0.95 TeXcolorgray 4124 292 25 92 v Black 0.95
TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128
265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.6) cvn H.B /DEST pdfmark end
-128 265 a 359 w Fo(<+>)f(\()p 0 0 0
TeXcolorrgb(proc)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black
45 w(->)p 0 0 0 TeXcolorrgb 45 w(do)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.7) cvn H.B /DEST pdfmark end
-128 356 a 0 0 0 TeXcolorrgb
718 w Fo(symbol)p Black 0 0 0 TeXcolorrgb 44 w(Minus)p
Black 44 w(-<)g(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 475 25 92 v Black 0.95 TeXcolorgray -128 475 4252
92 v Black 0.95 TeXcolorgray 4124 475 25 92 v Black 0.95
TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128
447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.8) cvn H.B /DEST pdfmark end
-128 447 a 0 0 0 TeXcolorrgb 718 w Fo(y)p
Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(term)p Black 44
w(-<)h(\(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 566 25 92 v Black 0.95 TeXcolorgray -128 566 4252
92 v Black 0.95 TeXcolorgray 4124 566 25 92 v Black 0.95
TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128
538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-493.9) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb 718 w Fo(expr)p
Black -1 w(')g(-<)p 0 0 0 TeXcolorrgb 44 w(x)p Black
45 w(-)p 0 0 0 TeXcolorrgb 45 w(y)p Black -1 w(\))p 0.95
TeXcolorgray -152 591 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 756 a FA(It)31 b(is)h(essential)f(that)f(this)h
(operator)e(be)i(polymorphic)c(in)k Ft(e)g FA(\(representing)d(the)i
(en)m(vironment)e(input)i(to)g(the)h(command)d(and)i(thence)g(to)h(its)
-128 856 y(subcommands\))18 b(and)i(satisfy)g(the)g(corresponding)d
(naturality)i(property)-128 919 y
SDict begin H.S end
-128 919 a -128 919
a
SDict begin 12 H.A end
-128 919 a -128 919 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-494) cvn H.B /DEST pdfmark end
-128 919 a 0.95 TeXcolorgray
-153 934 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1025 25 92
v Black 0.95 TeXcolorgray -128 1025 4252 92 v Black 0.95
TeXcolorgray 4124 1025 25 92 v Black 0.95 TeXcolorgray
Black -128 998 a
SDict begin H.S end
-128 998 a -128 998 a
SDict begin 11 H.A end
-128 998 a -128
998 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-494.1) cvn H.B /DEST pdfmark end
-128 998 a 0 0 0 TeXcolorrgb Fo(arr)p Black 0 0 0
TeXcolorrgb 45 w(k)p Black 44 w(>>>)45 b(\()p 0 0 0 TeXcolorrgb(f)p
Black 44 w(<+>)p 0 0 0 TeXcolorrgb 45 w(g)p Black -1
w(\))g(=)g(\()p 0 0 0 TeXcolorrgb(arr)p Black 0 0 0 TeXcolorrgb
44 w(k)p Black 45 w(>>>)p 0 0 0 TeXcolorrgb 44 w(f)p
Black(\))f(<+>)h(\()p 0 0 0 TeXcolorrgb(arr)p Black 0 0 0
TeXcolorrgb 44 w(k)p Black 45 w(>>>)p 0 0 0 TeXcolorrgb
44 w(g)p Black(\))p 0.95 TeXcolorgray -153 1050 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 1216
a FA(at)18 b(least)f(for)g(strict)g Ft(k)p FA(.)24 b(\(This)17
b(should)f(be)h(automatic)e(if)i(you')l(re)e(not)i(using)f
Ft(seq)p FA(.\))24 b(This)17 b(ensures)f(that)h(en)m(vironments)d(seen)
j(by)g(the)f(subcommands)-128 1315 y(are)24 b(en)m(vironments)d(of)j
(the)f(whole)h(command,)e(and)h(also)i(allo)n(ws)f(the)f(translation)g
(to)h(safely)g(trim)g(these)g(en)m(vironments.)32 b(The)24
b(operator)e(must)-128 1415 y(also)f(not)f(use)g(an)o(y)g(v)n(ariable)f
(de\002ned)g(within)h(the)g(current)f(arro)n(w)g(abstraction.)-128
1560 y(W)-7 b(e)22 b(could)d(de\002ne)h(our)f(o)n(wn)h(operator)-128
1623 y
SDict begin H.S end
-128 1623 a -128 1623 a
SDict begin 12 H.A end
-128 1623 a -128 1623
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-495) cvn H.B /DEST pdfmark end
-128 1623 a 0.95 TeXcolorgray -153 1638 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1729 25 92 v Black 0.95 TeXcolorgray
-128 1729 4252 92 v Black 0.95 TeXcolorgray 4124 1729
25 92 v Black 0.95 TeXcolorgray Black -128 1702 a
SDict begin H.S end
-128
1702 a -128 1702 a
SDict begin 11 H.A end
-128 1702 a -128 1702 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.1) cvn H.B /DEST pdfmark end
-128 1702
a 0 0 0 TeXcolorrgb Fo(untilA)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(ArrowChoice)p Black 0 0 0 TeXcolorrgb
43 w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black
0 0 0 TeXcolorrgb 45 w(e)p Black 44 w(\(\))45 b(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(e)p Black 0 0 0 TeXcolorrgb 45 w(Bool)p Black 44 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(e)p Black 45 w(\(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1821 25 92 v Black 0.95 TeXcolorgray
-128 1821 4252 92 v Black 0.95 TeXcolorgray 4124 1821
25 92 v Black 0.95 TeXcolorgray Black -128 1793 a
SDict begin H.S end
-128
1793 a -128 1793 a
SDict begin 11 H.A end
-128 1793 a -128 1793 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.2) cvn H.B /DEST pdfmark end
-128 1793
a 0 0 0 TeXcolorrgb Fo(untilA)p Black 0 0 0 TeXcolorrgb
44 w(body)p Black 0 0 0 TeXcolorrgb 44 w(cond)p Black
45 w(=)p 0 0 0 TeXcolorrgb 44 w(proc)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(->)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1912 25 92 v Black 0.95 TeXcolorgray
-128 1912 4252 92 v Black 0.95 TeXcolorgray 4124 1912
25 92 v Black 0.95 TeXcolorgray Black -128 1885 a
SDict begin H.S end
-128
1885 a -128 1885 a
SDict begin 11 H.A end
-128 1885 a -128 1885 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.3) cvn H.B /DEST pdfmark end
-128 1885
a 0 0 0 TeXcolorrgb 359 w Fo(b)p Black 45 w(<-)p 0 0 0
TeXcolorrgb 44 w(cond)p Black 44 w(-<)p 0 0 0 TeXcolorrgb
45 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2003 25 92 v Black 0.95 TeXcolorgray -128 2003 4252
92 v Black 0.95 TeXcolorgray 4124 2003 25 92 v Black
0.95 TeXcolorgray Black -128 1976 a
SDict begin H.S end
-128 1976 a -128
1976 a
SDict begin 11 H.A end
-128 1976 a -128 1976 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.4) cvn H.B /DEST pdfmark end
-128 1976 a 0 0 0 TeXcolorrgb
359 w Fo(if)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black
0 0 0 TeXcolorrgb 44 w(then)p Black 0 0 0 TeXcolorrgb
44 w(returnA)p Black 44 w(-<)g(\(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2095 25 92 v Black 0.95
TeXcolorgray -128 2095 4252 92 v Black 0.95 TeXcolorgray
4124 2095 25 92 v Black 0.95 TeXcolorgray Black -128
2067 a
SDict begin H.S end
-128 2067 a -128 2067 a
SDict begin 11 H.A end
-128 2067 a -128 2067
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.5) cvn H.B /DEST pdfmark end
-128 2067 a 0 0 0 TeXcolorrgb 359 w Fo(else)p Black
0 0 0 TeXcolorrgb 44 w(do)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2186 25 92 v Black 0.95 TeXcolorgray
-128 2186 4252 92 v Black 0.95 TeXcolorgray 4124 2186
25 92 v Black 0.95 TeXcolorgray Black -128 2159 a
SDict begin H.S end
-128
2159 a -128 2159 a
SDict begin 11 H.A end
-128 2159 a -128 2159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.6) cvn H.B /DEST pdfmark end
-128 2159
a 0 0 0 TeXcolorrgb 718 w Fo(body)p Black 44 w(-<)p 0 0 0
TeXcolorrgb 44 w(x)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2277 25 92 v Black 0.95 TeXcolorgray
-128 2277 4252 92 v Black 0.95 TeXcolorgray 4124 2277
25 92 v Black 0.95 TeXcolorgray Black -128 2250 a
SDict begin H.S end
-128
2250 a -128 2250 a
SDict begin 11 H.A end
-128 2250 a -128 2250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-495.7) cvn H.B /DEST pdfmark end
-128 2250
a 0 0 0 TeXcolorrgb 718 w Fo(untilA)p Black 0 0 0 TeXcolorrgb
44 w(body)p Black 0 0 0 TeXcolorrgb 44 w(cond)p Black
44 w(-<)p 0 0 0 TeXcolorrgb 44 w(x)p Black 0.95 TeXcolorgray
-153 2302 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2468 a FA(and)19 b(use)h(it)h(in)e(the)h(same)g(w)o(ay)-5
b(.)24 b(Of)c(course)f(this)h(in\002x)f(syntax)g(only)g(mak)o(es)g
(sense)h(for)f(binary)g(operators;)f(there)h(is)h(also)g(a)g(more)f
(general)g(syntax)-128 2567 y(in)m(v)n(olving)g(special)h(brack)o(ets:)
-128 2630 y
SDict begin H.S end
-128 2630 a -128 2630 a
SDict begin 12 H.A end
-128 2630 a -128
2630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-496) cvn H.B /DEST pdfmark end
-128 2630 a 0.95 TeXcolorgray -153 2646 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2737 25 92 v Black 0.95 TeXcolorgray
-128 2737 4252 92 v Black 0.95 TeXcolorgray 4124 2737
25 92 v Black 0.95 TeXcolorgray Black -128 2710 a
SDict begin H.S end
-128
2710 a -128 2710 a
SDict begin 11 H.A end
-128 2710 a -128 2710 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-496.1) cvn H.B /DEST pdfmark end
-128 2710
a 0 0 0 TeXcolorrgb Fo(proc)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(do)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2828 25 92 v Black 0.95 TeXcolorgray -128 2828 4252 92
v Black 0.95 TeXcolorgray 4124 2828 25 92 v Black 0.95
TeXcolorgray Black -128 2801 a
SDict begin H.S end
-128 2801 a -128 2801
a
SDict begin 11 H.A end
-128 2801 a -128 2801 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-496.2) cvn H.B /DEST pdfmark end
-128 2801 a 0 0 0 TeXcolorrgb
359 w Fo(y)p Black 45 w(<-)p 0 0 0 TeXcolorrgb 44 w(f)p
Black 45 w(-<)p 0 0 0 TeXcolorrgb 44 w(x)p Black(+1)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2920 25
92 v Black 0.95 TeXcolorgray -128 2920 4252 92 v Black
0.95 TeXcolorgray 4124 2920 25 92 v Black 0.95 TeXcolorgray
Black -128 2892 a
SDict begin H.S end
-128 2892 a -128 2892 a
SDict begin 11 H.A end
-128 2892 a
-128 2892 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-496.3) cvn H.B /DEST pdfmark end
-128 2892 a 359 w Fo(\(|)p 0 0 0 TeXcolorrgb(untilA)p
Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(increment)p Black
44 w(-<)p 0 0 0 TeXcolorrgb 44 w(x)p Black(+)p 0 0 0
TeXcolorrgb(y)p Black(\))44 b(\()p 0 0 0 TeXcolorrgb(within)p
Black 44 w(0.5)g(-<)p 0 0 0 TeXcolorrgb 45 w(x)p Black(\)|\))p
0.95 TeXcolorgray -153 2944 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3104 a
SDict begin H.S end
-128 3104 a -128 3104 a
SDict begin 12 H.A end
-128 3104 a -128 3104 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.10.4) cvn H.B /DEST pdfmark end
-128 3104 a Black 136 x Fp(7.10.4)p
Black 89 w(Primitive)24 b(constructs)-128 3439 y FA(Some)d(operators)e
(will)j(need)e(to)h(pass)g(additional)f(inputs)g(to)h(their)f
(subcommands.)25 b(F)o(or)20 b(e)o(xample,)f(in)i(an)g(arro)n(w)f(type)
g(supporting)f(e)o(xceptions,)-128 3539 y(the)27 b(operator)d(that)i
(attaches)g(an)g(e)o(xception)e(handler)h(will)i(wish)f(to)g(pass)h
(the)f(e)o(xception)e(that)i(occurred)e(to)j(the)f(handler)-5
b(.)41 b(Such)26 b(an)g(operator)-128 3638 y(might)20
b(ha)n(v)o(e)g(a)g(type)-128 3701 y
SDict begin H.S end
-128 3701 a -128
3701 a
SDict begin 12 H.A end
-128 3701 a -128 3701 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-497) cvn H.B /DEST pdfmark end
-128 3701 a 0.95 TeXcolorgray
-153 3717 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3808 25 92
v Black 0.95 TeXcolorgray -128 3808 4252 92 v Black 0.95
TeXcolorgray 4124 3808 25 92 v Black 0.95 TeXcolorgray
Black -128 3781 a
SDict begin H.S end
-128 3781 a -128 3781 a
SDict begin 11 H.A end
-128 3781 a
-128 3781 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-497.1) cvn H.B /DEST pdfmark end
-128 3781 a 0 0 0 TeXcolorrgb Fo(handleA)p
Black 44 w(::)45 b(...)f(=>)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
45 w(\()p 0 0 0 TeXcolorrgb -1 w(e)p Black(,)p 0 0 0
TeXcolorrgb(Ex)p Black(\))p 0 0 0 TeXcolorrgb 44 w(c)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0
TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb 45 w(c)p
Black 0.95 TeXcolorgray -153 3833 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3998 a FA(where)20
b Ft(Ex)g FA(is)i(the)e(type)f(of)h(e)o(xceptions)f(handled.)k(Y)-9
b(ou)20 b(could)f(then)h(use)g(this)h(with)f(arro)n(w)g(notation)f(by)g
(writing)h(a)h(command)-128 4061 y
SDict begin H.S end
-128 4061 a -128 4061
a
SDict begin 12 H.A end
-128 4061 a -128 4061 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-498) cvn H.B /DEST pdfmark end
-128 4061 a 0.95 TeXcolorgray
-153 4077 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4168 25 92
v Black 0.95 TeXcolorgray -128 4168 4252 92 v Black 0.95
TeXcolorgray 4124 4168 25 92 v Black 0.95 TeXcolorgray
Black -128 4141 a
SDict begin H.S end
-128 4141 a -128 4141 a
SDict begin 11 H.A end
-128 4141 a
-128 4141 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-498.1) cvn H.B /DEST pdfmark end
-128 4141 a 0 0 0 TeXcolorrgb Fo(body)p Black
45 w(`)p 0 0 0 TeXcolorrgb -1 w(handleA)p Black -1 w(`)45
b(\\)p 0 0 0 TeXcolorrgb 45 w(ex)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(handler)p Black 0.95 TeXcolorgray -153
4193 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4358 a FA(so)22 b(that)f(if)h(an)f(e)o(xception)e(is)j(raised)f
(in)g(the)h(command)d Ft(body)p FA(,)i(the)g(v)n(ariable)f
Ft(ex)h FA(is)i(bound)c(to)i(the)g(v)n(alue)g(of)g(the)g(e)o(xception)e
(and)i(the)g(command)-128 4458 y Ft(handler)p FA(,)f(which)f(typically)
h(refers)f(to)i Ft(ex)p FA(,)f(is)h(entered.)j(Though)18
b(the)i(syntax)f(here)h(looks)g(lik)o(e)g(a)h(functional)d(lambda,)h
(we)h(are)h(talking)e(about)-128 4557 y(commands,)f(and)g(something)g
(dif)n(ferent)f(is)j(going)e(on.)24 b(The)18 b(input)h(to)g(the)g(arro)
n(w)f(represented)f(by)i(a)g(command)e(consists)j(of)e(v)n(alues)h(for)
f(the)h(free)-128 4657 y(local)h(v)n(ariables)f(in)h(the)g(command,)e
(plus)i(a)g(stack)g(of)g(anon)o(ymous)d(v)n(alues.)24
b(In)c(all)g(the)g(prior)f(e)o(xamples,)g(this)h(stack)g(w)o(as)h
(empty)-5 b(.)23 b(In)d(the)g(second)-128 4757 y(ar)o(gument)f(to)i
Ft(handleA)p FA(,)f(this)i(stack)f(consists)h(of)e(one)h(v)n(alue,)f
(the)h(v)n(alue)g(of)f(the)h(e)o(xception.)26 b(The)21
b(command)e(form)h(of)g(lambda)g(merely)g(gi)n(v)o(es)-128
4856 y(this)h(v)n(alue)f(a)g(name.)-128 5001 y(More)j(concretely)-5
b(,)21 b(the)i(v)n(alues)f(on)h(the)g(stack)g(are)g(paired)f(to)h(the)g
(right)f(of)h(the)f(en)m(vironment.)30 b(So)24 b(operators)d(lik)o(e)i
Ft(handleA)f FA(that)h(pass)h(e)o(xtra)-128 5101 y(inputs)g(to)f(their)
h(subcommands)d(can)i(be)h(designed)e(for)h(use)h(with)g(the)f
(notation)g(by)g(pairing)f(the)i(v)n(alues)f(with)h(the)f(en)m
(vironment)e(in)i(this)i(w)o(ay)-5 b(.)-128 5200 y(More)20
b(precisely)-5 b(,)19 b(the)h(type)g(of)g(each)g(ar)o(gument)d(of)j
(the)g(operator)f(\(and)g(its)i(result\))f(should)f(ha)n(v)o(e)h(the)g
(form)-128 5264 y
SDict begin H.S end
-128 5264 a -128 5264 a
SDict begin 12 H.A end
-128 5264 a
-128 5264 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-499) cvn H.B /DEST pdfmark end
-128 5264 a 0.95 TeXcolorgray -153 5279 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5370 25 92 v Black 0.95
TeXcolorgray -128 5370 4252 92 v Black 0.95 TeXcolorgray
4124 5370 25 92 v Black 0.95 TeXcolorgray Black -128
5343 a
SDict begin H.S end
-128 5343 a -128 5343 a
SDict begin 11 H.A end
-128 5343 a -128 5343
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-499.1) cvn H.B /DEST pdfmark end
-128 5343 a 0 0 0 TeXcolorrgb Fo(a)p Black 45 w(\(...\()p
0 0 0 TeXcolorrgb -1 w(e)p Black(,)p 0 0 0 TeXcolorrgb(t1)p
Black(\))o(,)45 b(...)p 0 0 0 TeXcolorrgb 44 w(tn)p Black(\))p
0 0 0 TeXcolorrgb 45 w(t)p Black 0.95 TeXcolorgray -153
5395 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 5560 a FA(where)21 b Fr(e)g FA(is)h(a)f(polymorphic)d(v)n(ariable)
i(\(representing)e(the)j(en)m(vironment\))d(and)i Fr(ti)h
FA(are)g(the)g(types)g(of)g(the)g(v)n(alues)f(on)h(the)g(stack,)g(with)
g Fr(t1)g FA(being)-128 5660 y(the)f(`top'.)j(The)c(polymorphic)d(v)n
(ariable)j Fr(e)g FA(must)h(not)e(occur)h(in)g Fr(a)p
FA(,)h Fr(ti)f FA(or)g Fr(t)p FA(.)25 b(Ho)n(we)n(v)o(er)18
b(the)h(arro)n(ws)g(in)m(v)n(olv)o(ed)e(need)i(not)g(be)g(the)g(same.)
25 b(Here)19 b(are)-128 5759 y(some)h(more)g(e)o(xamples)f(of)h
(suitable)g(operators:)p Black -128 6084 4252 5 v Black
eop end
%%Page: 177 192
TeXDict begin 177 191 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.177) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(177)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-500) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-500.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(bracketA)p Black 44 w(::)44 b(...)h(=>)p 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(\()p 0 0 0 TeXcolorrgb(e)p Black(,)p
0 0 0 TeXcolorrgb(b)p Black(\))p 0 0 0 TeXcolorrgb 44
w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(\()p 0 0 0 TeXcolorrgb(e)p Black(,)p 0 0 0 TeXcolorrgb(c)p
Black(\))p 0 0 0 TeXcolorrgb 44 w(d)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(e)p Black 0 0 0 TeXcolorrgb 45 w(d)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 356 25 92 v Black 0.95 TeXcolorgray
-128 356 4252 92 v Black 0.95 TeXcolorgray 4124 356 25
92 v Black 0.95 TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328
a -128 328 a
SDict begin 11 H.A end
-128 328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-500.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb
Fo(runReader)p Black 44 w(::)f(...)h(=>)p 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0
TeXcolorrgb 44 w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black -1 w(')g(\()p 0 0 0 TeXcolorrgb(e)p Black(,)p
0 0 0 TeXcolorrgb(State)p Black -1 w(\))p 0 0 0 TeXcolorrgb
44 w(c)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 447 25 92 v Black 0.95 TeXcolorgray -128 447 4252
92 v Black 0.95 TeXcolorgray 4124 447 25 92 v Black 0.95
TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128
420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-500.3) cvn H.B /DEST pdfmark end
-128 420 a 0 0 0 TeXcolorrgb Fo(runState)p
Black 44 w(::)f(...)h(=>)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb
45 w(c)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black(')f(\()p
0 0 0 TeXcolorrgb(e)p Black(,)p 0 0 0 TeXcolorrgb(State)p
Black -1 w(\))h(\()p 0 0 0 TeXcolorrgb -1 w(c)p Black(,)p
0 0 0 TeXcolorrgb(State)p Black -1 w(\))p 0.95 TeXcolorgray
-153 472 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 646 a FA(W)-7 b(e)22 b(can)e(supply)f(the)h(e)o(xtra)g
(input)f(required)f(by)i(commands)f(b)n(uilt)h(with)g(the)h(last)g(tw)o
(o)f(by)g(applying)e(them)i(to)g(ordinary)e(e)o(xpressions,)h(as)i(in)
-128 714 y
SDict begin H.S end
-128 714 a -128 714 a
SDict begin 12 H.A end
-128 714 a -128 714
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-501) cvn H.B /DEST pdfmark end
-128 714 a 0.95 TeXcolorgray -153 729 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 821 25 92 v Black 0.95 TeXcolorgray
-128 821 4252 92 v Black 0.95 TeXcolorgray 4124 821 25
92 v Black 0.95 TeXcolorgray Black -128 793 a
SDict begin H.S end
-128 793
a -128 793 a
SDict begin 11 H.A end
-128 793 a -128 793 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-501.1) cvn H.B /DEST pdfmark end
-128 793 a 0 0 0 TeXcolorrgb
Fo(proc)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(do)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 912 25 92 v Black 0.95 TeXcolorgray
-128 912 4252 92 v Black 0.95 TeXcolorgray 4124 912 25
92 v Black 0.95 TeXcolorgray Black -128 885 a
SDict begin H.S end
-128 885
a -128 885 a
SDict begin 11 H.A end
-128 885 a -128 885 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-501.2) cvn H.B /DEST pdfmark end
-128 885 a 0 0 0 TeXcolorrgb
359 w Fo(s)p Black 45 w(<-)44 b(...)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1003 25 92 v Black 0.95
TeXcolorgray -128 1003 4252 92 v Black 0.95 TeXcolorgray
4124 1003 25 92 v Black 0.95 TeXcolorgray Black -128
976 a
SDict begin H.S end
-128 976 a -128 976 a
SDict begin 11 H.A end
-128 976 a -128 976 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-501.3) cvn H.B /DEST pdfmark end
-128
976 a 359 w Fo(\(|)p 0 0 0 TeXcolorrgb(runReader)p Black
43 w(\()p 0 0 0 TeXcolorrgb(do)p Black 44 w({)h(...)f(}\)|\))p
0 0 0 TeXcolorrgb 45 w(s)p Black 0.95 TeXcolorgray -153
1028 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1203 a FA(which)20 b(adds)g Ft(s)h FA(to)f(the)g(stack)h(of)e
(inputs)h(to)h(the)f(command)e(b)n(uilt)i(using)g Ft(runReader)p
FA(.)-128 1352 y(The)25 b(command)f(v)o(ersions)g(of)h(lambda)f
(abstraction)g(and)h(application)e(are)j(analogous)d(to)i(the)h(e)o
(xpression)d(v)o(ersions.)39 b(In)25 b(particular)m(,)g(the)g(beta)-128
1452 y(and)f(eta)h(rules)f(describe)f(equi)n(v)n(alences)g(of)h
(commands.)35 b(These)24 b(three)g(features)f(\(operators,)g(lambda)h
(abstraction)f(and)g(application\))g(are)h(the)-128 1551
y(core)g(of)g(the)h(notation;)g(e)n(v)o(erything)d(else)j(can)f(be)g(b)
n(uilt)h(using)f(them,)g(though)f(the)h(results)h(w)o(ould)f(be)g(some)
n(what)f(clumsy)-5 b(.)37 b(F)o(or)24 b(e)o(xample,)g(we)-128
1651 y(could)c(simulate)g Ft(do)p FA(-notation)e(by)i(de\002ning)-128
1719 y
SDict begin H.S end
-128 1719 a -128 1719 a
SDict begin 12 H.A end
-128 1719 a -128 1719
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-502) cvn H.B /DEST pdfmark end
-128 1719 a 0.95 TeXcolorgray -153 1734 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1825 25 92 v Black 0.95 TeXcolorgray
-128 1825 4252 92 v Black 0.95 TeXcolorgray 4124 1825
25 92 v Black 0.95 TeXcolorgray Black -128 1798 a
SDict begin H.S end
-128
1798 a -128 1798 a
SDict begin 11 H.A end
-128 1798 a -128 1798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-502.1) cvn H.B /DEST pdfmark end
-128 1798
a 0 0 0 TeXcolorrgb Fo(bind)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(Arrow)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45
w(=>)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
45 w(e)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(\()p 0 0 0 TeXcolorrgb(e)p
Black(,)p 0 0 0 TeXcolorrgb(b)p Black(\))p 0 0 0 TeXcolorrgb
44 w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
0 0 0 TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb 45
w(c)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1917 25 92 v Black 0.95 TeXcolorgray -128 1917 4252
92 v Black 0.95 TeXcolorgray 4124 1917 25 92 v Black
0.95 TeXcolorgray Black -128 1889 a
SDict begin H.S end
-128 1889 a -128
1889 a
SDict begin 11 H.A end
-128 1889 a -128 1889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-502.2) cvn H.B /DEST pdfmark end
-128 1889 a 0 0 0 TeXcolorrgb
Fo(u)p Black 45 w(`)p 0 0 0 TeXcolorrgb(bind)p Black
-1 w(`)p 0 0 0 TeXcolorrgb 45 w(f)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(returnA)p Black 44 w(&&&)p 0 0 0 TeXcolorrgb
44 w(u)p Black 45 w(>>>)p 0 0 0 TeXcolorrgb 44 w(f)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2008 25 92 v Black 0.95 TeXcolorgray -128 2008 4252 92
v Black 0.95 TeXcolorgray 4124 2008 25 92 v Black 0.95
TeXcolorgray Black -128 1981 a
SDict begin H.S end
-128 1981 a -128 1981
a
SDict begin 11 H.A end
-128 1981 a -128 1981 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-502.3) cvn H.B /DEST pdfmark end
-128 1981 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2099 25 92 v Black 0.95
TeXcolorgray -128 2099 4252 92 v Black 0.95 TeXcolorgray
4124 2099 25 92 v Black 0.95 TeXcolorgray Black -128
2072 a
SDict begin H.S end
-128 2072 a -128 2072 a
SDict begin 11 H.A end
-128 2072 a -128 2072
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-502.4) cvn H.B /DEST pdfmark end
-128 2072 a 0 0 0 TeXcolorrgb Fo(bind_)p Black 44 w(::)p
0 0 0 TeXcolorrgb 45 w(Arrow)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb 44
w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(a)p Black
0 0 0 TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb 45
w(c)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black
0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb 44
w(c)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2191 25 92 v Black 0.95 TeXcolorgray -128 2191 4252
92 v Black 0.95 TeXcolorgray 4124 2191 25 92 v Black
0.95 TeXcolorgray Black -128 2163 a
SDict begin H.S end
-128 2163 a -128
2163 a
SDict begin 11 H.A end
-128 2163 a -128 2163 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-502.5) cvn H.B /DEST pdfmark end
-128 2163 a 0 0 0 TeXcolorrgb
Fo(u)p Black 45 w(`)p 0 0 0 TeXcolorrgb(bind_)p Black
-1 w(`)p 0 0 0 TeXcolorrgb 45 w(f)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(u)p Black 45 w(`)p 0 0 0 TeXcolorrgb(bind)p
Black -1 w(`)45 b(\()p 0 0 0 TeXcolorrgb -1 w(arr)p Black
0 0 0 TeXcolorrgb 45 w(fst)p Black 44 w(>>>)p 0 0 0 TeXcolorrgb
44 w(f)p Black(\))p 0.95 TeXcolorgray -153 2216 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 2390
a FA(W)-7 b(e)22 b(could)d(simulate)h Ft(if)h FA(by)e(de\002ning)-128
2458 y
SDict begin H.S end
-128 2458 a -128 2458 a
SDict begin 12 H.A end
-128 2458 a -128 2458
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-503) cvn H.B /DEST pdfmark end
-128 2458 a 0.95 TeXcolorgray -153 2473 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2564 25 92 v Black 0.95 TeXcolorgray
-128 2564 4252 92 v Black 0.95 TeXcolorgray 4124 2564
25 92 v Black 0.95 TeXcolorgray Black -128 2537 a
SDict begin H.S end
-128
2537 a -128 2537 a
SDict begin 11 H.A end
-128 2537 a -128 2537 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-503.1) cvn H.B /DEST pdfmark end
-128 2537
a 0 0 0 TeXcolorrgb Fo(cond)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(ArrowChoice)p Black 0 0 0 TeXcolorrgb 43 w(a)p Black
45 w(=>)p 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb
45 w(e)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb 44
w(e)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(\()p 0 0 0 TeXcolorrgb(e)p
Black(,)p 0 0 0 TeXcolorrgb -1 w(Bool)p Black(\))p 0 0 0
TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2656 25 92 v Black 0.95 TeXcolorgray
-128 2656 4252 92 v Black 0.95 TeXcolorgray 4124 2656
25 92 v Black 0.95 TeXcolorgray Black -128 2628 a
SDict begin H.S end
-128
2628 a -128 2628 a
SDict begin 11 H.A end
-128 2628 a -128 2628 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-503.2) cvn H.B /DEST pdfmark end
-128 2628
a 0 0 0 TeXcolorrgb Fo(cond)p Black 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(g)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(arr)p Black 44 w(\(\\)44 b(\()p
0 0 0 TeXcolorrgb(e)p Black(,)p 0 0 0 TeXcolorrgb(b)p
Black(\))g(->)p 0 0 0 TeXcolorrgb 45 w(if)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black 0 0 0 TeXcolorrgb 45 w(then)p
Black 0 0 0 TeXcolorrgb 44 w(Left)p Black 0 0 0 TeXcolorrgb
44 w(e)p Black 0 0 0 TeXcolorrgb 45 w(else)p Black 0 0 0
TeXcolorrgb 44 w(Right)p Black 0 0 0 TeXcolorrgb 44 w(e)p
Black(\))h(>>>)p 0 0 0 TeXcolorrgb 44 w(f)p Black 45
w(|||)p 0 0 0 TeXcolorrgb 44 w(g)p Black 0.95 TeXcolorgray
-153 2680 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2846 a
SDict begin H.S end
-128 2846 a -128 2846 a
SDict begin 12 H.A end
-128 2846 a
-128 2846 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.10.5) cvn H.B /DEST pdfmark end
-128 2846 a Black 142 x Fp(7.10.5)p Black
89 w(Diff)o(erences)24 b(with)g(the)g(paper)p Black -128
3191 a FA(\225)p Black 42 w(Instead)f(of)h(a)g(single)f(form)g(of)h
(arro)n(w)f(application)f(\(arro)n(w)g(tail\))i(with)g(tw)o(o)g
(translations,)g(the)g(implementation)d(pro)o(vides)h(tw)o(o)i(forms)f
(`)p Ft(-<)p FA(')-57 3290 y(\(\002rst-order\))18 b(and)i(`)p
Ft(-<<)p FA(')f(\(higher)n(-order\).)p Black -128 3456
a(\225)p Black 42 w(User)n(-de\002ned)g(operators)g(are)h(\003agged)f
(with)h(banana)f(brack)o(ets)h(instead)g(of)g(a)g(ne)n(w)g
Ft(form)g FA(k)o(e)o(yw)o(ord.)-128 3590 y
SDict begin H.S end
-128 3590
a -128 3590 a
SDict begin 12 H.A end
-128 3590 a -128 3590 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.10.6) cvn H.B /DEST pdfmark end
-128 3590 a Black
148 x Fp(7.10.6)p Black 89 w(P)l(or)r(tability)-128 3942
y FA(Although)i(only)g(GHC)i(implements)e(arro)n(w)h(notation)e
(directly)-5 b(,)23 b(there)g(is)h(also)f(a)h(preprocessor)d(\(a)n(v)n
(ailable)h(from)g(the)p 0 1 0 0 TeXcolorcmyk 3388 3959
a
SDict begin H.S end
3388 3959 a 0 1 0 0 TeXcolorcmyk -17 x FA(arro)n(ws)e(web)g(page)p
0 1 0 0 TeXcolorcmyk 3949 3885 a
SDict begin H.R end
3949 3885 a 3949 3942
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/arrows/) >> /Subtype /Link H.B /ANN pdfmark end
3949 3942 a Black FA(\))j(that)-128 4041 y(translates)28
b(arro)n(w)f(notation)g(into)g(Hask)o(ell)h(98)g(for)f(use)h(with)g
(other)f(Hask)o(ell)h(systems.)48 b(Y)-9 b(ou)27 b(w)o(ould)g(still)i
(w)o(ant)f(to)g(check)f(arro)n(w)g(programs)-128 4141
y(with)20 b(GHC;)h(tracing)d(type)i(errors)e(in)i(the)g(preprocessor)d
(output)i(is)h(not)f(easy)-5 b(.)25 b(Modules)19 b(intended)f(for)h
(both)f(GHC)j(and)e(the)h(preprocessor)d(must)-128 4240
y(observ)o(e)i(some)h(additional)f(restrictions:)p Black
-128 4456 a(\225)p Black 42 w(The)h(module)f(must)h(import)p
0 1 0 0 TeXcolorcmyk 787 4457 a
SDict begin H.S end
787 4457 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Control.Arro)n(w)p 0 1 0 0 TeXcolorcmyk 1276
4400 a
SDict begin H.R end
1276 4400 a 1276 4456 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Arrow.html) >> /Subtype /Link H.B /ANN pdfmark end
1276 4456 a Black FA(.)p
Black -128 4622 a(\225)p Black 42 w(The)g(preprocessor)e(cannot)h(cope)
g(with)i(other)e(Hask)o(ell)i(e)o(xtensions.)i(These)d(w)o(ould)g(ha)n
(v)o(e)f(to)i(go)f(in)g(separate)g(modules.)p Black -128
4788 a(\225)p Black 42 w(Because)g(the)h(preprocessor)d(tar)o(gets)h
(Hask)o(ell)i(\(rather)e(than)g(Core\),)h Ft(let)p FA(-bound)d(v)n
(ariables)j(are)g(monomorphic.)-128 4931 y
SDict begin H.S end
-128 4931
a -128 4931 a
SDict begin 12 H.A end
-128 4931 a -128 4931 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.11) cvn H.B /DEST pdfmark end
-128 4931 a Black
182 x Fs(7.11)p Black 107 w(Bang)29 b(patterns)-128 5240
y
SDict begin H.S end
-128 5240 a -128 5240 a
SDict begin 12 H.A end
-128 5240 a -128 5240 a
SDict begin [ /View [/XYZ H.V] /Dest (bang-patterns) cvn H.B /DEST pdfmark end
-128
5240 a 114 x FA(GHC)c(supports)d(an)i(e)o(xtension)e(of)h(pattern)f
(matching)g(called)i Fq(bang)e(patterns)p FA(,)i(written)f
Ft(!)p Fr(pat)p FA(.)35 b(Bang)23 b(patterns)g(are)g(under)f
(consideration)g(for)-128 5454 y(Hask)o(ell)f(Prime.)k(The)p
0 1 0 0 TeXcolorcmyk 541 5472 a
SDict begin H.S end
541 5472 a 0 1 0 0 TeXcolorcmyk
-18 x FA(Hask)o(ell)20 b(prime)g(feature)f(description)p
0 1 0 0 TeXcolorcmyk 1649 5397 a
SDict begin H.R end
1649 5397 a 1649 5454
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://hackage.haskell.org/trac/haskell-prime/wiki/BangPatterns) >> /Subtype /Link H.B /ANN pdfmark end
1649 5454 a Black 21 w FA(contains)g(more)g(discussion)h(and)g(e)o
(xamples)f(than)h(the)g(material)g(belo)n(w)-5 b(.)-128
5603 y(The)24 b(k)o(e)o(y)g(change)f(is)i(the)f(addition)f(of)h(a)h(ne)
n(w)f(rule)g(to)g(the)p 0 1 0 0 TeXcolorcmyk 1619 5621
a
SDict begin H.S end
1619 5621 a 0 1 0 0 TeXcolorcmyk -18 x FA(semantics)c(of)g(pattern)f
(matching)g(in)h(the)g(Hask)o(ell)h(98)f(report)p 0 1 0 0
TeXcolorcmyk 3421 5547 a
SDict begin H.R end
3421 5547 a 3421 5603 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://haskell.org/onlinereport/exps.html#sect3.17.2) >> /Subtype /Link H.B /ANN pdfmark end
3421
5603 a Black FA(.)38 b(Add)23 b(ne)n(w)h(b)n(ullet)h(10,)-128
5703 y(saying:)g(Matching)19 b(the)h(pattern)g Ft(!)p
Fr(pat)g FA(against)f(a)i(v)n(alue)e Fr(v)27 b FA(beha)n(v)o(es)19
b(as)i(follo)n(ws:)p Black -128 6084 4252 5 v Black eop
end
%%Page: 178 193
TeXDict begin 178 192 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.178) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(178)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(\225)p Black
42 w(if)g Fr(v)27 b FA(is)21 b(bottom,)e(the)h(match)g(di)n(v)o(er)o
(ges)p Black -128 339 a(\225)p Black 42 w(otherwise,)f
Fr(pat)i FA(is)g(matched)e(against)g Fr(v)-128 555 y
FA(Bang)h(patterns)g(are)g(enabled)f(by)h(the)g(\003ag)g
Ft(-XBangPatterns)p FA(.)-128 689 y
SDict begin H.S end
-128 689 a -128 689
a
SDict begin 12 H.A end
-128 689 a -128 689 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.11.1) cvn H.B /DEST pdfmark end
-128 689 a Black 148 x Fp(7.11.1)p
Black 89 w(Inf)n(ormal)k(description)f(of)i(bang)f(patterns)-128
926 y
SDict begin H.S end
-128 926 a -128 926 a
SDict begin 12 H.A end
-128 926 a -128 926 a
SDict begin [ /View [/XYZ H.V] /Dest (bang-patterns-informal) cvn H.B /DEST pdfmark end
-128
926 a 114 x FA(The)c(main)g(idea)g(is)h(to)g(add)e(a)i(single)f(ne)n(w)
g(production)d(to)k(the)f(syntax)g(of)f(patterns:)-128
1108 y
SDict begin H.S end
-128 1108 a -128 1108 a
SDict begin 12 H.A end
-128 1108 a -128 1108
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-504) cvn H.B /DEST pdfmark end
-128 1108 a 0.95 TeXcolorgray -153 1123 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1215 25 92 v Black 0.95 TeXcolorgray
-128 1215 4252 92 v Black 0.95 TeXcolorgray 4124 1215
25 92 v Black 0.95 TeXcolorgray Black -128 1187 a
SDict begin H.S end
-128
1187 a -128 1187 a
SDict begin 11 H.A end
-128 1187 a -128 1187 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-504.1) cvn H.B /DEST pdfmark end
-128 1187
a 0 0 0 TeXcolorrgb 90 w Fo(pat)p Black 44 w(::=)45 b(!)p
0 0 0 TeXcolorrgb(pat)p Black 0.95 TeXcolorgray -153
1240 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1414 a FA(Matching)21 b(an)i(e)o(xpression)d Ft(e)j
FA(against)f(a)g(pattern)g Ft(!p)g FA(is)h(done)e(by)h(\002rst)h(e)n(v)
n(aluating)e Ft(e)h FA(\(to)h(WHNF\))f(and)g(then)g(matching)f(the)h
(result)g(against)g Ft(p)p FA(.)-128 1514 y(Example:)-128
1581 y
SDict begin H.S end
-128 1581 a -128 1581 a
SDict begin 12 H.A end
-128 1581 a -128 1581
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-505) cvn H.B /DEST pdfmark end
-128 1581 a 0.95 TeXcolorgray -153 1597 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1688 25 92 v Black 0.95 TeXcolorgray
-128 1688 4252 92 v Black 0.95 TeXcolorgray 4124 1688
25 92 v Black 0.95 TeXcolorgray Black -128 1661 a
SDict begin H.S end
-128
1661 a -128 1661 a
SDict begin 11 H.A end
-128 1661 a -128 1661 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-505.1) cvn H.B /DEST pdfmark end
-128 1661
a 0 0 0 TeXcolorrgb Fo(f1)p Black 45 w(!)p 0 0 0 TeXcolorrgb(x)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(True)p Black 0.95
TeXcolorgray -153 1713 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1887 a FA(This)f(de\002nition)e(mak)o(es)h
Ft(f1)g FA(is)h(strict)g(in)g Ft(x)p FA(,)f(whereas)g(without)f(the)h
(bang)f(it)i(w)o(ould)f(be)g(lazy)-5 b(.)24 b(Bang)c(patterns)g(can)g
(be)g(nested)g(of)g(course:)-128 1955 y
SDict begin H.S end
-128 1955 a -128
1955 a
SDict begin 12 H.A end
-128 1955 a -128 1955 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-506) cvn H.B /DEST pdfmark end
-128 1955 a 0.95 TeXcolorgray
-153 1970 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2062 25 92
v Black 0.95 TeXcolorgray -128 2062 4252 92 v Black 0.95
TeXcolorgray 4124 2062 25 92 v Black 0.95 TeXcolorgray
Black -128 2034 a
SDict begin H.S end
-128 2034 a -128 2034 a
SDict begin 11 H.A end
-128 2034 a
-128 2034 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-506.1) cvn H.B /DEST pdfmark end
-128 2034 a 0 0 0 TeXcolorrgb Fo(f2)p Black
45 w(\(!)p 0 0 0 TeXcolorrgb(x)p Black -1 w(,)p 0 0 0
TeXcolorrgb 45 w(y)p Black(\))45 b(=)f([)p 0 0 0 TeXcolorrgb(x)p
Black(,)p 0 0 0 TeXcolorrgb(y)p Black(])p 0.95 TeXcolorgray
-153 2086 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2261 a FA(Here,)20 b Ft(f2)h FA(is)g(strict)g(in)f
Ft(x)g FA(b)n(ut)h(not)f(in)g Ft(y)p FA(.)25 b(A)c(bang)e(only)g
(really)h(has)h(an)f(ef)n(fect)f(if)i(it)g(precedes)e(a)i(v)n(ariable)e
(or)h(wild-card)e(pattern:)-128 2329 y
SDict begin H.S end
-128 2329 a -128
2329 a
SDict begin 12 H.A end
-128 2329 a -128 2329 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-507) cvn H.B /DEST pdfmark end
-128 2329 a 0.95 TeXcolorgray
-153 2344 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2435 25 92
v Black 0.95 TeXcolorgray -128 2435 4252 92 v Black 0.95
TeXcolorgray 4124 2435 25 92 v Black 0.95 TeXcolorgray
Black -128 2408 a
SDict begin H.S end
-128 2408 a -128 2408 a
SDict begin 11 H.A end
-128 2408 a
-128 2408 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-507.1) cvn H.B /DEST pdfmark end
-128 2408 a 0 0 0 TeXcolorrgb Fo(f3)p Black
45 w(!\()p 0 0 0 TeXcolorrgb(x)p Black -1 w(,)p 0 0 0
TeXcolorrgb(y)p Black(\))45 b(=)f([)p 0 0 0 TeXcolorrgb(x)p
Black(,)p 0 0 0 TeXcolorrgb(y)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2526 25 92 v Black 0.95
TeXcolorgray -128 2526 4252 92 v Black 0.95 TeXcolorgray
4124 2526 25 92 v Black 0.95 TeXcolorgray Black -128
2499 a
SDict begin H.S end
-128 2499 a -128 2499 a
SDict begin 11 H.A end
-128 2499 a -128 2499
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-507.2) cvn H.B /DEST pdfmark end
-128 2499 a 0 0 0 TeXcolorrgb Fo(f4)p Black 45 w(\()p
0 0 0 TeXcolorrgb(x)p Black(,)p 0 0 0 TeXcolorrgb -1
w(y)p Black(\))90 b(=)44 b([)p 0 0 0 TeXcolorrgb(x)p
Black(,)p 0 0 0 TeXcolorrgb(y)p Black(])p 0.95 TeXcolorgray
-153 2551 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2726 a FA(Here,)20 b Ft(f3)h FA(and)e Ft(f4)i
FA(are)f(identical;)g(putting)f(a)h(bang)f(before)g(a)i(pattern)e(that)
h(forces)g(e)n(v)n(aluation)e(an)o(yw)o(ay)h(does)h(nothing.)-128
2875 y(There)c(is)i(one)e(\(apparent\))f(e)o(xception)f(to)j(this)h
(general)d(rule)i(that)f(a)i(bang)d(only)h(mak)o(es)h(a)g(dif)n
(ference)e(when)h(it)h(precedes)f(a)h(v)n(ariable)f(or)g(wild-card:)
-128 2975 y(a)21 b(bang)e(at)i(the)f(top)g(le)n(v)o(el)g(of)g(a)g
Ft(let)h FA(or)e Ft(where)h FA(binding)f(mak)o(es)h(the)g(binding)e
(strict,)j(re)o(gardless)e(of)h(the)g(pattern.)k(F)o(or)c(e)o(xample:)
-128 3043 y
SDict begin H.S end
-128 3043 a -128 3043 a
SDict begin 12 H.A end
-128 3043 a -128
3043 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-508) cvn H.B /DEST pdfmark end
-128 3043 a 0.95 TeXcolorgray -153 3058 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3149 25 92 v Black 0.95 TeXcolorgray
-128 3149 4252 92 v Black 0.95 TeXcolorgray 4124 3149
25 92 v Black 0.95 TeXcolorgray Black -128 3122 a
SDict begin H.S end
-128
3122 a -128 3122 a
SDict begin 11 H.A end
-128 3122 a -128 3122 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-508.1) cvn H.B /DEST pdfmark end
-128 3122
a 0 0 0 TeXcolorrgb Fo(let)p Black 45 w(![)p 0 0 0 TeXcolorrgb
-1 w(x)p Black(,)p 0 0 0 TeXcolorrgb(y)p Black(])45 b(=)p
0 0 0 TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb 45
w(in)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray
-153 3174 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3348 a FA(is)23 b(a)e(strict)h(binding:)j(operationally)-5
b(,)19 b(it)j(e)n(v)n(aluates)e Ft(e)p FA(,)i(matches)f(it)h(against)e
(the)h(pattern)g Ft([x,y])p FA(,)f(and)h(then)g(e)n(v)n(aluates)f
Ft(b)p FA(.)28 b(\(W)-7 b(e)22 b(say)g("apparent")-128
3448 y(e)o(xception)g(because)g(the)h(Right)g(W)-7 b(ay)24
b(to)f(think)f(of)h(it)h(is)g(that)f(the)g(bang)f(at)i(the)f(top)g(of)f
(a)i(binding)d(is)j(not)f(part)g(of)f(the)h Fq(pattern)p
FA(;)h(rather)f(it)g(is)h(part)-128 3548 y(of)e(the)f(syntax)g(of)g
(the)h Fq(binding)p FA(.\))27 b(Nested)21 b(bangs)g(in)h(a)g(pattern)e
(binding)g(beha)n(v)o(e)h(uniformly)e(with)i(all)h(other)f(forms)g(of)g
(pattern)g(matching.)27 b(F)o(or)-128 3647 y(e)o(xample)-128
3715 y
SDict begin H.S end
-128 3715 a -128 3715 a
SDict begin 12 H.A end
-128 3715 a -128 3715
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-509) cvn H.B /DEST pdfmark end
-128 3715 a 0.95 TeXcolorgray -153 3730 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3822 25 92 v Black 0.95 TeXcolorgray
-128 3822 4252 92 v Black 0.95 TeXcolorgray 4124 3822
25 92 v Black 0.95 TeXcolorgray Black -128 3794 a
SDict begin H.S end
-128
3794 a -128 3794 a
SDict begin 11 H.A end
-128 3794 a -128 3794 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-509.1) cvn H.B /DEST pdfmark end
-128 3794
a 0 0 0 TeXcolorrgb Fo(let)p Black 45 w(\(!)p 0 0 0 TeXcolorrgb
-1 w(x)p Black(,[)p 0 0 0 TeXcolorrgb(y)p Black(]\))44
b(=)p 0 0 0 TeXcolorrgb 45 w(e)p Black 0 0 0 TeXcolorrgb
45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 0.95
TeXcolorgray -153 3846 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4021 a FA(is)22 b(equi)n(v)n(alent)c(to)i(this:)
-128 4089 y
SDict begin H.S end
-128 4089 a -128 4089 a
SDict begin 12 H.A end
-128 4089 a -128
4089 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-510) cvn H.B /DEST pdfmark end
-128 4089 a 0.95 TeXcolorgray -153 4104 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4195 25 92 v Black 0.95 TeXcolorgray
-128 4195 4252 92 v Black 0.95 TeXcolorgray 4124 4195
25 92 v Black 0.95 TeXcolorgray Black -128 4168 a
SDict begin H.S end
-128
4168 a -128 4168 a
SDict begin 11 H.A end
-128 4168 a -128 4168 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-510.1) cvn H.B /DEST pdfmark end
-128 4168
a 0 0 0 TeXcolorrgb Fo(let)p Black 45 w({)p 0 0 0 TeXcolorrgb
44 w(t)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(case)p
Black 0 0 0 TeXcolorrgb 44 w(e)p Black 0 0 0 TeXcolorrgb
45 w(of)p Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p Black(,[)p
0 0 0 TeXcolorrgb -1 w(y)p Black(]\))45 b(->)p 0 0 0
TeXcolorrgb 44 w(x)p Black 45 w(`)p 0 0 0 TeXcolorrgb(seq)p
Black -1 w(`)g(\()p 0 0 0 TeXcolorrgb(x)p Black(,)p 0 0 0
TeXcolorrgb -1 w(y)p Black(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4286 25 92 v Black 0.95 TeXcolorgray
-128 4286 4252 92 v Black 0.95 TeXcolorgray 4124 4286
25 92 v Black 0.95 TeXcolorgray Black -128 4259 a
SDict begin H.S end
-128
4259 a -128 4259 a
SDict begin 11 H.A end
-128 4259 a -128 4259 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-510.2) cvn H.B /DEST pdfmark end
-128 4259
a 0 0 0 TeXcolorrgb 269 w Fo(x)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(fst)p Black 0 0 0 TeXcolorrgb 44 w(t)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4378 25 92 v Black 0.95 TeXcolorgray -128 4378 4252 92
v Black 0.95 TeXcolorgray 4124 4378 25 92 v Black 0.95
TeXcolorgray Black -128 4350 a
SDict begin H.S end
-128 4350 a -128 4350
a
SDict begin 11 H.A end
-128 4350 a -128 4350 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-510.3) cvn H.B /DEST pdfmark end
-128 4350 a 0 0 0 TeXcolorrgb
269 w Fo(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(snd)p
Black 0 0 0 TeXcolorrgb 44 w(t)p Black 45 w(})p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4469 25 92
v Black 0.95 TeXcolorgray -128 4469 4252 92 v Black 0.95
TeXcolorgray 4124 4469 25 92 v Black 0.95 TeXcolorgray
Black -128 4442 a
SDict begin H.S end
-128 4442 a -128 4442 a
SDict begin 11 H.A end
-128 4442 a
-128 4442 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-510.4) cvn H.B /DEST pdfmark end
-128 4442 a 0 0 0 TeXcolorrgb Fo(in)p Black
0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray -153
4494 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 4668 a FA(The)20 b(binding)f(is)i(lazy)-5 b(,)19
b(b)n(ut)i(when)e(either)h Ft(x)g FA(or)g Ft(y)h FA(is)g(e)n(v)n
(aluated)e(by)h Ft(b)g FA(the)g(entire)g(pattern)f(is)j(matched,)c
(including)h(forcing)f(the)j(e)n(v)n(aluation)d(of)i
Ft(x)p FA(.)-128 4818 y(Bang)g(patterns)g(w)o(ork)g(in)g
Ft(case)g FA(e)o(xpressions)f(too,)g(of)h(course:)-128
4886 y
SDict begin H.S end
-128 4886 a -128 4886 a
SDict begin 12 H.A end
-128 4886 a -128 4886
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-511) cvn H.B /DEST pdfmark end
-128 4886 a 0.95 TeXcolorgray -153 4901 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4992 25 92 v Black 0.95 TeXcolorgray
-128 4992 4252 92 v Black 0.95 TeXcolorgray 4124 4992
25 92 v Black 0.95 TeXcolorgray Black -128 4965 a
SDict begin H.S end
-128
4965 a -128 4965 a
SDict begin 11 H.A end
-128 4965 a -128 4965 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-511.1) cvn H.B /DEST pdfmark end
-128 4965
a 0 0 0 TeXcolorrgb Fo(g5)p Black 0 0 0 TeXcolorrgb 45
w(x)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(let)p Black
0 0 0 TeXcolorrgb 45 w(y)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0
TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(body)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5084 25 92 v Black 0.95 TeXcolorgray -128 5084 4252 92
v Black 0.95 TeXcolorgray 4124 5084 25 92 v Black 0.95
TeXcolorgray Black -128 5056 a
SDict begin H.S end
-128 5056 a -128 5056
a
SDict begin 11 H.A end
-128 5056 a -128 5056 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-511.2) cvn H.B /DEST pdfmark end
-128 5056 a 0 0 0 TeXcolorrgb
Fo(g6)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(case)p Black 0 0 0 TeXcolorrgb
44 w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0
TeXcolorrgb 45 w(of)p Black 44 w({)p 0 0 0 TeXcolorrgb
45 w(y)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(body)p
Black 44 w(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5175 25 92 v Black 0.95 TeXcolorgray -128 5175 4252
92 v Black 0.95 TeXcolorgray 4124 5175 25 92 v Black
0.95 TeXcolorgray Black -128 5147 a
SDict begin H.S end
-128 5147 a -128
5147 a
SDict begin 11 H.A end
-128 5147 a -128 5147 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-511.3) cvn H.B /DEST pdfmark end
-128 5147 a 0 0 0 TeXcolorrgb
Fo(g7)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 44 w(case)p Black 0 0 0 TeXcolorrgb
44 w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0 0 0
TeXcolorrgb 45 w(of)p Black 44 w({)45 b(!)p 0 0 0 TeXcolorrgb(y)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(body)p Black 44
w(})p 0.95 TeXcolorgray -153 5200 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 5374 a FA(The)19
b(functions)e Ft(g5)i FA(and)f Ft(g6)h FA(mean)f(e)o(xactly)g(the)g
(same)h(thing.)24 b(But)19 b Ft(g7)g FA(e)n(v)n(aluates)f
Ft(\(f)50 b(x\))p FA(,)18 b(binds)h Ft(y)g FA(to)g(the)f(result,)h(and)
f(then)g(e)n(v)n(aluates)g Ft(body)p FA(.)p Black -128
6084 4252 5 v Black eop end
%%Page: 179 194
TeXDict begin 179 193 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.179) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(179)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.11.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.11.2)p
Black 89 w(Syntax)k(and)h(semantics)-128 262 y
SDict begin H.S end
-128 262
a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (bang-patterns-sem) cvn H.B /DEST pdfmark end
-128 262 a 112 x FA(W)-7
b(e)22 b(add)d(a)i(single)f(ne)n(w)g(production)e(to)i(the)g(syntax)g
(of)g(patterns:)-128 439 y
SDict begin H.S end
-128 439 a -128 439 a
SDict begin 12 H.A end
-128
439 a -128 439 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-512) cvn H.B /DEST pdfmark end
-128 439 a 0.95 TeXcolorgray -153 454
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 545 25 92 v Black 0.95 TeXcolorgray
-128 545 4252 92 v Black 0.95 TeXcolorgray 4124 545 25
92 v Black 0.95 TeXcolorgray Black -128 518 a
SDict begin H.S end
-128 518
a -128 518 a
SDict begin 11 H.A end
-128 518 a -128 518 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-512.1) cvn H.B /DEST pdfmark end
-128 518 a 0 0 0 TeXcolorrgb
90 w Fo(pat)p Black 44 w(::=)45 b(!)p 0 0 0 TeXcolorrgb(pat)p
Black 0.95 TeXcolorgray -153 570 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 739 a FA(There)20
b(is)h(one)f(problem)e(with)i(syntactic)g(ambiguity)-5
b(.)23 b(Consider:)-128 805 y
SDict begin H.S end
-128 805 a -128 805 a
SDict begin 12 H.A end
-128
805 a -128 805 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-513) cvn H.B /DEST pdfmark end
-128 805 a 0.95 TeXcolorgray -153 820
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 911 25 92 v Black 0.95 TeXcolorgray
-128 911 4252 92 v Black 0.95 TeXcolorgray 4124 911 25
92 v Black 0.95 TeXcolorgray Black -128 884 a
SDict begin H.S end
-128 884
a -128 884 a
SDict begin 11 H.A end
-128 884 a -128 884 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-513.1) cvn H.B /DEST pdfmark end
-128 884 a 0 0 0 TeXcolorrgb
Fo(f)p Black 45 w(!)p 0 0 0 TeXcolorrgb(x)p Black 45
w(=)44 b(3)p 0.95 TeXcolorgray -153 936 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1105 a FA(Is)23
b(this)g(a)g(de\002nition)e(of)h(the)g(in\002x)g(function)f(")p
Ft(\(!\))p FA(",)h(or)g(of)g(the)h(")p Ft(f)p FA(")f(with)g(a)h(bang)e
(pattern?)31 b(GHC)23 b(resolv)o(es)f(this)h(ambiguity)d(in)j(f)o(a)n
(v)n(our)e(of)h(the)-128 1205 y(latter)-5 b(.)26 b(If)20
b(you)f(w)o(ant)i(to)f(de\002ne)g Ft(\(!\))25 b FA(with)20
b(bang-patterns)e(enabled,)h(you)g(ha)n(v)o(e)g(to)i(do)f(so)g(using)g
(pre\002x)f(notation:)-128 1270 y
SDict begin H.S end
-128 1270 a -128 1270
a
SDict begin 12 H.A end
-128 1270 a -128 1270 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-514) cvn H.B /DEST pdfmark end
-128 1270 a 0.95 TeXcolorgray
-153 1285 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1377 25 92
v Black 0.95 TeXcolorgray -128 1377 4252 92 v Black 0.95
TeXcolorgray 4124 1377 25 92 v Black 0.95 TeXcolorgray
Black -128 1349 a
SDict begin H.S end
-128 1349 a -128 1349 a
SDict begin 11 H.A end
-128 1349 a
-128 1349 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-514.1) cvn H.B /DEST pdfmark end
-128 1349 a Fo(\(!\))p 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45 w(=)45
b(3)p 0.95 TeXcolorgray -153 1402 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 1571 a FA(The)27
b(semantics)g(of)g(Hask)o(ell)g(pattern)f(matching)f(is)j(described)e
(in)p 0 1 0 0 TeXcolorcmyk 1876 1572 a
SDict begin H.S end
1876 1572 a 0 1 0 0
TeXcolorcmyk 1897 1571 a FA(Section)20 b(3.17.2)p 0 1 0 0
TeXcolorcmyk 2374 1514 a
SDict begin H.R end
2374 1514 a 2374 1571 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/exps.html#sect3.17.2) >> /Subtype /Link H.B /ANN pdfmark end
2374
1571 a Black 28 w FA(of)26 b(the)h(Hask)o(ell)g(Report.)45
b(T)-7 b(o)27 b(this)h(description)d(add)i(one)-128 1670
y(e)o(xtra)20 b(item)g(10,)g(saying:)p Black -128 1878
a(\225)p Black 42 w(Matching)f(the)h(pattern)f Ft(!pat)i
FA(against)e(a)i(v)n(alue)e Ft(v)i FA(beha)n(v)o(es)e(as)i(follo)n(ws:)
p Black -57 2042 a Fu(\226)p Black 41 w FA(if)g Ft(v)f
FA(is)h(bottom,)e(the)h(match)g(di)n(v)o(er)o(ges)p Black
-57 2172 a Fu(\226)p Black 41 w FA(otherwise,)f Ft(pat)i
FA(is)g(matched)e(against)g Ft(v)-128 2380 y FA(Similarly)-5
b(,)20 b(in)g(Figure)g(4)g(of)p 0 1 0 0 TeXcolorcmyk
693 2381 a
SDict begin H.S end
693 2381 a 0 1 0 0 TeXcolorcmyk 713 2380 a
FA(Section)g(3.17.3)p 0 1 0 0 TeXcolorcmyk 1191 2324
a
SDict begin H.R end
1191 2324 a 1191 2380 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/exps.html#sect3.17.3) >> /Subtype /Link H.B /ANN pdfmark end
1191 2380 a Black FA(,)g(add)g(a)h(ne)n(w)f
(case)g(\(t\):)-128 2445 y
SDict begin H.S end
-128 2445 a -128 2445 a
SDict begin 12 H.A end
-128
2445 a -128 2445 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-515) cvn H.B /DEST pdfmark end
-128 2445 a 0.95 TeXcolorgray -153
2461 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2552 25 92 v Black 0.95
TeXcolorgray -128 2552 4252 92 v Black 0.95 TeXcolorgray
4124 2552 25 92 v Black 0.95 TeXcolorgray Black -128
2525 a
SDict begin H.S end
-128 2525 a -128 2525 a
SDict begin 11 H.A end
-128 2525 a -128 2525
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-515.1) cvn H.B /DEST pdfmark end
-128 2525 a 0 0 0 TeXcolorrgb Fo(case)p Black 0 0 0
TeXcolorrgb 45 w(v)p Black 0 0 0 TeXcolorrgb 44 w(of)p
Black 45 w({)44 b(!)p 0 0 0 TeXcolorrgb(pat)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(e)p Black(;)p 0 0 0 TeXcolorrgb
45 w(_)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(e)p Black(')g(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2643 25
92 v Black 0.95 TeXcolorgray -128 2643 4252 92 v Black
0.95 TeXcolorgray 4124 2643 25 92 v Black 0.95 TeXcolorgray
Black -128 2616 a
SDict begin H.S end
-128 2616 a -128 2616 a
SDict begin 11 H.A end
-128 2616 a
-128 2616 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-515.2) cvn H.B /DEST pdfmark end
-128 2616 a 135 w Fo(=)p 0 0 0 TeXcolorrgb
45 w(v)p Black 44 w(`)p 0 0 0 TeXcolorrgb(seq)p Black(`)p
0 0 0 TeXcolorrgb 44 w(case)p Black 0 0 0 TeXcolorrgb
44 w(v)p Black 0 0 0 TeXcolorrgb 45 w(of)p Black 45 w({)p
0 0 0 TeXcolorrgb 44 w(pat)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(e)p Black(;)p 0 0 0 TeXcolorrgb 45 w(_)p Black 44
w(->)p 0 0 0 TeXcolorrgb 45 w(e)p Black(')g(})p 0.95
TeXcolorgray -153 2668 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2837 a FA(That)24 b(lea)n(v)o(es)g(let)g(e)o
(xpressions,)f(whose)h(translation)f(is)h(gi)n(v)o(en)f(in)p
0 1 0 0 TeXcolorcmyk 1803 2838 a
SDict begin H.S end
1803 2838 a 0 1 0 0
TeXcolorcmyk -1 x FA(Section)d(3.12)p 0 1 0 0 TeXcolorcmyk
2218 2781 a
SDict begin H.R end
2218 2781 a 2218 2837 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/exps.html#sect3.12) >> /Subtype /Link H.B /ANN pdfmark end
2218 2837 a Black
24 w FA(of)k(the)f(Hask)o(ell)i(Report.)35 b(In)23 b(the)h(translation)
f(box,)g(\002rst)i(apply)-128 2937 y(the)h(follo)n(wing)f
(transformation:)34 b(for)25 b(each)h(pattern)f Ft(pi)h
FA(that)g(is)h(of)f(form)f Ft(!qi)49 b(=)h(ei)p FA(,)27
b(transform)d(it)j(to)f Ft(\(xi,!qi\))48 b(=)i(\(\(\),ei\))p
FA(,)27 b(and)-128 3037 y(and)21 b(replace)f Ft(e0)i
FA(by)e Ft(\(xi)50 b(`seq`)e(e0\))p FA(.)28 b(Then,)20
b(when)h(none)f(of)h(the)g(left-hand-side)e(patterns)h(ha)n(v)o(e)h(a)g
(bang)f(at)i(the)f(top,)g(apply)f(the)h(rules)g(in)-128
3136 y(the)g(e)o(xisting)e(box.)-128 3283 y(The)25 b(ef)n(fect)g(of)g
(the)g(let)h(rule)f(is)h(to)g(force)e(complete)g(matching)g(of)h(the)g
(pattern)g Ft(qi)g FA(before)f(e)n(v)n(aluation)f(of)i(the)h(body)d(is)
k(be)o(gun.)38 b(The)25 b(bang)f(is)-128 3383 y(retained)c(in)g(the)g
(translated)g(form)f(in)h(case)h Ft(qi)f FA(is)h(a)g(v)n(ariable,)e
(thus:)-128 3443 y
SDict begin H.S end
-128 3443 a -128 3443 a
SDict begin 12 H.A end
-128 3443
a -128 3443 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-516) cvn H.B /DEST pdfmark end
-128 3443 a 0.95 TeXcolorgray -153 3463
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3555 25 92 v Black 0.95
TeXcolorgray -128 3555 4252 92 v Black 0.95 TeXcolorgray
4124 3555 25 92 v Black 0.95 TeXcolorgray Black -128
3527 a
SDict begin H.S end
-128 3527 a -128 3527 a
SDict begin 11 H.A end
-128 3527 a -128 3527
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-516.1) cvn H.B /DEST pdfmark end
-128 3527 a 0 0 0 TeXcolorrgb 90 w Fo(let)p Black 44
w(!)p 0 0 0 TeXcolorrgb(y)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0
TeXcolorrgb 45 w(in)p Black 0 0 0 TeXcolorrgb 44 w(b)p
Black 0.95 TeXcolorgray -153 3579 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 3749 a FA(The)k(let-binding)e(can)j
(be)f(recursi)n(v)o(e.)32 b(Ho)n(we)n(v)o(er)m(,)22 b(it)i(is)g(much)e
(more)h(common)e(for)i(the)g(let-binding)e(to)j(be)f(non-recursi)n(v)o
(e,)d(in)k(which)e(case)i(the)-128 3848 y(follo)n(wing)19
b(la)o(w)h(holds:)25 b Ft(\(let)49 b(!p)h(=)f(rhs)g(in)h(body\))20
b FA(is)h(equi)n(v)n(alent)d(to)j Ft(\(case)49 b(rhs)g(of)g(!p)h(->)f
(body\))-128 3995 y FA(A)21 b(pattern)e(with)i(a)f(bang)g(at)g(the)g
(outermost)f(le)n(v)o(el)h(is)h(not)f(allo)n(wed)g(at)g(the)h(top)e(le)
n(v)o(el)h(of)g(a)h(module.)-128 4137 y
SDict begin H.S end
-128 4137 a -128
4137 a
SDict begin 12 H.A end
-128 4137 a -128 4137 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.12) cvn H.B /DEST pdfmark end
-128 4137 a Black 179
x Fs(7.12)p Black 107 w(Asser)r(tions)-128 4443 y
SDict begin H.S end
-128
4443 a -128 4443 a
SDict begin 12 H.A end
-128 4443 a -128 4443 a
SDict begin [ /View [/XYZ H.V] /Dest (assertions) cvn H.B /DEST pdfmark end
-128 4443
a 112 x FA(If)f(you)g(w)o(ant)g(to)g(mak)o(e)g(use)h(of)f(assertions)g
(in)g(your)f(standard)g(Hask)o(ell)i(code,)e(you)g(could)g(de\002ne)h
(a)h(function)d(lik)o(e)j(the)f(follo)n(wing:)-128 4620
y
SDict begin H.S end
-128 4620 a -128 4620 a
SDict begin 12 H.A end
-128 4620 a -128 4620 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-517) cvn H.B /DEST pdfmark end
-128
4620 a 0.95 TeXcolorgray -153 4635 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4726 25 92 v Black 0.95 TeXcolorgray -128 4726 4252
92 v Black 0.95 TeXcolorgray 4124 4726 25 92 v Black
0.95 TeXcolorgray Black -128 4699 a
SDict begin H.S end
-128 4699 a -128
4699 a
SDict begin 11 H.A end
-128 4699 a -128 4699 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-517.1) cvn H.B /DEST pdfmark end
-128 4699 a 0 0 0 TeXcolorrgb
Fo(assert)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Bool)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 45 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4818 25 92 v Black 0.95 TeXcolorgray
-128 4818 4252 92 v Black 0.95 TeXcolorgray 4124 4818
25 92 v Black 0.95 TeXcolorgray Black -128 4790 a
SDict begin H.S end
-128
4790 a -128 4790 a
SDict begin 11 H.A end
-128 4790 a -128 4790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-517.2) cvn H.B /DEST pdfmark end
-128 4790
a 0 0 0 TeXcolorrgb Fo(assert)p Black 0 0 0 TeXcolorrgb
44 w(False)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 45
w(=)p 0 0 0 TeXcolorrgb 45 w(error)p Black 44 w(")p 0 0 0
TeXcolorrgb -1 w(assertion)p Black 0 0 0 TeXcolorrgb
44 w(failed)p Black -1 w(!")p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4909 25 92 v Black 0.95 TeXcolorgray
-128 4909 4252 92 v Black 0.95 TeXcolorgray 4124 4909
25 92 v Black 0.95 TeXcolorgray Black -128 4882 a
SDict begin H.S end
-128
4882 a -128 4882 a
SDict begin 11 H.A end
-128 4882 a -128 4882 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-517.3) cvn H.B /DEST pdfmark end
-128 4882
a 0 0 0 TeXcolorrgb Fo(assert)p Black 0 0 0 TeXcolorrgb
44 w(_)p Black 0 0 0 TeXcolorrgb 224 w(x)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(x)p Black 0.95 TeXcolorgray -153
4934 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 5103 a FA(which)g(w)o(orks,)g(b)n(ut)g(gi)n(v)o(es)g(you)f(back)g
(a)i(less)g(than)f(useful)g(error)f(message)h(--)g(an)g(assertion)g(f)o
(ailed,)g(b)n(ut)g(which)f(and)h(where?)-128 5250 y(One)h(w)o(ay)f(out)
h(is)g(to)g(de\002ne)f(an)g(e)o(xtended)f Ft(assert)h
FA(function)e(which)i(also)h(tak)o(es)g(a)g(descripti)n(v)o(e)e(string)
h(to)h(include)f(in)g(the)h(error)e(message)i(and)-128
5350 y(perhaps)e(combine)g(this)i(with)f(the)g(use)h(of)f(a)g
(pre-processor)e(which)i(inserts)g(the)g(source)g(location)f(where)h
Ft(assert)f FA(w)o(as)i(used.)-128 5496 y(Ghc)g(of)n(fers)e(a)h
(helping)f(hand)g(here,)h(doing)f(all)h(of)g(this)h(for)f(you.)k(F)o
(or)19 b(e)n(v)o(ery)g(use)i(of)f Ft(assert)f FA(in)i(the)f(user')-5
b(s)20 b(source:)-128 5562 y
SDict begin H.S end
-128 5562 a -128 5562 a
SDict begin 12 H.A end
-128 5562 a -128 5562 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-518) cvn H.B /DEST pdfmark end
-128 5562 a 0.95 TeXcolorgray
-153 5577 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5668 25 92
v Black 0.95 TeXcolorgray -128 5668 4252 92 v Black 0.95
TeXcolorgray 4124 5668 25 92 v Black 0.95 TeXcolorgray
Black -128 5641 a
SDict begin H.S end
-128 5641 a -128 5641 a
SDict begin 11 H.A end
-128 5641 a
-128 5641 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-518.1) cvn H.B /DEST pdfmark end
-128 5641 a 0 0 0 TeXcolorrgb Fo(kelvinToC)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(Double)p Black
44 w(->)p 0 0 0 TeXcolorrgb 45 w(Double)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5759 25 92
v Black 0.95 TeXcolorgray -128 5759 4252 92 v Black 0.95
TeXcolorgray 4124 5759 25 92 v Black 0.95 TeXcolorgray
Black -128 5732 a
SDict begin H.S end
-128 5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a
-128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-518.2) cvn H.B /DEST pdfmark end
-128 5732 a 0 0 0 TeXcolorrgb Fo(kelvinToC)p
Black 0 0 0 TeXcolorrgb 44 w(k)p Black 44 w(=)p 0 0 0
TeXcolorrgb 45 w(assert)p Black 44 w(\()p 0 0 0 TeXcolorrgb(k)p
Black 44 w(>=)45 b(0.0\))f(\()p 0 0 0 TeXcolorrgb(k)p
Black(+273.15\))p 0.95 TeXcolorgray -153 5784 4302 25
v Black 0.95 TeXcolorgray Black Black Black -128 6084
4252 5 v Black eop end
%%Page: 180 195
TeXDict begin 180 194 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.180) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(180)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Ghc)h(will)f(re)n(write)g
(this)h(to)f(also)h(include)e(the)h(source)g(location)f(where)g(the)i
(assertion)f(w)o(as)h(made,)-128 235 y
SDict begin H.S end
-128 235 a -128
235 a
SDict begin 12 H.A end
-128 235 a -128 235 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-519) cvn H.B /DEST pdfmark end
-128 235 a 0.95 TeXcolorgray
-153 256 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 348 25 92 v
Black 0.95 TeXcolorgray -128 348 4252 92 v Black 0.95
TeXcolorgray 4124 348 25 92 v Black 0.95 TeXcolorgray
Black -128 320 a
SDict begin H.S end
-128 320 a -128 320 a
SDict begin 11 H.A end
-128 320 a -128
320 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-519.1) cvn H.B /DEST pdfmark end
-128 320 a 0 0 0 TeXcolorrgb Fo(assert)p Black
0 0 0 TeXcolorrgb 44 w(pred)p Black 0 0 0 TeXcolorrgb
44 w(val)p Black 45 w(==>)p 0 0 0 TeXcolorrgb 44 w(assertError)p
Black 43 w(")p 0 0 0 TeXcolorrgb(Main)p Black -1 w(.)p
0 0 0 TeXcolorrgb(hs)p Black(|15")p 0 0 0 TeXcolorrgb
44 w(pred)p Black 0 0 0 TeXcolorrgb 44 w(val)p Black
0.95 TeXcolorgray -153 372 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 547 a FA(The)f(re)n(write)f(is)h(only)f
(performed)d(by)j(the)h(compiler)e(when)h(it)h(spots)f(applications)g
(of)g Ft(Control.Exception.assert)p FA(,)c(so)20 b(you)f(can)g(still)
-128 646 y(de\002ne)f(and)f(use)i(your)d(o)n(wn)i(v)o(ersions)f(of)h
Ft(assert)p FA(,)f(should)g(you)g(so)i(wish.)24 b(If)18
b(not,)g(import)f Ft(Control.Exception)f FA(to)i(mak)o(e)f(use)i
Ft(assert)-128 746 y FA(in)i(your)e(code.)-128 895 y(GHC)26
b(ignores)e(assertions)h(when)f(optimisation)f(is)j(turned)d(on)i(with)
g(the)g Ft(-O)f FA(\003ag.)39 b(That)25 b(is,)h(e)o(xpressions)e(of)g
(the)h(form)f Ft(assert)49 b(pred)g(e)-128 995 y FA(will)21
b(be)g(re)n(written)e(to)h Ft(e)p FA(.)26 b(Y)-9 b(ou)19
b(can)h(also)h(disable)f(assertions)g(using)f(the)i Ft
(-fignore-asserts)c FA(option.)-128 1145 y(Assertion)j(f)o(ailures)g
(can)g(be)g(caught,)f(see)i(the)f(documentation)d(for)j(the)g
Ft(Control.Exception)e FA(library)h(for)g(the)i(details.)-128
1288 y
SDict begin H.S end
-128 1288 a -128 1288 a
SDict begin 12 H.A end
-128 1288 a -128 1288
a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.13) cvn H.B /DEST pdfmark end
-128 1288 a Black 181 x Fs(7.13)p Black 107 w(Pra)o(gmas)-128
1596 y
SDict begin H.S end
-128 1596 a -128 1596 a
SDict begin 12 H.A end
-128 1596 a -128 1596
a
SDict begin [ /View [/XYZ H.V] /Dest (pragmas) cvn H.B /DEST pdfmark end
-128 1596 a 114 x FA(GHC)28 b(supports)e(se)n(v)o(eral)h(pragmas,)g
(or)g(instructions)f(to)i(the)f(compiler)f(placed)g(in)h(the)g(source)g
(code.)45 b(Pragmas)26 b(don')o(t)g(normally)f(af)n(fect)i(the)-128
1810 y(meaning)19 b(of)h(the)g(program,)e(b)n(ut)i(the)o(y)g(might)f
(af)n(fect)h(the)g(ef)n(\002cienc)o(y)f(of)h(the)g(generated)e(code.)
-128 1959 y(Pragmas)29 b(all)g(tak)o(e)g(the)g(form)e
Ft({-#)50 b Fr(word)i Ft(...)99 b(#-})29 b FA(where)f
Fr(word)k FA(indicates)c(the)h(type)f(of)h(pragma,)g(and)f(is)i(follo)n
(wed)d(optionally)g(by)-128 2059 y(information)c(speci\002c)i(to)g
(that)g(type)g(of)f(pragma.)38 b(Case)26 b(is)g(ignored)d(in)i
Fr(word)s FA(.)39 b(The)25 b(v)n(arious)f(v)n(alues)g(for)g
Fr(word)k FA(that)d(GHC)h(understands)d(are)-128 2159
y(described)f(in)h(the)g(follo)n(wing)f(sections;)i(an)o(y)f(pragma)e
(encountered)g(with)i(an)g(unrecognised)d Fr(word)26
b FA(is)e(ignored.)31 b(The)23 b(layout)f(rule)h(applies)g(in)-128
2258 y(pragmas,)c(so)i(the)f(closing)g Ft(#-})g FA(should)f(start)i(in)
f(a)h(column)d(to)j(the)f(right)g(of)g(the)g(opening)e
Ft({-#)p FA(.)-128 2408 y(Certain)k(pragmas)e(are)i Fq(\002le-header)e
(pr)o(a)o(gmas)p FA(.)28 b(A)22 b(\002le-header)e(pragma)g(must)h
(precede)g(the)g Ft(module)g FA(k)o(e)o(yw)o(ord)f(in)i(the)f(\002le.)
30 b(There)20 b(can)i(be)f(as)-128 2507 y(man)o(y)e(\002le-header)g
(pragmas)g(as)i(you)e(please,)h(and)g(the)o(y)g(can)f(be)i(preceded)d
(or)i(follo)n(wed)f(by)h(comments.)-128 2641 y
SDict begin H.S end
-128 2641
a -128 2641 a
SDict begin 12 H.A end
-128 2641 a -128 2641 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.1) cvn H.B /DEST pdfmark end
-128 2641 a Black
149 x Fp(7.13.1)p Black 89 w(LANGU)l(A)l(GE)i(pra)o(gma)-128
2878 y
SDict begin H.S end
-128 2878 a -128 2878 a
SDict begin 12 H.A end
-128 2878 a -128 2878
a
SDict begin [ /View [/XYZ H.V] /Dest (language-pragma) cvn H.B /DEST pdfmark end
-128 2878 a 115 x FA(The)d Ft(LANGUAGE)f FA(pragma)f(allo)n(ws)i
(language)e(e)o(xtensions)h(to)h(be)g(enabled)e(in)i(a)h(portable)d(w)o
(ay)-5 b(.)24 b(It)19 b(is)h(the)f(intention)e(that)i(all)h(Hask)o(ell)
f(compilers)-128 3092 y(support)g(the)g Ft(LANGUAGE)g
FA(pragma)f(with)i(the)g(same)f(syntax,)g(although)f(not)h(all)h(e)o
(xtensions)f(are)g(supported)f(by)h(all)h(compilers,)f(of)g(course.)24
b(The)-128 3192 y Ft(LANGUAGE)c FA(pragma)e(should)i(be)g(used)g
(instead)g(of)g Ft(OPTIONS_GHC)p FA(,)e(if)i(possible.)-128
3341 y(F)o(or)g(e)o(xample,)f(to)h(enable)g(the)g(FFI)h(and)e
(preprocessing)f(with)i(CPP:)-128 3409 y
SDict begin H.S end
-128 3409 a
-128 3409 a
SDict begin 12 H.A end
-128 3409 a -128 3409 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-520) cvn H.B /DEST pdfmark end
-128 3409 a 0.95
TeXcolorgray -153 3424 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3516 25 92 v Black 0.95 TeXcolorgray -128 3516 4252 92
v Black 0.95 TeXcolorgray 4124 3516 25 92 v Black 0.95
TeXcolorgray Black -128 3488 a
SDict begin H.S end
-128 3488 a -128 3488
a
SDict begin 11 H.A end
-128 3488 a -128 3488 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-520.1) cvn H.B /DEST pdfmark end
-128 3488 a Fo({-#)p 0 0 0
TeXcolorrgb 45 w(LANGUAGE)p Black 0 0 0 TeXcolorrgb 43
w(ForeignFunctionInterface)p Black -4 w(,)p 0 0 0 TeXcolorrgb
45 w(CPP)p Black 44 w(#-})p 0.95 TeXcolorgray -153 3541
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
3715 a Ft(LANGUAGE)g FA(is)h(a)f(\002le-header)f(pragma)g(\(see)h
(Section)p 1 0 0 TeXcolorrgb 1495 3716 a
SDict begin H.S end
1495 3716 a
1 0 0 TeXcolorrgb -1 x FA(7.13)p 1 0 0 TeXcolorrgb 1640
3659 a
SDict begin H.R end
1640 3659 a 1640 3715 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.13) cvn H.B /ANN pdfmark end
1640 3715 a Black FA(\).)-128
3864 y(Ev)o(ery)g(language)f(e)o(xtension)h(can)g(also)i(be)e(turned)g
(into)h(a)g(command-line)d(\003ag)j(by)g(pre\002xing)e(it)i(with)h(")p
Ft(-X)p FA(";)f(for)f(e)o(xample)g Ft(-XForeignFu-)-128
3964 y(nctionInterface)p FA(.)j(\(Similarly)-5 b(,)19
b(all)i(")p Ft(-X)p FA(")f(\003ags)g(can)g(be)h(written)f(as)g
Ft(LANGUAGE)g FA(pragmas.)-128 4113 y(A)h(list)g(of)f(all)h(supported)d
(language)h(e)o(xtensions)g(can)h(be)g(obtained)f(by)g(in)m(v)n(oking)f
Ft(ghc)50 b(--supported-languages)16 b FA(\(see)21 b(Section)p
1 0 0 TeXcolorrgb 3955 4114 a
SDict begin H.S end
3955 4114 a 1 0 0 TeXcolorrgb
-1 x FA(4.4)p 1 0 0 TeXcolorrgb 4058 4057 a
SDict begin H.R end
4058 4057
a 4058 4113 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.4) cvn H.B /ANN pdfmark end
4058 4113 a Black FA(\).)-128 4263 y(An)o(y)e(e)o
(xtension)g(from)f(the)i Ft(Extension)f FA(type)g(de\002ned)g(in)p
0 1 0 0 TeXcolorcmyk 1657 4281 a
SDict begin H.S end
1657 4281 a 0 1 0 0
TeXcolorcmyk -18 x FA(Language.Hask)o(ell.Extension)p
0 1 0 0 TeXcolorcmyk 2610 4207 a
SDict begin H.R end
2610 4207 a 2610 4263
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/Cabal/Language-Haskell-Extension.html) >> /Subtype /Link H.B /ANN pdfmark end
2610 4263 a Black 21 w FA(may)g(be)g(used.)25 b(GHC)c(will)f(report)f
(an)g(error)g(if)h(an)o(y)-128 4362 y(of)g(the)h(requested)d(e)o
(xtensions)h(are)i(not)e(supported.)-128 4497 y
SDict begin H.S end
-128
4497 a -128 4497 a
SDict begin 12 H.A end
-128 4497 a -128 4497 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.2) cvn H.B /DEST pdfmark end
-128 4497
a Black 148 x Fp(7.13.2)p Black 89 w(OPTIONS_GHC)k(pra)o(gma)-128
4733 y
SDict begin H.S end
-128 4733 a -128 4733 a
SDict begin 12 H.A end
-128 4733 a -128 4733
a
SDict begin [ /View [/XYZ H.V] /Dest (options-pragma) cvn H.B /DEST pdfmark end
-128 4733 a 115 x FA(The)d Ft(OPTIONS_GHC)e FA(pragma)h(is)i(used)e
(to)i(specify)e(additional)f(options)h(that)h(are)g(gi)n(v)o(en)f(to)h
(the)g(compiler)e(when)i(compiling)e(this)i(source)g(\002le.)-128
4947 y(See)h(Section)p 1 0 0 TeXcolorrgb 283 4948 a
SDict begin H.S end
283
4948 a 1 0 0 TeXcolorrgb -1 x FA(4.1.2)p 1 0 0 TeXcolorrgb
449 4891 a
SDict begin H.R end
449 4891 a 449 4947 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.1.2) cvn H.B /ANN pdfmark end
449 4947 a Black 21
w FA(for)e(details.)-128 5097 y(Pre)n(vious)h(v)o(ersions)f(of)h(GHC)h
(accepted)e Ft(OPTIONS)g FA(rather)h(than)g Ft(OPTIONS_GHC)p
FA(,)e(b)n(ut)i(that)g(is)i(no)n(w)d(deprecated.)-128
5246 y Ft(OPTIONS_GHC)g FA(is)i(a)g(\002le-header)e(pragma)f(\(see)j
(Section)p 1 0 0 TeXcolorrgb 1645 5247 a
SDict begin H.S end
1645 5247 a
1 0 0 TeXcolorrgb -1 x FA(7.13)p 1 0 0 TeXcolorrgb 1790
5190 a
SDict begin H.R end
1790 5190 a 1790 5246 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.13) cvn H.B /ANN pdfmark end
1790 5246 a Black FA(\).)p
Black -128 6084 4252 5 v Black eop end
%%Page: 181 196
TeXDict begin 181 195 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.181) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(181)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.13.3)p
Black 89 w(INCLUDE)k(pra)o(gma)-128 262 y
SDict begin H.S end
-128 262 a
-128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (include-pragma) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(The)17
b Ft(INCLUDE)e FA(pragma)h(is)h(for)f(specifying)f(the)i(names)f(of)g
(C)i(header)d(\002les)i(that)g(should)f(be)g Ft(#include)p
FA(')l(d)f(into)h(the)h(C)g(source)f(code)g(generated)-128
476 y(by)k(the)g(compiler)f(for)h(the)g(current)f(module)g(\(if)h
(compiling)e(via)j(C\).)f(F)o(or)g(e)o(xample:)-128 544
y
SDict begin H.S end
-128 544 a -128 544 a
SDict begin 12 H.A end
-128 544 a -128 544 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-521) cvn H.B /DEST pdfmark end
-128 544
a 0.95 TeXcolorgray -153 559 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
650 25 92 v Black 0.95 TeXcolorgray -128 650 4252 92
v Black 0.95 TeXcolorgray 4124 650 25 92 v Black 0.95
TeXcolorgray Black -128 623 a
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 11 H.A end
-128
623 a -128 623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-521.1) cvn H.B /DEST pdfmark end
-128 623 a Fo({-#)p 0 0 0 TeXcolorrgb
45 w(INCLUDE)p Black 43 w(")p 0 0 0 TeXcolorrgb(foo)p
Black(.)p 0 0 0 TeXcolorrgb(h)p Black -1 w(")45 b(#-})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 742 25
92 v Black 0.95 TeXcolorgray -128 742 4252 92 v Black
0.95 TeXcolorgray 4124 742 25 92 v Black 0.95 TeXcolorgray
Black -128 714 a
SDict begin H.S end
-128 714 a -128 714 a
SDict begin 11 H.A end
-128 714 a -128
714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-521.2) cvn H.B /DEST pdfmark end
-128 714 a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(INCLUDE)p
Black 43 w(<)p 0 0 0 TeXcolorrgb(stdio)p Black -1 w(.)p
0 0 0 TeXcolorrgb(h)p Black(>)g(#-})p 0.95 TeXcolorgray
-153 766 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 941 a Ft(INCLUDE)20 b FA(is)h(a)g(\002le-header)d(pragma)h
(\(see)i(Section)p 1 0 0 TeXcolorrgb 1445 942 a
SDict begin H.S end
1445
942 a 1 0 0 TeXcolorrgb -1 x FA(7.13)p 1 0 0 TeXcolorrgb
1591 885 a
SDict begin H.R end
1591 885 a 1591 941 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.13) cvn H.B /ANN pdfmark end
1591 941 a Black FA(\).)-128
1090 y(An)h Ft(INCLUDE)e FA(pragma)g(is)i(the)f(preferred)d(alternati)n
(v)o(e)i(to)h(the)h Ft(-#include)e FA(option)f(\(Section)p
1 0 0 TeXcolorrgb 2743 1091 a
SDict begin H.S end
2743 1091 a 1 0 0 TeXcolorrgb
-1 x FA(4.10.5)p 1 0 0 TeXcolorrgb 2950 1034 a
SDict begin H.R end
2950 1034
a 2950 1090 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.10.5) cvn H.B /ANN pdfmark end
2950 1090 a Black FA(\),)j(because)e(the)h
Ft(INCLUDE)f FA(pragma)g(is)-128 1190 y(understood)e(by)i(other)g
(compilers.)k(Y)-8 b(et)21 b(another)e(alternati)n(v)o(e)g(is)i(to)g
(add)e(the)i(include)e(\002le)i(to)g(each)f Ft(foreign)48
b(import)20 b FA(declaration)f(in)h(your)-128 1289 y(code,)g(b)n(ut)g
(we)g(don')o(t)f(recommend)f(using)h(this)i(approach)d(with)i(GHC.)-128
1424 y
SDict begin H.S end
-128 1424 a -128 1424 a
SDict begin 12 H.A end
-128 1424 a -128 1424
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.4) cvn H.B /DEST pdfmark end
-128 1424 a Black 148 x Fp(7.13.4)p Black 89 w(W)-5
b(ARNING)23 b(and)i(DEPRECA)-8 b(TED)22 b(pra)o(gmas)-128
1660 y
SDict begin H.S end
-128 1660 a -128 1660 a
SDict begin 12 H.A end
-128 1660 a -128 1660
a
SDict begin [ /View [/XYZ H.V] /Dest (warning-deprecated-pragma) cvn H.B /DEST pdfmark end
-128 1660 a 115 x FA(The)27 b(W)-10 b(ARNING)28 b(pragma)e(allo)n(ws)
i(you)e(to)h(attach)g(an)g(arbitrary)f(w)o(arning)g(to)h(a)h
(particular)e(function,)h(class,)j(or)d(type.)45 b(A)28
b(DEPRECA)-9 b(TED)-128 1874 y(pragma)19 b(lets)i(you)f(specify)f(that)
h(a)h(particular)e(function,)f(class,)j(or)f(type)g(is)h(deprecated.)i
(There)c(are)h(tw)o(o)h(w)o(ays)f(of)g(using)g(these)g(pragmas.)p
Black -128 2090 a(\225)p Black 42 w(Y)-9 b(ou)20 b(can)g(w)o(ork)f(on)h
(an)g(entire)g(module)f(thus:)-128 2141 y
SDict begin H.S end
-128 2141 a
-128 2141 a
SDict begin 12 H.A end
-128 2141 a -128 2141 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-522) cvn H.B /DEST pdfmark end
-128 2141 a 0.95
TeXcolorgray -82 2173 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2265
25 92 v Black 0.95 TeXcolorgray -57 2265 4182 92 v Black
0.95 TeXcolorgray 4124 2265 25 92 v Black 0.95 TeXcolorgray
Black -57 2237 a
SDict begin H.S end
-57 2237 a -57 2237 a
SDict begin 11 H.A end
-57 2237 a -57
2237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-522.1) cvn H.B /DEST pdfmark end
-57 2237 a 0 0 0 TeXcolorrgb 135 w Fo(module)p
Black 0 0 0 TeXcolorrgb 43 w(Wibble)p Black 44 w({-#)p
0 0 0 TeXcolorrgb 44 w(DEPRECATED)p Black 44 w(")p 0 0 0
TeXcolorrgb -1 w(Use)p Black 0 0 0 TeXcolorrgb 45 w(Wobble)p
Black 0 0 0 TeXcolorrgb 44 w(instead)p Black -2 w(")45
b(#-})p 0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 2356 25 92 v Black 0.95 TeXcolorgray
-57 2356 4182 92 v Black 0.95 TeXcolorgray 4124 2356
25 92 v Black 0.95 TeXcolorgray Black -57 2328 a
SDict begin H.S end
-57
2328 a -57 2328 a
SDict begin 11 H.A end
-57 2328 a -57 2328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-522.2) cvn H.B /DEST pdfmark end
-57 2328 a 224
w Fo(...)p 0.95 TeXcolorgray -82 2381 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 2539 a FA(Or:)-128
2589 y
SDict begin H.S end
-128 2589 a -128 2589 a
SDict begin 12 H.A end
-128 2589 a -128 2589
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-523) cvn H.B /DEST pdfmark end
-128 2589 a 0.95 TeXcolorgray -82 2622 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2713 25 92 v Black 0.95 TeXcolorgray
-57 2713 4182 92 v Black 0.95 TeXcolorgray 4124 2713
25 92 v Black 0.95 TeXcolorgray Black -57 2685 a
SDict begin H.S end
-57
2685 a -57 2685 a
SDict begin 11 H.A end
-57 2685 a -57 2685 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-523.1) cvn H.B /DEST pdfmark end
-57 2685 a 0 0 0
TeXcolorrgb 135 w Fo(module)p Black 0 0 0 TeXcolorrgb
43 w(Wibble)p Black 44 w({-#)p 0 0 0 TeXcolorrgb 44 w(WARNING)p
Black 44 w(")p 0 0 0 TeXcolorrgb(This)p Black 0 0 0 TeXcolorrgb
44 w(is)p Black 0 0 0 TeXcolorrgb 45 w(an)p Black 0 0 0
TeXcolorrgb 44 w(unstable)p Black 0 0 0 TeXcolorrgb 44
w(interface)p Black -2 w(.")g(#-})p 0 0 0 TeXcolorrgb
44 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2804 25 92 v Black 0.95 TeXcolorgray -57 2804 4182
92 v Black 0.95 TeXcolorgray 4124 2804 25 92 v Black
0.95 TeXcolorgray Black -57 2777 a
SDict begin H.S end
-57 2777 a -57 2777
a
SDict begin 11 H.A end
-57 2777 a -57 2777 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-523.2) cvn H.B /DEST pdfmark end
-57 2777 a 224 w Fo(...)p 0.95
TeXcolorgray -82 2829 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 2987 a FA(When)20 b(you)f(compile)h(an)o(y)f
(module)g(that)h(import)f Ft(Wibble)p FA(,)h(GHC)h(will)g(print)e(the)h
(speci\002ed)g(message.)p Black -128 3153 a(\225)p Black
42 w(Y)-9 b(ou)20 b(can)g(attach)g(a)g(w)o(arning)f(to)i(a)f(function,)
e(class,)j(type,)f(or)g(data)g(constructor)m(,)d(with)k(the)f(follo)n
(wing)f(top-le)n(v)o(el)f(declarations:)-128 3221 y
SDict begin H.S end
-128
3221 a -128 3221 a
SDict begin 12 H.A end
-128 3221 a -128 3221 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-524) cvn H.B /DEST pdfmark end
-128 3221
a 0.95 TeXcolorgray -82 3236 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3327
25 92 v Black 0.95 TeXcolorgray -57 3327 4182 92 v Black
0.95 TeXcolorgray 4124 3327 25 92 v Black 0.95 TeXcolorgray
Black -57 3300 a
SDict begin H.S end
-57 3300 a -57 3300 a
SDict begin 11 H.A end
-57 3300 a -57
3300 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-524.1) cvn H.B /DEST pdfmark end
-57 3300 a 135 w Fo({-#)p 0 0 0 TeXcolorrgb 44
w(DEPRECATED)p Black 0 0 0 TeXcolorrgb 43 w(f)p Black(,)p
0 0 0 TeXcolorrgb 44 w(C)p Black(,)p 0 0 0 TeXcolorrgb
45 w(T)p Black 45 w(")p 0 0 0 TeXcolorrgb -1 w(Don)p
Black(')p 0 0 0 TeXcolorrgb(t)p Black 0 0 0 TeXcolorrgb
44 w(use)p Black 0 0 0 TeXcolorrgb 45 w(these)p Black
-1 w(")45 b(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3419 25 92 v Black 0.95 TeXcolorgray -57 3419 4182
92 v Black 0.95 TeXcolorgray 4124 3419 25 92 v Black
0.95 TeXcolorgray Black -57 3391 a
SDict begin H.S end
-57 3391 a -57 3391
a
SDict begin 11 H.A end
-57 3391 a -57 3391 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-524.2) cvn H.B /DEST pdfmark end
-57 3391 a 135 w Fo({-#)p 0 0 0
TeXcolorrgb 44 w(WARNING)p Black 0 0 0 TeXcolorrgb 43
w(unsafePerformIO)p Black 43 w(")p 0 0 0 TeXcolorrgb(This)p
Black 0 0 0 TeXcolorrgb 44 w(is)p Black 0 0 0 TeXcolorrgb
44 w(unsafe)p Black -1 w(;)p 0 0 0 TeXcolorrgb 45 w(I)p
Black 0 0 0 TeXcolorrgb 45 w(hope)p Black 0 0 0 TeXcolorrgb
44 w(you)p Black 0 0 0 TeXcolorrgb 44 w(know)p Black
0 0 0 TeXcolorrgb 44 w(what)p Black 0 0 0 TeXcolorrgb
44 w(you)p Black(')p 0 0 0 TeXcolorrgb(re)p Black 0 0 0
TeXcolorrgb 44 w(doing)p Black -1 w(")g(#-})p 0.95 TeXcolorgray
-82 3443 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 3601 a FA(When)20 b(you)f(compile)h(an)o(y)f(module)g(that)h
(imports)g(and)f(uses)i(an)o(y)e(of)h(the)g(speci\002ed)g(entities,)h
(GHC)g(will)g(print)e(the)h(speci\002ed)g(message.)-57
3734 y(Y)-9 b(ou)21 b(can)g(only)f(attach)h(to)g(entities)h(declared)e
(at)i(top)f(le)n(v)o(el)f(in)i(the)f(module)f(being)g(compiled,)g(and)g
(you)h(can)g(only)f(use)i(unquali\002ed)d(names)i(in)-57
3834 y(the)k(list)g(of)g(entities.)38 b(A)25 b(capitalised)f(name,)h
(such)f(as)i Ft(T)f FA(refers)f(to)g Fq(either)j FA(the)e(type)f
(constructor)e Ft(T)j Fq(or)i FA(the)e(data)f(constructor)f
Ft(T)p FA(,)i(or)f(both)g(if)-57 3933 y(both)19 b(are)i(in)f(scope.)k
(If)c(both)g(are)g(in)g(scope,)g(there)g(is)h(currently)d(no)i(w)o(ay)g
(to)g(specify)g(one)g(without)f(the)h(other)g(\(c.f.)k(\002xities)d
(Section)p 1 0 0 TeXcolorrgb 3833 3934 a
SDict begin H.S end
3833 3934 a
1 0 0 TeXcolorrgb -1 x FA(7.4.2)p 1 0 0 TeXcolorrgb 3999
3877 a
SDict begin H.R end
3999 3877 a 3999 3933 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.4.2) cvn H.B /ANN pdfmark end
3999 3933 a Black FA(\).)-128
4149 y(W)-7 b(arnings)27 b(and)f(deprecations)e(are)j(not)f(reported)f
(for)h(\(a\))g(uses)h(within)g(the)f(de\002ning)g(module,)g(and)g
(\(b\))g(uses)h(in)g(an)f(e)o(xport)f(list.)46 b(The)26
b(latter)-128 4249 y(reduces)20 b(spurious)f(complaints)g(within)h(a)h
(library)e(in)h(which)g(one)f(module)g(gathers)g(together)g(and)h(re-e)
o(xports)e(the)i(e)o(xports)f(of)h(se)n(v)o(eral)f(others.)-128
4398 y(Y)-9 b(ou)20 b(can)g(suppress)g(the)g(w)o(arnings)f(with)i(the)f
(\003ag)g Ft(-fno-warn-warnings-deprecations)p FA(.)-128
4532 y
SDict begin H.S end
-128 4532 a -128 4532 a
SDict begin 12 H.A end
-128 4532 a -128 4532
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.5) cvn H.B /DEST pdfmark end
-128 4532 a Black 148 x Fp(7.13.5)p Black 89 w(INLINE)k(and)h
(NOINLINE)e(pra)o(gmas)-128 4769 y
SDict begin H.S end
-128 4769 a -128 4769
a
SDict begin 12 H.A end
-128 4769 a -128 4769 a
SDict begin [ /View [/XYZ H.V] /Dest (inline-noinline-pragma) cvn H.B /DEST pdfmark end
-128 4769 a 114 x FA(These)d(pragmas)f
(control)g(the)i(inlining)e(of)h(function)e(de\002nitions.)-128
5018 y
SDict begin H.S end
-128 5018 a -128 5018 a
SDict begin 12 H.A end
-128 5018 a -128 5018
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.13.5.1) cvn H.B /DEST pdfmark end
-128 5018 a Black 131 x Fx(7.13.5.1)p Black 72 w(INLINE)i(pra)o(gma)
-128 5233 y
SDict begin H.S end
-128 5233 a -128 5233 a
SDict begin 12 H.A end
-128 5233 a -128
5233 a
SDict begin [ /View [/XYZ H.V] /Dest (inline-pragma) cvn H.B /DEST pdfmark end
-128 5233 a 119 x FA(GHC)i(\(with)g Ft(-O)p FA(,)f(as)h(al)o(w)o
(ays\))f(tries)h(to)f(inline)g(\(or)g(\223unfold\224\))e(functions/v)n
(alues)f(that)k(are)f(\223small)g(enough,)-6 b(\224)19
b(thus)j(a)n(v)n(oiding)e(the)h(call)h(o)o(v)o(erhead)-128
5452 y(and)f(possibly)f(e)o(xposing)f(other)i(more-w)o(onderful)c
(optimisations.)26 b(Normally)-5 b(,)20 b(if)h(GHC)h(decides)e(a)i
(function)d(is)j(\223too)f(e)o(xpensi)n(v)o(e\224)d(to)k(inline,)e(it)
-128 5551 y(will)h(not)f(do)g(so,)g(nor)g(will)h(it)g(e)o(xport)d(that)
j(unfolding)c(for)j(other)f(modules)g(to)i(use.)-128
5701 y(The)f(sledgehammer)e(you)i(can)g(bring)f(to)h(bear)g(is)h(the)f
Ft(INLINE)f FA(pragma,)g(used)h(thusly:)p Black -128
6084 4252 5 v Black eop end
%%Page: 182 197
TeXDict begin 182 196 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.182) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(182)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-525) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-525.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
Fo(key_function)p Black 43 w(::)p 0 0 0 TeXcolorrgb 45
w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(String)p
Black 43 w(->)45 b(\()p 0 0 0 TeXcolorrgb(Bool)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(Double)p Black -1 w(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 356 25
92 v Black 0.95 TeXcolorgray -128 356 4252 92 v Black
0.95 TeXcolorgray 4124 356 25 92 v Black 0.95 TeXcolorgray
Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128 328 a -128
328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-525.2) cvn H.B /DEST pdfmark end
-128 328 a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(INLINE)p
Black 0 0 0 TeXcolorrgb 44 w(key_function)p Black 42
w(#-})p 0.95 TeXcolorgray -153 381 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 553 a FA(The)24 b(major)e(ef)n
(fect)h(of)h(an)f Ft(INLINE)g FA(pragma)f(is)i(to)g(declare)f(a)h
(function')-5 b(s)22 b(\223cost\224)h(to)h(be)g(v)o(ery)e(lo)n(w)-5
b(.)34 b(The)24 b(normal)e(unfolding)f(machinery)g(will)-128
653 y(then)f(be)g(v)o(ery)f(k)o(een)h(to)g(inline)g(it.)26
b(Ho)n(we)n(v)o(er)m(,)18 b(an)i Ft(INLINE)g FA(pragma)e(for)i(a)h
(function)d(")p Ft(f)p FA(")i(has)h(a)f(number)f(of)h(other)f(ef)n
(fects:)p Black -128 865 a(\225)p Black 42 w(No)k(functions)e(are)h
(inlined)g(into)h Ft(f)p FA(.)32 b(Otherwise)23 b(GHC)g(might)f(inline)
g(a)i(big)e(function)f(into)h Ft(f)p FA(')-5 b(s)24 b(right)e(hand)f
(side,)i(making)f Ft(f)h FA(big;)g(and)f(then)-57 965
y(inline)e Ft(f)g FA(blindly)-5 b(.)p Black -128 1130
a(\225)p Black 42 w(The)20 b(\003oat-in,)f(\003oat-out,)g(and)h
(common-sub-e)o(xpression)15 b(transformations)i(are)k(not)e(applied)h
(to)g(the)g(body)f(of)h Ft(f)p FA(.)p Black -128 1295
a(\225)p Black 42 w(An)g(INLINE)g(function)e(is)j(not)f(w)o(ork)o
(er/wrappered)d(by)i(strictness)i(analysis.)k(It')-5
b(s)21 b(going)e(to)h(be)g(inlined)g(wholesale)g(instead.)-128
1508 y(All)h(of)f(these)h(ef)n(fects)f(are)g(aimed)f(at)i(ensuring)e
(that)h(what)g(gets)h(inlined)e(is)i(e)o(xactly)e(what)i(you)e(ask)o
(ed)h(for)m(,)f(no)h(more)f(and)h(no)f(less.)-128 1656
y(GHC)29 b(ensures)f(that)g(inlining)f(cannot)g(go)h(on)g(fore)n(v)o
(er:)39 b(e)n(v)o(ery)27 b(mutually-recursi)n(v)o(e)d(group)i(is)k(cut)
e(by)f(one)h(or)g(more)f Fq(loop)g(br)m(eak)o(er)o(s)i
FA(that)f(is)-128 1756 y(ne)n(v)o(er)20 b(inlined)f(\(see)p
0 1 0 0 TeXcolorcmyk 481 1774 a
SDict begin H.S end
481 1774 a 0 1 0 0 TeXcolorcmyk
502 1756 a FA(Secrets)h(of)g(the)g(GHC)h(inliner)m(,)e(JFP)j(12\(4\))c
(July)i(2002)p 0 1 0 0 TeXcolorcmyk 2096 1699 a
SDict begin H.R end
2096
1699 a 2096 1756 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/Papers/inlining/index.htm) >> /Subtype /Link H.B /ANN pdfmark end
2096 1756 a Black FA(\).)26 b(GHC)21
b(tries)g(not)g(to)f(select)h(a)g(function)e(with)h(an)h(INLINE)e
(pragma)-128 1855 y(as)25 b(a)g(loop)e(break)o(er)m(,)g(b)n(ut)h(when)f
(there)h(is)h(no)f(choice)f(e)n(v)o(en)g(an)h(INLINE)f(function)f(can)i
(be)g(selected,)h(in)f(which)g(case)g(the)g(INLINE)f(pragma)g(is)-128
1955 y(ignored.)40 b(F)o(or)26 b(e)o(xample,)f(for)g(a)h(self-recursi)n
(v)o(e)e(function,)h(the)h(loop)f(break)o(er)g(can)g(only)g(be)h(the)f
(function)f(itself,)k(so)e(an)g(INLINE)f(pragma)f(is)-128
2055 y(al)o(w)o(ays)d(ignored.)-128 2203 y(Syntactically)-5
b(,)19 b(an)h Ft(INLINE)g FA(pragma)f(for)g(a)i(function)d(can)i(be)g
(put)g(an)o(ywhere)e(its)k(type)d(signature)g(could)h(be)g(put.)-128
2351 y Ft(INLINE)j FA(pragmas)g(are)g(a)h(particularly)e(good)g(idea)h
(for)g(the)g Ft(then)p FA(/)p Ft(return)f FA(\(or)h Ft(bind)p
FA(/)p Ft(unit)p FA(\))f(functions)g(in)i(a)g(monad.)33
b(F)o(or)23 b(e)o(xample,)g(in)-128 2451 y(GHC')-5 b(s)22
b(o)n(wn)d Ft(UniqueSupply)g FA(monad)g(code,)g(we)i(ha)n(v)o(e:)-128
2513 y
SDict begin H.S end
-128 2513 a -128 2513 a
SDict begin 12 H.A end
-128 2513 a -128 2513
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-526) cvn H.B /DEST pdfmark end
-128 2513 a 0.95 TeXcolorgray -153 2533 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2624 25 92 v Black 0.95 TeXcolorgray
-128 2624 4252 92 v Black 0.95 TeXcolorgray 4124 2624
25 92 v Black 0.95 TeXcolorgray Black -128 2597 a
SDict begin H.S end
-128
2597 a -128 2597 a
SDict begin 11 H.A end
-128 2597 a -128 2597 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-526.1) cvn H.B /DEST pdfmark end
-128 2597
a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(INLINE)p Black 0 0 0
TeXcolorrgb 44 w(thenUs)p Black 43 w(#-})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2716 25 92 v Black 0.95
TeXcolorgray -128 2716 4252 92 v Black 0.95 TeXcolorgray
4124 2716 25 92 v Black 0.95 TeXcolorgray Black -128
2688 a
SDict begin H.S end
-128 2688 a -128 2688 a
SDict begin 11 H.A end
-128 2688 a -128 2688
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-526.2) cvn H.B /DEST pdfmark end
-128 2688 a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(INLINE)p
Black 0 0 0 TeXcolorrgb 44 w(returnUs)p Black 43 w(#-})p
0.95 TeXcolorgray -153 2740 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2913 a FA(See)g(also)g(the)f Ft(NOINLINE)f
FA(pragma)g(\(Section)p 1 0 0 TeXcolorrgb 1276 2914 a
SDict begin H.S end
1276 2914 a 1 0 0 TeXcolorrgb -1 x FA(7.13.5.2)p 1 0 0
TeXcolorrgb 1546 2856 a
SDict begin H.R end
1546 2856 a 1546 2913 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.13.5.2) cvn H.B /ANN pdfmark end
1546
2913 a Black FA(\).)-128 3061 y(Note:)25 b(the)19 b(HBC)h(compiler)d
(doesn')o(t)h(lik)o(e)h Ft(INLINE)f FA(pragmas,)f(so)j(if)f(you)f(w)o
(ant)g(your)g(code)g(to)h(be)g(HBC-compatible)e(you')o(ll)h(ha)n(v)o(e)
g(to)h(surround)-128 3161 y(the)i(pragma)d(with)j(C)g(pre-processor)c
(directi)n(v)o(es)j Ft(#ifdef)48 b(__GLASGOW_HASKELL__)p
FA(...)p Ft(#endif)p FA(.)-128 3294 y
SDict begin H.S end
-128 3294 a -128
3294 a
SDict begin 12 H.A end
-128 3294 a -128 3294 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.13.5.2) cvn H.B /DEST pdfmark end
-128 3294 a Black 131
x Fx(7.13.5.2)p Black 72 w(NOINLINE)20 b(pra)o(gma)-128
3508 y
SDict begin H.S end
-128 3508 a -128 3508 a
SDict begin 12 H.A end
-128 3508 a -128 3508
a
SDict begin [ /View [/XYZ H.V] /Dest (noinline-pragma) cvn H.B /DEST pdfmark end
-128 3508 a 119 x FA(The)j Ft(NOINLINE)g FA(pragma)f(does)h(e)o
(xactly)f(what)h(you')l(d)f(e)o(xpect:)30 b(it)24 b(stops)g(the)f
(named)f(function)g(from)g(being)g(inlined)h(by)g(the)g(compiler)-5
b(.)34 b(Y)-9 b(ou)-128 3726 y(shouldn')o(t)18 b(e)n(v)o(er)i(need)f
(to)i(do)e(this,)i(unless)f(you')l(re)e(v)o(ery)h(cautious)h(about)f
(code)h(size.)-128 3875 y Ft(NOTINLINE)g FA(is)i(a)f(synon)o(ym)e(for)h
Ft(NOINLINE)g FA(\()p Ft(NOINLINE)g FA(is)i(speci\002ed)e(by)h(Hask)o
(ell)g(98)f(as)i(the)f(standard)f(w)o(ay)h(to)g(disable)f(inlining,)g
(so)h(it)-128 3974 y(should)f(be)g(used)g(if)g(you)f(w)o(ant)i(your)e
(code)g(to)i(be)f(portable\).)-128 4108 y
SDict begin H.S end
-128 4108 a
-128 4108 a
SDict begin 12 H.A end
-128 4108 a -128 4108 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.7.13.5.3) cvn H.B /DEST pdfmark end
-128 4108 a Black
131 x Fx(7.13.5.3)p Black 72 w(Phase)f(contr)o(ol)-128
4322 y
SDict begin H.S end
-128 4322 a -128 4322 a
SDict begin 12 H.A end
-128 4322 a -128 4322
a
SDict begin [ /View [/XYZ H.V] /Dest (phase-control) cvn H.B /DEST pdfmark end
-128 4322 a 119 x FA(Sometimes)e(you)f(w)o(ant)h(to)f(control)g(e)o
(xactly)g(when)g(in)h(GHC')-5 b(s)18 b(pipeline)e(the)g(INLINE)g
(pragma)g(is)h(switched)g(on.)23 b(Inlining)15 b(happens)h(only)g
(during)-128 4540 y(runs)21 b(of)g(the)g Fq(simpli\002er)p
FA(.)28 b(Each)21 b(run)f(of)h(the)g(simpli\002er)g(has)g(a)h(dif)n
(ferent)d Fq(phase)i(number)r FA(;)f(the)h(phase)g(number)e(decreases)i
(to)n(w)o(ards)g(zero.)27 b(If)21 b(you)-128 4640 y(use)j
Ft(-dverbose-core2core)d FA(you')o(ll)i(see)h(the)g(sequence)f(of)g
(phase)g(numbers)g(for)g(successi)n(v)o(e)g(runs)h(of)f(the)h
(simpli\002er)-5 b(.)36 b(In)23 b(an)h(INLINE)-128 4739
y(pragma)19 b(you)g(can)h(optionally)f(specify)g(a)i(phase)f(number)m
(,)e(thus:)p Black -128 4952 a(\225)p Black 42 w(")p
Ft(INLINE[k])48 b(f)p FA(")20 b(means:)25 b(do)20 b(not)g(inline)g
Ft(f)g FA(until)g(phase)g Ft(k)p FA(,)h(b)n(ut)f(from)f(phase)h
Ft(k)g FA(onw)o(ards)g(be)g(v)o(ery)f(k)o(een)g(to)i(inline)f(it.)p
Black -128 5117 a(\225)p Black 42 w(")p Ft(INLINE[~k])48
b(f)p FA(")20 b(means:)25 b(be)20 b(v)o(ery)f(k)o(een)h(to)g(inline)g
Ft(f)h FA(until)f(phase)g Ft(k)p FA(,)g(b)n(ut)g(from)f(phase)h
Ft(k)h FA(onw)o(ards)e(do)h(not)g(inline)f(it.)p Black
-128 5282 a(\225)p Black 42 w(")p Ft(NOINLINE[k])48 b(f)p
FA(")19 b(means:)25 b(do)19 b(not)g(inline)h Ft(f)f FA(until)h(phase)f
Ft(k)p FA(,)h(b)n(ut)f(from)g(phase)g Ft(k)h FA(onw)o(ards)e(be)i
(willing)f(to)h(inline)f(it)h(\(as)g(if)g(there)f(w)o(as)h(no)-57
5382 y(pragma\).)p Black -128 5547 a(\225)p Black 42
w(")p Ft(NOINLINE[~k])47 b(f)p FA(")21 b(means:)k(be)20
b(willing)g(to)g(inline)g Ft(f)h FA(until)f(phase)g Ft(k)p
FA(,)g(b)n(ut)g(from)f(phase)h Ft(k)h FA(onw)o(ards)e(do)h(not)f
(inline)h(it.)-128 5759 y(The)g(same)h(information)c(is)22
b(summarised)d(here:)p Black -128 6084 4252 5 v Black
eop end
%%Page: 183 198
TeXDict begin 183 197 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.183) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(183)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-527) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.1) cvn H.B /DEST pdfmark end
-128 237 a 1211 w
Fo(--)p 0 0 0 TeXcolorrgb 44 w(Before)p Black 0 0 0 TeXcolorrgb
44 w(phase)p Black 44 w(2)p 0 0 0 TeXcolorrgb 224 w(Phase)p
Black 44 w(2)p 0 0 0 TeXcolorrgb 45 w(and)p Black 0 0 0
TeXcolorrgb 44 w(later)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 356 25 92 v Black 0.95 TeXcolorgray
-128 356 4252 92 v Black 0.95 TeXcolorgray 4124 356 25
92 v Black 0.95 TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328
a -128 328 a
SDict begin 11 H.A end
-128 328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.2) cvn H.B /DEST pdfmark end
-128 328 a 90 w Fo({-#)p
0 0 0 TeXcolorrgb 44 w(INLINE)p Black 134 w([2])p 0 0 0
TeXcolorrgb 89 w(f)p Black 45 w(#-})89 b(--)p 0 0 0 TeXcolorrgb
269 w(No)p Black 0 0 0 TeXcolorrgb 761 w(Yes)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 447 25
92 v Black 0.95 TeXcolorgray -128 447 4252 92 v Black
0.95 TeXcolorgray 4124 447 25 92 v Black 0.95 TeXcolorgray
Black -128 420 a
SDict begin H.S end
-128 420 a -128 420 a
SDict begin 11 H.A end
-128 420 a -128
420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.3) cvn H.B /DEST pdfmark end
-128 420 a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(INLINE)p
Black 134 w([~2])p 0 0 0 TeXcolorrgb 44 w(f)p Black 45
w(#-})g(--)p 0 0 0 TeXcolorrgb 269 w(Yes)p Black 0 0 0
TeXcolorrgb 716 w(No)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 538 25 92 v Black 0.95 TeXcolorgray
-128 538 4252 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -128 511 a
SDict begin H.S end
-128 511
a -128 511 a
SDict begin 11 H.A end
-128 511 a -128 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.4) cvn H.B /DEST pdfmark end
-128 511 a 90 w Fo({-#)p
0 0 0 TeXcolorrgb 44 w(NOINLINE)p Black 44 w([2])p 0 0 0
TeXcolorrgb 89 w(f)p Black 45 w(#-})g(--)p 0 0 0 TeXcolorrgb
269 w(No)p Black 0 0 0 TeXcolorrgb 761 w(Maybe)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 630 25
92 v Black 0.95 TeXcolorgray -128 630 4252 92 v Black
0.95 TeXcolorgray 4124 630 25 92 v Black 0.95 TeXcolorgray
Black -128 602 a
SDict begin H.S end
-128 602 a -128 602 a
SDict begin 11 H.A end
-128 602 a -128
602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.5) cvn H.B /DEST pdfmark end
-128 602 a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(NOINLINE)p
Black 44 w([~2])p 0 0 0 TeXcolorrgb 44 w(f)p Black 45
w(#-})g(--)p 0 0 0 TeXcolorrgb 269 w(Maybe)p Black 0 0 0
TeXcolorrgb 626 w(No)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 721 25 92 v Black 0.95 TeXcolorgray
-128 721 4252 92 v Black 0.95 TeXcolorgray 4124 721 25
92 v Black 0.95 TeXcolorgray Black -128 694 a
SDict begin H.S end
-128 694
a -128 694 a
SDict begin 11 H.A end
-128 694 a -128 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.6) cvn H.B /DEST pdfmark end
-128 694 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 812 25 92 v Black 0.95 TeXcolorgray
-128 812 4252 92 v Black 0.95 TeXcolorgray 4124 812 25
92 v Black 0.95 TeXcolorgray Black -128 785 a
SDict begin H.S end
-128 785
a -128 785 a
SDict begin 11 H.A end
-128 785 a -128 785 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.7) cvn H.B /DEST pdfmark end
-128 785 a 90 w Fo({-#)p
0 0 0 TeXcolorrgb 44 w(INLINE)p Black 0 0 0 TeXcolorrgb
134 w(f)p Black 45 w(#-})313 b(--)p 0 0 0 TeXcolorrgb
269 w(Yes)p Black 0 0 0 TeXcolorrgb 716 w(Yes)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 904 25
92 v Black 0.95 TeXcolorgray -128 904 4252 92 v Black
0.95 TeXcolorgray 4124 904 25 92 v Black 0.95 TeXcolorgray
Black -128 876 a
SDict begin H.S end
-128 876 a -128 876 a
SDict begin 11 H.A end
-128 876 a -128
876 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-527.8) cvn H.B /DEST pdfmark end
-128 876 a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(NOINLINE)p
Black 0 0 0 TeXcolorrgb 44 w(f)p Black 45 w(#-})g(--)p
0 0 0 TeXcolorrgb 269 w(No)p Black 0 0 0 TeXcolorrgb
761 w(No)p Black 0.95 TeXcolorgray -153 929 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 1103 a
FA(By)25 b("Maybe")f(we)h(mean)e(that)i(the)g(usual)f(heuristic)g
(inlining)f(rules)i(apply)e(\(if)i(the)f(function)f(body)g(is)i(small,)
h(or)e(it)i(is)f(applied)f(to)g(interesting-)-128 1203
y(looking)19 b(ar)o(guments)f(etc\).)25 b(Another)19
b(w)o(ay)h(to)g(understand)e(the)j(semantics)f(is)h(this:)p
Black -128 1419 a(\225)p Black 42 w(F)o(or)f(both)f(INLINE)h(and)f
(NOINLINE,)g(the)h(phase)g(number)f(says)h(when)g(inlining)f(is)i(allo)
n(wed)f(at)g(all.)p Black -128 1585 a(\225)p Black 42
w(The)k(INLINE)g(pragma)f(has)i(the)g(additional)e(ef)n(fect)h(of)h
(making)e(the)i(function)e(body)g(look)h(small,)i(so)f(that)f(when)g
(inlining)g(is)i(allo)n(wed)e(it)h(is)-57 1684 y(v)o(ery)19
b(lik)o(ely)h(to)g(happen.)-128 1900 y(The)g(same)h(phase-numbering)16
b(control)j(is)i(a)n(v)n(ailable)f(for)f(R)m(ULES)i(\(Section)p
1 0 0 TeXcolorrgb 2155 1901 a
SDict begin H.S end
2155 1901 a 1 0 0 TeXcolorrgb
-1 x FA(7.14)p 1 0 0 TeXcolorrgb 2300 1844 a
SDict begin H.R end
2300 1844
a 2300 1900 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.14) cvn H.B /ANN pdfmark end
2300 1900 a Black FA(\).)-128 2034 y
SDict begin H.S end
-128
2034 a -128 2034 a
SDict begin 12 H.A end
-128 2034 a -128 2034 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.6) cvn H.B /DEST pdfmark end
-128 2034
a Black 148 x Fp(7.13.6)p Black 89 w(LINE)k(pra)o(gma)-128
2271 y
SDict begin H.S end
-128 2271 a -128 2271 a
SDict begin 12 H.A end
-128 2271 a -128 2271
a
SDict begin [ /View [/XYZ H.V] /Dest (line-pragma) cvn H.B /DEST pdfmark end
-128 2271 a 114 x FA(This)d(pragma)d(is)j(similar)g(to)f(C')-5
b(s)22 b Ft(#line)f FA(pragma,)f(and)g(is)i(mainly)f(for)f(use)h(in)h
(automatically)d(generated)h(Hask)o(ell)h(code.)27 b(It)21
b(lets)h(you)f(specify)-128 2485 y(the)g(line)f(number)e(and)i
(\002lename)g(of)g(the)g(original)f(code;)g(for)h(e)o(xample)-128
2553 y
SDict begin H.S end
-128 2553 a -128 2553 a
SDict begin 12 H.A end
-128 2553 a -128 2553
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-528) cvn H.B /DEST pdfmark end
-128 2553 a 0.95 TeXcolorgray -153 2568 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2659 25 92 v Black 0.95 TeXcolorgray
-128 2659 4252 92 v Black 0.95 TeXcolorgray 4124 2659
25 92 v Black 0.95 TeXcolorgray Black -128 2632 a
SDict begin H.S end
-128
2632 a -128 2632 a
SDict begin 11 H.A end
-128 2632 a -128 2632 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-528.1) cvn H.B /DEST pdfmark end
-128 2632
a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(LINE)p Black 44 w(42)44
b(")p 0 0 0 TeXcolorrgb(Foo)p Black(.)p 0 0 0 TeXcolorrgb(vhs)p
Black -1 w(")h(#-})p 0.95 TeXcolorgray -153 2684 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 2859
a FA(if)19 b(you')l(d)e(generated)f(the)j(current)e(\002le)i(from)e
(something)g(called)i Ft(Foo.vhs)e FA(and)h(this)h(line)g(corresponds)d
(to)i(line)h(42)f(in)g(the)h(original.)k(GHC)c(will)-128
2958 y(adjust)i(its)g(error)e(messages)h(to)g(refer)g(to)g(the)g
(line/\002le)h(named)e(in)h(the)h Ft(LINE)f FA(pragma.)-128
3092 y
SDict begin H.S end
-128 3092 a -128 3092 a
SDict begin 12 H.A end
-128 3092 a -128 3092
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.7) cvn H.B /DEST pdfmark end
-128 3092 a Black 148 x Fp(7.13.7)p Black 89 w(R)n(ULES)k(pra)o(gma)
-128 3329 y
SDict begin H.S end
-128 3329 a -128 3329 a
SDict begin 12 H.A end
-128 3329 a -128
3329 a
SDict begin [ /View [/XYZ H.V] /Dest (rules) cvn H.B /DEST pdfmark end
-128 3329 a 114 x FA(The)c(R)m(ULES)h(pragma)d(lets)j(you)f
(specify)f(re)n(write)h(rules.)25 b(It)20 b(is)i(described)c(in)j
(Section)p 1 0 0 TeXcolorrgb 2418 3444 a
SDict begin H.S end
2418 3444 a
1 0 0 TeXcolorrgb -1 x FA(7.14)p 1 0 0 TeXcolorrgb 2563
3387 a
SDict begin H.R end
2563 3387 a 2563 3443 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.14) cvn H.B /ANN pdfmark end
2563 3443 a Black FA(.)-128
3577 y
SDict begin H.S end
-128 3577 a -128 3577 a
SDict begin 12 H.A end
-128 3577 a -128 3577
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.8) cvn H.B /DEST pdfmark end
-128 3577 a Black 149 x Fp(7.13.8)p Black 89 w(SPECIALIZE)i(pra)o
(gma)-128 3814 y
SDict begin H.S end
-128 3814 a -128 3814 a
SDict begin 12 H.A end
-128 3814 a
-128 3814 a
SDict begin [ /View [/XYZ H.V] /Dest (specialize-pragma) cvn H.B /DEST pdfmark end
-128 3814 a 115 x FA(\(UK)g(spelling)f(also)h(accepted.\))
31 b(F)o(or)23 b(k)o(e)o(y)f(o)o(v)o(erloaded)d(functions,)j(you)g(can)
g(create)g(e)o(xtra)g(v)o(ersions)g(\(NB:)h(more)f(code)g(space\))g
(specialised)h(to)-128 4028 y(particular)c(types.)25
b(Thus,)20 b(if)g(you)f(ha)n(v)o(e)h(an)g(o)o(v)o(erloaded)d(function:)
-128 4096 y
SDict begin H.S end
-128 4096 a -128 4096 a
SDict begin 12 H.A end
-128 4096 a -128
4096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-529) cvn H.B /DEST pdfmark end
-128 4096 a 0.95 TeXcolorgray -153 4111 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4203 25 92 v Black 0.95 TeXcolorgray
-128 4203 4252 92 v Black 0.95 TeXcolorgray 4124 4203
25 92 v Black 0.95 TeXcolorgray Black -128 4175 a
SDict begin H.S end
-128
4175 a -128 4175 a
SDict begin 11 H.A end
-128 4175 a -128 4175 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-529.1) cvn H.B /DEST pdfmark end
-128 4175
a 0 0 0 TeXcolorrgb 90 w Fo(hammeredLookup)p Black 43
w(::)p 0 0 0 TeXcolorrgb 44 w(Ord)p Black 0 0 0 TeXcolorrgb
44 w(key)p Black 45 w(=>)44 b([\()p 0 0 0 TeXcolorrgb(key)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(value)p Black -1
w(\)])h(->)p 0 0 0 TeXcolorrgb 44 w(key)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(value)p Black 0.95 TeXcolorgray
-153 4227 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 4402 a FA(If)20 b(it)h(is)h(hea)n(vily)d(used)h(on)g(lists)h
(with)g Ft(Widget)e FA(k)o(e)o(ys,)h(you)f(could)g(specialise)i(it)g
(as)g(follo)n(ws:)-128 4470 y
SDict begin H.S end
-128 4470 a -128 4470 a
SDict begin 12 H.A end
-128 4470 a -128 4470 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-530) cvn H.B /DEST pdfmark end
-128 4470 a 0.95 TeXcolorgray
-153 4485 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4576 25 92
v Black 0.95 TeXcolorgray -128 4576 4252 92 v Black 0.95
TeXcolorgray 4124 4576 25 92 v Black 0.95 TeXcolorgray
Black -128 4549 a
SDict begin H.S end
-128 4549 a -128 4549 a
SDict begin 11 H.A end
-128 4549 a
-128 4549 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-530.1) cvn H.B /DEST pdfmark end
-128 4549 a 90 w Fo({-#)p 0 0 0 TeXcolorrgb
44 w(SPECIALIZE)p Black 0 0 0 TeXcolorrgb 44 w(hammeredLookup)p
Black 42 w(::)45 b([\()p 0 0 0 TeXcolorrgb -1 w(Widget)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(value)p Black -1
w(\)])g(->)p 0 0 0 TeXcolorrgb 44 w(Widget)p Black 44
w(->)p 0 0 0 TeXcolorrgb 44 w(value)p Black 44 w(#-})p
0.95 TeXcolorgray -153 4601 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4775 a FA(A)21 b Ft(SPECIALIZE)e
FA(pragma)g(for)g(a)i(function)d(can)i(be)h(put)e(an)o(ywhere)g(its)i
(type)f(signature)f(could)g(be)h(put.)-128 4925 y(A)25
b Ft(SPECIALIZE)e FA(has)h(the)h(ef)n(fect)e(of)h(generating)e(\(a\))i
(a)h(specialised)f(v)o(ersion)f(of)h(the)g(function)f(and)g(\(b\))h(a)h
(re)n(write)e(rule)h(\(see)h(Section)p 1 0 0 TeXcolorrgb
3951 4926 a
SDict begin H.S end
3951 4926 a 1 0 0 TeXcolorrgb -1 x FA(7.14)p
1 0 0 TeXcolorrgb 4097 4869 a
SDict begin H.R end
4097 4869 a 4097 4925 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.14) cvn H.B /ANN pdfmark end
4097 4925 a Black FA(\))-128 5025 y(that)c(re)n(writes)f(a)g(call)h(to)
f(the)h(un-specialised)d(function)h(into)h(a)g(call)h(to)f(the)h
(specialised)f(one.)-128 5174 y(The)j(type)f(in)g(a)h(SPECIALIZE)f
(pragma)f(can)h(be)g(an)o(y)g(type)g(that)h(is)g(less)g(polymorphic)d
(than)i(the)g(type)g(of)g(the)h(original)e(function.)30
b(In)22 b(concrete)-128 5274 y(terms,)e(if)h(the)f(original)f(function)
g(is)i Ft(f)f FA(then)g(the)g(pragma)-128 5341 y
SDict begin H.S end
-128
5341 a -128 5341 a
SDict begin 12 H.A end
-128 5341 a -128 5341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-531) cvn H.B /DEST pdfmark end
-128 5341
a 0.95 TeXcolorgray -153 5357 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5448 25 92 v Black 0.95 TeXcolorgray -128 5448 4252 92
v Black 0.95 TeXcolorgray 4124 5448 25 92 v Black 0.95
TeXcolorgray Black -128 5421 a
SDict begin H.S end
-128 5421 a -128 5421
a
SDict begin 11 H.A end
-128 5421 a -128 5421 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-531.1) cvn H.B /DEST pdfmark end
-128 5421 a 90 w Fo({-#)p 0 0 0
TeXcolorrgb 44 w(SPECIALIZE)p Black 0 0 0 TeXcolorrgb
44 w(f)p Black 44 w(::)45 b(<)p 0 0 0 TeXcolorrgb(type)p
Black -1 w(>)g(#-})p 0.95 TeXcolorgray -153 5473 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 5647
a FA(is)22 b(v)n(alid)d(if)i(and)e(only)h(if)g(the)g(de\002nition)p
Black -128 6084 4252 5 v Black eop end
%%Page: 184 199
TeXDict begin 184 198 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.184) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(184)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-532) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-532.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(f_spec)p Black 44 w(::)44 b(<)p 0 0 0 TeXcolorrgb(type)p
Black(>)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
356 25 92 v Black 0.95 TeXcolorgray -128 356 4252 92
v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328 a -128 328 a
SDict begin 11 H.A end
-128
328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-532.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb 90 w Fo(f_spec)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(f)p Black 0.95
TeXcolorgray -153 381 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 555 a FA(is)22 b(v)n(alid.)i(Here)c(are)g(some)g
(e)o(xamples)f(\(where)h(we)g(only)f(gi)n(v)o(e)h(the)g(type)g
(signature)f(for)g(the)i(original)e(function,)f(not)i(its)h(code\):)
-128 623 y
SDict begin H.S end
-128 623 a -128 623 a
SDict begin 12 H.A end
-128 623 a -128 623
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-533) cvn H.B /DEST pdfmark end
-128 623 a 0.95 TeXcolorgray -153 638 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 729 25 92 v Black 0.95 TeXcolorgray
-128 729 4252 92 v Black 0.95 TeXcolorgray 4124 729 25
92 v Black 0.95 TeXcolorgray Black -128 702 a
SDict begin H.S end
-128 702
a -128 702 a
SDict begin 11 H.A end
-128 702 a -128 702 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.1) cvn H.B /DEST pdfmark end
-128 702 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Eq)p
Black 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(=>)p 0 0 0
TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 821 25
92 v Black 0.95 TeXcolorgray -128 821 4252 92 v Black
0.95 TeXcolorgray 4124 821 25 92 v Black 0.95 TeXcolorgray
Black -128 793 a
SDict begin H.S end
-128 793 a -128 793 a
SDict begin 11 H.A end
-128 793 a -128
793 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.2) cvn H.B /DEST pdfmark end
-128 793 a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(SPECIALISE)p
Black 0 0 0 TeXcolorrgb 44 w(f)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black
44 w(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 912 25 92 v Black 0.95 TeXcolorgray -128 912 4252
92 v Black 0.95 TeXcolorgray 4124 912 25 92 v Black 0.95
TeXcolorgray Black -128 885 a
SDict begin H.S end
-128 885 a -128 885 a
SDict begin 11 H.A end
-128
885 a -128 885 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.3) cvn H.B /DEST pdfmark end
-128 885 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1003 25 92 v Black 0.95 TeXcolorgray
-128 1003 4252 92 v Black 0.95 TeXcolorgray 4124 1003
25 92 v Black 0.95 TeXcolorgray Black -128 976 a
SDict begin H.S end
-128
976 a -128 976 a
SDict begin 11 H.A end
-128 976 a -128 976 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.4) cvn H.B /DEST pdfmark end
-128 976 a 0 0 0
TeXcolorrgb 90 w Fo(g)p Black 45 w(::)44 b(\()p 0 0 0
TeXcolorrgb(Eq)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(Ix)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black -1 w(\))h(=>)p 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1095 25 92 v Black 0.95 TeXcolorgray
-128 1095 4252 92 v Black 0.95 TeXcolorgray 4124 1095
25 92 v Black 0.95 TeXcolorgray Black -128 1067 a
SDict begin H.S end
-128
1067 a -128 1067 a
SDict begin 11 H.A end
-128 1067 a -128 1067 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.5) cvn H.B /DEST pdfmark end
-128 1067
a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(SPECIALISE)p Black
0 0 0 TeXcolorrgb 44 w(g)p Black 44 w(::)g(\()p 0 0 0
TeXcolorrgb(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))g(=>)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Int)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black 44 w(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1186 25 92 v Black 0.95 TeXcolorgray -128 1186 4252
92 v Black 0.95 TeXcolorgray 4124 1186 25 92 v Black
0.95 TeXcolorgray Black -128 1159 a
SDict begin H.S end
-128 1159 a -128
1159 a
SDict begin 11 H.A end
-128 1159 a -128 1159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.6) cvn H.B /DEST pdfmark end
-128 1159 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1277 25 92 v Black 0.95
TeXcolorgray -128 1277 4252 92 v Black 0.95 TeXcolorgray
4124 1277 25 92 v Black 0.95 TeXcolorgray Black -128
1250 a
SDict begin H.S end
-128 1250 a -128 1250 a
SDict begin 11 H.A end
-128 1250 a -128 1250
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.7) cvn H.B /DEST pdfmark end
-128 1250 a 0 0 0 TeXcolorrgb 90 w Fo(h)p Black 45
w(::)p 0 0 0 TeXcolorrgb 44 w(Eq)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(a)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1369 25 92 v Black 0.95 TeXcolorgray
-128 1369 4252 92 v Black 0.95 TeXcolorgray 4124 1369
25 92 v Black 0.95 TeXcolorgray Black -128 1341 a
SDict begin H.S end
-128
1341 a -128 1341 a
SDict begin 11 H.A end
-128 1341 a -128 1341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-533.8) cvn H.B /DEST pdfmark end
-128 1341
a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(SPECIALISE)p Black
0 0 0 TeXcolorrgb 44 w(h)p Black 44 w(::)g(\()p 0 0 0
TeXcolorrgb(Eq)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))g(=>)f([)p
0 0 0 TeXcolorrgb(a)p Black(])g(->)h([)p 0 0 0 TeXcolorrgb(a)p
Black(])f(->)h([)p 0 0 0 TeXcolorrgb(a)p Black -1 w(])g(#-})p
0.95 TeXcolorgray -153 1394 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1568 a FA(The)24 b(last)h(of)e(these)h(e)o
(xamples)f(will)h(generate)f(a)h(R)m(ULE)g(with)g(a)g(some)n
(what-comple)o(x)d(left-hand)h(side)i(\(try)f(it)i(yourself\),)d(so)j
(it)f(might)f(not)h(\002re)-128 1668 y(v)o(ery)19 b(well.)26
b(If)20 b(you)f(use)i(this)f(kind)g(of)g(specialisation,)f(let)i(us)g
(kno)n(w)e(ho)n(w)g(well)i(it)g(w)o(orks.)-128 1817 y(A)g
Ft(SPECIALIZE)e FA(pragma)g(can)g(optionally)g(be)h(follo)n(wed)f(with)
h(a)g Ft(INLINE)g FA(or)g Ft(NOINLINE)f FA(pragma,)f(optionally)h
(follo)n(wed)g(by)g(a)i(phase,)e(as)-128 1917 y(described)j(in)h
(Section)p 1 0 0 TeXcolorrgb 574 1918 a
SDict begin H.S end
574 1918 a 1 0 0
TeXcolorrgb -1 x FA(7.13.5)p 1 0 0 TeXcolorrgb 782 1860
a
SDict begin H.R end
782 1860 a 782 1917 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.13.5) cvn H.B /ANN pdfmark end
782 1917 a Black FA(.)33 b(The)23
b Ft(INLINE)f FA(pragma)f(af)n(fects)i(the)g(specialised)f(v)o(ersion)g
(of)h(the)f(function)f(\(only\),)h(and)g(applies)h(e)n(v)o(en)f(if)h
(the)-128 2016 y(function)c(is)i(recursi)n(v)o(e.)i(The)d(moti)n(v)n
(ating)f(e)o(xample)g(is)i(this:)-128 2084 y
SDict begin H.S end
-128 2084
a -128 2084 a
SDict begin 12 H.A end
-128 2084 a -128 2084 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-534) cvn H.B /DEST pdfmark end
-128 2084 a 0.95
TeXcolorgray -153 2099 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2191 25 92 v Black 0.95 TeXcolorgray -128 2191 4252 92
v Black 0.95 TeXcolorgray 4124 2191 25 92 v Black 0.95
TeXcolorgray Black -128 2163 a
SDict begin H.S end
-128 2163 a -128 2163
a
SDict begin 11 H.A end
-128 2163 a -128 2163 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.1) cvn H.B /DEST pdfmark end
-128 2163 a Fo(--)p 0 0 0 TeXcolorrgb
45 w(A)p Black 0 0 0 TeXcolorrgb 45 w(GADT)p Black 0 0 0
TeXcolorrgb 44 w(for)p Black 0 0 0 TeXcolorrgb 44 w(arrays)p
Black 0 0 0 TeXcolorrgb 44 w(with)p Black 0 0 0 TeXcolorrgb
44 w(type)p Black -1 w(-)p 0 0 0 TeXcolorrgb(indexed)p
Black 0 0 0 TeXcolorrgb 44 w(representation)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2282 25 92
v Black 0.95 TeXcolorgray -128 2282 4252 92 v Black 0.95
TeXcolorgray 4124 2282 25 92 v Black 0.95 TeXcolorgray
Black -128 2255 a
SDict begin H.S end
-128 2255 a -128 2255 a
SDict begin 11 H.A end
-128 2255 a
-128 2255 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.2) cvn H.B /DEST pdfmark end
-128 2255 a 0 0 0 TeXcolorrgb Fo(data)p Black
0 0 0 TeXcolorrgb 45 w(Arr)p Black 0 0 0 TeXcolorrgb
44 w(e)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2373 25 92
v Black 0.95 TeXcolorgray -128 2373 4252 92 v Black 0.95
TeXcolorgray 4124 2373 25 92 v Black 0.95 TeXcolorgray
Black -128 2346 a
SDict begin H.S end
-128 2346 a -128 2346 a
SDict begin 11 H.A end
-128 2346 a
-128 2346 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.3) cvn H.B /DEST pdfmark end
-128 2346 a 0 0 0 TeXcolorrgb 90 w Fo(ArrInt)p
Black 44 w(::)44 b(!)p 0 0 0 TeXcolorrgb(Int)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(ByteArray)p Black -1
w(#)g(->)p 0 0 0 TeXcolorrgb 45 w(Arr)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2465 25 92 v Black 0.95 TeXcolorgray -128 2465 4252
92 v Black 0.95 TeXcolorgray 4124 2465 25 92 v Black
0.95 TeXcolorgray Black -128 2437 a
SDict begin H.S end
-128 2437 a -128
2437 a
SDict begin 11 H.A end
-128 2437 a -128 2437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.4) cvn H.B /DEST pdfmark end
-128 2437 a 0 0 0 TeXcolorrgb
90 w Fo(ArrPair)p Black 44 w(::)g(!)p 0 0 0 TeXcolorrgb(Int)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Arr)p Black 0 0 0
TeXcolorrgb 44 w(e1)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(Arr)p Black 0 0 0 TeXcolorrgb 45 w(e2)p Black 44
w(->)p 0 0 0 TeXcolorrgb 45 w(Arr)p Black 44 w(\()p 0 0 0
TeXcolorrgb(e1)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45
w(e2)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2556 25 92 v Black 0.95 TeXcolorgray -128 2556 4252
92 v Black 0.95 TeXcolorgray 4124 2556 25 92 v Black
0.95 TeXcolorgray Black -128 2529 a
SDict begin H.S end
-128 2529 a -128
2529 a
SDict begin 11 H.A end
-128 2529 a -128 2529 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.5) cvn H.B /DEST pdfmark end
-128 2529 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2647 25 92 v Black 0.95
TeXcolorgray -128 2647 4252 92 v Black 0.95 TeXcolorgray
4124 2647 25 92 v Black 0.95 TeXcolorgray Black -128
2620 a
SDict begin H.S end
-128 2620 a -128 2620 a
SDict begin 11 H.A end
-128 2620 a -128 2620
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.6) cvn H.B /DEST pdfmark end
-128 2620 a Fo(\(!:\))h(::)p 0 0 0 TeXcolorrgb 44 w(Arr)p
Black 0 0 0 TeXcolorrgb 44 w(e)p Black 45 w(->)p 0 0 0
TeXcolorrgb 45 w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb
44 w(e)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2739 25 92 v Black 0.95 TeXcolorgray -128 2739 4252
92 v Black 0.95 TeXcolorgray 4124 2739 25 92 v Black
0.95 TeXcolorgray Black -128 2711 a
SDict begin H.S end
-128 2711 a -128
2711 a
SDict begin 11 H.A end
-128 2711 a -128 2711 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.7) cvn H.B /DEST pdfmark end
-128 2711 a Fo({-#)p 0 0 0
TeXcolorrgb 45 w(SPECIALISE)p Black 0 0 0 TeXcolorrgb
43 w(INLINE)p Black 44 w(\(!:\))f(::)p 0 0 0 TeXcolorrgb
44 w(Arr)p Black 0 0 0 TeXcolorrgb 45 w(Int)p Black 44
w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(->)p 0 0 0
TeXcolorrgb 44 w(Int)p Black 45 w(#-})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2830 25 92 v Black 0.95
TeXcolorgray -128 2830 4252 92 v Black 0.95 TeXcolorgray
4124 2830 25 92 v Black 0.95 TeXcolorgray Black -128
2803 a
SDict begin H.S end
-128 2803 a -128 2803 a
SDict begin 11 H.A end
-128 2803 a -128 2803
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.8) cvn H.B /DEST pdfmark end
-128 2803 a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(SPECIALISE)p
Black 0 0 0 TeXcolorrgb 43 w(INLINE)p Black 44 w(\(!:\))g(::)p
0 0 0 TeXcolorrgb 44 w(Arr)p Black 45 w(\()p 0 0 0 TeXcolorrgb(a)p
Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(b)p Black(\))h(->)p
0 0 0 TeXcolorrgb 44 w(Int)p Black 44 w(->)g(\()p 0 0 0
TeXcolorrgb(a)p Black(,)p 0 0 0 TeXcolorrgb 44 w(b)p
Black(\))g(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2921 25 92 v Black 0.95 TeXcolorgray -128 2921 4252
92 v Black 0.95 TeXcolorgray 4124 2921 25 92 v Black
0.95 TeXcolorgray Black -128 2894 a
SDict begin H.S end
-128 2894 a -128
2894 a
SDict begin 11 H.A end
-128 2894 a -128 2894 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.9) cvn H.B /DEST pdfmark end
-128 2894 a Fo(\()p 0 0 0
TeXcolorrgb(ArrInt)p Black 0 0 0 TeXcolorrgb 44 w(_)p
Black 0 0 0 TeXcolorrgb 45 w(ba)p Black -1 w(\))224 b(!:)45
b(\()p 0 0 0 TeXcolorrgb(I)p Black(#)p 0 0 0 TeXcolorrgb
44 w(i)p Black(\))g(=)p 0 0 0 TeXcolorrgb 44 w(I)p Black(#)g(\()p
0 0 0 TeXcolorrgb(indexIntArray)p Black -2 w(#)p 0 0 0
TeXcolorrgb 44 w(ba)p Black 0 0 0 TeXcolorrgb 45 w(i)p
Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3013 25 92 v Black 0.95 TeXcolorgray -128 3013 4252
92 v Black 0.95 TeXcolorgray 4124 3013 25 92 v Black
0.95 TeXcolorgray Black -128 2985 a
SDict begin H.S end
-128 2985 a -128
2985 a
SDict begin 11 H.A end
-128 2985 a -128 2985 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-534.10) cvn H.B /DEST pdfmark end
-128 2985 a Fo(\()p 0 0 0
TeXcolorrgb(ArrPair)p Black 0 0 0 TeXcolorrgb 44 w(_)p
Black 0 0 0 TeXcolorrgb 45 w(a1)p Black 0 0 0 TeXcolorrgb
44 w(a2)p Black(\))f(!:)p 0 0 0 TeXcolorrgb 45 w(i)p
Black 269 w(=)g(\()p 0 0 0 TeXcolorrgb(a1)p Black 45
w(!:)p 0 0 0 TeXcolorrgb 44 w(i)p Black(,)p 0 0 0 TeXcolorrgb
45 w(a2)p Black 44 w(!:)p 0 0 0 TeXcolorrgb 45 w(i)p
Black(\))p 0.95 TeXcolorgray -153 3037 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 3212 a FA(Here,)29
b Ft(\(!:\))39 b FA(is)28 b(a)g(recursi)n(v)o(e)d(function)h(that)h
(inde)o(x)o(es)f(arrays)h(of)g(type)f Ft(Arr)50 b(e)p
FA(.)c(Consider)26 b(a)i(call)g(to)f Ft(\(!:\))39 b FA(at)28
b(type)e Ft(\(Int,Int\))p FA(.)45 b(The)-128 3311 y(second)25
b(specialisation)g(will)i(\002re,)g(and)e(the)g(specialised)h(function)
d(will)k(be)e(inlined.)41 b(It)26 b(has)f(tw)o(o)h(calls)h(to)e
Ft(\(!:\))p FA(,)i(both)e(at)h(type)f Ft(Int)p FA(.)41
b(Both)-128 3411 y(these)21 b(calls)g(\002re)f(the)g(\002rst)h
(specialisation,)f(whose)g(body)e(is)k(also)e(inlined.)k(The)c(result)g
(is)h(a)g(type-based)d(unrolling)h(of)h(the)g(inde)o(xing)e(function.)
-128 3560 y(W)-7 b(arning:)25 b(you)19 b(can)h(mak)o(e)g(GHC)h(di)n(v)o
(er)o(ge)d(by)i(using)g Ft(SPECIALISE)47 b(INLINE)20
b FA(on)g(an)g(ordinarily-recursi)n(v)o(e)c(function.)-128
3710 y(Note:)26 b(In)20 b(earlier)f(v)o(ersions)h(of)f(GHC,)i(it)g(w)o
(as)g(possible)f(to)g(pro)o(vide)f(your)g(o)n(wn)g(specialised)h
(function)f(for)g(a)i(gi)n(v)o(en)e(type:)-128 3778 y
SDict begin H.S end
-128 3778 a -128 3778 a
SDict begin 12 H.A end
-128 3778 a -128 3778 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-535) cvn H.B /DEST pdfmark end
-128
3778 a 0.95 TeXcolorgray -153 3793 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3884 25 92 v Black 0.95 TeXcolorgray -128 3884 4252
92 v Black 0.95 TeXcolorgray 4124 3884 25 92 v Black
0.95 TeXcolorgray Black -128 3857 a
SDict begin H.S end
-128 3857 a -128
3857 a
SDict begin 11 H.A end
-128 3857 a -128 3857 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-535.1) cvn H.B /DEST pdfmark end
-128 3857 a Fo({-#)p 0 0 0
TeXcolorrgb 45 w(SPECIALIZE)p Black 0 0 0 TeXcolorrgb
43 w(hammeredLookup)p Black 42 w(::)45 b([\()p 0 0 0
TeXcolorrgb(Int)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45
w(value)p Black -1 w(\)])f(->)p 0 0 0 TeXcolorrgb 45
w(Int)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(value)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 44 w(intLookup)p Black
44 w(#-})p 0.95 TeXcolorgray -153 3909 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 4084 a FA(This)21
b(feature)e(has)h(been)g(remo)o(v)o(ed,)d(as)k(it)g(is)g(no)n(w)f
(subsumed)f(by)h(the)g Ft(RULES)g FA(pragma)e(\(see)j(Section)p
1 0 0 TeXcolorrgb 2868 4085 a
SDict begin H.S end
2868 4085 a 1 0 0 TeXcolorrgb
-1 x FA(7.14.4)p 1 0 0 TeXcolorrgb 3075 4027 a
SDict begin H.R end
3075 4027
a 3075 4084 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.14.4) cvn H.B /ANN pdfmark end
3075 4084 a Black FA(\).)-128 4218 y
SDict begin H.S end
-128
4218 a -128 4218 a
SDict begin 12 H.A end
-128 4218 a -128 4218 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.9) cvn H.B /DEST pdfmark end
-128 4218
a Black 148 x Fp(7.13.9)p Black 89 w(SPECIALIZE)i(instance)h(pra)o(gma)
-128 4454 y
SDict begin H.S end
-128 4454 a -128 4454 a
SDict begin 12 H.A end
-128 4454 a -128
4454 a
SDict begin [ /View [/XYZ H.V] /Dest (specialize-instance-pragma) cvn H.B /DEST pdfmark end
-128 4454 a 115 x FA(Same)d(idea,)e(e)o(xcept)h(for)f(instance)h
(declarations.)k(F)o(or)c(e)o(xample:)-128 4637 y
SDict begin H.S end
-128
4637 a -128 4637 a
SDict begin 12 H.A end
-128 4637 a -128 4637 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-536) cvn H.B /DEST pdfmark end
-128 4637
a 0.95 TeXcolorgray -153 4652 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4743 25 92 v Black 0.95 TeXcolorgray -128 4743 4252 92
v Black 0.95 TeXcolorgray 4124 4743 25 92 v Black 0.95
TeXcolorgray Black -128 4716 a
SDict begin H.S end
-128 4716 a -128 4716
a
SDict begin 11 H.A end
-128 4716 a -128 4716 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-536.1) cvn H.B /DEST pdfmark end
-128 4716 a 0 0 0 TeXcolorrgb
Fo(instance)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Eq)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))45 b(=>)p 0 0 0
TeXcolorrgb 44 w(Eq)p Black 45 w(\()p 0 0 0 TeXcolorrgb(Foo)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black(\))p 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w({)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4834 25 92 v Black 0.95 TeXcolorgray
-128 4834 4252 92 v Black 0.95 TeXcolorgray 4124 4834
25 92 v Black 0.95 TeXcolorgray Black -128 4807 a
SDict begin H.S end
-128
4807 a -128 4807 a
SDict begin 11 H.A end
-128 4807 a -128 4807 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-536.2) cvn H.B /DEST pdfmark end
-128 4807
a 135 w Fo({-#)p 0 0 0 TeXcolorrgb 44 w(SPECIALIZE)p
Black 0 0 0 TeXcolorrgb 43 w(instance)p Black 0 0 0 TeXcolorrgb
44 w(Eq)p Black 44 w(\()p 0 0 0 TeXcolorrgb(Foo)p Black
45 w([\()p 0 0 0 TeXcolorrgb -1 w(Int)p Black(,)p 0 0 0
TeXcolorrgb 44 w(Bar)p Black(\)]\))f(#-})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4926 25 92 v Black 0.95
TeXcolorgray -128 4926 4252 92 v Black 0.95 TeXcolorgray
4124 4926 25 92 v Black 0.95 TeXcolorgray Black -128
4898 a
SDict begin H.S end
-128 4898 a -128 4898 a
SDict begin 11 H.A end
-128 4898 a -128 4898
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-536.3) cvn H.B /DEST pdfmark end
-128 4898 a 135 w Fo(...)p 0 0 0 TeXcolorrgb 44 w(usual)p
Black 0 0 0 TeXcolorrgb 44 w(stuff)p Black 44 w(...)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5017 25
92 v Black 0.95 TeXcolorgray -128 5017 4252 92 v Black
0.95 TeXcolorgray 4124 5017 25 92 v Black 0.95 TeXcolorgray
Black -128 4990 a
SDict begin H.S end
-128 4990 a -128 4990 a
SDict begin 11 H.A end
-128 4990 a
-128 4990 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-536.4) cvn H.B /DEST pdfmark end
-128 4990 a 45 w Fo(})p 0.95 TeXcolorgray
-153 5042 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5216 a FA(The)20 b(pragma)f(must)h(occur)f(inside)h(the)h
Ft(where)f FA(part)f(of)h(the)h(instance)e(declaration.)-128
5366 y(Compatible)h(with)g(HBC,)h(by)f(the)g(w)o(ay)-5
b(,)20 b(e)o(xcept)f(perhaps)g(in)h(the)h(placement)d(of)i(the)h
(pragma.)p Black -128 6084 4252 5 v Black eop end
%%Page: 185 200
TeXDict begin 185 199 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.185) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(185)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.10) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.13.10)p
Black 89 w(UNP)-9 b(A)l(CK)24 b(pra)o(gma)-128 262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (unpack-pragma) cvn H.B /DEST pdfmark end
-128 262
a 114 x FA(The)16 b Ft(UNPACK)f FA(indicates)g(to)g(the)h(compiler)e
(that)i(it)g(should)f(unpack)e(the)j(contents)f(of)g(a)h(constructor)e
(\002eld)h(into)g(the)h(constructor)e(itself,)i(remo)o(ving)-128
476 y(a)21 b(le)n(v)o(el)f(of)g(indirection.)j(F)o(or)d(e)o(xample:)
-128 544 y
SDict begin H.S end
-128 544 a -128 544 a
SDict begin 12 H.A end
-128 544 a -128 544
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-537) cvn H.B /DEST pdfmark end
-128 544 a 0.95 TeXcolorgray -153 559 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 650 25 92 v Black 0.95 TeXcolorgray
-128 650 4252 92 v Black 0.95 TeXcolorgray 4124 650 25
92 v Black 0.95 TeXcolorgray Black -128 623 a
SDict begin H.S end
-128 623
a -128 623 a
SDict begin 11 H.A end
-128 623 a -128 623 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-537.1) cvn H.B /DEST pdfmark end
-128 623 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(T)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(T)p Black 45 w({-#)p 0 0 0 TeXcolorrgb
44 w(UNPACK)p Black 44 w(#-})44 b(!)p 0 0 0 TeXcolorrgb(Float)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
742 25 92 v Black 0.95 TeXcolorgray -128 742 4252 92
v Black 0.95 TeXcolorgray 4124 742 25 92 v Black 0.95
TeXcolorgray Black -128 714 a
SDict begin H.S end
-128 714 a -128 714 a
SDict begin 11 H.A end
-128
714 a -128 714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-537.2) cvn H.B /DEST pdfmark end
-128 714 a 494 w Fo({-#)p 0 0 0 TeXcolorrgb
44 w(UNPACK)p Black 44 w(#-})g(!)p 0 0 0 TeXcolorrgb(Float)p
Black 0.95 TeXcolorgray -153 766 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 941 a FA(will)31
b(create)f(a)h(constructor)d Ft(T)i FA(containing)f(tw)o(o)h(unbox)o
(ed)d(\003oats.)56 b(This)30 b(may)f(not)h(al)o(w)o(ays)h(be)f(an)g
(optimisation:)44 b(if)30 b(the)g Ft(T)h FA(constructor)d(is)-128
1040 y(scrutinised)20 b(and)g(the)h(\003oats)g(passed)f(to)h(a)g
(non-strict)e(function)g(for)h(e)o(xample,)f(the)o(y)g(will)j(ha)n(v)o
(e)d(to)i(be)g(rebox)o(ed)d(\(this)i(is)i(done)d(automatically)g(by)
-128 1140 y(the)i(compiler\).)-128 1289 y(Unpacking)h(constructor)g
(\002elds)i(should)f(only)f(be)i(used)f(in)h(conjunction)e(with)h
Ft(-O)p FA(,)h(in)g(order)e(to)i(e)o(xpose)f(unfoldings)e(to)j(the)g
(compiler)e(so)i(the)-128 1389 y(reboxing)18 b(can)i(be)g(remo)o(v)o
(ed)e(as)j(often)e(as)i(possible.)k(F)o(or)20 b(e)o(xample:)-128
1457 y
SDict begin H.S end
-128 1457 a -128 1457 a
SDict begin 12 H.A end
-128 1457 a -128 1457
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-538) cvn H.B /DEST pdfmark end
-128 1457 a 0.95 TeXcolorgray -153 1472 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1563 25 92 v Black 0.95 TeXcolorgray
-128 1563 4252 92 v Black 0.95 TeXcolorgray 4124 1563
25 92 v Black 0.95 TeXcolorgray Black -128 1536 a
SDict begin H.S end
-128
1536 a -128 1536 a
SDict begin 11 H.A end
-128 1536 a -128 1536 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-538.1) cvn H.B /DEST pdfmark end
-128 1536
a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(::)p 0 0 0 TeXcolorrgb
45 w(T)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Float)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1655 25 92 v Black 0.95 TeXcolorgray -128 1655 4252 92
v Black 0.95 TeXcolorgray 4124 1655 25 92 v Black 0.95
TeXcolorgray Black -128 1627 a
SDict begin H.S end
-128 1627 a -128 1627
a
SDict begin 11 H.A end
-128 1627 a -128 1627 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-538.2) cvn H.B /DEST pdfmark end
-128 1627 a 0 0 0 TeXcolorrgb
Fo(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb(T)p Black 0 0 0
TeXcolorrgb 45 w(f1)p Black 0 0 0 TeXcolorrgb 44 w(f2)p
Black(\))44 b(=)p 0 0 0 TeXcolorrgb 45 w(f1)p Black 45
w(+)p 0 0 0 TeXcolorrgb 44 w(f2)p Black 0.95 TeXcolorgray
-153 1680 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1854 a FA(The)20 b(compiler)f(will)i(a)n(v)n(oid)f(reboxing)
e Ft(f1)i FA(and)g Ft(f2)g FA(by)g(inlining)f Ft(+)i
FA(on)f(\003oats,)g(b)n(ut)g(only)g(when)f Ft(-O)i FA(is)g(on.)-128
2003 y(An)o(y)f(single-constructor)d(data)j(is)h(eligible)f(for)g
(unpacking;)d(for)j(e)o(xample)-128 2071 y
SDict begin H.S end
-128 2071
a -128 2071 a
SDict begin 12 H.A end
-128 2071 a -128 2071 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-539) cvn H.B /DEST pdfmark end
-128 2071 a 0.95
TeXcolorgray -153 2086 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2178 25 92 v Black 0.95 TeXcolorgray -128 2178 4252 92
v Black 0.95 TeXcolorgray 4124 2178 25 92 v Black 0.95
TeXcolorgray Black -128 2150 a
SDict begin H.S end
-128 2150 a -128 2150
a
SDict begin 11 H.A end
-128 2150 a -128 2150 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-539.1) cvn H.B /DEST pdfmark end
-128 2150 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(T)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(T)p Black 45 w({-#)p 0 0 0 TeXcolorrgb
44 w(UNPACK)p Black 44 w(#-})44 b(!\()p 0 0 0 TeXcolorrgb(Int)p
Black -1 w(,)p 0 0 0 TeXcolorrgb(Int)p Black(\))p 0.95
TeXcolorgray -153 2203 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 2377 a FA(will)21 b(store)g(the)f(tw)o(o)g
Ft(Int)p FA(s)h(directly)e(in)h(the)h Ft(T)f FA(constructor)m(,)e(by)i
(\003attening)f(the)h(pair)-5 b(.)25 b(Multi-le)n(v)o(el)19
b(unpacking)f(is)j(also)g(supported:)-128 2445 y
SDict begin H.S end
-128
2445 a -128 2445 a
SDict begin 12 H.A end
-128 2445 a -128 2445 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-540) cvn H.B /DEST pdfmark end
-128 2445
a 0.95 TeXcolorgray -153 2460 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2551 25 92 v Black 0.95 TeXcolorgray -128 2551 4252 92
v Black 0.95 TeXcolorgray 4124 2551 25 92 v Black 0.95
TeXcolorgray Black -128 2524 a
SDict begin H.S end
-128 2524 a -128 2524
a
SDict begin 11 H.A end
-128 2524 a -128 2524 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-540.1) cvn H.B /DEST pdfmark end
-128 2524 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(T)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(T)p Black 45 w({-#)p 0 0 0 TeXcolorrgb
44 w(UNPACK)p Black 44 w(#-})44 b(!)p 0 0 0 TeXcolorrgb(S)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2643 25 92 v Black 0.95 TeXcolorgray -128 2643 4252 92
v Black 0.95 TeXcolorgray 4124 2643 25 92 v Black 0.95
TeXcolorgray Black -128 2615 a
SDict begin H.S end
-128 2615 a -128 2615
a
SDict begin 11 H.A end
-128 2615 a -128 2615 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-540.2) cvn H.B /DEST pdfmark end
-128 2615 a 0 0 0 TeXcolorrgb
Fo(data)p Black 0 0 0 TeXcolorrgb 45 w(S)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(S)p Black 45 w({-#)p 0 0 0 TeXcolorrgb
44 w(UNPACK)p Black 44 w(#-})g(!)p 0 0 0 TeXcolorrgb(Int)p
Black 44 w({-#)p 0 0 0 TeXcolorrgb 45 w(UNPACK)p Black
43 w(#-})h(!)p 0 0 0 TeXcolorrgb(Int)p Black 0.95 TeXcolorgray
-153 2668 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2842 a FA(will)21 b(store)g(tw)o(o)f(unbox)o(ed)d
Ft(Int#)p FA(s)k(directly)e(in)h(the)h Ft(T)f FA(constructor)-5
b(.)24 b(The)c(unpack)o(er)e(can)i(see)g(through)f(ne)n(wtypes,)g(too.)
-128 2991 y(If)h(a)g(\002eld)h(cannot)d(be)i(unpack)o(ed,)e(you)h(will)
h(not)g(get)g(a)g(w)o(arning,)e(so)j(it)f(might)g(be)f(an)h(idea)g(to)g
(check)f(the)h(generated)e(code)h(with)h Ft(-ddump-si-)-128
3091 y(mpl)p FA(.)-128 3241 y(See)k(also)f(the)f Ft
(-funbox-strict-fields)d FA(\003ag,)24 b(which)e(essentially)g(has)h
(the)g(ef)n(fect)f(of)g(adding)g Ft({-#)49 b(UNPACK)g(#-})22
b FA(to)h(e)n(v)o(ery)e(strict)-128 3340 y(constructor)e(\002eld.)-128
3457 y
SDict begin H.S end
-128 3457 a -128 3457 a
SDict begin 12 H.A end
-128 3457 a -128 3457
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.13.11) cvn H.B /DEST pdfmark end
-128 3457 a Black 165 x Fp(7.13.11)p Black 89 w(SOURCE)24
b(pra)o(gma)-128 3711 y
SDict begin H.S end
-128 3711 a -128 3711 a
SDict begin 12 H.A end
-128
3711 a -128 3711 a
SDict begin [ /View [/XYZ H.V] /Dest (source-pragma) cvn H.B /DEST pdfmark end
-128 3711 a 114 x FA(The)29 b Ft({-#)50
b(SOURCE)e(#-})30 b FA(pragma)e(is)i(used)f(only)g(in)g
Ft(import)g FA(declarations,)h(to)g(break)e(a)i(module)e(loop.)52
b(It)29 b(is)i(described)d(in)h(detail)h(in)-128 3925
y(Section)p 1 0 0 TeXcolorrgb 142 3927 a
SDict begin H.S end
142 3927 a 1 0 0
TeXcolorrgb -2 x FA(4.6.9)p 1 0 0 TeXcolorrgb 308 3869
a
SDict begin H.R end
308 3869 a 308 3925 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.9) cvn H.B /ANN pdfmark end
308 3925 a Black FA(.)-128 4052
y
SDict begin H.S end
-128 4052 a -128 4052 a
SDict begin 12 H.A end
-128 4052 a -128 4052 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.14) cvn H.B /DEST pdfmark end
-128
4052 a Black 197 x Fs(7.14)p Black 107 w(Re)n(write)f(rules)-128
4376 y
SDict begin H.S end
-128 4376 a -128 4376 a
SDict begin 12 H.A end
-128 4376 a -128 4376
a
SDict begin [ /View [/XYZ H.V] /Dest (rewrite-rules) cvn H.B /DEST pdfmark end
-128 4376 a 115 x FA(The)20 b(programmer)d(can)j(specify)g(re)n
(write)g(rules)g(as)h(part)f(of)g(the)g(source)f(program)f(\(in)i(a)h
(pragma\).)i(Here)d(is)h(an)f(e)o(xample:)-128 4559 y
SDict begin H.S end
-128 4559 a -128 4559 a
SDict begin 12 H.A end
-128 4559 a -128 4559 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-541) cvn H.B /DEST pdfmark end
-128
4559 a 0.95 TeXcolorgray -153 4574 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4665 25 92 v Black 0.95 TeXcolorgray -128 4665 4252
92 v Black 0.95 TeXcolorgray 4124 4665 25 92 v Black
0.95 TeXcolorgray Black -128 4638 a
SDict begin H.S end
-128 4638 a -128
4638 a
SDict begin 11 H.A end
-128 4638 a -128 4638 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-541.1) cvn H.B /DEST pdfmark end
-128 4638 a 90 w Fo({-#)p
0 0 0 TeXcolorrgb 44 w(RULES)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4756 25 92 v Black 0.95
TeXcolorgray -128 4756 4252 92 v Black 0.95 TeXcolorgray
4124 4756 25 92 v Black 0.95 TeXcolorgray Black -128
4729 a
SDict begin H.S end
-128 4729 a -128 4729 a
SDict begin 11 H.A end
-128 4729 a -128 4729
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-541.2) cvn H.B /DEST pdfmark end
-128 4729 a 90 w Fo(")p 0 0 0 TeXcolorrgb(map)p Black
-1 w(/)p 0 0 0 TeXcolorrgb(map)p Black(")p 0 0 0 TeXcolorrgb
179 w(forall)p Black 0 0 0 TeXcolorrgb 44 w(f)p Black
0 0 0 TeXcolorrgb 44 w(g)p Black 0 0 0 TeXcolorrgb 45
w(xs)p Black(.)p 0 0 0 TeXcolorrgb 89 w(map)p Black 0 0 0
TeXcolorrgb 45 w(f)p Black 44 w(\()p 0 0 0 TeXcolorrgb(map)p
Black 0 0 0 TeXcolorrgb 44 w(g)p Black 0 0 0 TeXcolorrgb
45 w(xs)p Black(\))44 b(=)p 0 0 0 TeXcolorrgb 45 w(map)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(f)p Black(.)p 0 0 0
TeXcolorrgb(g)p Black(\))p 0 0 0 TeXcolorrgb 44 w(xs)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4848 25 92 v Black 0.95 TeXcolorgray -128 4848 4252 92
v Black 0.95 TeXcolorgray 4124 4848 25 92 v Black 0.95
TeXcolorgray Black -128 4820 a
SDict begin H.S end
-128 4820 a -128 4820
a
SDict begin 11 H.A end
-128 4820 a -128 4820 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-541.3) cvn H.B /DEST pdfmark end
-128 4820 a 180 w Fo(#-})p
0.95 TeXcolorgray -153 4873 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 5047 a FA(Use)23 b(the)f(deb)n(ug)f(\003ag)i
Ft(-ddump-simpl-stats)c FA(to)j(see)h(what)f(rules)g(\002red.)30
b(If)22 b(you)g(need)f(more)g(information,)f(then)i Ft(-ddump-rule-f-)
-128 5147 y(irings)e FA(sho)n(ws)g(you)g(each)f(indi)n(vidual)g(rule)h
(\002ring)f(in)i(detail.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 186 201
TeXDict begin 186 200 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.186) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(186)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.14.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.14.1)p
Black 89 w(Syntax)-128 376 y FA(From)g(a)h(syntactic)f(point)f(of)h
(vie)n(w:)p Black -128 592 a(\225)p Black 42 w(There)f(may)h(be)g(zero)
g(or)g(more)f(rules)h(in)h(a)f Ft(RULES)g FA(pragma,)f(separated)g(by)h
(semicolons)f(\(which)g(may)h(be)g(generated)f(by)g(the)i(layout)e
(rule\).)p Black -128 758 a(\225)p Black 42 w(The)26
b(layout)f(rule)g(applies)h(in)g(a)g(pragma.)41 b(Currently)25
b(no)g(ne)n(w)h(indentation)e(le)n(v)o(el)i(is)h(set,)h(so)e(if)g(you)f
(put)h(se)n(v)o(eral)f(rules)h(in)g(single)g(R)m(ULES)-57
858 y(pragma)19 b(and)g(wish)i(to)f(use)h(layout)e(to)h(separate)g
(them,)g(you)f(must)h(lay)g(out)g(the)g(starting)g(in)h(the)f(same)g
(column)f(as)i(the)f(enclosing)f(de\002nitions.)-128
926 y
SDict begin H.S end
-128 926 a -128 926 a
SDict begin 12 H.A end
-128 926 a -128 926 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-542) cvn H.B /DEST pdfmark end
-128
926 a 0.95 TeXcolorgray -82 941 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1032 25 92 v Black 0.95 TeXcolorgray -57 1032 4182
92 v Black 0.95 TeXcolorgray 4124 1032 25 92 v Black
0.95 TeXcolorgray Black -57 1005 a
SDict begin H.S end
-57 1005 a -57 1005
a
SDict begin 11 H.A end
-57 1005 a -57 1005 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-542.1) cvn H.B /DEST pdfmark end
-57 1005 a 90 w Fo({-#)p 0 0 0
TeXcolorrgb 44 w(RULES)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 1123 25 92 v Black 0.95 TeXcolorgray
-57 1123 4182 92 v Black 0.95 TeXcolorgray 4124 1123
25 92 v Black 0.95 TeXcolorgray Black -57 1096 a
SDict begin H.S end
-57
1096 a -57 1096 a
SDict begin 11 H.A end
-57 1096 a -57 1096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-542.2) cvn H.B /DEST pdfmark end
-57 1096 a 90
w Fo(")p 0 0 0 TeXcolorrgb(map)p Black -1 w(/)p 0 0 0
TeXcolorrgb(map)p Black -1 w(")p 0 0 0 TeXcolorrgb 179
w(forall)p Black 0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0
TeXcolorrgb 45 w(g)p Black 0 0 0 TeXcolorrgb 45 w(xs)p
Black -1 w(.)p 0 0 0 TeXcolorrgb 90 w(map)p Black 0 0 0
TeXcolorrgb 44 w(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb(map)p
Black 0 0 0 TeXcolorrgb 44 w(g)p Black 0 0 0 TeXcolorrgb
45 w(xs)p Black -1 w(\))45 b(=)p 0 0 0 TeXcolorrgb 45
w(map)p Black 44 w(\()p 0 0 0 TeXcolorrgb(f)p Black(.)p
0 0 0 TeXcolorrgb -1 w(g)p Black(\))p 0 0 0 TeXcolorrgb
45 w(xs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1215 25 92 v Black 0.95 TeXcolorgray -57 1215 4182
92 v Black 0.95 TeXcolorgray 4124 1215 25 92 v Black
0.95 TeXcolorgray Black -57 1187 a
SDict begin H.S end
-57 1187 a -57 1187
a
SDict begin 11 H.A end
-57 1187 a -57 1187 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-542.3) cvn H.B /DEST pdfmark end
-57 1187 a 90 w Fo(")p 0 0 0
TeXcolorrgb(map)p Black -1 w(/)p 0 0 0 TeXcolorrgb(append)p
Black -1 w(")p 0 0 0 TeXcolorrgb 44 w(forall)p Black
0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb 45
w(xs)p Black 0 0 0 TeXcolorrgb 44 w(ys)p Black(.)p 0 0 0
TeXcolorrgb 45 w(map)p Black 0 0 0 TeXcolorrgb 44 w(f)p
Black 45 w(\()p 0 0 0 TeXcolorrgb(xs)p Black 44 w(++)p
0 0 0 TeXcolorrgb 45 w(ys)p Black -1 w(\))g(=)p 0 0 0
TeXcolorrgb 45 w(map)p Black 0 0 0 TeXcolorrgb 44 w(f)p
Black 0 0 0 TeXcolorrgb 45 w(xs)p Black 44 w(++)p 0 0 0
TeXcolorrgb 45 w(map)p Black 0 0 0 TeXcolorrgb 44 w(f)p
Black 0 0 0 TeXcolorrgb 45 w(ys)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 1306 25 92 v Black 0.95 TeXcolorgray
-57 1306 4182 92 v Black 0.95 TeXcolorgray 4124 1306
25 92 v Black 0.95 TeXcolorgray Black -57 1279 a
SDict begin H.S end
-57
1279 a -57 1279 a
SDict begin 11 H.A end
-57 1279 a -57 1279 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-542.4) cvn H.B /DEST pdfmark end
-57 1279 a 179
w Fo(#-})p 0.95 TeXcolorgray -82 1331 4232 25 v Black
0.95 TeXcolorgray Black Black Black -57 1489 a FA(Furthermore,)18
b(the)i(closing)f Ft(#-})i FA(should)e(start)h(in)h(a)f(column)f(to)i
(the)f(right)f(of)h(the)g(opening)f Ft({-#)p FA(.)p Black
-128 1655 a(\225)p Black 42 w(Each)f(rule)h(has)g(a)g(name,)g(enclosed)
f(in)h(double)e(quotes.)24 b(The)19 b(name)f(itself)h(has)h(no)e
(signi\002cance)g(at)i(all.)25 b(It)19 b(is)h(only)e(used)g(when)h
(reporting)e(ho)n(w)-57 1754 y(man)o(y)i(times)i(the)f(rule)g(\002red.)
p Black -128 1920 a(\225)p Black 42 w(A)h(rule)f(may)f(optionally)g(ha)
n(v)o(e)g(a)i(phase-control)d(number)g(\(see)i(Section)p
1 0 0 TeXcolorrgb 2098 1921 a
SDict begin H.S end
2098 1921 a 1 0 0 TeXcolorrgb
-1 x FA(7.13.5.3)p 1 0 0 TeXcolorrgb 2368 1864 a
SDict begin H.R end
2368
1864 a 2368 1920 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.7.13.5.3) cvn H.B /ANN pdfmark end
2368 1920 a Black FA(\),)g(immediately)f(after)h
(the)g(name)g(of)g(the)g(rule.)k(Thus:)-128 1988 y
SDict begin H.S end
-128
1988 a -128 1988 a
SDict begin 12 H.A end
-128 1988 a -128 1988 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-543) cvn H.B /DEST pdfmark end
-128 1988
a 0.95 TeXcolorgray -82 2003 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2095
25 92 v Black 0.95 TeXcolorgray -57 2095 4182 92 v Black
0.95 TeXcolorgray 4124 2095 25 92 v Black 0.95 TeXcolorgray
Black -57 2067 a
SDict begin H.S end
-57 2067 a -57 2067 a
SDict begin 11 H.A end
-57 2067 a -57
2067 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-543.1) cvn H.B /DEST pdfmark end
-57 2067 a 90 w Fo({-#)p 0 0 0 TeXcolorrgb 44
w(RULES)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2186 25 92 v Black 0.95 TeXcolorgray -57 2186 4182
92 v Black 0.95 TeXcolorgray 4124 2186 25 92 v Black
0.95 TeXcolorgray Black -57 2159 a
SDict begin H.S end
-57 2159 a -57 2159
a
SDict begin 11 H.A end
-57 2159 a -57 2159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-543.2) cvn H.B /DEST pdfmark end
-57 2159 a 359 w Fo(")p 0 0 0
TeXcolorrgb(map)p Black -1 w(/)p 0 0 0 TeXcolorrgb(map)p
Black -1 w(")45 b([2])p 0 0 0 TeXcolorrgb 89 w(forall)p
Black 0 0 0 TeXcolorrgb 44 w(f)p Black 0 0 0 TeXcolorrgb
45 w(g)p Black 0 0 0 TeXcolorrgb 44 w(xs)p Black(.)p
0 0 0 TeXcolorrgb 45 w(map)p Black 0 0 0 TeXcolorrgb
44 w(f)p Black 45 w(\()p 0 0 0 TeXcolorrgb -1 w(map)p
Black 0 0 0 TeXcolorrgb 45 w(g)p Black 0 0 0 TeXcolorrgb
44 w(xs)p Black(\))g(=)p 0 0 0 TeXcolorrgb 44 w(map)p
Black 45 w(\()p 0 0 0 TeXcolorrgb(f)p Black -1 w(.)p
0 0 0 TeXcolorrgb(g)p Black(\))p 0 0 0 TeXcolorrgb 45
w(xs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2277 25 92 v Black 0.95 TeXcolorgray -57 2277 4182
92 v Black 0.95 TeXcolorgray 4124 2277 25 92 v Black
0.95 TeXcolorgray Black -57 2250 a
SDict begin H.S end
-57 2250 a -57 2250
a
SDict begin 11 H.A end
-57 2250 a -57 2250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-543.3) cvn H.B /DEST pdfmark end
-57 2250 a 179 w Fo(#-})p 0.95
TeXcolorgray -82 2302 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 2460 a FA(The)18 b("[2]")g(means)g(that)h(the)f
(rule)g(is)i(acti)n(v)o(e)e(in)h(Phase)f(2)h(and)f(subsequent)f
(phases.)24 b(The)18 b(in)m(v)o(erse)g(notation)f("[~2]")h(is)h(also)g
(accepted,)e(meaning)-57 2560 y(that)j(the)h(rule)e(is)i(acti)n(v)o(e)f
(up)g(to,)g(b)n(ut)g(not)g(including,)e(Phase)j(2.)p
Black -128 2726 a(\225)p Black 42 w(Each)g(v)n(ariable)f(mentioned)f
(in)i(a)g(rule)g(must)g(either)g(be)g(in)g(scope)g(\(e.g.)26
b Ft(map)p FA(\),)21 b(or)g(bound)e(by)i(the)g Ft(forall)f
FA(\(e.g.)27 b Ft(f)p FA(,)21 b Ft(g)p FA(,)h Ft(xs)p
FA(\).)27 b(The)21 b(v)n(ariables)-57 2825 y(bound)d(by)i(the)g
Ft(forall)g FA(are)g(called)g(the)g Fq(pattern)g FA(v)n(ariables.)k
(The)o(y)19 b(are)h(separated)f(by)h(spaces,)g(just)h(lik)o(e)g(in)f(a)
h(type)e Ft(forall)p FA(.)p Black -128 2991 a(\225)p
Black 42 w(A)j(pattern)e(v)n(ariable)g(may)g(optionally)g(ha)n(v)o(e)g
(a)h(type)g(signature.)26 b(If)21 b(the)g(type)g(of)g(the)g(pattern)f
(v)n(ariable)g(is)i(polymorphic,)c(it)k Fq(must)h FA(ha)n(v)o(e)d(a)h
(type)-57 3091 y(signature.)j(F)o(or)c(e)o(xample,)e(here)i(is)h(the)f
Ft(foldr/build)f FA(rule:)-128 3159 y
SDict begin H.S end
-128 3159 a -128
3159 a
SDict begin 12 H.A end
-128 3159 a -128 3159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-544) cvn H.B /DEST pdfmark end
-128 3159 a 0.95 TeXcolorgray
-82 3174 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3265 25 92 v
Black 0.95 TeXcolorgray -57 3265 4182 92 v Black 0.95
TeXcolorgray 4124 3265 25 92 v Black 0.95 TeXcolorgray
Black -57 3238 a
SDict begin H.S end
-57 3238 a -57 3238 a
SDict begin 11 H.A end
-57 3238 a -57
3238 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-544.1) cvn H.B /DEST pdfmark end
-57 3238 a Fo(")p 0 0 0 TeXcolorrgb(fold)p Black
-1 w(/)p 0 0 0 TeXcolorrgb(build)p Black -1 w(")p 0 0 0
TeXcolorrgb 90 w(forall)p Black 0 0 0 TeXcolorrgb 43
w(k)p Black 0 0 0 TeXcolorrgb 45 w(z)p Black 45 w(\()p
0 0 0 TeXcolorrgb(g)p Black -1 w(::)p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 44 w(b)p Black(.)44 b(\()p 0 0 0
TeXcolorrgb(a)p Black(->)p 0 0 0 TeXcolorrgb(b)p Black(->)p
0 0 0 TeXcolorrgb -1 w(b)p Black(\))h(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black(\))g(.)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3357 25
92 v Black 0.95 TeXcolorgray -57 3357 4182 92 v Black
0.95 TeXcolorgray 4124 3357 25 92 v Black 0.95 TeXcolorgray
Black -57 3329 a
SDict begin H.S end
-57 3329 a -57 3329 a
SDict begin 11 H.A end
-57 3329 a -57
3329 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-544.2) cvn H.B /DEST pdfmark end
-57 3329 a 0 0 0 TeXcolorrgb 628 w Fo(foldr)p
Black 0 0 0 TeXcolorrgb 44 w(k)p Black 0 0 0 TeXcolorrgb
44 w(z)p Black 45 w(\()p 0 0 0 TeXcolorrgb(build)p Black
0 0 0 TeXcolorrgb 44 w(g)p Black(\))f(=)p 0 0 0 TeXcolorrgb
45 w(g)p Black 0 0 0 TeXcolorrgb 45 w(k)p Black 0 0 0
TeXcolorrgb 44 w(z)p Black 0.95 TeXcolorgray -82 3382
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
3539 a FA(Since)20 b Ft(g)h FA(has)f(a)h(polymorphic)c(type,)i(it)i
(must)g(ha)n(v)o(e)e(a)i(type)e(signature.)p Black -128
3705 a(\225)p Black 42 w(The)h(left)g(hand)f(side)i(of)f(a)g(rule)g
(must)h(consist)f(of)g(a)g(top-le)n(v)o(el)f(v)n(ariable)g(applied)g
(to)i(arbitrary)d(e)o(xpressions.)24 b(F)o(or)c(e)o(xample,)e(this)j
(is)g Fq(not)g FA(OK:)-128 3773 y
SDict begin H.S end
-128 3773 a -128 3773
a
SDict begin 12 H.A end
-128 3773 a -128 3773 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-545) cvn H.B /DEST pdfmark end
-128 3773 a 0.95 TeXcolorgray
-82 3788 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3880 25 92 v
Black 0.95 TeXcolorgray -57 3880 4182 92 v Black 0.95
TeXcolorgray 4124 3880 25 92 v Black 0.95 TeXcolorgray
Black -57 3852 a
SDict begin H.S end
-57 3852 a -57 3852 a
SDict begin 11 H.A end
-57 3852 a -57
3852 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-545.1) cvn H.B /DEST pdfmark end
-57 3852 a Fo(")p 0 0 0 TeXcolorrgb(wrong1)p Black
-1 w(")p 0 0 0 TeXcolorrgb 134 w(forall)p Black 0 0 0
TeXcolorrgb 44 w(e1)p Black 0 0 0 TeXcolorrgb 44 w(e2)p
Black(.)p 0 0 0 TeXcolorrgb 90 w(case)p Black 0 0 0 TeXcolorrgb
44 w(True)p Black 0 0 0 TeXcolorrgb 44 w(of)p Black 44
w({)p 0 0 0 TeXcolorrgb 45 w(True)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(e1)p Black -1 w(;)p 0 0 0 TeXcolorrgb
45 w(False)p Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(e2)p
Black 44 w(})45 b(=)p 0 0 0 TeXcolorrgb 44 w(e1)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3971 25
92 v Black 0.95 TeXcolorgray -57 3971 4182 92 v Black
0.95 TeXcolorgray 4124 3971 25 92 v Black 0.95 TeXcolorgray
Black -57 3944 a
SDict begin H.S end
-57 3944 a -57 3944 a
SDict begin 11 H.A end
-57 3944 a -57
3944 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-545.2) cvn H.B /DEST pdfmark end
-57 3944 a Fo(")p 0 0 0 TeXcolorrgb(wrong2)p Black
-1 w(")p 0 0 0 TeXcolorrgb 134 w(forall)p Black 0 0 0
TeXcolorrgb 44 w(f)p Black(.)p 0 0 0 TeXcolorrgb 269
w(f)p Black 0 0 0 TeXcolorrgb 44 w(True)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(True)p Black 0.95 TeXcolorgray
-82 3996 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 4154 a FA(In)20 b Ft("wrong1")p FA(,)f(the)h(LHS)h(is)g(not)f
(an)g(application;)f(in)h Ft("wrong2")p FA(,)f(the)h(LHS)h(has)f(a)h
(pattern)e(v)n(ariable)g(in)i(the)f(head.)p Black -128
4320 a(\225)p Black 42 w(A)g(rule)g(does)g(not)f(need)h(to)g(be)g(in)g
(the)g(same)g(module)f(as)h(\(an)o(y)f(of\))g(the)h(v)n(ariables)f(it)i
(mentions,)e(though)f(of)i(course)f(the)o(y)g(need)g(to)i(be)e(in)i
(scope.)p Black -128 4486 a(\225)p Black 42 w(All)d(rules)g(are)f
(implicitly)g(e)o(xported)f(from)g(the)i(module,)e(and)h(are)h
(therefore)e(in)i(force)e(in)i(an)o(y)f(module)f(that)i(imports)e(the)i
(module)e(that)i(de\002ned)-57 4585 y(the)k(rule,)h(directly)e(or)i
(indirectly)-5 b(.)30 b(\(That)21 b(is,)j(if)f(A)g(imports)e(B,)i
(which)f(imports)g(C,)h(then)f(C')-5 b(s)24 b(rules)e(are)g(in)h(force)
e(when)h(compiling)f(A.\))h(The)-57 4685 y(situation)e(is)h(v)o(ery)e
(similar)h(to)h(that)f(for)g(instance)f(declarations.)p
Black -128 4851 a(\225)p Black 42 w(Inside)27 b(a)i(R)m(ULE)f(")p
Ft(forall)p FA(")f(is)i(treated)e(as)i(a)g(k)o(e)o(yw)o(ord,)e(re)o
(gardless)g(of)h(an)o(y)f(other)g(\003ag)h(settings.)49
b(Furthermore,)27 b(inside)h(a)g(R)m(ULE,)g(the)-57 4951
y(language)18 b(e)o(xtension)h Ft(-XScopedTypeVariables)e
FA(is)k(automatically)e(enabled;)g(see)i(Section)p 1 0 0
TeXcolorrgb 2916 4952 a
SDict begin H.S end
2916 4952 a 1 0 0 TeXcolorrgb
-1 x FA(7.8.6)p 1 0 0 TeXcolorrgb 3082 4894 a
SDict begin H.R end
3082 4894
a 3082 4951 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.8.6) cvn H.B /ANN pdfmark end
3082 4951 a Black FA(.)p Black -128 5117
a(\225)p Black 42 w(Lik)o(e)h(other)g(pragmas,)g(R)m(ULE)g(pragmas)g
(are)g(al)o(w)o(ays)h(check)o(ed)e(for)h(scope)g(errors,)g(and)g(are)h
(typecheck)o(ed.)29 b(T)-7 b(ypechecking)20 b(means)i(that)h(the)-57
5216 y(LHS)e(and)g(RHS)h(of)e(a)i(rule)e(are)h(typecheck)o(ed,)e(and)h
(must)h(ha)n(v)o(e)g(the)g(same)g(type.)26 b(Ho)n(we)n(v)o(er)m(,)20
b(rules)g(are)h(only)f Fq(enabled)i FA(if)f(the)g Ft(-fenable--)-57
5316 y(rewrite-rules)d FA(\003ag)j(is)g(on)f(\(see)g(Section)p
1 0 0 TeXcolorrgb 1361 5317 a
SDict begin H.S end
1361 5317 a 1 0 0 TeXcolorrgb
-1 x FA(7.14.2)p 1 0 0 TeXcolorrgb 1568 5260 a
SDict begin H.R end
1568 5260
a 1568 5316 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.14.2) cvn H.B /ANN pdfmark end
1568 5316 a Black FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 187 202
TeXDict begin 187 201 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.187) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(187)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.14.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.14.2)p
Black 89 w(Semantics)-128 262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (rule-semantics) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(From)g(a)h(semantic)f(point)f
(of)h(vie)n(w:)p Black -128 590 a(\225)p Black 42 w(Rules)i(are)g
(enabled)e(\(that)h(is,)h(used)g(during)d(optimisation\))h(by)h(the)h
Ft(-fenable-rewrite-rules)c FA(\003ag.)29 b(This)21 b(\003ag)h(is)g
(implied)f(by)g Ft(-O)p FA(,)-57 689 y(and)g(may)g(be)h(switched)g(of)n
(f)f(\(as)h(usual\))f(by)g Ft(-fno-enable-rewrite-rules)p
FA(.)26 b(\(NB:)c(enabling)f Ft(-fenable-rewrite-rules)-57
789 y FA(without)i Ft(-O)h FA(may)g(not)f(do)h(what)g(you)f(e)o(xpect,)
g(though,)g(because)g(without)g Ft(-O)i FA(GHC)f(ignores)f(all)i
(optimisation)d(information)g(in)i(interf)o(ace)-57 888
y(\002les;)d(see)e Ft(-fignore-interface-pragmas)p FA(,)c(Section)p
1 0 0 TeXcolorrgb 1855 890 a
SDict begin H.S end
1855 890 a 1 0 0 TeXcolorrgb
-2 x FA(4.9.2)p 1 0 0 TeXcolorrgb 2021 832 a
SDict begin H.R end
2021 832
a 2021 888 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.9.2) cvn H.B /ANN pdfmark end
2021 888 a Black FA(.\))25 b(Note)19 b(that)g
Ft(-fenable-rewrite-rules)d FA(is)k(an)f Fq(optimisation)-57
988 y FA(\003ag,)h(and)g(has)g(no)g(ef)n(fect)g(on)f(parsing)g(or)h
(typechecking.)p Black -128 1153 a(\225)p Black 42 w(Rules)h(are)g(re)o
(garded)d(as)k(left-to-right)c(re)n(write)j(rules.)26
b(When)21 b(GHC)g(\002nds)g(an)g(e)o(xpression)e(that)i(is)g(a)h
(substitution)d(instance)i(of)f(the)h(LHS)g(of)g(a)-57
1253 y(rule,)e(it)i(replaces)f(the)g(e)o(xpression)e(by)i(the)g
(\(appropriately-substituted\))15 b(RHS.)21 b(By)f("a)g(substitution)f
(instance")h(we)g(mean)g(that)g(the)g(LHS)g(can)-57 1353
y(be)g(made)g(equal)f(to)i(the)f(e)o(xpression)e(by)i(substituting)g
(for)f(the)h(pattern)g(v)n(ariables.)p Black -128 1518
a(\225)p Black 42 w(GHC)25 b(mak)o(es)f(absolutely)f(no)g(attempt)h(to)
g(v)o(erify)f(that)h(the)g(LHS)h(and)e(RHS)i(of)f(a)h(rule)e(ha)n(v)o
(e)h(the)g(same)g(meaning.)35 b(That)24 b(is)h(undecidable)d(in)-57
1618 y(general,)d(and)g(infeasible)h(in)g(most)h(interesting)e(cases.)
26 b(The)19 b(responsibility)g(is)i(entirely)f(the)g(programmer')-5
b(s!)p Black -128 1783 a(\225)p Black 42 w(GHC)21 b(mak)o(es)f(no)g
(attempt)g(to)g(mak)o(e)g(sure)g(that)g(the)g(rules)g(are)h
(con\003uent)d(or)i(terminating.)k(F)o(or)19 b(e)o(xample:)-128
1850 y
SDict begin H.S end
-128 1850 a -128 1850 a
SDict begin 12 H.A end
-128 1850 a -128 1850
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-546) cvn H.B /DEST pdfmark end
-128 1850 a 0.95 TeXcolorgray -82 1866 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 1957 25 92 v Black 0.95 TeXcolorgray
-57 1957 4182 92 v Black 0.95 TeXcolorgray 4124 1957
25 92 v Black 0.95 TeXcolorgray Black -57 1929 a
SDict begin H.S end
-57
1929 a -57 1929 a
SDict begin 11 H.A end
-57 1929 a -57 1929 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-546.1) cvn H.B /DEST pdfmark end
-57 1929 a 90
w Fo(")p 0 0 0 TeXcolorrgb(loop)p Black -1 w(")p 0 0 0
TeXcolorrgb 358 w(forall)p Black 0 0 0 TeXcolorrgb 44
w(x)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black(.)p 0 0 0
TeXcolorrgb 89 w(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p
Black 0 0 0 TeXcolorrgb 44 w(y)p Black 45 w(=)p 0 0 0
TeXcolorrgb 45 w(f)p Black 0 0 0 TeXcolorrgb 44 w(y)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 0.95 TeXcolorgray
-82 1982 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 2139 a FA(This)h(rule)g(will)h(cause)f(the)h(compiler)d(to)j
(go)f(into)f(an)i(in\002nite)f(loop.)p Black -128 2304
a(\225)p Black 42 w(If)g(more)f(than)h(one)g(rule)g(matches)f(a)i
(call,)f(GHC)h(will)g(choose)f(one)f(arbitrarily)g(to)h(apply)-5
b(.)p Black -128 2469 a(\225)p Black 42 w(GHC)30 b(currently)e(uses)h
(a)h(v)o(ery)e(simple,)j(syntactic,)g(matching)d(algorithm)g(for)g
(matching)g(a)i(rule)f(LHS)g(with)h(an)f(e)o(xpression.)50
b(It)30 b(seeks)g(a)-57 2569 y(substitution)19 b(which)h(mak)o(es)g
(the)g(LHS)h(and)e(e)o(xpression)g(syntactically)g(equal)h(modulo)e
(alpha)i(con)m(v)o(ersion.)i(The)e(pattern)f(\(rule\),)g(b)n(ut)h(not)g
(the)-57 2669 y(e)o(xpression,)25 b(is)h(eta-e)o(xpanded)c(if)k
(necessary)-5 b(.)39 b(\(Eta-e)o(xpanding)22 b(the)j(e)o(xpression)f
(can)h(lead)g(to)h(laziness)g(b)n(ugs.\))40 b(But)25
b(not)g(beta)h(con)m(v)o(ersion)-57 2768 y(\(that')-5
b(s)20 b(called)g(higher)n(-order)d(matching\).)-57 2901
y(Matching)24 b(is)j(carried)d(out)h(on)g(GHC')-5 b(s)27
b(intermediate)d(language,)h(which)g(includes)g(type)g(abstractions)f
(and)h(applications.)40 b(So)26 b(a)g(rule)f(only)-57
3000 y(matches)20 b(if)g(the)h(types)f(match)f(too.)25
b(See)20 b(Section)p 1 0 0 TeXcolorrgb 1412 3001 a
SDict begin H.S end
1412
3001 a 1 0 0 TeXcolorrgb -1 x FA(7.14.4)p 1 0 0 TeXcolorrgb
1620 2944 a
SDict begin H.R end
1620 2944 a 1620 3000 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.14.4) cvn H.B /ANN pdfmark end
1620 3000 a Black
21 w FA(belo)n(w)-5 b(.)p Black -128 3166 a(\225)p Black
42 w(GHC)21 b(k)o(eeps)f(trying)f(to)h(apply)g(the)g(rules)g(as)h(it)g
(optimises)f(the)g(program.)j(F)o(or)d(e)o(xample,)e(consider:)-128
3233 y
SDict begin H.S end
-128 3233 a -128 3233 a
SDict begin 12 H.A end
-128 3233 a -128 3233
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-547) cvn H.B /DEST pdfmark end
-128 3233 a 0.95 TeXcolorgray -82 3248 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3340 25 92 v Black 0.95 TeXcolorgray
-57 3340 4182 92 v Black 0.95 TeXcolorgray 4124 3340
25 92 v Black 0.95 TeXcolorgray Black -57 3312 a
SDict begin H.S end
-57
3312 a -57 3312 a
SDict begin 11 H.A end
-57 3312 a -57 3312 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-547.1) cvn H.B /DEST pdfmark end
-57 3312 a 0 0 0
TeXcolorrgb 90 w Fo(let)p Black 0 0 0 TeXcolorrgb 44
w(s)p Black 45 w(=)p 0 0 0 TeXcolorrgb 44 w(map)p Black
0 0 0 TeXcolorrgb 45 w(f)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3431 25 92 v Black 0.95 TeXcolorgray
-57 3431 4182 92 v Black 0.95 TeXcolorgray 4124 3431
25 92 v Black 0.95 TeXcolorgray Black -57 3403 a
SDict begin H.S end
-57
3403 a -57 3403 a
SDict begin 11 H.A end
-57 3403 a -57 3403 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-547.2) cvn H.B /DEST pdfmark end
-57 3403 a 0 0 0
TeXcolorrgb 269 w Fo(t)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(map)p Black 0 0 0 TeXcolorrgb 45 w(g)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3522 25 92 v
Black 0.95 TeXcolorgray -57 3522 4182 92 v Black 0.95
TeXcolorgray 4124 3522 25 92 v Black 0.95 TeXcolorgray
Black -57 3495 a
SDict begin H.S end
-57 3495 a -57 3495 a
SDict begin 11 H.A end
-57 3495 a -57
3495 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-547.3) cvn H.B /DEST pdfmark end
-57 3495 a 0 0 0 TeXcolorrgb 90 w Fo(in)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3613 25
92 v Black 0.95 TeXcolorgray -57 3613 4182 92 v Black
0.95 TeXcolorgray 4124 3613 25 92 v Black 0.95 TeXcolorgray
Black -57 3586 a
SDict begin H.S end
-57 3586 a -57 3586 a
SDict begin 11 H.A end
-57 3586 a -57
3586 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-547.4) cvn H.B /DEST pdfmark end
-57 3586 a 0 0 0 TeXcolorrgb 90 w Fo(s)p Black
44 w(\()p 0 0 0 TeXcolorrgb(t)p Black 0 0 0 TeXcolorrgb
45 w(xs)p Black(\))p 0.95 TeXcolorgray -82 3638 4232
25 v Black 0.95 TeXcolorgray Black Black Black -57 3795
a FA(The)k(e)o(xpression)e Ft(s)50 b(\(t)f(xs\))23 b
FA(does)e(not)h(match)g(the)g(rule)g Ft("map/map")p FA(,)f(b)n(ut)h
(GHC)h(will)g(substitute)f(for)g Ft(s)g FA(and)g Ft(t)p
FA(,)h(gi)n(ving)d(an)j(e)o(xpression)-57 3895 y(which)g(does)g(match.)
35 b(If)23 b Ft(s)h FA(or)g Ft(t)f FA(w)o(as)i(\(a\))e(used)g(more)g
(than)g(once,)h(and)f(\(b\))g(lar)o(ge)f(or)i(a)g(rede)o(x,)e(then)i
(it)g(w)o(ould)f(not)g(be)g(substituted,)h(and)f(the)-57
3994 y(rule)d(w)o(ould)f(not)h(\002re.)p Black -128 4160
a(\225)p Black 42 w(Ordinary)h(inlining)h(happens)g(at)h(the)g(same)h
(time)f(as)g(rule)g(re)n(writing,)f(which)h(may)f(lead)h(to)g(une)o
(xpected)e(results.)34 b(Consider)22 b(this)h(\(arti\002cial\))-57
4259 y(e)o(xample)-128 4327 y
SDict begin H.S end
-128 4327 a -128 4327 a
SDict begin 12 H.A end
-128 4327 a -128 4327 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-548) cvn H.B /DEST pdfmark end
-128 4327 a 0.95 TeXcolorgray
-82 4342 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4433 25 92 v
Black 0.95 TeXcolorgray -57 4433 4182 92 v Black 0.95
TeXcolorgray 4124 4433 25 92 v Black 0.95 TeXcolorgray
Black -57 4406 a
SDict begin H.S end
-57 4406 a -57 4406 a
SDict begin 11 H.A end
-57 4406 a -57
4406 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-548.1) cvn H.B /DEST pdfmark end
-57 4406 a 0 0 0 TeXcolorrgb Fo(f)p Black 0 0 0
TeXcolorrgb 45 w(x)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4524 25 92 v Black 0.95 TeXcolorgray -57 4524 4182
92 v Black 0.95 TeXcolorgray 4124 4524 25 92 v Black
0.95 TeXcolorgray Black -57 4497 a
SDict begin H.S end
-57 4497 a -57 4497
a
SDict begin 11 H.A end
-57 4497 a -57 4497 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-548.2) cvn H.B /DEST pdfmark end
-57 4497 a Fo({-#)p 0 0 0 TeXcolorrgb
44 w(RULES)p Black 44 w(")p 0 0 0 TeXcolorrgb(f)p Black(")p
0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0 TeXcolorrgb 44
w(True)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(False)p
Black 44 w(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4616 25 92 v Black 0.95 TeXcolorgray -57 4616 4182
92 v Black 0.95 TeXcolorgray 4124 4616 25 92 v Black
0.95 TeXcolorgray Black -57 4588 a
SDict begin H.S end
-57 4588 a -57 4588
a
SDict begin 11 H.A end
-57 4588 a -57 4588 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-548.3) cvn H.B /DEST pdfmark end
-57 4588 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4707 25 92 v Black 0.95 TeXcolorgray
-57 4707 4182 92 v Black 0.95 TeXcolorgray 4124 4707
25 92 v Black 0.95 TeXcolorgray Black -57 4680 a
SDict begin H.S end
-57
4680 a -57 4680 a
SDict begin 11 H.A end
-57 4680 a -57 4680 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-548.4) cvn H.B /DEST pdfmark end
-57 4680 a 0 0 0
TeXcolorrgb Fo(g)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(f)p Black 0 0 0 TeXcolorrgb
45 w(y)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4798 25 92 v Black 0.95 TeXcolorgray -57 4798 4182
92 v Black 0.95 TeXcolorgray 4124 4798 25 92 v Black
0.95 TeXcolorgray Black -57 4771 a
SDict begin H.S end
-57 4771 a -57 4771
a
SDict begin 11 H.A end
-57 4771 a -57 4771 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-548.5) cvn H.B /DEST pdfmark end
-57 4771 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4890 25 92 v Black 0.95 TeXcolorgray
-57 4890 4182 92 v Black 0.95 TeXcolorgray 4124 4890
25 92 v Black 0.95 TeXcolorgray Black -57 4862 a
SDict begin H.S end
-57
4862 a -57 4862 a
SDict begin 11 H.A end
-57 4862 a -57 4862 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-548.6) cvn H.B /DEST pdfmark end
-57 4862 a 0 0 0
TeXcolorrgb Fo(h)p Black 0 0 0 TeXcolorrgb 45 w(z)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(g)p Black 0 0 0 TeXcolorrgb
45 w(True)p Black 0.95 TeXcolorgray -82 4915 4232 25
v Black 0.95 TeXcolorgray Black Black Black -57 5071
a FA(Since)d Ft(f)p FA(')-5 b(s)21 b(right-hand)d(side)i(is)h(small,)g
(it)g(is)g(inlined)e(into)h Ft(g)p FA(,)h(to)f(gi)n(v)o(e)-128
5139 y
SDict begin H.S end
-128 5139 a -128 5139 a
SDict begin 12 H.A end
-128 5139 a -128 5139
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-549) cvn H.B /DEST pdfmark end
-128 5139 a 0.95 TeXcolorgray -82 5154 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 5245 25 92 v Black 0.95 TeXcolorgray
-57 5245 4182 92 v Black 0.95 TeXcolorgray 4124 5245
25 92 v Black 0.95 TeXcolorgray Black -57 5218 a
SDict begin H.S end
-57
5218 a -57 5218 a
SDict begin 11 H.A end
-57 5218 a -57 5218 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-549.1) cvn H.B /DEST pdfmark end
-57 5218 a 0 0 0
TeXcolorrgb Fo(g)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(y)p Black 0.95 TeXcolorgray
-82 5270 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 5427 a FA(No)n(w)i Ft(g)h FA(is)g(inlined)e(into)h
Ft(h)p FA(,)h(b)n(ut)f Ft(f)p FA(')-5 b(s)23 b(R)m(ULE)f(has)g(no)g
(chance)f(to)h(\002re.)31 b(If)22 b(instead)g(GHC)h(had)f(\002rst)h
(inlined)e Ft(g)h FA(into)g Ft(h)h FA(then)e(there)h(w)o(ould)g(ha)n(v)
o(e)-57 5526 y(been)e(a)g(better)g(chance)f(that)h Ft(f)p
FA(')-5 b(s)21 b(R)m(ULE)g(might)e(\002re.)-57 5659 y(The)h(w)o(ay)h
(to)g(get)f(predictable)f(beha)n(viour)g(is)j(to)e(use)h(a)g(NOINLINE)f
(pragma)f(on)h Ft(f)p FA(,)h(to)g(ensure)f(that)h(it)g(is)g(not)g
(inlined)f(until)g(its)i(R)m(ULEs)f(ha)n(v)o(e)-57 5759
y(had)f(a)g(chance)f(to)i(\002re.)p Black -128 6084 4252
5 v Black eop end
%%Page: 188 203
TeXDict begin 188 202 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.188) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(188)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.14.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.14.3)p
Black 89 w(List)25 b(fusion)-128 376 y FA(The)d(R)m(ULES)g(mechanism)f
(is)i(used)f(to)h(implement)d(fusion)i(\(deforestation\))d(of)j(common)
e(list)j(functions.)30 b(If)22 b(a)g("good)f(consumer")f(consumes)-128
476 y(an)h(intermediate)d(list)k(constructed)c(by)i(a)h("good)d
(producer",)g(the)i(intermediate)f(list)i(should)e(be)h(eliminated)f
(entirely)-5 b(.)-128 625 y(The)20 b(follo)n(wing)f(are)h(good)f
(producers:)p Black -128 841 a(\225)p Black 42 w(List)i(comprehensions)
p Black -128 1006 a(\225)p Black 42 w(Enumerations)d(of)i
Ft(Int)g FA(and)g Ft(Char)g FA(\(e.g.)k Ft(['a'..'z'])p
FA(\).)p Black -128 1172 a(\225)p Black 42 w(Explicit)c(lists)h(\(e.g.)
k Ft([True,)48 b(False])p FA(\))p Black -128 1338 a(\225)p
Black 42 w(The)20 b(cons)g(constructor)e(\(e.g)i Ft(3:4:[])p
FA(\))p Black -128 1504 a(\225)p Black 42 w Ft(++)p Black
-128 1670 a FA(\225)p Black 42 w Ft(map)p Black -128
1836 a FA(\225)p Black 42 w Ft(take)p FA(,)g Ft(filter)p
Black -128 2002 a FA(\225)p Black 42 w Ft(iterate)p FA(,)f
Ft(repeat)p Black -128 2168 a FA(\225)p Black 42 w Ft(zip)p
FA(,)h Ft(zipWith)-128 2383 y FA(The)g(follo)n(wing)f(are)h(good)f
(consumers:)p Black -128 2599 a(\225)p Black 42 w(List)i
(comprehensions)p Black -128 2765 a(\225)p Black 42 w
Ft(array)f FA(\(on)f(its)i(second)f(ar)o(gument\))p Black
-128 2931 a(\225)p Black 42 w Ft(++)g FA(\(on)g(its)h(\002rst)g(ar)o
(gument\))p Black -128 3097 a(\225)p Black 42 w Ft(foldr)p
Black -128 3263 a FA(\225)p Black 42 w Ft(map)p Black
-128 3429 a FA(\225)p Black 42 w Ft(take)p FA(,)f Ft(filter)p
Black -128 3594 a FA(\225)p Black 42 w Ft(concat)p Black
-128 3760 a FA(\225)p Black 42 w Ft(unzip)p FA(,)g Ft(unzip2)p
FA(,)f Ft(unzip3)p FA(,)g Ft(unzip4)p Black -128 3926
a FA(\225)p Black 42 w Ft(zip)p FA(,)h Ft(zipWith)f FA(\(b)n(ut)h(on)g
(one)g(ar)o(gument)d(only;)j(if)g(both)g(are)g(good)f(producers,)f
Ft(zip)i FA(will)h(fuse)f(with)g(one)g(b)n(ut)g(not)g(the)g(other\))p
Black -128 4092 a(\225)p Black 42 w Ft(partition)p Black
-128 4258 a FA(\225)p Black 42 w Ft(head)p Black -128
4424 a FA(\225)p Black 42 w Ft(and)p FA(,)g Ft(or)p FA(,)g
Ft(any)p FA(,)g Ft(all)p Black -128 4590 a FA(\225)p
Black 42 w Ft(sequence_)p Black -128 4756 a FA(\225)p
Black 42 w Ft(msum)p Black -128 4922 a FA(\225)p Black
42 w Ft(sortBy)-128 5137 y FA(So,)h(for)e(e)o(xample,)g(the)h(follo)n
(wing)e(should)i(generate)f(no)g(intermediate)g(lists:)-128
5205 y
SDict begin H.S end
-128 5205 a -128 5205 a
SDict begin 12 H.A end
-128 5205 a -128 5205
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-550) cvn H.B /DEST pdfmark end
-128 5205 a 0.95 TeXcolorgray -153 5220 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5312 25 92 v Black 0.95 TeXcolorgray
-128 5312 4252 92 v Black 0.95 TeXcolorgray 4124 5312
25 92 v Black 0.95 TeXcolorgray Black -128 5284 a
SDict begin H.S end
-128
5284 a -128 5284 a
SDict begin 11 H.A end
-128 5284 a -128 5284 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-550.1) cvn H.B /DEST pdfmark end
-128 5284
a 0 0 0 TeXcolorrgb Fo(array)p Black 44 w(\(1,10\))44
b([\()p 0 0 0 TeXcolorrgb(i)p Black(,)p 0 0 0 TeXcolorrgb(i)p
Black 679 5297 a(*)p 0 0 0 TeXcolorrgb -13 x(i)p Black(\))h(|)p
0 0 0 TeXcolorrgb 44 w(i)p Black 45 w(<-)p 0 0 0 TeXcolorrgb
45 w(map)p Black 44 w(\(+)f(1\))h([0..9]])p 0.95 TeXcolorgray
-153 5336 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5511 a FA(This)21 b(list)g(could)e(readily)h(be)g(e)o
(xtended;)e(if)j(there)e(are)h(Prelude)g(functions)f(that)h(you)f(use)i
(a)f(lot)h(which)e(are)h(not)g(included,)f(please)h(tell)h(us.)-128
5660 y(If)g(you)e(w)o(ant)h(to)h(write)f(your)f(o)n(wn)h(good)f
(consumers)g(or)h(producers,)e(look)i(at)g(the)h(Prelude)e
(de\002nitions)h(of)g(the)g(abo)o(v)o(e)f(functions)g(to)h(see)h(ho)n
(w)f(to)-128 5759 y(do)g(so.)p Black -128 6084 4252 5
v Black eop end
%%Page: 189 204
TeXDict begin 189 203 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.189) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(189)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.14.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.14.4)p
Black 89 w(Specialisation)-128 262 y
SDict begin H.S end
-128 262 a -128
262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (rule-spec) cvn H.B /DEST pdfmark end
-128 262 a 113 x FA(Re)n(write)h(rules)f
(can)g(be)g(used)g(to)h(get)f(the)g(same)g(ef)n(fect)g(as)h(a)f
(feature)g(present)f(in)i(earlier)e(v)o(ersions)h(of)f(GHC.)i(F)o(or)f
(e)o(xample,)f(suppose)g(that:)-128 441 y
SDict begin H.S end
-128 441 a
-128 441 a
SDict begin 12 H.A end
-128 441 a -128 441 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-551) cvn H.B /DEST pdfmark end
-128 441 a 0.95 TeXcolorgray
-153 456 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 547 25 92 v
Black 0.95 TeXcolorgray -128 547 4252 92 v Black 0.95
TeXcolorgray 4124 547 25 92 v Black 0.95 TeXcolorgray
Black -128 520 a
SDict begin H.S end
-128 520 a -128 520 a
SDict begin 11 H.A end
-128 520 a -128
520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-551.1) cvn H.B /DEST pdfmark end
-128 520 a 0 0 0 TeXcolorrgb Fo(genericLookup)p
Black 43 w(::)p 0 0 0 TeXcolorrgb 45 w(Ord)p Black 0 0 0
TeXcolorrgb 44 w(a)p Black 45 w(=>)p 0 0 0 TeXcolorrgb
44 w(Table)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(b)p Black 134 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 134 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
638 25 92 v Black 0.95 TeXcolorgray -128 638 4252 92
v Black 0.95 TeXcolorgray 4124 638 25 92 v Black 0.95
TeXcolorgray Black -128 611 a
SDict begin H.S end
-128 611 a -128 611 a
SDict begin 11 H.A end
-128
611 a -128 611 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-551.2) cvn H.B /DEST pdfmark end
-128 611 a 0 0 0 TeXcolorrgb Fo(intLookup)p
Black 223 w(::)p 0 0 0 TeXcolorrgb 448 w(Table)p Black
0 0 0 TeXcolorrgb 44 w(Int)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black 0.95
TeXcolorgray -153 663 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 834 a FA(where)k Ft(intLookup)f
FA(is)i(an)f(implementation)e(of)h Ft(genericLookup)f
FA(that)j(w)o(orks)e(v)o(ery)g(f)o(ast)i(for)e(k)o(e)o(ys)h(of)g(type)f
Ft(Int)p FA(.)34 b(Y)-9 b(ou)22 b(might)g(wish)i(to)-128
934 y(tell)c(GHC)f(to)g(use)g Ft(intLookup)f FA(instead)h(of)f
Ft(genericLookup)f FA(whene)n(v)o(er)g(the)h(latter)h(w)o(as)h(called)f
(with)f(type)h Ft(Table)49 b(Int)g(b)h(->)f(Int)-128
1034 y(->)h(b)p FA(.)25 b(It)c(used)f(to)g(be)g(possible)g(to)g(write)
-128 1100 y
SDict begin H.S end
-128 1100 a -128 1100 a
SDict begin 12 H.A end
-128 1100 a -128
1100 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-552) cvn H.B /DEST pdfmark end
-128 1100 a 0.95 TeXcolorgray -153 1115 4302 25
v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1206 25 92 v Black 0.95 TeXcolorgray
-128 1206 4252 92 v Black 0.95 TeXcolorgray 4124 1206
25 92 v Black 0.95 TeXcolorgray Black -128 1179 a
SDict begin H.S end
-128
1179 a -128 1179 a
SDict begin 11 H.A end
-128 1179 a -128 1179 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-552.1) cvn H.B /DEST pdfmark end
-128 1179
a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(SPECIALIZE)p Black
0 0 0 TeXcolorrgb 43 w(genericLookup)p Black 43 w(::)p
0 0 0 TeXcolorrgb 44 w(Table)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black 0 0 0 TeXcolorrgb 44 w(b)p Black 45
w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(->)p 0 0 0
TeXcolorrgb 44 w(b)p Black 45 w(=)p 0 0 0 TeXcolorrgb
45 w(intLookup)p Black 43 w(#-})p 0.95 TeXcolorgray -153
1231 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 1402 a FA(This)h(feature)e(is)i(no)f(longer)f(in)h(GHC,)h(b)n(ut)f
(re)n(write)g(rules)g(let)h(you)e(do)h(the)g(same)g(thing:)-128
1468 y
SDict begin H.S end
-128 1468 a -128 1468 a
SDict begin 12 H.A end
-128 1468 a -128 1468
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-553) cvn H.B /DEST pdfmark end
-128 1468 a 0.95 TeXcolorgray -153 1483 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1575 25 92 v Black 0.95 TeXcolorgray
-128 1575 4252 92 v Black 0.95 TeXcolorgray 4124 1575
25 92 v Black 0.95 TeXcolorgray Black -128 1547 a
SDict begin H.S end
-128
1547 a -128 1547 a
SDict begin 11 H.A end
-128 1547 a -128 1547 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-553.1) cvn H.B /DEST pdfmark end
-128 1547
a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(RULES)p Black 44 w(")p
0 0 0 TeXcolorrgb(genericLookup)p Black -3 w(/)p 0 0 0
TeXcolorrgb(Int)p Black(")p 0 0 0 TeXcolorrgb 44 w(genericLookup)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(intLookup)p Black
43 w(#-})p 0.95 TeXcolorgray -153 1599 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1770 a FA(This)h(slightly)e
(odd-looking)e(rule)i(instructs)h(GHC)h(to)f(replace)f
Ft(genericLookup)g FA(by)g Ft(intLookup)g Fq(whene)o(ver)g(the)h(types)
h(matc)o(h)p FA(.)j(What)c(is)-128 1870 y(more,)f(this)h(rule)f(does)g
(not)g(need)g(to)h(be)f(in)h(the)f(same)h(\002le)g(as)g
Ft(genericLookup)p FA(,)d(unlik)o(e)i(the)g Ft(SPECIALIZE)g
FA(pragmas)f(which)h(currently)e(do)-128 1970 y(\(so)k(that)f(the)o(y)f
(ha)n(v)o(e)h(an)g(original)f(de\002nition)g(a)n(v)n(ailable)h(to)g
(specialise\).)-128 2117 y(It)h(is)g Fq(Y)-8 b(our)21
b(Responsibility)e FA(to)h(mak)o(e)g(sure)g(that)g Ft(intLookup)f
FA(really)h(beha)n(v)o(es)f(as)i(a)g(specialised)f(v)o(ersion)f(of)h
Ft(genericLookup)p FA(!!!)-128 2265 y(An)h(e)o(xample)d(in)j(which)e
(using)h Ft(RULES)g FA(for)f(specialisation)h(will)h(W)m(in)g(Big:)-128
2331 y
SDict begin H.S end
-128 2331 a -128 2331 a
SDict begin 12 H.A end
-128 2331 a -128 2331
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-554) cvn H.B /DEST pdfmark end
-128 2331 a 0.95 TeXcolorgray -153 2346 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2438 25 92 v Black 0.95 TeXcolorgray
-128 2438 4252 92 v Black 0.95 TeXcolorgray 4124 2438
25 92 v Black 0.95 TeXcolorgray Black -128 2410 a
SDict begin H.S end
-128
2410 a -128 2410 a
SDict begin 11 H.A end
-128 2410 a -128 2410 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-554.1) cvn H.B /DEST pdfmark end
-128 2410
a 0 0 0 TeXcolorrgb Fo(toDouble)p Black 44 w(::)p 0 0 0
TeXcolorrgb 44 w(Real)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(=>)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(Double)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2529 25 92 v Black 0.95
TeXcolorgray -128 2529 4252 92 v Black 0.95 TeXcolorgray
4124 2529 25 92 v Black 0.95 TeXcolorgray Black -128
2502 a
SDict begin H.S end
-128 2502 a -128 2502 a
SDict begin 11 H.A end
-128 2502 a -128 2502
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-554.2) cvn H.B /DEST pdfmark end
-128 2502 a 0 0 0 TeXcolorrgb Fo(toDouble)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(fromRational)p Black 42
w(.)p 0 0 0 TeXcolorrgb 45 w(toRational)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2620 25 92
v Black 0.95 TeXcolorgray -128 2620 4252 92 v Black 0.95
TeXcolorgray 4124 2620 25 92 v Black 0.95 TeXcolorgray
Black -128 2593 a
SDict begin H.S end
-128 2593 a -128 2593 a
SDict begin 11 H.A end
-128 2593 a
-128 2593 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-554.3) cvn H.B /DEST pdfmark end
-128 2593 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2712 25 92 v Black 0.95 TeXcolorgray
-128 2712 4252 92 v Black 0.95 TeXcolorgray 4124 2712
25 92 v Black 0.95 TeXcolorgray Black -128 2684 a
SDict begin H.S end
-128
2684 a -128 2684 a
SDict begin 11 H.A end
-128 2684 a -128 2684 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-554.4) cvn H.B /DEST pdfmark end
-128 2684
a Fo({-#)p 0 0 0 TeXcolorrgb 45 w(RULES)p Black 44 w(")p
0 0 0 TeXcolorrgb(toDouble)p Black -2 w(/)p 0 0 0 TeXcolorrgb(Int)p
Black(")p 0 0 0 TeXcolorrgb 44 w(toDouble)p Black 44
w(=)p 0 0 0 TeXcolorrgb 44 w(i2d)p Black 45 w(#-})p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2803 25 92
v Black 0.95 TeXcolorgray -128 2803 4252 92 v Black 0.95
TeXcolorgray 4124 2803 25 92 v Black 0.95 TeXcolorgray
Black -128 2776 a
SDict begin H.S end
-128 2776 a -128 2776 a
SDict begin 11 H.A end
-128 2776 a
-128 2776 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-554.5) cvn H.B /DEST pdfmark end
-128 2776 a 0 0 0 TeXcolorrgb Fo(i2d)p Black
45 w(\()p 0 0 0 TeXcolorrgb(I)p Black -1 w(#)p 0 0 0
TeXcolorrgb 45 w(i)p Black(\))45 b(=)p 0 0 0 TeXcolorrgb
44 w(D)p Black(#)g(\()p 0 0 0 TeXcolorrgb(int2Double)p
Black -2 w(#)p 0 0 0 TeXcolorrgb 45 w(i)p Black -1 w(\))g(--)p
0 0 0 TeXcolorrgb 45 w(uses)p Black 0 0 0 TeXcolorrgb
44 w(Glasgow)p Black 0 0 0 TeXcolorrgb 43 w(prim)p Black(-)p
0 0 0 TeXcolorrgb(op)p Black 0 0 0 TeXcolorrgb 44 w(directly)p
Black 0.95 TeXcolorgray -153 2828 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2999 a FA(The)24
b Ft(i2d)g FA(function)e(is)j(virtually)d(one)h(machine)g(instruction;)
i(the)e(def)o(ault)g(con)m(v)o(ersion\227via)e(an)j(intermediate)e
Ft(Rational)p FA(\227is)h(obscenely)-128 3098 y(e)o(xpensi)n(v)o(e)c
(by)g(comparison.)-128 3232 y
SDict begin H.S end
-128 3232 a -128 3232 a
SDict begin 12 H.A end
-128 3232 a -128 3232 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.14.5) cvn H.B /DEST pdfmark end
-128 3232 a Black 146 x Fp(7.14.5)p
Black 89 w(Contr)n(olling)24 b(what')-5 b(s)23 b(going)h(on)p
Black -128 3579 a FA(\225)p Black 42 w(Use)d Ft(-ddump-rules)d
FA(to)j(see)f(what)h(transformation)c(rules)j(GHC)h(is)h(using.)p
Black -128 3744 a(\225)p Black 42 w(Use)f Ft(-ddump-simpl-stats)c
FA(to)k(see)f(what)h(rules)f(are)g(being)f(\002red.)25
b(If)20 b(you)f(add)h Ft(-dppr-debug)e FA(you)i(get)g(a)g(more)g
(detailed)f(listing.)p Black -128 3908 a(\225)p Black
42 w(The)h(de\002nition)f(of)h(\(say\))g Ft(build)f FA(in)i
Ft(GHC/Base.lhs)d FA(looks)i(lik)o(e)g(this:)-128 3974
y
SDict begin H.S end
-128 3974 a -128 3974 a
SDict begin 12 H.A end
-128 3974 a -128 3974 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-555) cvn H.B /DEST pdfmark end
-128
3974 a 0.95 TeXcolorgray -82 3989 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4081 25 92 v Black 0.95 TeXcolorgray -57 4081 4182
92 v Black 0.95 TeXcolorgray 4124 4081 25 92 v Black
0.95 TeXcolorgray Black -57 4053 a
SDict begin H.S end
-57 4053 a -57 4053
a
SDict begin 11 H.A end
-57 4053 a -57 4053 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-555.1) cvn H.B /DEST pdfmark end
-57 4053 a 0 0 0 TeXcolorrgb
359 w Fo(build)p Black 133 w(::)p 0 0 0 TeXcolorrgb 45
w(forall)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black -1
w(.)45 b(\()p 0 0 0 TeXcolorrgb(forall)p Black 0 0 0
TeXcolorrgb 44 w(b)p Black(.)f(\()p 0 0 0 TeXcolorrgb(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black(\))h(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black
-1 w(\))g(->)g([)p 0 0 0 TeXcolorrgb -1 w(a)p Black(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4172 25
92 v Black 0.95 TeXcolorgray -57 4172 4182 92 v Black
0.95 TeXcolorgray 4124 4172 25 92 v Black 0.95 TeXcolorgray
Black -57 4145 a
SDict begin H.S end
-57 4145 a -57 4145 a
SDict begin 11 H.A end
-57 4145 a -57
4145 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-555.2) cvn H.B /DEST pdfmark end
-57 4145 a 359 w Fo({-#)p 0 0 0 TeXcolorrgb 44
w(INLINE)p Black 0 0 0 TeXcolorrgb 44 w(build)p Black
44 w(#-})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4263 25 92 v Black 0.95 TeXcolorgray -57 4263 4182
92 v Black 0.95 TeXcolorgray 4124 4263 25 92 v Black
0.95 TeXcolorgray Black -57 4236 a
SDict begin H.S end
-57 4236 a -57 4236
a
SDict begin 11 H.A end
-57 4236 a -57 4236 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-555.3) cvn H.B /DEST pdfmark end
-57 4236 a 0 0 0 TeXcolorrgb
359 w Fo(build)p Black 0 0 0 TeXcolorrgb 44 w(g)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(g)p Black 45 w(\(:\))f([])p
0.95 TeXcolorgray -82 4288 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 4443 a FA(Notice)26 b(the)f Ft(INLINE)p
FA(!)g(That)g(pre)n(v)o(ents)g Ft(\(:\))36 b FA(from)24
b(being)h(inlined)g(when)g(compiling)f Ft(PrelBase)p
FA(,)i(so)g(that)g(an)f(importing)f(module)g(will)-57
4543 y(\223see\224)f(the)g Ft(\(:\))p FA(,)h(and)e(can)h(match)f(it)i
(on)e(the)h(LHS)h(of)e(a)i(rule.)33 b Ft(INLINE)22 b
FA(pre)n(v)o(ents)f(an)o(y)i(inlining)e(happening)g(in)i(the)g(RHS)h
(of)f(the)g Ft(INLINE)-57 4643 y FA(thing.)h(I)d(re)o(gret)e(the)h
(delicac)o(y)f(of)h(this.)p Black -128 4807 a(\225)p
Black 42 w(In)h Ft(libraries/base/GHC/Base.lhs)c FA(look)j(at)i(the)f
(rules)h(for)e Ft(map)i FA(to)f(see)h(ho)n(w)f(to)g(write)h(rules)f
(that)g(will)h(do)f(fusion)g(and)f(yet)i(gi)n(v)o(e)-57
4907 y(an)e(ef)n(\002cient)g(program)e(e)n(v)o(en)h(if)i(fusion)e
(doesn')o(t)g(happen.)k(More)c(rules)i(in)f Ft(GHC/List.lhs)p
FA(.)-128 5040 y
SDict begin H.S end
-128 5040 a -128 5040 a
SDict begin 12 H.A end
-128 5040 a
-128 5040 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.14.6) cvn H.B /DEST pdfmark end
-128 5040 a Black 146 x Fp(7.14.6)p Black
89 w(CORE)k(pra)o(gma)-128 5275 y
SDict begin H.S end
-128 5275 a -128 5275
a
SDict begin 12 H.A end
-128 5275 a -128 5275 a
SDict begin [ /View [/XYZ H.V] /Dest (core-pragma) cvn H.B /DEST pdfmark end
-128 5275 a 113 x FA(The)i(e)o(xternal)f
(core)h(format)f(supports)g(`Note')h(annotations;)i(the)e
Ft(CORE)g FA(pragma)f(gi)n(v)o(es)h(a)g(w)o(ay)h(to)f(specify)g(what)g
(these)g(should)g(be)g(in)g(your)-128 5487 y(Hask)o(ell)c(source)e
(code.)26 b(Syntactically)-5 b(,)19 b(core)i(annotations)e(are)i
(attached)f(to)h(e)o(xpressions)e(and)h(tak)o(e)h(a)g(Hask)o(ell)h
(string)e(literal)h(as)h(an)f(ar)o(gument.)-128 5587
y(The)f(follo)n(wing)f(function)f(de\002nition)h(sho)n(ws)i(an)f(e)o
(xample:)-128 5653 y
SDict begin H.S end
-128 5653 a -128 5653 a
SDict begin 12 H.A end
-128 5653
a -128 5653 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-556) cvn H.B /DEST pdfmark end
-128 5653 a 0.95 TeXcolorgray -153 5668
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5759 25 92 v Black 0.95
TeXcolorgray -128 5759 4252 92 v Black 0.95 TeXcolorgray
4124 5759 25 92 v Black 0.95 TeXcolorgray Black -128
5732 a
SDict begin H.S end
-128 5732 a -128 5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-556.1) cvn H.B /DEST pdfmark end
-128 5732 a 0 0 0 TeXcolorrgb Fo(f)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 45 w(=)44 b(\({-#)p 0 0 0 TeXcolorrgb
45 w(CORE)p Black 44 w(")p 0 0 0 TeXcolorrgb(foo)p Black
-1 w(")h(#-})p 0 0 0 TeXcolorrgb 44 w(show)p Black -1
w(\))g(\({-#)p 0 0 0 TeXcolorrgb 44 w(CORE)p Black 44
w(")p 0 0 0 TeXcolorrgb(bar)p Black(")f(#-})p 0 0 0 TeXcolorrgb
45 w(x)p Black(\))p 0.95 TeXcolorgray -153 5784 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 6084
4252 5 v Black eop end
%%Page: 190 205
TeXDict begin 190 204 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.190) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(190)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Semantically)-5
b(,)19 b(this)i(is)g(equi)n(v)n(alent)d(to:)-128 241
y
SDict begin H.S end
-128 241 a -128 241 a
SDict begin 12 H.A end
-128 241 a -128 241 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-557) cvn H.B /DEST pdfmark end
-128 241
a 0.95 TeXcolorgray -153 256 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
348 25 92 v Black 0.95 TeXcolorgray -128 348 4252 92
v Black 0.95 TeXcolorgray 4124 348 25 92 v Black 0.95
TeXcolorgray Black -128 320 a
SDict begin H.S end
-128 320 a -128 320 a
SDict begin 11 H.A end
-128
320 a -128 320 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-557.1) cvn H.B /DEST pdfmark end
-128 320 a 0 0 0 TeXcolorrgb Fo(g)p
Black 0 0 0 TeXcolorrgb 45 w(x)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(show)p Black 0 0 0 TeXcolorrgb 45 w(x)p
Black 0.95 TeXcolorgray -153 372 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 547 a FA(Ho)n(we)n(v)o(er)m(,)g
(when)g(e)o(xternal)g(core)g(is)i(generated)d(\(via)i
Ft(-fext-core)p FA(\),)e(there)i(will)h(be)f(Notes)g(attached)f(to)h
(the)g(e)o(xpressions)f Ft(show)h FA(and)f Ft(x)p FA(.)25
b(The)-128 646 y(core)20 b(function)f(declaration)f(for)i
Ft(f)g FA(is:)-128 697 y
SDict begin H.S end
-128 697 a -128 697 a
SDict begin 12 H.A end
-128 697
a -128 697 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-558) cvn H.B /DEST pdfmark end
-128 697 a 0.95 TeXcolorgray -153 729 4302
25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 821 25 92 v Black 0.95 TeXcolorgray
-128 821 4252 92 v Black 0.95 TeXcolorgray 4124 821 25
92 v Black 0.95 TeXcolorgray Black -128 793 a
SDict begin H.S end
-128 793
a -128 793 a
SDict begin 11 H.A end
-128 793 a -128 793 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.1) cvn H.B /DEST pdfmark end
-128 793 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(::)44 b(\045)p 0 0 0 TeXcolorrgb(forall)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(.)p 0 0 0
TeXcolorrgb 44 w(GHCziShow)p Black -1 w(.)p 0 0 0 TeXcolorrgb(ZCTShow)p
Black 0 0 0 TeXcolorrgb 43 w(a)p Black 45 w(->)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 912 25 92 v
Black 0.95 TeXcolorgray -128 912 4252 92 v Black 0.95
TeXcolorgray 4124 912 25 92 v Black 0.95 TeXcolorgray
Black -128 885 a
SDict begin H.S end
-128 885 a -128 885 a
SDict begin 11 H.A end
-128 885 a -128
885 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.2) cvn H.B /DEST pdfmark end
-128 885 a 0 0 0 TeXcolorrgb 852 w Fo(a)p Black
45 w(->)p 0 0 0 TeXcolorrgb 44 w(GHCziBase)p Black -1
w(.)p 0 0 0 TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb
44 w(GHCziBase)p Black -2 w(.)p 0 0 0 TeXcolorrgb(Char)p
Black 44 w(=)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1003 25 92 v Black 0.95 TeXcolorgray -128 1003 4252
92 v Black 0.95 TeXcolorgray 4124 1003 25 92 v Black
0.95 TeXcolorgray Black -128 976 a
SDict begin H.S end
-128 976 a -128 976
a
SDict begin 11 H.A end
-128 976 a -128 976 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.3) cvn H.B /DEST pdfmark end
-128 976 a 180 w Fo(\\)p 0 0 0
TeXcolorrgb 44 w(@)p Black 0 0 0 TeXcolorrgb 45 w(a)p
Black 45 w(\()p 0 0 0 TeXcolorrgb(zddShow)p Black -2
w(::)p 0 0 0 TeXcolorrgb(GHCziShow)p Black -1 w(.)p 0 0 0
TeXcolorrgb -1 w(ZCTShow)p Black 0 0 0 TeXcolorrgb 44
w(a)p Black(\))h(\()p 0 0 0 TeXcolorrgb -1 w(eta)p Black(::)p
0 0 0 TeXcolorrgb(a)p Black -1 w(\))g(->)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1095 25 92 v Black 0.95
TeXcolorgray -128 1095 4252 92 v Black 0.95 TeXcolorgray
4124 1095 25 92 v Black 0.95 TeXcolorgray Black -128
1067 a
SDict begin H.S end
-128 1067 a -128 1067 a
SDict begin 11 H.A end
-128 1067 a -128 1067
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.4) cvn H.B /DEST pdfmark end
-128 1067 a 359 w Fo(\(\045)p 0 0 0 TeXcolorrgb(note)p
Black 44 w(")p 0 0 0 TeXcolorrgb(foo)p Black -1 w(")p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1186 25
92 v Black 0.95 TeXcolorgray -128 1186 4252 92 v Black
0.95 TeXcolorgray 4124 1186 25 92 v Black 0.95 TeXcolorgray
Black -128 1159 a
SDict begin H.S end
-128 1159 a -128 1159 a
SDict begin 11 H.A end
-128 1159 a
-128 1159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.5) cvn H.B /DEST pdfmark end
-128 1159 a 404 w Fo(\045)p 0 0 0 TeXcolorrgb(case)p
Black 0 0 0 TeXcolorrgb 44 w(zddShow)p Black 44 w(\045)p
0 0 0 TeXcolorrgb -1 w(of)p Black 45 w(\()p 0 0 0 TeXcolorrgb(tpl)p
Black -1 w(::)p 0 0 0 TeXcolorrgb(GHCziShow)p Black -2
w(.)p 0 0 0 TeXcolorrgb(ZCTShow)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black(\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1277 25 92 v Black 0.95 TeXcolorgray -128 1277 4252
92 v Black 0.95 TeXcolorgray 4124 1277 25 92 v Black
0.95 TeXcolorgray Black -128 1250 a
SDict begin H.S end
-128 1250 a -128
1250 a
SDict begin 11 H.A end
-128 1250 a -128 1250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.6) cvn H.B /DEST pdfmark end
-128 1250 a 494 w Fo({)p
0 0 0 TeXcolorrgb -1 w(GHCziShow)p Black -1 w(.)p 0 0 0
TeXcolorrgb(ZCDShow)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1369 25 92 v Black 0.95 TeXcolorgray
-128 1369 4252 92 v Black 0.95 TeXcolorgray 4124 1369
25 92 v Black 0.95 TeXcolorgray Black -128 1341 a
SDict begin H.S end
-128
1341 a -128 1341 a
SDict begin 11 H.A end
-128 1341 a -128 1341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.7) cvn H.B /DEST pdfmark end
-128 1341
a 538 w Fo(\()p 0 0 0 TeXcolorrgb(tpl1)p Black(::)p 0 0 0
TeXcolorrgb -1 w(GHCziBase)p Black -1 w(.)p 0 0 0 TeXcolorrgb(Int)p
Black 44 w(->)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1460 25 92 v Black 0.95 TeXcolorgray -128 1460 4252
92 v Black 0.95 TeXcolorgray 4124 1460 25 92 v Black
0.95 TeXcolorgray Black -128 1433 a
SDict begin H.S end
-128 1433 a -128
1433 a
SDict begin 11 H.A end
-128 1433 a -128 1433 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.8) cvn H.B /DEST pdfmark end
-128 1433 a 0 0 0 TeXcolorrgb
852 w Fo(a)p Black 45 w(->)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1551 25 92 v Black 0.95 TeXcolorgray
-128 1551 4252 92 v Black 0.95 TeXcolorgray 4124 1551
25 92 v Black 0.95 TeXcolorgray Black -128 1524 a
SDict begin H.S end
-128
1524 a -128 1524 a
SDict begin 11 H.A end
-128 1524 a -128 1524 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.9) cvn H.B /DEST pdfmark end
-128 1524
a 0 0 0 TeXcolorrgb 852 w Fo(GHCziBase)p Black -1 w(.)p
0 0 0 TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb 44 w(GHCziBase)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(Char)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(GHCziBase)p Black -2 w(.)p 0 0 0
TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb 44 w(GHCziBase)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(Cha)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1643 25 92 v Black 0.95
TeXcolorgray -128 1643 4252 92 v Black 0.95 TeXcolorgray
4124 1643 25 92 v Black 0.95 TeXcolorgray Black -128
1615 a
SDict begin H.S end
-128 1615 a -128 1615 a
SDict begin 11 H.A end
-128 1615 a -128 1615
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.10) cvn H.B /DEST pdfmark end
-128 1615 a 0 0 0 TeXcolorrgb Fo(r)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1734 25 92
v Black 0.95 TeXcolorgray -128 1734 4252 92 v Black 0.95
TeXcolorgray 4124 1734 25 92 v Black 0.95 TeXcolorgray
Black -128 1707 a
SDict begin H.S end
-128 1707 a -128 1707 a
SDict begin 11 H.A end
-128 1707 a
-128 1707 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.11) cvn H.B /DEST pdfmark end
-128 1707 a 538 w Fo(\()p 0 0 0 TeXcolorrgb(tpl2)p
Black(::)p 0 0 0 TeXcolorrgb -1 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(GHCziBase)p Black -1 w(.)p 0 0 0
TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb 44 w(GHCziBase)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(Char)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1825 25 92
v Black 0.95 TeXcolorgray -128 1825 4252 92 v Black 0.95
TeXcolorgray 4124 1825 25 92 v Black 0.95 TeXcolorgray
Black -128 1798 a
SDict begin H.S end
-128 1798 a -128 1798 a
SDict begin 11 H.A end
-128 1798 a
-128 1798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.12) cvn H.B /DEST pdfmark end
-128 1798 a 538 w Fo(\()p 0 0 0 TeXcolorrgb(tpl3)p
Black(::)p 0 0 0 TeXcolorrgb -1 w(GHCziBase)p Black -1
w(.)p 0 0 0 TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 44 w(->)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 1917 25 92 v Black 0.95 TeXcolorgray
-128 1917 4252 92 v Black 0.95 TeXcolorgray 4124 1917
25 92 v Black 0.95 TeXcolorgray Black -128 1889 a
SDict begin H.S end
-128
1889 a -128 1889 a
SDict begin 11 H.A end
-128 1889 a -128 1889 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.13) cvn H.B /DEST pdfmark end
-128 1889
a 0 0 0 TeXcolorrgb 852 w Fo(GHCziBase)p Black -1 w(.)p
0 0 0 TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb 44 w(GHCziBase)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(Char)p Black 44 w(->)p
0 0 0 TeXcolorrgb 45 w(GHCziBase)p Black -2 w(.)p 0 0 0
TeXcolorrgb(ZMZN)p Black 0 0 0 TeXcolorrgb 44 w(GHCziBase)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(Cha)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2008 25 92 v Black 0.95
TeXcolorgray -128 2008 4252 92 v Black 0.95 TeXcolorgray
4124 2008 25 92 v Black 0.95 TeXcolorgray Black -128
1981 a
SDict begin H.S end
-128 1981 a -128 1981 a
SDict begin 11 H.A end
-128 1981 a -128 1981
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.14) cvn H.B /DEST pdfmark end
-128 1981 a 0 0 0 TeXcolorrgb Fo(r)p Black(\))g(->)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2099 25
92 v Black 0.95 TeXcolorgray -128 2099 4252 92 v Black
0.95 TeXcolorgray 4124 2099 25 92 v Black 0.95 TeXcolorgray
Black -128 2072 a
SDict begin H.S end
-128 2072 a -128 2072 a
SDict begin 11 H.A end
-128 2072 a
-128 2072 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.15) cvn H.B /DEST pdfmark end
-128 2072 a 0 0 0 TeXcolorrgb 628 w Fo(tpl2)p
Black -1 w(}\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2191 25 92 v Black 0.95 TeXcolorgray -128 2191 4252
92 v Black 0.95 TeXcolorgray 4124 2191 25 92 v Black
0.95 TeXcolorgray Black -128 2163 a
SDict begin H.S end
-128 2163 a -128
2163 a
SDict begin 11 H.A end
-128 2163 a -128 2163 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.16) cvn H.B /DEST pdfmark end
-128 2163 a 359 w Fo(\(\045)p
0 0 0 TeXcolorrgb(note)p Black 44 w(")p 0 0 0 TeXcolorrgb(bar)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2282 25 92 v Black 0.95 TeXcolorgray -128 2282 4252
92 v Black 0.95 TeXcolorgray 4124 2282 25 92 v Black
0.95 TeXcolorgray Black -128 2255 a
SDict begin H.S end
-128 2255 a -128
2255 a
SDict begin 11 H.A end
-128 2255 a -128 2255 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-558.17) cvn H.B /DEST pdfmark end
-128 2255 a 0 0 0 TeXcolorrgb
404 w Fo(eta)p Black -1 w(\);)p 0.95 TeXcolorgray -153
2307 4302 25 v Black 0.95 TeXcolorgray Black Black Black
-128 2481 a FA(Here,)27 b(we)g(can)f(see)g(that)g(the)g(function)f
Ft(show)g FA(\(which)g(has)i(been)e(e)o(xpanded)e(out)j(to)g(a)h(case)f
(e)o(xpression)e(o)o(v)o(er)h(the)h(Sho)n(w)f(dictionary\))f(has)j(a)
-128 2581 y Ft(\045note)20 b FA(attached)g(to)g(it,)h(as)g(does)f(the)g
(e)o(xpression)e Ft(eta)i FA(\(which)g(used)g(to)g(be)g(called)g
Ft(x)p FA(\).)-128 2724 y
SDict begin H.S end
-128 2724 a -128 2724 a
SDict begin 12 H.A end
-128
2724 a -128 2724 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.15) cvn H.B /DEST pdfmark end
-128 2724 a Black 181 x Fs(7.15)p
Black 107 w(Special)29 b(b)n(uilt-in)f(functions)-128
3032 y
SDict begin H.S end
-128 3032 a -128 3032 a
SDict begin 12 H.A end
-128 3032 a -128 3032
a
SDict begin [ /View [/XYZ H.V] /Dest (special-ids) cvn H.B /DEST pdfmark end
-128 3032 a 115 x FA(GHC)k(has)e(a)h(fe)n(w)f(b)n(uilt-in)g
(functions)f(with)h(special)h(beha)n(viour)-5 b(.)53
b(These)30 b(are)g(no)n(w)g(described)f(in)i(the)f(module)p
0 1 0 0 TeXcolorcmyk 3287 3148 a
SDict begin H.S end
3287 3148 a 0 1 0 0
TeXcolorcmyk -1 x FA(GHC.Prim)p 0 1 0 0 TeXcolorcmyk
3644 3090 a
SDict begin H.R end
3644 3090 a 3644 3147 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/ghc-prim/GHC-Prim.html) >> /Subtype /Link H.B /ANN pdfmark end
3644 3147 a Black
31 w FA(in)h(the)f(library)-128 3246 y(documentation.)-128
3372 y
SDict begin H.S end
-128 3372 a -128 3372 a
SDict begin 12 H.A end
-128 3372 a -128 3372
a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.16) cvn H.B /DEST pdfmark end
-128 3372 a Black 199 x Fs(7.16)p Black 107 w(Generic)f(c)n(lasses)
-128 3698 y
SDict begin H.S end
-128 3698 a -128 3698 a
SDict begin 12 H.A end
-128 3698 a -128
3698 a
SDict begin [ /View [/XYZ H.V] /Dest (generic-classes) cvn H.B /DEST pdfmark end
-128 3698 a 114 x FA(The)21 b(ideas)g(behind)e(this)i(e)o
(xtension)f(are)g(described)g(in)h(detail)g(in)g("Deri)n(v)n(able)e
(type)h(classes",)i(Ralf)f(Hinze)g(and)f(Simon)g(Pe)o(yton)g(Jones,)h
(Hask)o(ell)-128 3912 y(W)-7 b(orkshop,)19 b(Montreal)g(Sept)i(2000,)d
(pp94-105.)k(An)e(e)o(xample)f(will)i(gi)n(v)o(e)e(the)h(idea:)-128
3979 y
SDict begin H.S end
-128 3979 a -128 3979 a
SDict begin 12 H.A end
-128 3979 a -128 3979
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-559) cvn H.B /DEST pdfmark end
-128 3979 a 0.95 TeXcolorgray -153 3995 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4086 25 92 v Black 0.95 TeXcolorgray
-128 4086 4252 92 v Black 0.95 TeXcolorgray 4124 4086
25 92 v Black 0.95 TeXcolorgray Black -128 4059 a
SDict begin H.S end
-128
4059 a -128 4059 a
SDict begin 11 H.A end
-128 4059 a -128 4059 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.1) cvn H.B /DEST pdfmark end
-128 4059
a 0 0 0 TeXcolorrgb 90 w Fo(import)p Black 0 0 0 TeXcolorrgb
44 w(Generics)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4177 25 92 v Black 0.95 TeXcolorgray -128 4177 4252
92 v Black 0.95 TeXcolorgray 4124 4177 25 92 v Black
0.95 TeXcolorgray Black -128 4150 a
SDict begin H.S end
-128 4150 a -128
4150 a
SDict begin 11 H.A end
-128 4150 a -128 4150 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.2) cvn H.B /DEST pdfmark end
-128 4150 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4269 25 92 v Black 0.95
TeXcolorgray -128 4269 4252 92 v Black 0.95 TeXcolorgray
4124 4269 25 92 v Black 0.95 TeXcolorgray Black -128
4241 a
SDict begin H.S end
-128 4241 a -128 4241 a
SDict begin 11 H.A end
-128 4241 a -128 4241
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.3) cvn H.B /DEST pdfmark end
-128 4241 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(Bin)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4360 25 92
v Black 0.95 TeXcolorgray -128 4360 4252 92 v Black 0.95
TeXcolorgray 4124 4360 25 92 v Black 0.95 TeXcolorgray
Black -128 4333 a
SDict begin H.S end
-128 4333 a -128 4333 a
SDict begin 11 H.A end
-128 4333 a
-128 4333 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.4) cvn H.B /DEST pdfmark end
-128 4333 a 0 0 0 TeXcolorrgb 180 w Fo(toBin)p
Black 133 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45
w(->)44 b([)p 0 0 0 TeXcolorrgb(Int)p Black -1 w(])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4451 25
92 v Black 0.95 TeXcolorgray -128 4451 4252 92 v Black
0.95 TeXcolorgray 4124 4451 25 92 v Black 0.95 TeXcolorgray
Black -128 4424 a
SDict begin H.S end
-128 4424 a -128 4424 a
SDict begin 11 H.A end
-128 4424 a
-128 4424 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.5) cvn H.B /DEST pdfmark end
-128 4424 a 0 0 0 TeXcolorrgb 180 w Fo(fromBin)p
Black 43 w(::)h([)p 0 0 0 TeXcolorrgb(Int)p Black -1
w(])g(->)f(\()p 0 0 0 TeXcolorrgb(a)p Black(,)h([)p 0 0 0
TeXcolorrgb(Int)p Black -1 w(]\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4543 25 92 v Black 0.95
TeXcolorgray -128 4543 4252 92 v Black 0.95 TeXcolorgray
4124 4543 25 92 v Black 0.95 TeXcolorgray Black -128
4515 a
SDict begin H.S end
-128 4515 a -128 4515 a
SDict begin 11 H.A end
-128 4515 a -128 4515
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.6) cvn H.B /DEST pdfmark end
-128 4515 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4634 25 92 v Black 0.95 TeXcolorgray -128 4634 4252
92 v Black 0.95 TeXcolorgray 4124 4634 25 92 v Black
0.95 TeXcolorgray Black -128 4607 a
SDict begin H.S end
-128 4607 a -128
4607 a
SDict begin 11 H.A end
-128 4607 a -128 4607 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.7) cvn H.B /DEST pdfmark end
-128 4607 a 0 0 0 TeXcolorrgb
180 w Fo(toBin)p Black 44 w({|)p 0 0 0 TeXcolorrgb 44
w(Unit)p Black 44 w(|})p 0 0 0 TeXcolorrgb 179 w(Unit)p
Black 179 w(=)g([])p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4725 25 92 v Black 0.95 TeXcolorgray -128 4725 4252
92 v Black 0.95 TeXcolorgray 4124 4725 25 92 v Black
0.95 TeXcolorgray Black -128 4698 a
SDict begin H.S end
-128 4698 a -128
4698 a
SDict begin 11 H.A end
-128 4698 a -128 4698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.8) cvn H.B /DEST pdfmark end
-128 4698 a 0 0 0 TeXcolorrgb
180 w Fo(toBin)p Black 44 w({|)p 0 0 0 TeXcolorrgb 44
w(a)p Black 45 w(:+:)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(|})f(\()p 0 0 0 TeXcolorrgb(Inl)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black -1 w(\))135 b(=)44 b(0)h(:)p 0 0 0 TeXcolorrgb
45 w(toBin)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4817 25 92
v Black 0.95 TeXcolorgray -128 4817 4252 92 v Black 0.95
TeXcolorgray 4124 4817 25 92 v Black 0.95 TeXcolorgray
Black -128 4789 a
SDict begin H.S end
-128 4789 a -128 4789 a
SDict begin 11 H.A end
-128 4789 a
-128 4789 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.9) cvn H.B /DEST pdfmark end
-128 4789 a 0 0 0 TeXcolorrgb 180 w Fo(toBin)p
Black 44 w({|)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(:+:)p
0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(|})f(\()p 0 0 0
TeXcolorrgb(Inr)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black
-1 w(\))135 b(=)44 b(1)h(:)p 0 0 0 TeXcolorrgb 45 w(toBin)p
Black 0 0 0 TeXcolorrgb 44 w(y)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4908 25 92 v Black 0.95
TeXcolorgray -128 4908 4252 92 v Black 0.95 TeXcolorgray
4124 4908 25 92 v Black 0.95 TeXcolorgray Black -128
4880 a
SDict begin H.S end
-128 4880 a -128 4880 a
SDict begin 11 H.A end
-128 4880 a -128 4880
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.10) cvn H.B /DEST pdfmark end
-128 4880 a 0 0 0 TeXcolorrgb 180 w Fo(toBin)p Black
44 w({|)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(:)590
4893 y(*)635 4880 y(:)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(|})f(\()p 0 0 0 TeXcolorrgb(x)p Black 45 w(:)1128
4893 y(*)1173 4880 y(:)p 0 0 0 TeXcolorrgb 44 w(y)p Black(\))h(=)p
0 0 0 TeXcolorrgb 44 w(toBin)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 45 w(++)p 0 0 0 TeXcolorrgb 45 w(toBin)p
Black 0 0 0 TeXcolorrgb 44 w(y)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4999 25 92 v Black 0.95
TeXcolorgray -128 4999 4252 92 v Black 0.95 TeXcolorgray
4124 4999 25 92 v Black 0.95 TeXcolorgray Black -128
4972 a
SDict begin H.S end
-128 4972 a -128 4972 a
SDict begin 11 H.A end
-128 4972 a -128 4972
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.11) cvn H.B /DEST pdfmark end
-128 4972 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5091 25 92 v Black 0.95 TeXcolorgray -128 5091 4252
92 v Black 0.95 TeXcolorgray 4124 5091 25 92 v Black
0.95 TeXcolorgray Black -128 5063 a
SDict begin H.S end
-128 5063 a -128
5063 a
SDict begin 11 H.A end
-128 5063 a -128 5063 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.12) cvn H.B /DEST pdfmark end
-128 5063 a 0 0 0 TeXcolorrgb
180 w Fo(fromBin)p Black 43 w({|)p 0 0 0 TeXcolorrgb
45 w(Unit)p Black 44 w(|})p 0 0 0 TeXcolorrgb 179 w(bs)p
Black 269 w(=)f(\()p 0 0 0 TeXcolorrgb(Unit)p Black(,)p
0 0 0 TeXcolorrgb 44 w(bs)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5182 25 92 v Black 0.95
TeXcolorgray -128 5182 4252 92 v Black 0.95 TeXcolorgray
4124 5182 25 92 v Black 0.95 TeXcolorgray Black -128
5154 a
SDict begin H.S end
-128 5154 a -128 5154 a
SDict begin 11 H.A end
-128 5154 a -128 5154
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.13) cvn H.B /DEST pdfmark end
-128 5154 a 0 0 0 TeXcolorrgb 180 w Fo(fromBin)p Black
43 w({|)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(:+:)p
0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(|})g(\(0:)p 0 0 0
TeXcolorrgb(bs)p Black -1 w(\))90 b(=)44 b(\()p 0 0 0
TeXcolorrgb(Inl)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black
-1 w(,)p 0 0 0 TeXcolorrgb 45 w(bs)p Black('\))p 0 0 0
TeXcolorrgb 179 w(where)p Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p
Black -1 w(,)p 0 0 0 TeXcolorrgb(bs)p Black('\))g(=)p
0 0 0 TeXcolorrgb 45 w(fromBin)p Black 0 0 0 TeXcolorrgb
44 w(bs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5273 25 92 v Black 0.95 TeXcolorgray -128 5273 4252
92 v Black 0.95 TeXcolorgray 4124 5273 25 92 v Black
0.95 TeXcolorgray Black -128 5246 a
SDict begin H.S end
-128 5246 a -128
5246 a
SDict begin 11 H.A end
-128 5246 a -128 5246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.14) cvn H.B /DEST pdfmark end
-128 5246 a 0 0 0 TeXcolorrgb
180 w Fo(fromBin)p Black 43 w({|)p 0 0 0 TeXcolorrgb
45 w(a)p Black 45 w(:+:)p 0 0 0 TeXcolorrgb 44 w(b)p
Black 45 w(|})g(\(1:)p 0 0 0 TeXcolorrgb(bs)p Black -1
w(\))90 b(=)44 b(\()p 0 0 0 TeXcolorrgb(Inr)p Black 0 0 0
TeXcolorrgb 45 w(y)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(bs)p Black('\))p 0 0 0 TeXcolorrgb 179 w(where)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(y)p Black -1 w(,)p
0 0 0 TeXcolorrgb(bs)p Black('\))g(=)p 0 0 0 TeXcolorrgb
45 w(fromBin)p Black 0 0 0 TeXcolorrgb 44 w(bs)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5365 25
92 v Black 0.95 TeXcolorgray -128 5365 4252 92 v Black
0.95 TeXcolorgray 4124 5365 25 92 v Black 0.95 TeXcolorgray
Black -128 5337 a
SDict begin H.S end
-128 5337 a -128 5337 a
SDict begin 11 H.A end
-128 5337 a
-128 5337 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.15) cvn H.B /DEST pdfmark end
-128 5337 a 0 0 0 TeXcolorrgb 180 w Fo(fromBin)p
Black 43 w({|)p 0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(:)680
5350 y(*)725 5337 y(:)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(|})p 0 0 0 TeXcolorrgb 44 w(bs)p Black 179 w(=)h(\()p
0 0 0 TeXcolorrgb(x)p Black 44 w(:)1576 5350 y(*)1621
5337 y(:)p 0 0 0 TeXcolorrgb 45 w(y)p Black -1 w(,)p
0 0 0 TeXcolorrgb 45 w(bs)p Black(''\))p 0 0 0 TeXcolorrgb
44 w(where)p Black 44 w(\()p 0 0 0 TeXcolorrgb(x)p Black(,)p
0 0 0 TeXcolorrgb(bs)p Black -1 w(')g(\))g(=)p 0 0 0
TeXcolorrgb 44 w(fromBin)p Black 0 0 0 TeXcolorrgb 44
w(bs)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5456 25 92 v Black 0.95 TeXcolorgray -128 5456 4252
92 v Black 0.95 TeXcolorgray 4124 5456 25 92 v Black
0.95 TeXcolorgray Black -128 5428 a
SDict begin H.S end
-128 5428 a -128
5428 a
SDict begin 11 H.A end
-128 5428 a -128 5428 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-559.16) cvn H.B /DEST pdfmark end
-128 5428 a 718 w Fo(\()p
0 0 0 TeXcolorrgb(y)p Black -1 w(,)p 0 0 0 TeXcolorrgb(bs)p
Black(''\))f(=)p 0 0 0 TeXcolorrgb 45 w(fromBin)p Black
0 0 0 TeXcolorrgb 44 w(bs)p Black -1 w(')p 0.95 TeXcolorgray
-153 5481 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 5655 a FA(This)25 b(class)g(declaration)e(e)o(xplains)h(ho)n
(w)f Ft(toBin)h FA(and)g Ft(fromBin)g FA(w)o(ork)g(for)f(arbitrary)g
(data)h(types.)38 b(The)o(y)23 b(do)h(so)h(by)f(gi)n(ving)f(cases)i
(for)e(unit,)-128 5755 y(product,)c(and)g(sum,)h(which)g(are)g
(de\002ned)f(thus)h(in)h(the)f(library)f(module)g Ft(Generics)p
FA(:)p Black -128 6084 4252 5 v Black eop end
%%Page: 191 206
TeXDict begin 191 205 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.191) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(191)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-560) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -153
173 4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 265 25 92 v Black 0.95 TeXcolorgray
-128 265 4252 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -128 237 a
SDict begin H.S end
-128 237
a -128 237 a
SDict begin 11 H.A end
-128 237 a -128 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-560.1) cvn H.B /DEST pdfmark end
-128 237 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(Unit)p Black
179 w(=)p 0 0 0 TeXcolorrgb 45 w(Unit)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 356 25 92 v Black 0.95 TeXcolorgray
-128 356 4252 92 v Black 0.95 TeXcolorgray 4124 356 25
92 v Black 0.95 TeXcolorgray Black -128 328 a
SDict begin H.S end
-128 328
a -128 328 a
SDict begin 11 H.A end
-128 328 a -128 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-560.2) cvn H.B /DEST pdfmark end
-128 328 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(:+:)p 0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(=)p
0 0 0 TeXcolorrgb 45 w(Inl)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(|)p 0 0 0 TeXcolorrgb 44 w(Inr)p
Black 0 0 0 TeXcolorrgb 45 w(b)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 447 25 92 v Black 0.95 TeXcolorgray
-128 447 4252 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -128 420 a
SDict begin H.S end
-128 420
a -128 420 a
SDict begin 11 H.A end
-128 420 a -128 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-560.3) cvn H.B /DEST pdfmark end
-128 420 a 0 0 0 TeXcolorrgb
90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black
45 w(:)321 433 y(*)366 420 y(:)p 0 0 0 TeXcolorrgb 44
w(b)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(a)p Black
44 w(:)769 433 y(*)814 420 y(:)p 0 0 0 TeXcolorrgb 45
w(b)p Black 0.95 TeXcolorgray -153 472 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 646 a FA(No)n(w)h(you)e(can)h
(mak)o(e)g(a)g(data)g(type)g(into)g(an)g(instance)g(of)g(Bin)g(lik)o(e)
h(this:)-128 714 y
SDict begin H.S end
-128 714 a -128 714 a
SDict begin 12 H.A end
-128 714 a -128
714 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-561) cvn H.B /DEST pdfmark end
-128 714 a 0.95 TeXcolorgray -153 729 4302 25 v
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 821 25 92 v Black 0.95 TeXcolorgray
-128 821 4252 92 v Black 0.95 TeXcolorgray 4124 821 25
92 v Black 0.95 TeXcolorgray Black -128 793 a
SDict begin H.S end
-128 793
a -128 793 a
SDict begin 11 H.A end
-128 793 a -128 793 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-561.1) cvn H.B /DEST pdfmark end
-128 793 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 44 w(\()p 0 0 0 TeXcolorrgb
-1 w(Bin)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(,)p
0 0 0 TeXcolorrgb 44 w(Bin)p Black 0 0 0 TeXcolorrgb
45 w(b)p Black -1 w(\))45 b(=>)p 0 0 0 TeXcolorrgb 45
w(Bin)p Black 44 w(\()p 0 0 0 TeXcolorrgb(a)p Black(,)p
0 0 0 TeXcolorrgb -1 w(b)p Black(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 912 25 92 v Black 0.95 TeXcolorgray
-128 912 4252 92 v Black 0.95 TeXcolorgray 4124 912 25
92 v Black 0.95 TeXcolorgray Black -128 885 a
SDict begin H.S end
-128 885
a -128 885 a
SDict begin 11 H.A end
-128 885 a -128 885 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-561.2) cvn H.B /DEST pdfmark end
-128 885 a 0 0 0 TeXcolorrgb
90 w Fo(instance)p Black 0 0 0 TeXcolorrgb 44 w(Bin)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=>)p 0 0 0
TeXcolorrgb 44 w(Bin)p Black 44 w([)p 0 0 0 TeXcolorrgb(a)p
Black(])p 0.95 TeXcolorgray -153 937 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 1111 a FA(That)28
b(is,)i(just)f(lea)n(v)o(e)f(of)n(f)f(the)h("where")f(clause.)47
b(Of)29 b(course,)f(you)f(can)h(put)f(in)h(the)g(where)f(clause)h(and)g
(o)o(v)o(er)n(-ride)d(whiche)n(v)o(er)h(methods)h(you)-128
1211 y(please.)-128 1345 y
SDict begin H.S end
-128 1345 a -128 1345 a
SDict begin 12 H.A end
-128
1345 a -128 1345 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.16.1) cvn H.B /DEST pdfmark end
-128 1345 a Black 148 x Fp(7.16.1)p
Black 114 w(Using)d(g)q(enerics)-128 1696 y FA(T)-7 b(o)21
b(use)f(generics)g(you)f(need)g(to)p Black -128 1912
a(\225)p Black 42 w(Use)30 b(the)f(\003ags)h Ft(-fglasgow-exts)e
FA(\(to)h(enable)g(the)g(e)o(xtra)g(syntax\),)h Ft(-XGenerics)e
FA(\(to)h(generate)g(e)o(xtra)f(per)n(-data-type)f(code\),)k(and)-57
2012 y Ft(-package)48 b(lang)20 b FA(\(to)g(mak)o(e)g(the)g
Ft(Generics)g FA(library)f(a)n(v)n(ailable.)p Black -128
2178 a(\225)p Black 42 w(Import)25 b(the)h(module)f Ft(Generics)h
FA(from)f(the)h Ft(lang)h FA(package.)42 b(This)26 b(import)f(brings)h
(into)g(scope)g(the)g(data)h(types)f Ft(Unit)p FA(,)h
Ft(:)3729 2193 y(*)3779 2178 y(:)p FA(,)h(and)e Ft(:-)-57
2277 y(+:)p FA(.)41 b(\(Y)-9 b(ou)25 b(don')o(t)f(need)h(this)h(import)
e(if)i(you)f(don')o(t)f(mention)g(these)i(types)f(e)o(xplicitly;)j(for)
d(e)o(xample,)g(if)h(you)e(are)i(simply)f(gi)n(ving)f(instance)-57
2377 y(declarations.\))-128 2508 y
SDict begin H.S end
-128 2508 a -128 2508
a
SDict begin 12 H.A end
-128 2508 a -128 2508 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.16.2) cvn H.B /DEST pdfmark end
-128 2508 a Black 151 x Fp(7.16.2)p
Black 114 w(Chang)q(es)g(wr)r(t)g(the)g(paper)-128 2862
y FA(Note)19 b(that)g(the)g(type)f(constructors)g Ft(:+:)24
b FA(and)18 b Ft(:)1269 2877 y(*)1319 2862 y(:)25 b FA(can)18
b(be)h(written)g(in\002x)g(\(indeed,)e(you)h(can)g(no)n(w)h(use)g(an)o
(y)f(operator)f(starting)h(in)h(a)h(colon)d(as)j(an)-128
2962 y(in\002x)i(type)g(constructor\).)28 b(Also)22 b(note)g(that)g
(the)g(type)f(constructors)g(are)h(not)f(e)o(xactly)g(as)i(in)f(the)g
(paper)f(\(Unit)h(instead)g(of)f(1,)i(etc\).)30 b(Finally)-5
b(,)21 b(note)-128 3061 y(that)k(the)g(syntax)f(of)g(the)h(type)f
(patterns)g(in)h(the)g(class)g(declaration)e(uses)i(")p
Ft({|)p FA(")g(and)f(")p Ft(|})p FA(")h(brack)o(ets;)h(curly)e(braces)g
(alone)g(w)o(ould)g(ambiguous)-128 3161 y(when)c(the)o(y)f(appear)h(on)
f(right)h(hand)f(sides)i(\(an)f(e)o(xtension)e(we)j(anticipate)e(w)o
(anting\).)-128 3295 y
SDict begin H.S end
-128 3295 a -128 3295 a
SDict begin 12 H.A end
-128 3295
a -128 3295 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.16.3) cvn H.B /DEST pdfmark end
-128 3295 a Black 148 x Fp(7.16.3)p Black
89 w(T)-5 b(erminology)23 b(and)h(restrictions)-128 3646
y FA(T)-6 b(erminology)h(.)21 b(A)16 b("generic)e(def)o(ault)h(method")
f(in)h(a)h(class)h(declaration)d(is)i(one)f(that)h(is)g(de\002ned)e
(using)h(type)g(patterns)g(as)i(abo)o(v)o(e.)k(A)16 b("polymorphic)-128
3746 y(def)o(ault)i(method")g(is)h(a)g(def)o(ault)f(method)g(de\002ned)
f(as)j(in)e(Hask)o(ell)h(98.)24 b(A)c("generic)d(class)j(declaration")d
(is)i(a)g(class)h(declaration)d(with)i(at)g(least)h(one)-128
3846 y(generic)g(def)o(ault)f(method.)-128 3995 y(Restrictions:)p
Black -128 4211 a(\225)p Black 42 w(Alas,)i(we)f(do)g(not)g(yet)g
(implement)f(the)h(stuf)n(f)g(about)f(constructor)g(names)g(and)h
(\002eld)g(labels.)p Black -128 4377 a(\225)p Black 42
w(A)h(generic)e(class)i(can)f(ha)n(v)o(e)g(only)f(one)h(parameter;)e
(you)i(can')o(t)f(ha)n(v)o(e)g(a)i(generic)e(multi-parameter)f(class.)p
Black -128 4543 a(\225)p Black 42 w(A)j(def)o(ault)e(method)g(must)h
(be)g(de\002ned)g(entirely)f(using)h(type)f(patterns,)h(or)g(entirely)f
(without.)24 b(So)d(this)f(is)h(ille)o(gal:)-128 4611
y
SDict begin H.S end
-128 4611 a -128 4611 a
SDict begin 12 H.A end
-128 4611 a -128 4611 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-562) cvn H.B /DEST pdfmark end
-128
4611 a 0.95 TeXcolorgray -82 4626 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4717 25 92 v Black 0.95 TeXcolorgray -57 4717 4182
92 v Black 0.95 TeXcolorgray 4124 4717 25 92 v Black
0.95 TeXcolorgray Black -57 4690 a
SDict begin H.S end
-57 4690 a -57 4690
a
SDict begin 11 H.A end
-57 4690 a -57 4690 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-562.1) cvn H.B /DEST pdfmark end
-57 4690 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4809 25 92 v Black 0.95 TeXcolorgray -57 4809 4182
92 v Black 0.95 TeXcolorgray 4124 4809 25 92 v Black
0.95 TeXcolorgray Black -57 4781 a
SDict begin H.S end
-57 4781 a -57 4781
a
SDict begin 11 H.A end
-57 4781 a -57 4781 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-562.2) cvn H.B /DEST pdfmark end
-57 4781 a 0 0 0 TeXcolorrgb
179 w Fo(op)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)44 b(\()p 0 0 0 TeXcolorrgb(a)p Black(,)p
0 0 0 TeXcolorrgb 45 w(Bool)p Black -1 w(\))p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4900 25 92 v Black 0.95 TeXcolorgray
-57 4900 4182 92 v Black 0.95 TeXcolorgray 4124 4900
25 92 v Black 0.95 TeXcolorgray Black -57 4873 a
SDict begin H.S end
-57
4873 a -57 4873 a
SDict begin 11 H.A end
-57 4873 a -57 4873 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-562.3) cvn H.B /DEST pdfmark end
-57 4873 a 0 0 0
TeXcolorrgb 179 w Fo(op)p Black 45 w({|)p 0 0 0 TeXcolorrgb
44 w(Unit)p Black 44 w(|})p 0 0 0 TeXcolorrgb 45 w(Unit)p
Black 44 w(=)h(\()p 0 0 0 TeXcolorrgb(Unit)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(True)p Black -1 w(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4991 25 92 v
Black 0.95 TeXcolorgray -57 4991 4182 92 v Black 0.95
TeXcolorgray 4124 4991 25 92 v Black 0.95 TeXcolorgray
Black -57 4964 a
SDict begin H.S end
-57 4964 a -57 4964 a
SDict begin 11 H.A end
-57 4964 a -57
4964 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-562.4) cvn H.B /DEST pdfmark end
-57 4964 a 0 0 0 TeXcolorrgb 179 w Fo(op)p Black
0 0 0 TeXcolorrgb 45 w(x)p Black 672 w(=)g(\()p 0 0 0
TeXcolorrgb(x)p Black -1 w(,)p 0 0 0 TeXcolorrgb 180
w(False)p Black -1 w(\))p 0.95 TeXcolorgray -82 5016
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
5174 a FA(Ho)n(we)n(v)o(er)15 b(it)i(is)h(perfectly)d(OK)i(for)f(some)h
(methods)e(of)i(a)g(generic)e(class)j(to)f(ha)n(v)o(e)f(generic)g(def)o
(ault)f(methods)h(and)g(others)g(to)h(ha)n(v)o(e)f(polymorphic)-57
5274 y(def)o(ault)j(methods.)p Black -128 5440 a(\225)p
Black 42 w(The)j(type)g(v)n(ariable\(s\))f(in)i(the)g(type)f(pattern)g
(for)g(a)h(generic)e(method)g(declaration)g(scope)i(o)o(v)o(er)e(the)h
(right)g(hand)g(side.)32 b(So)23 b(this)g(is)h(le)o(gal)e(\(note)-57
5539 y(the)e(use)h(of)f(the)g(type)f(v)n(ariable)h(\223p\224)g(in)g(a)h
(type)e(signature)g(on)h(the)g(right)g(hand)f(side:)p
Black -128 6084 4252 5 v Black eop end
%%Page: 192 207
TeXDict begin 192 206 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.192) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(192)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-563) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-563.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 356 25 92 v Black 0.95 TeXcolorgray -57 356 4182
92 v Black 0.95 TeXcolorgray 4124 356 25 92 v Black 0.95
TeXcolorgray Black -57 328 a
SDict begin H.S end
-57 328 a -57 328 a
SDict begin 11 H.A end
-57
328 a -57 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-563.2) cvn H.B /DEST pdfmark end
-57 328 a 0 0 0 TeXcolorrgb 179 w Fo(op)p
Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 447 25 92 v Black 0.95 TeXcolorgray
-57 447 4182 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -57 420 a
SDict begin H.S end
-57 420
a -57 420 a
SDict begin 11 H.A end
-57 420 a -57 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-563.3) cvn H.B /DEST pdfmark end
-57 420 a 0 0 0 TeXcolorrgb
179 w Fo(op)p Black 45 w({|)p 0 0 0 TeXcolorrgb 44 w(p)p
Black 45 w(:)526 433 y(*)571 420 y(:)p 0 0 0 TeXcolorrgb
44 w(q)p Black 45 w(|})44 b(\()p 0 0 0 TeXcolorrgb(x)p
Black 45 w(:)1064 433 y(*)1109 420 y(:)p 0 0 0 TeXcolorrgb
44 w(y)p Black(\))h(=)p 0 0 0 TeXcolorrgb 44 w(op)p Black
45 w(\()p 0 0 0 TeXcolorrgb(x)p Black 44 w(::)p 0 0 0
TeXcolorrgb 45 w(p)p Black(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 538 25 92 v Black 0.95 TeXcolorgray
-57 538 4182 92 v Black 0.95 TeXcolorgray 4124 538 25
92 v Black 0.95 TeXcolorgray Black -57 511 a
SDict begin H.S end
-57 511
a -57 511 a
SDict begin 11 H.A end
-57 511 a -57 511 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-563.4) cvn H.B /DEST pdfmark end
-57 511 a 179 w Fo(...)p
0.95 TeXcolorgray -82 563 4232 25 v Black 0.95 TeXcolorgray
Black Black Black Black -128 735 a FA(\225)p Black 42
w(The)20 b(type)g(patterns)f(in)i(a)f(generic)f(def)o(ault)h(method)f
(must)h(tak)o(e)g(one)g(of)g(the)g(forms:)-128 794 y
SDict begin H.S end
-128 794 a -128 794 a
SDict begin 12 H.A end
-128 794 a -128 794 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-564) cvn H.B /DEST pdfmark end
-128 794
a 0.95 TeXcolorgray -82 809 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 900
25 92 v Black 0.95 TeXcolorgray -57 900 4182 92 v Black
0.95 TeXcolorgray 4124 900 25 92 v Black 0.95 TeXcolorgray
Black -57 873 a
SDict begin H.S end
-57 873 a -57 873 a
SDict begin 11 H.A end
-57 873 a -57 873
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-564.1) cvn H.B /DEST pdfmark end
-57 873 a 0 0 0 TeXcolorrgb 314 w Fo(a)p Black 45 w(:+:)p
0 0 0 TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 992 25 92 v Black 0.95 TeXcolorgray
-57 992 4182 92 v Black 0.95 TeXcolorgray 4124 992 25
92 v Black 0.95 TeXcolorgray Black -57 964 a
SDict begin H.S end
-57 964
a -57 964 a
SDict begin 11 H.A end
-57 964 a -57 964 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-564.2) cvn H.B /DEST pdfmark end
-57 964 a 0 0 0 TeXcolorrgb
314 w Fo(a)p Black 45 w(:)392 977 y(*)437 964 y(:)p 0 0 0
TeXcolorrgb 44 w(b)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 1083 25 92 v Black 0.95 TeXcolorgray
-57 1083 4182 92 v Black 0.95 TeXcolorgray 4124 1083
25 92 v Black 0.95 TeXcolorgray Black -57 1056 a
SDict begin H.S end
-57
1056 a -57 1056 a
SDict begin 11 H.A end
-57 1056 a -57 1056 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-564.3) cvn H.B /DEST pdfmark end
-57 1056 a 0 0 0
TeXcolorrgb 314 w Fo(Unit)p Black 0.95 TeXcolorgray -82
1108 4232 25 v Black 0.95 TeXcolorgray Black Black Black
-57 1252 a FA(where)29 b("a")h(and)f("b")g(are)h(type)f(v)n(ariables.)
52 b(Furthermore,)29 b(all)i(the)e(type)g(patterns)g(for)g(a)h(single)g
(type)f(constructor)f(\()p Ft(:)3534 1267 y(*)3584 1252
y(:)p FA(,)j(say\))e(must)h(be)-57 1351 y(identical;)20
b(the)o(y)f(must)h(use)h(the)f(same)g(type)g(v)n(ariables.)k(So)d(this)
f(is)i(ille)o(gal:)-128 1409 y
SDict begin H.S end
-128 1409 a -128 1409
a
SDict begin 12 H.A end
-128 1409 a -128 1409 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-565) cvn H.B /DEST pdfmark end
-128 1409 a 0.95 TeXcolorgray
-82 1425 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1516 25 92 v
Black 0.95 TeXcolorgray -57 1516 4182 92 v Black 0.95
TeXcolorgray 4124 1516 25 92 v Black 0.95 TeXcolorgray
Black -57 1489 a
SDict begin H.S end
-57 1489 a -57 1489 a
SDict begin 11 H.A end
-57 1489 a -57
1489 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-565.1) cvn H.B /DEST pdfmark end
-57 1489 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1607 25 92 v
Black 0.95 TeXcolorgray -57 1607 4182 92 v Black 0.95
TeXcolorgray 4124 1607 25 92 v Black 0.95 TeXcolorgray
Black -57 1580 a
SDict begin H.S end
-57 1580 a -57 1580 a
SDict begin 11 H.A end
-57 1580 a -57
1580 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-565.2) cvn H.B /DEST pdfmark end
-57 1580 a 0 0 0 TeXcolorrgb 179 w Fo(op)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 1699 25 92 v Black 0.95 TeXcolorgray
-57 1699 4182 92 v Black 0.95 TeXcolorgray 4124 1699
25 92 v Black 0.95 TeXcolorgray Black -57 1671 a
SDict begin H.S end
-57
1671 a -57 1671 a
SDict begin 11 H.A end
-57 1671 a -57 1671 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-565.3) cvn H.B /DEST pdfmark end
-57 1671 a 0 0 0
TeXcolorrgb 179 w Fo(op)p Black 45 w({|)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(:+:)p 0 0 0 TeXcolorrgb 44 w(b)p
Black 45 w(|})44 b(\()p 0 0 0 TeXcolorrgb(Inl)p Black
0 0 0 TeXcolorrgb 45 w(x)p Black -1 w(\))h(=)p 0 0 0
TeXcolorrgb 45 w(True)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 1790 25 92 v Black 0.95 TeXcolorgray
-57 1790 4182 92 v Black 0.95 TeXcolorgray 4124 1790
25 92 v Black 0.95 TeXcolorgray Black -57 1763 a
SDict begin H.S end
-57
1763 a -57 1763 a
SDict begin 11 H.A end
-57 1763 a -57 1763 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-565.4) cvn H.B /DEST pdfmark end
-57 1763 a 0 0 0
TeXcolorrgb 179 w Fo(op)p Black 45 w({|)p 0 0 0 TeXcolorrgb
44 w(p)p Black 45 w(:+:)p 0 0 0 TeXcolorrgb 44 w(q)p
Black 45 w(|})f(\()p 0 0 0 TeXcolorrgb(Inr)p Black 0 0 0
TeXcolorrgb 45 w(y)p Black -1 w(\))h(=)p 0 0 0 TeXcolorrgb
45 w(False)p Black 0.95 TeXcolorgray -82 1815 4232 25
v Black 0.95 TeXcolorgray Black Black Black -57 1959
a FA(The)20 b(type)g(patterns)f(must)h(be)h(identical,)e(e)n(v)o(en)g
(in)h(equations)f(for)h(dif)n(ferent)f(methods)g(of)h(the)g(class.)26
b(So)20 b(this)h(too)f(is)h(ille)o(gal:)-128 2017 y
SDict begin H.S end
-128
2017 a -128 2017 a
SDict begin 12 H.A end
-128 2017 a -128 2017 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-566) cvn H.B /DEST pdfmark end
-128 2017
a 0.95 TeXcolorgray -82 2032 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2123
25 92 v Black 0.95 TeXcolorgray -57 2123 4182 92 v Black
0.95 TeXcolorgray 4124 2123 25 92 v Black 0.95 TeXcolorgray
Black -57 2096 a
SDict begin H.S end
-57 2096 a -57 2096 a
SDict begin 11 H.A end
-57 2096 a -57
2096 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-566.1) cvn H.B /DEST pdfmark end
-57 2096 a 0 0 0 TeXcolorrgb 90 w Fo(class)p Black
0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(where)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2215 25 92 v
Black 0.95 TeXcolorgray -57 2215 4182 92 v Black 0.95
TeXcolorgray 4124 2215 25 92 v Black 0.95 TeXcolorgray
Black -57 2187 a
SDict begin H.S end
-57 2187 a -57 2187 a
SDict begin 11 H.A end
-57 2187 a -57
2187 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-566.2) cvn H.B /DEST pdfmark end
-57 2187 a 0 0 0 TeXcolorrgb 179 w Fo(op1)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 2306 25 92 v Black 0.95 TeXcolorgray
-57 2306 4182 92 v Black 0.95 TeXcolorgray 4124 2306
25 92 v Black 0.95 TeXcolorgray Black -57 2279 a
SDict begin H.S end
-57
2279 a -57 2279 a
SDict begin 11 H.A end
-57 2279 a -57 2279 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-566.3) cvn H.B /DEST pdfmark end
-57 2279 a 0 0 0
TeXcolorrgb 179 w Fo(op1)p Black 45 w({|)p 0 0 0 TeXcolorrgb
44 w(a)p Black 45 w(:)571 2292 y(*)616 2279 y(:)p 0 0 0
TeXcolorrgb 44 w(b)p Black 45 w(|})44 b(\()p 0 0 0 TeXcolorrgb(x)p
Black 45 w(:)1109 2292 y(*)1154 2279 y(:)p 0 0 0 TeXcolorrgb
44 w(y)p Black(\))h(=)p 0 0 0 TeXcolorrgb 44 w(True)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2397
25 92 v Black 0.95 TeXcolorgray -57 2397 4182 92 v Black
0.95 TeXcolorgray 4124 2397 25 92 v Black 0.95 TeXcolorgray
Black -57 2370 a
SDict begin H.S end
-57 2370 a -57 2370 a
SDict begin 11 H.A end
-57 2370 a -57
2370 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-566.4) cvn H.B /DEST pdfmark end
-57 2370 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2489 25 92 v Black 0.95 TeXcolorgray -57 2489 4182
92 v Black 0.95 TeXcolorgray 4124 2489 25 92 v Black
0.95 TeXcolorgray Black -57 2461 a
SDict begin H.S end
-57 2461 a -57 2461
a
SDict begin 11 H.A end
-57 2461 a -57 2461 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-566.5) cvn H.B /DEST pdfmark end
-57 2461 a 0 0 0 TeXcolorrgb
179 w Fo(op2)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2580 25 92 v
Black 0.95 TeXcolorgray -57 2580 4182 92 v Black 0.95
TeXcolorgray 4124 2580 25 92 v Black 0.95 TeXcolorgray
Black -57 2553 a
SDict begin H.S end
-57 2553 a -57 2553 a
SDict begin 11 H.A end
-57 2553 a -57
2553 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-566.6) cvn H.B /DEST pdfmark end
-57 2553 a 0 0 0 TeXcolorrgb 179 w Fo(op2)p Black
45 w({|)p 0 0 0 TeXcolorrgb 44 w(p)p Black 45 w(:)571
2566 y(*)616 2553 y(:)p 0 0 0 TeXcolorrgb 44 w(q)p Black
45 w(|})f(\()p 0 0 0 TeXcolorrgb(x)p Black 45 w(:)1109
2566 y(*)1154 2553 y(:)p 0 0 0 TeXcolorrgb 44 w(y)p Black(\))h(=)p
0 0 0 TeXcolorrgb 44 w(False)p Black 0.95 TeXcolorgray
-82 2605 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 2749 a FA(\(The)19 b(reason)f(for)h(this)h(restriction)f(is)h
(that)f(we)h(gather)e(all)i(the)g(equations)e(for)h(a)g(particular)f
(type)h(constructor)f(into)h(a)h(single)f(generic)f(instance)-57
2848 y(declaration.\))p Black -128 3005 a(\225)p Black
42 w(A)j(generic)e(method)g(declaration)f(must)i(gi)n(v)o(e)g(a)g(case)
h(for)f(each)g(of)f(the)i(three)e(type)h(constructors.)p
Black -128 3161 a(\225)p Black 42 w(The)g(type)g(for)f(a)i(generic)e
(method)g(can)h(be)g(b)n(uilt)g(only)g(from:)p Black
-57 3318 a Fu(\226)p Black 41 w FA(Function)f(arro)n(ws)p
Black -57 3441 a Fu(\226)p Black 41 w FA(T)-7 b(ype)20
b(v)n(ariables)p Black -57 3565 a Fu(\226)p Black 41
w FA(T)l(uples)p Black -57 3688 a Fu(\226)p Black 41
w FA(Arbitrary)f(types)h(not)g(in)m(v)n(olving)e(type)h(v)n(ariables)
-57 3845 y(Here)h(are)g(some)g(e)o(xample)f(type)h(signatures)f(for)h
(generic)f(methods:)-128 3903 y
SDict begin H.S end
-128 3903 a -128 3903
a
SDict begin 12 H.A end
-128 3903 a -128 3903 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-567) cvn H.B /DEST pdfmark end
-128 3903 a 0.95 TeXcolorgray
-82 3918 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4010 25 92 v
Black 0.95 TeXcolorgray -57 4010 4182 92 v Black 0.95
TeXcolorgray 4124 4010 25 92 v Black 0.95 TeXcolorgray
Black -57 3982 a
SDict begin H.S end
-57 3982 a -57 3982 a
SDict begin 11 H.A end
-57 3982 a -57
3982 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-567.1) cvn H.B /DEST pdfmark end
-57 3982 a 0 0 0 TeXcolorrgb 179 w Fo(op1)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 4101 25 92 v Black 0.95 TeXcolorgray
-57 4101 4182 92 v Black 0.95 TeXcolorgray 4124 4101
25 92 v Black 0.95 TeXcolorgray Black -57 4074 a
SDict begin H.S end
-57
4074 a -57 4074 a
SDict begin 11 H.A end
-57 4074 a -57 4074 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-567.2) cvn H.B /DEST pdfmark end
-57 4074 a 0 0 0
TeXcolorrgb 179 w Fo(op2)p Black 45 w(::)p 0 0 0 TeXcolorrgb
44 w(Bool)p Black 44 w(->)45 b(\()p 0 0 0 TeXcolorrgb(a)p
Black -1 w(,)p 0 0 0 TeXcolorrgb(Bool)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4192 25 92 v
Black 0.95 TeXcolorgray -57 4192 4182 92 v Black 0.95
TeXcolorgray 4124 4192 25 92 v Black 0.95 TeXcolorgray
Black -57 4165 a
SDict begin H.S end
-57 4165 a -57 4165 a
SDict begin 11 H.A end
-57 4165 a -57
4165 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-567.3) cvn H.B /DEST pdfmark end
-57 4165 a 0 0 0 TeXcolorrgb 179 w Fo(op3)p Black
45 w(::)f([)p 0 0 0 TeXcolorrgb(Int)p Black -1 w(])h(->)p
0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(->)p 0 0 0 TeXcolorrgb
45 w(a)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 4284 25 92 v Black 0.95 TeXcolorgray -57 4284 4182
92 v Black 0.95 TeXcolorgray 4124 4284 25 92 v Black
0.95 TeXcolorgray Black -57 4256 a
SDict begin H.S end
-57 4256 a -57 4256
a
SDict begin 11 H.A end
-57 4256 a -57 4256 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-567.4) cvn H.B /DEST pdfmark end
-57 4256 a 0 0 0 TeXcolorrgb
179 w Fo(op4)p Black 45 w(::)f([)p 0 0 0 TeXcolorrgb(a)p
Black(])g(->)p 0 0 0 TeXcolorrgb 45 w(Bool)p Black 0.95
TeXcolorgray -82 4309 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 4452 a FA(Here,)20 b(op1,)f(op2,)g(op3)g(are)h
(OK,)h(b)n(ut)f(op4)f(is)i(rejected,)f(because)f(it)i(has)f(a)h(type)f
(v)n(ariable)f(inside)h(a)h(list.)-57 4580 y(This)g(restriction)e(is)i
(an)g(implementation)d(restriction:)24 b(we)d(just)g(ha)n(v)o(en')o(t)e
(got)h(around)e(to)i(implementing)f(the)h(necessary)g(bidirectional)e
(maps)-57 4680 y(o)o(v)o(er)23 b(arbitrary)g(type)h(constructors.)37
b(It)25 b(w)o(ould)f(be)g(relati)n(v)o(ely)g(easy)g(to)h(add)f
(speci\002c)h(type)f(constructors,)g(such)g(as)i(Maybe)e(and)g(list,)i
(to)f(the)-57 4779 y(ones)20 b(that)g(are)g(allo)n(wed.)p
Black -128 4936 a(\225)p Black 42 w(In)f(an)h(instance)g(declaration)e
(for)h(a)h(generic)f(class,)h(the)g(idea)g(is)g(that)g(the)g(compiler)e
(will)j(\002ll)f(in)g(the)g(methods)f(for)g(you,)g(based)g(on)g(the)h
(generic)-57 5036 y(templates.)25 b(Ho)n(we)n(v)o(er)18
b(it)j(can)f(only)g(do)f(so)i(if)p Black -57 5192 a Fu(\226)p
Black 41 w FA(The)f(instance)g(type)f(is)j(simple)e(\(a)g(type)g
(constructor)e(applied)h(to)h(type)g(v)n(ariables,)f(as)i(in)g(Hask)o
(ell)f(98\).)p Black -57 5316 a Fu(\226)p Black 41 w
FA(No)g(constructor)f(of)g(the)i(instance)e(type)h(has)h(unbox)o(ed)c
(\002elds.)-57 5472 y(\(Of)28 b(course,)g(these)g(things)g(can)f(only)g
(arise)h(if)g(you)f(are)h(already)f(using)g(GHC)h(e)o(xtensions.\))47
b(Ho)n(we)n(v)o(er)m(,)27 b(you)g(can)h(still)h(gi)n(v)o(e)e(an)g
(instance)-57 5572 y(declarations)19 b(for)g(types)h(which)g(break)f
(these)i(rules,)f(pro)o(vided)d(you)j(gi)n(v)o(e)f(e)o(xplicit)g(code)h
(to)g(o)o(v)o(erride)e(an)o(y)i(generic)f(def)o(ault)g(methods.)-128
5759 y(The)h(option)f Ft(-ddump-deriv)g FA(dumps)g(incomprehensible)e
(stuf)n(f)j(gi)n(ving)f(details)h(of)g(what)g(the)h(compiler)d(does)i
(with)h(generic)e(declarations.)p Black -128 6084 4252
5 v Black eop end
%%Page: 193 208
TeXDict begin 193 207 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.193) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(193)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.16.4) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.16.4)p
Black 114 w(Another)k(e)o(xample)-128 369 y FA(Just)d(to)g(\002nish)f
(with,)g(here')-5 b(s)20 b(another)f(e)o(xample)g(I)h(rather)f(lik)o
(e:)-128 429 y
SDict begin H.S end
-128 429 a -128 429 a
SDict begin 12 H.A end
-128 429 a -128
429 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-568) cvn H.B /DEST pdfmark end
-128 429 a 0.95 TeXcolorgray -153 444 4302 25 v
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 535 25 92 v Black 0.95 TeXcolorgray
-128 535 4252 92 v Black 0.95 TeXcolorgray 4124 535 25
92 v Black 0.95 TeXcolorgray Black -128 508 a
SDict begin H.S end
-128 508
a -128 508 a
SDict begin 11 H.A end
-128 508 a -128 508 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.1) cvn H.B /DEST pdfmark end
-128 508 a 0 0 0 TeXcolorrgb
90 w Fo(class)p Black 0 0 0 TeXcolorrgb 44 w(Tag)p Black
0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0 TeXcolorrgb 45
w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 627 25 92 v Black 0.95 TeXcolorgray -128 627 4252
92 v Black 0.95 TeXcolorgray 4124 627 25 92 v Black 0.95
TeXcolorgray Black -128 599 a
SDict begin H.S end
-128 599 a -128 599 a
SDict begin 11 H.A end
-128
599 a -128 599 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.2) cvn H.B /DEST pdfmark end
-128 599 a 0 0 0 TeXcolorrgb 180 w Fo(nCons)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 718 25 92 v Black 0.95 TeXcolorgray
-128 718 4252 92 v Black 0.95 TeXcolorgray 4124 718 25
92 v Black 0.95 TeXcolorgray Black -128 691 a
SDict begin H.S end
-128 691
a -128 691 a
SDict begin 11 H.A end
-128 691 a -128 691 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.3) cvn H.B /DEST pdfmark end
-128 691 a 0 0 0 TeXcolorrgb
180 w Fo(nCons)p Black 44 w({|)p 0 0 0 TeXcolorrgb 44
w(Unit)p Black 44 w(|})p 0 0 0 TeXcolorrgb 179 w(_)p
Black 45 w(=)45 b(1)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 809 25 92 v Black 0.95 TeXcolorgray -128 809 4252
92 v Black 0.95 TeXcolorgray 4124 809 25 92 v Black 0.95
TeXcolorgray Black -128 782 a
SDict begin H.S end
-128 782 a -128 782 a
SDict begin 11 H.A end
-128
782 a -128 782 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.4) cvn H.B /DEST pdfmark end
-128 782 a 0 0 0 TeXcolorrgb 180 w Fo(nCons)p
Black 44 w({|)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(:)590
795 y(*)635 782 y(:)p 0 0 0 TeXcolorrgb 44 w(b)p Black
45 w(|})p 0 0 0 TeXcolorrgb 44 w(_)p Black 45 w(=)g(1)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 901 25
92 v Black 0.95 TeXcolorgray -128 901 4252 92 v Black
0.95 TeXcolorgray 4124 901 25 92 v Black 0.95 TeXcolorgray
Black -128 873 a
SDict begin H.S end
-128 873 a -128 873 a
SDict begin 11 H.A end
-128 873 a -128
873 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.5) cvn H.B /DEST pdfmark end
-128 873 a 0 0 0 TeXcolorrgb 180 w Fo(nCons)p Black
44 w({|)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(:+:)p
0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(|})p 0 0 0 TeXcolorrgb
44 w(_)p Black 45 w(=)p 0 0 0 TeXcolorrgb 45 w(nCons)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(bot)p Black -1 w(::)p
0 0 0 TeXcolorrgb(a)p Black(\))f(+)p 0 0 0 TeXcolorrgb
45 w(nCons)p Black 44 w(\()p 0 0 0 TeXcolorrgb(bot)p
Black -1 w(::)p 0 0 0 TeXcolorrgb(b)p Black(\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 992 25 92 v
Black 0.95 TeXcolorgray -128 992 4252 92 v Black 0.95
TeXcolorgray 4124 992 25 92 v Black 0.95 TeXcolorgray
Black -128 965 a
SDict begin H.S end
-128 965 a -128 965 a
SDict begin 11 H.A end
-128 965 a -128
965 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.6) cvn H.B /DEST pdfmark end
-128 965 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1083 25 92 v Black 0.95 TeXcolorgray -128 1083 4252
92 v Black 0.95 TeXcolorgray 4124 1083 25 92 v Black
0.95 TeXcolorgray Black -128 1056 a
SDict begin H.S end
-128 1056 a -128
1056 a
SDict begin 11 H.A end
-128 1056 a -128 1056 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.7) cvn H.B /DEST pdfmark end
-128 1056 a 0 0 0 TeXcolorrgb
180 w Fo(tag)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1175 25 92
v Black 0.95 TeXcolorgray -128 1175 4252 92 v Black 0.95
TeXcolorgray 4124 1175 25 92 v Black 0.95 TeXcolorgray
Black -128 1147 a
SDict begin H.S end
-128 1147 a -128 1147 a
SDict begin 11 H.A end
-128 1147 a
-128 1147 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.8) cvn H.B /DEST pdfmark end
-128 1147 a 0 0 0 TeXcolorrgb 180 w Fo(tag)p
Black 44 w({|)p 0 0 0 TeXcolorrgb 45 w(Unit)p Black 44
w(|})p 0 0 0 TeXcolorrgb 179 w(_)p Black 313 w(=)h(1)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1266 25
92 v Black 0.95 TeXcolorgray -128 1266 4252 92 v Black
0.95 TeXcolorgray 4124 1266 25 92 v Black 0.95 TeXcolorgray
Black -128 1239 a
SDict begin H.S end
-128 1239 a -128 1239 a
SDict begin 11 H.A end
-128 1239 a
-128 1239 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.9) cvn H.B /DEST pdfmark end
-128 1239 a 0 0 0 TeXcolorrgb 180 w Fo(tag)p
Black 44 w({|)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(:)500
1252 y(*)545 1239 y(:)p 0 0 0 TeXcolorrgb 45 w(b)p Black
44 w(|})p 0 0 0 TeXcolorrgb 45 w(_)p Black 313 w(=)g(1)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1357 25
92 v Black 0.95 TeXcolorgray -128 1357 4252 92 v Black
0.95 TeXcolorgray 4124 1357 25 92 v Black 0.95 TeXcolorgray
Black -128 1330 a
SDict begin H.S end
-128 1330 a -128 1330 a
SDict begin 11 H.A end
-128 1330 a
-128 1330 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.10) cvn H.B /DEST pdfmark end
-128 1330 a 0 0 0 TeXcolorrgb 180 w Fo(tag)p
Black 44 w({|)p 0 0 0 TeXcolorrgb 45 w(a)p Black 44 w(:+:)p
0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(|})g(\()p 0 0 0
TeXcolorrgb(Inl)p Black 0 0 0 TeXcolorrgb 44 w(x)p Black(\))f(=)p
0 0 0 TeXcolorrgb 45 w(tag)p Black 0 0 0 TeXcolorrgb
44 w(x)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1449 25 92 v Black 0.95 TeXcolorgray -128 1449 4252
92 v Black 0.95 TeXcolorgray 4124 1449 25 92 v Black
0.95 TeXcolorgray Black -128 1421 a
SDict begin H.S end
-128 1421 a -128
1421 a
SDict begin 11 H.A end
-128 1421 a -128 1421 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-568.11) cvn H.B /DEST pdfmark end
-128 1421 a 0 0 0 TeXcolorrgb
180 w Fo(tag)p Black 44 w({|)p 0 0 0 TeXcolorrgb 45 w(a)p
Black 44 w(:+:)p 0 0 0 TeXcolorrgb 45 w(b)p Black 44
w(|})h(\()p 0 0 0 TeXcolorrgb(Inr)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black(\))f(=)p 0 0 0 TeXcolorrgb 45 w(nCons)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(bot)p Black -1 w(::)p
0 0 0 TeXcolorrgb(a)p Black(\))h(+)p 0 0 0 TeXcolorrgb
44 w(tag)p Black 0 0 0 TeXcolorrgb 45 w(y)p Black 0.95
TeXcolorgray -153 1474 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 1638 a
SDict begin H.S end
-128 1638 a -128 1638 a
SDict begin 12 H.A end
-128 1638 a -128 1638 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.17) cvn H.B /DEST pdfmark end
-128 1638 a Black 166 x Fs(7.17)p
Black 107 w(Contr)n(ol)29 b(o)n(ver)g(monomorphism)-128
1931 y
SDict begin H.S end
-128 1931 a -128 1931 a
SDict begin 12 H.A end
-128 1931 a -128 1931
a
SDict begin [ /View [/XYZ H.V] /Dest (monomorphism) cvn H.B /DEST pdfmark end
-128 1931 a 107 x FA(GHC)21 b(supports)f(tw)o(o)g(\003ags)h(that)f
(control)f(the)h(w)o(ay)g(in)h(which)e(generalisation)g(is)i(carried)e
(out)h(at)h(let)f(and)g(where)g(bindings.)-128 2169 y
SDict begin H.S end
-128 2169 a -128 2169 a
SDict begin 12 H.A end
-128 2169 a -128 2169 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.17.1) cvn H.B /DEST pdfmark end
-128
2169 a Black 141 x Fp(7.17.1)p Black 89 w(Switc)o(hing)k(off)g(the)h
(dreaded)e(Monomorphism)g(Restriction)-128 2505 y FA(Hask)o(ell')-5
b(s)21 b(monomorphism)16 b(restriction)i(\(see)p 0 1 0 0
TeXcolorcmyk 1257 2506 a
SDict begin H.S end
1257 2506 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Section)i(4.5.5)p 0 1 0 0 TeXcolorcmyk 1693 2449
a
SDict begin H.R end
1693 2449 a 1693 2505 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/onlinereport/decls.html#sect4.5.5) >> /Subtype /Link H.B /ANN pdfmark end
1693 2505 a Black 20 w FA(of)f(the)h(Hask)o
(ell)g(Report\))e(can)i(be)f(completely)f(switched)h(of)n(f)g(by)g
Ft(-XNoMonom-)-128 2605 y(orphismRestriction)p FA(.)-128
2730 y
SDict begin H.S end
-128 2730 a -128 2730 a
SDict begin 12 H.A end
-128 2730 a -128 2730
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.17.2) cvn H.B /DEST pdfmark end
-128 2730 a Black 146 x Fp(7.17.2)p Black 89 w(Monomorphic)k(pattern)
h(bindings)-128 3071 y FA(As)d(an)e(e)o(xperimental)f(change,)g(we)i
(are)f(e)o(xploring)e(the)j(possibility)f(of)g(making)f(pattern)h
(bindings)f(monomorphic;)e(that)k(is,)g(not)f(generalised)f(at)-128
3171 y(all.)26 b(A)21 b(pattern)e(binding)f(is)k(a)e(binding)f(whose)h
(LHS)g(has)h(no)e(function)g(ar)o(guments,)f(and)h(is)i(not)f(a)h
(simple)f(v)n(ariable.)k(F)o(or)c(e)o(xample:)-128 3231
y
SDict begin H.S end
-128 3231 a -128 3231 a
SDict begin 12 H.A end
-128 3231 a -128 3231 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-569) cvn H.B /DEST pdfmark end
-128
3231 a 0.95 TeXcolorgray -153 3246 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3338 25 92 v Black 0.95 TeXcolorgray -128 3338 4252
92 v Black 0.95 TeXcolorgray 4124 3338 25 92 v Black
0.95 TeXcolorgray Black -128 3310 a
SDict begin H.S end
-128 3310 a -128
3310 a
SDict begin 11 H.A end
-128 3310 a -128 3310 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.1) cvn H.B /DEST pdfmark end
-128 3310 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(x)p Black 897 w(--)p 0 0 0
TeXcolorrgb 44 w(Not)p Black 0 0 0 TeXcolorrgb 44 w(a)p
Black 0 0 0 TeXcolorrgb 45 w(pattern)p Black 0 0 0 TeXcolorrgb
44 w(binding)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3429 25 92 v Black 0.95 TeXcolorgray -128 3429 4252
92 v Black 0.95 TeXcolorgray 4124 3429 25 92 v Black
0.95 TeXcolorgray Black -128 3402 a
SDict begin H.S end
-128 3402 a -128
3402 a
SDict begin 11 H.A end
-128 3402 a -128 3402 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.2) cvn H.B /DEST pdfmark end
-128 3402 a 0 0 0 TeXcolorrgb
90 w Fo(f)p Black 45 w(=)44 b(\\)p 0 0 0 TeXcolorrgb(x)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(x)p Black 718
w(--)p 0 0 0 TeXcolorrgb 44 w(Not)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(pattern)p Black
0 0 0 TeXcolorrgb 44 w(binding)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3520 25 92 v Black 0.95
TeXcolorgray -128 3520 4252 92 v Black 0.95 TeXcolorgray
4124 3520 25 92 v Black 0.95 TeXcolorgray Black -128
3493 a
SDict begin H.S end
-128 3493 a -128 3493 a
SDict begin 11 H.A end
-128 3493 a -128 3493
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.3) cvn H.B /DEST pdfmark end
-128 3493 a 0 0 0 TeXcolorrgb 90 w Fo(f)p Black 45
w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 45 w(->)p 0 0 0
TeXcolorrgb 44 w(Int)p Black 44 w(=)h(\\)p 0 0 0 TeXcolorrgb(x)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(x)p Black 90 w(--)p
0 0 0 TeXcolorrgb 44 w(Not)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(pattern)p Black
0 0 0 TeXcolorrgb 44 w(binding)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3612 25 92 v Black 0.95
TeXcolorgray -128 3612 4252 92 v Black 0.95 TeXcolorgray
4124 3612 25 92 v Black 0.95 TeXcolorgray Black -128
3584 a
SDict begin H.S end
-128 3584 a -128 3584 a
SDict begin 11 H.A end
-128 3584 a -128 3584
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.4) cvn H.B /DEST pdfmark end
-128 3584 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3703 25 92 v Black 0.95 TeXcolorgray -128 3703 4252
92 v Black 0.95 TeXcolorgray 4124 3703 25 92 v Black
0.95 TeXcolorgray Black -128 3676 a
SDict begin H.S end
-128 3676 a -128
3676 a
SDict begin 11 H.A end
-128 3676 a -128 3676 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.5) cvn H.B /DEST pdfmark end
-128 3676 a 90 w Fo(\()p
0 0 0 TeXcolorrgb(g)p Black(,)p 0 0 0 TeXcolorrgb(h)p
Black -1 w(\))g(=)p 0 0 0 TeXcolorrgb 45 w(e)p Black
807 w(--)p 0 0 0 TeXcolorrgb 44 w(A)p Black 0 0 0 TeXcolorrgb
45 w(pattern)p Black 0 0 0 TeXcolorrgb 43 w(binding)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
3794 25 92 v Black 0.95 TeXcolorgray -128 3794 4252 92
v Black 0.95 TeXcolorgray 4124 3794 25 92 v Black 0.95
TeXcolorgray Black -128 3767 a
SDict begin H.S end
-128 3767 a -128 3767
a
SDict begin 11 H.A end
-128 3767 a -128 3767 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.6) cvn H.B /DEST pdfmark end
-128 3767 a 90 w Fo(\()p 0 0 0
TeXcolorrgb(f)p Black(\))f(=)p 0 0 0 TeXcolorrgb 45 w(e)p
Black 897 w(--)p 0 0 0 TeXcolorrgb 44 w(A)p Black 0 0 0
TeXcolorrgb 45 w(pattern)p Black 0 0 0 TeXcolorrgb 43
w(binding)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3886 25 92 v Black 0.95 TeXcolorgray -128 3886 4252
92 v Black 0.95 TeXcolorgray 4124 3886 25 92 v Black
0.95 TeXcolorgray Black -128 3858 a
SDict begin H.S end
-128 3858 a -128
3858 a
SDict begin 11 H.A end
-128 3858 a -128 3858 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-569.7) cvn H.B /DEST pdfmark end
-128 3858 a 90 w Fo([)p
0 0 0 TeXcolorrgb(x)p Black(])g(=)p 0 0 0 TeXcolorrgb
45 w(e)p Black 897 w(--)p 0 0 0 TeXcolorrgb 44 w(A)p
Black 0 0 0 TeXcolorrgb 45 w(pattern)p Black 0 0 0 TeXcolorrgb
43 w(binding)p Black 0.95 TeXcolorgray -153 3911 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 4070
a FA(Experimentally)-5 b(,)16 b(GHC)i(no)n(w)g(mak)o(es)f(pattern)g
(bindings)g(monomorphic)d Fq(by)k(default)p FA(.)23 b(Use)c
Ft(-XNoMonoPatBinds)c FA(to)j(reco)o(v)o(er)e(the)i(standard)-128
4169 y(beha)n(viour)-5 b(.)-128 4292 y
SDict begin H.S end
-128 4292 a -128
4292 a
SDict begin 12 H.A end
-128 4292 a -128 4292 a
SDict begin [ /View [/XYZ H.V] /Dest (section.7.18) cvn H.B /DEST pdfmark end
-128 4292 a Black 191
x Fs(7.18)p Black 107 w(Concurrent)28 b(and)h(P)m(arallel)g(Haskell)
-128 4610 y
SDict begin H.S end
-128 4610 a -128 4610 a
SDict begin 12 H.A end
-128 4610 a -128
4610 a
SDict begin [ /View [/XYZ H.V] /Dest (lang-parallel) cvn H.B /DEST pdfmark end
-128 4610 a 107 x FA(GHC)k(implements)d(some)h(major)g(e)o
(xtensions)f(to)i(Hask)o(ell)g(to)f(support)f(concurrent)f(and)i
(parallel)g(programming.)55 b(Let)32 b(us)g(\002rst)g(establish)-128
4816 y(terminology:)p Black -128 5009 a(\225)p Black
42 w Fq(P)-7 b(ar)o(allelism)25 b FA(means)f(running)e(a)j(Hask)o(ell)g
(program)e(on)h(multiple)g(processors,)g(with)h(the)f(goal)g(of)h
(impro)o(ving)c(performance.)35 b(Ideally)-5 b(,)24 b(this)-57
5109 y(should)19 b(be)h(done)f(in)m(visibly)-5 b(,)19
b(and)h(with)g(no)g(semantic)g(changes.)p Black -128
5268 a(\225)p Black 42 w Fq(Concurr)m(ency)h FA(means)g(implementing)e
(a)j(program)e(by)h(using)g(multiple)g(I/O-performing)d(threads.)29
b(While)22 b(a)g(concurrent)d(Hask)o(ell)j(program)-57
5367 y Fq(can)e FA(run)g(on)g(a)h(parallel)f(machine,)f(the)h(primary)f
(goal)h(of)h(using)f(concurrenc)o(y)d(is)k(not)f(to)h(gain)f
(performance,)d(b)n(ut)j(rather)g(because)g(that)h(is)g(the)-57
5467 y(simplest)g(and)f(most)h(direct)f(w)o(ay)g(to)h(write)g(the)f
(program.)k(Since)d(the)g(threads)e(perform)g(I/O,)i(the)f(semantics)h
(of)f(the)h(program)d(is)k(necessarily)-57 5566 y(non-deterministic.)
-128 5759 y(GHC)f(supports)f(both)f(concurrenc)o(y)e(and)i
(parallelism.)p Black -128 6084 4252 5 v Black eop end
%%Page: 194 209
TeXDict begin 194 208 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.194) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(194)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.18.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(7.18.1)p
Black 89 w(Concurrent)j(Haskell)-128 262 y
SDict begin H.S end
-128 262 a
-128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (concurrent-haskell) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(Concurrent)c(Hask)
o(ell)i(is)g(the)g(name)e(gi)n(v)o(en)g(to)i(GHC')-5
b(s)22 b(concurrenc)o(y)17 b(e)o(xtension.)24 b(It)d(is)g(enabled)e(by)
h(def)o(ault,)g(so)g(no)g(special)h(\003ags)g(are)f(required.)-128
476 y(The)p 0 1 0 0 TeXcolorcmyk 22 494 a
SDict begin H.S end
22 494 a 0 1 0 0
TeXcolorcmyk 43 476 a FA(Concurrent)e(Hask)o(ell)j(paper)p
0 1 0 0 TeXcolorcmyk 895 420 a
SDict begin H.R end
895 420 a 895 476 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/concurrent-haskell.ps.gz) >> /Subtype /Link H.B /ANN pdfmark end
895
476 a Black 21 w FA(is)g(still)h(an)e(e)o(xcellent)f(resource,)g(as)h
(is)p 0 1 0 0 TeXcolorcmyk 2045 494 a
SDict begin H.S end
2045 494 a 0 1 0 0
TeXcolorcmyk -18 x FA(T)-7 b(ackling)19 b(the)h(a)o(wkw)o(ard)f(squad)p
0 1 0 0 TeXcolorcmyk 2993 420 a
SDict begin H.R end
2993 420 a 2993 476 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/marktoberdorf/) >> /Subtype /Link H.B /ANN pdfmark end
2993 476 a Black FA(.)-128 625 y(T)-7 b(o)16 b(the)f(programmer)m(,)e
(Concurrent)g(Hask)o(ell)i(introduces)f(no)h(ne)n(w)g(language)e
(constructs;)k(rather)m(,)d(it)i(appears)f(simply)f(as)i(a)g(library)-5
b(,)p 0 1 0 0 TeXcolorcmyk 3691 626 a
SDict begin H.S end
3691 626 a 0 1 0 0
TeXcolorcmyk 3711 625 a FA(Control.Concurrent)p 0 1 0 0
TeXcolorcmyk 4359 569 a
SDict begin H.R end
4359 569 a 4359 625 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Concurrent.html) >> /Subtype /Link H.B /ANN pdfmark end
4359 625
a Black FA(.)-128 725 y(The)20 b(functions)f(e)o(xported)f(by)i(this)h
(library)e(include:)p Black -128 941 a(\225)p Black 42
w(F)o(orking)f(and)i(killing)g(threads.)p Black -128
1107 a(\225)p Black 42 w(Sleeping.)p Black -128 1273
a(\225)p Black 42 w(Synchronised)e(mutable)h(v)n(ariables,)g(called)h
Ft(MVars)p Black -128 1439 a FA(\225)p Black 42 w(Support)f(for)g
(bound)g(threads;)g(see)i(the)f(paper)p 0 1 0 0 TeXcolorcmyk
1310 1457 a
SDict begin H.S end
1310 1457 a 0 1 0 0 TeXcolorcmyk -18 x FA(Extending)e(the)j
(FFI)f(with)h(concurrenc)o(y)p 0 1 0 0 TeXcolorcmyk 2513
1383 a
SDict begin H.R end
2513 1383 a 2513 1439 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/Papers/conc-ffi/index.htm) >> /Subtype /Link H.B /ANN pdfmark end
2513 1439 a Black FA(.)-128
1573 y
SDict begin H.S end
-128 1573 a -128 1573 a
SDict begin 12 H.A end
-128 1573 a -128 1573
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.18.2) cvn H.B /DEST pdfmark end
-128 1573 a Black 148 x Fp(7.18.2)p Black 89 w(Software)j(T)-7
b(ransactional)23 b(Memor)q(y)-128 1924 y FA(GHC)e(no)n(w)e(supports)f
(a)i(ne)n(w)f(w)o(ay)h(to)g(coordinate)d(the)j(acti)n(vities)g(of)f
(Concurrent)e(Hask)o(ell)j(threads,)f(called)g(Softw)o(are)g(T)m
(ransactional)f(Memory)-128 2024 y(\(STM\).)i(The)p 0 1 0 0
TeXcolorcmyk 290 2042 a
SDict begin H.S end
290 2042 a 0 1 0 0 TeXcolorcmyk
-18 x FA(STM)g(papers)p 0 1 0 0 TeXcolorcmyk 698 1967
a
SDict begin H.R end
698 1967 a 698 2024 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/%7Esimonpj/papers/stm/index.htm) >> /Subtype /Link H.B /ANN pdfmark end
698 2024 a Black 21 w FA(are)g(an)g(e)o
(xcellent)f(introduction)f(to)i(what)g(STM)h(is,)g(and)e(ho)n(w)h(to)g
(use)h(it.)-128 2173 y(The)f(main)g(library)f(you)g(need)h(to)g(use)h
(STM)f(is)p 0 1 0 0 TeXcolorcmyk 1258 2174 a
SDict begin H.S end
1258 2174
a 0 1 0 0 TeXcolorcmyk 1279 2173 a FA(Control.Concurrent.STM)p
0 1 0 0 TeXcolorcmyk 2118 2117 a
SDict begin H.R end
2118 2117 a 2118 2173
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/stm/Control-Concurrent-STM.html) >> /Subtype /Link H.B /ANN pdfmark end
2118 2173 a Black FA(.)26 b(The)20 b(main)g(features)f(supported)f
(are)i(these:)p Black -128 2389 a(\225)p Black 42 w(Atomic)g(blocks.)p
Black -128 2555 a(\225)p Black 42 w(T)m(ransactional)f(v)n(ariables.)p
Black -128 2721 a(\225)p Black 42 w(Operations)g(for)h(composing)e
(transactions:)24 b Ft(retry)p FA(,)c(and)f Ft(orElse)p
FA(.)p Black -128 2887 a(\225)p Black 42 w(Data)i(in)m(v)n(ariants.)
-128 3103 y(All)g(these)g(features)e(are)h(described)f(in)i(the)f
(papers)f(mentioned)f(earlier)-5 b(.)-128 3237 y
SDict begin H.S end
-128
3237 a -128 3237 a
SDict begin 12 H.A end
-128 3237 a -128 3237 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.18.3) cvn H.B /DEST pdfmark end
-128 3237
a Black 148 x Fp(7.18.3)p Black 89 w(P)m(arallel)25 b(Haskell)-128
3588 y FA(GHC)17 b(includes)f(support)e(for)i(running)e(Hask)o(ell)i
(programs)f(in)h(parallel)f(on)h(symmetric,)g(shared-memory)d
(multi-processor)g(\(SMP\).)j(By)h(def)o(ault)-128 3688
y(GHC)24 b(runs)f(your)e(program)g(on)i(one)f(processor;)h(if)g(you)f
(w)o(ant)i(it)f(to)g(run)f(in)i(parallel)e(you)g(must)h(link)g(your)e
(program)g(with)i(the)g Ft(-threaded)p FA(,)-128 3788
y(and)c(run)f(it)h(with)g(the)g(R)-5 b(TS)20 b Ft(-N)e
FA(option;)h(see)g(Section)p 1 0 0 TeXcolorrgb 1429 3789
a
SDict begin H.S end
1429 3789 a 1 0 0 TeXcolorrgb -1 x FA(4.12)p 1 0 0
TeXcolorrgb 1575 3731 a
SDict begin H.R end
1575 3731 a 1575 3788 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.12) cvn H.B /ANN pdfmark end
1575
3788 a Black FA(\).)24 b(The)19 b(runtime)e(will)j(schedule)e(the)g
(running)f(Hask)o(ell)i(threads)f(among)g(the)g(a)n(v)n(ailable)-128
3887 y(OS)j(threads,)f(running)e(as)j(man)o(y)e(in)h(parallel)g(as)g
(you)g(speci\002ed)g(with)g(the)g Ft(-N)h FA(R)-5 b(TS)21
b(option.)-128 4037 y(GHC)i(only)d(supports)h(parallelism)g(on)g(a)h
(shared-memory)c(multiprocessor)-5 b(.)27 b(Glasgo)n(w)22
b(P)o(arallel)f(Hask)o(ell)h(\(GPH\))f(supports)g(running)e(P)o
(arallel)-128 4136 y(Hask)o(ell)25 b(programs)c(on)j(both)f(clusters)h
(of)f(machines,)h(and)f(single)h(multiprocessors.)34
b(GPH)24 b(is)h(de)n(v)o(eloped)c(and)i(distrib)n(uted)g(separately)g
(from)-128 4236 y(GHC)e(\(see)p 0 1 0 0 TeXcolorcmyk
223 4254 a
SDict begin H.S end
223 4254 a 0 1 0 0 TeXcolorcmyk -18 x FA(The)f(GPH)h(P)o
(age)p 0 1 0 0 TeXcolorcmyk 720 4180 a
SDict begin H.R end
720 4180 a 720
4236 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cee.hw.ac.uk/~dsg/gph/) >> /Subtype /Link H.B /ANN pdfmark end
720 4236 a Black FA(\).)k(Ho)n(we)n(v)o(er)m(,)18
b(the)i(current)f(v)o(ersion)g(of)h(GPH)h(is)g(based)f(on)f(a)i(much)e
(older)h(v)o(ersion)e(of)i(GHC)h(\(4.06\).)-128 4370
y
SDict begin H.S end
-128 4370 a -128 4370 a
SDict begin 12 H.A end
-128 4370 a -128 4370 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.18.4) cvn H.B /DEST pdfmark end
-128
4370 a Black 148 x Fp(7.18.4)p Black 89 w(Annotating)i(pure)i(code)f(f)
n(or)h(parallelism)-128 4721 y FA(Ordinary)c(single-threaded)e(Hask)o
(ell)j(programs)e(will)j(not)e(bene\002t)h(from)f(enabling)f(SMP)i
(parallelism)g(alone:)28 b(you)21 b(must)h(e)o(xpose)e(parallelism)-128
4821 y(to)i(the)f(compiler)-5 b(.)27 b(One)21 b(w)o(ay)g(to)g(do)g(so)h
(is)g(forking)d(threads)h(using)h(Concurrent)e(Hask)o(ell)j(\(Section)p
1 0 0 TeXcolorrgb 2802 4822 a
SDict begin H.S end
2802 4822 a 1 0 0 TeXcolorrgb
-1 x FA(7.18.1)p 1 0 0 TeXcolorrgb 3010 4764 a
SDict begin H.R end
3010 4764
a 3010 4821 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.7.18.1) cvn H.B /ANN pdfmark end
3010 4821 a Black FA(\),)f(b)n(ut)g(the)g(simplest)h
(mechanism)e(for)-128 4920 y(e)o(xtracting)f(parallelism)h(from)g(pure)
f(code)h(is)i(to)e(use)h(the)g Ft(par)f FA(combinator)m(,)e(which)i(is)
h(closely)g(related)f(to)g(\(and)g(often)f(used)i(with\))f
Ft(seq)p FA(.)26 b(Both)-128 5020 y(of)20 b(these)h(are)f(a)n(v)n
(ailable)g(from)p 0 1 0 0 TeXcolorcmyk 775 5021 a
SDict begin H.S end
775
5021 a 0 1 0 0 TeXcolorcmyk -1 x FA(Control.P)o(arallel)p
0 1 0 0 TeXcolorcmyk 1302 4964 a
SDict begin H.R end
1302 4964 a 1302 5020
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/parallel/Control-Parallel.html) >> /Subtype /Link H.B /ANN pdfmark end
1302 5020 a Black FA(:)-128 5071 y
SDict begin H.S end
-128 5071 a -128
5071 a
SDict begin 12 H.A end
-128 5071 a -128 5071 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-570) cvn H.B /DEST pdfmark end
-128 5071 a 0.95 TeXcolorgray
-153 5103 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5194 25 92
v Black 0.95 TeXcolorgray -128 5194 4252 92 v Black 0.95
TeXcolorgray 4124 5194 25 92 v Black 0.95 TeXcolorgray
Black -128 5167 a
SDict begin H.S end
-128 5167 a -128 5167 a
SDict begin 11 H.A end
-128 5167 a
-128 5167 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-570.1) cvn H.B /DEST pdfmark end
-128 5167 a 0 0 0 TeXcolorrgb Fo(infixr)p
Black 44 w(0)45 b(`)p 0 0 0 TeXcolorrgb(par)p Black -1
w(`)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5286 25 92 v Black 0.95 TeXcolorgray -128 5286 4252 92
v Black 0.95 TeXcolorgray 4124 5286 25 92 v Black 0.95
TeXcolorgray Black -128 5258 a
SDict begin H.S end
-128 5258 a -128 5258
a
SDict begin 11 H.A end
-128 5258 a -128 5258 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-570.2) cvn H.B /DEST pdfmark end
-128 5258 a 0 0 0 TeXcolorrgb
Fo(infixr)p Black 44 w(1)g(`)p 0 0 0 TeXcolorrgb(seq)p
Black -1 w(`)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5377 25 92 v Black 0.95 TeXcolorgray -128 5377 4252
92 v Black 0.95 TeXcolorgray 4124 5377 25 92 v Black
0.95 TeXcolorgray Black -128 5350 a
SDict begin H.S end
-128 5350 a -128
5350 a
SDict begin 11 H.A end
-128 5350 a -128 5350 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-570.3) cvn H.B /DEST pdfmark end
-128 5350 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5468 25 92 v Black 0.95
TeXcolorgray -128 5468 4252 92 v Black 0.95 TeXcolorgray
4124 5468 25 92 v Black 0.95 TeXcolorgray Black -128
5441 a
SDict begin H.S end
-128 5441 a -128 5441 a
SDict begin 11 H.A end
-128 5441 a -128 5441
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-570.4) cvn H.B /DEST pdfmark end
-128 5441 a 0 0 0 TeXcolorrgb Fo(par)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb 45 w(b)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5560 25
92 v Black 0.95 TeXcolorgray -128 5560 4252 92 v Black
0.95 TeXcolorgray 4124 5560 25 92 v Black 0.95 TeXcolorgray
Black -128 5532 a
SDict begin H.S end
-128 5532 a -128 5532 a
SDict begin 11 H.A end
-128 5532 a
-128 5532 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-570.5) cvn H.B /DEST pdfmark end
-128 5532 a 0 0 0 TeXcolorrgb Fo(seq)p Black
45 w(::)p 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(b)p Black 45 w(->)p 0 0 0 TeXcolorrgb
45 w(b)p Black 0.95 TeXcolorgray -153 5585 4302 25 v
Black 0.95 TeXcolorgray Black Black Black -128 6084 4252
5 v Black eop end
%%Page: 195 210
TeXDict begin 195 209 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.195) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(195)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(The)26 b(e)o(xpression)d
Ft(\(x)50 b(`par`)f(y\))25 b Fq(sparks)h FA(the)f(e)n(v)n(aluation)f
(of)h Ft(x)h FA(\(to)f(weak)g(head)g(normal)f(form\))g(and)h(returns)g
Ft(y)p FA(.)41 b(Sparks)25 b(are)g(queued)f(for)-128
273 y(e)o(x)o(ecution)18 b(in)i(FIFO)g(order)m(,)e(b)n(ut)h(are)h(not)f
(e)o(x)o(ecuted)f(immediately)-5 b(.)23 b(If)c(the)h(runtime)e(detects)
i(that)g(there)f(is)i(an)e(idle)h(CPU,)g(then)f(it)i(may)e(con)m(v)o
(ert)f(a)-128 372 y(spark)j(into)f(a)i(real)e(thread,)g(and)h(run)f
(the)g(ne)n(w)h(thread)f(on)g(the)h(idle)g(CPU.)h(In)f(this)g(w)o(ay)g
(the)g(a)n(v)n(ailable)f(parallelism)g(is)i(spread)e(amongst)g(the)h
(real)-128 472 y(CPUs.)-128 622 y(F)o(or)f(e)o(xample,)f(consider)g
(the)h(follo)n(wing)f(parallel)g(v)o(ersion)g(of)h(our)g(old)f
(nemesis,)h Ft(nfib)p FA(:)-128 689 y
SDict begin H.S end
-128 689 a -128
689 a
SDict begin 12 H.A end
-128 689 a -128 689 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.7.-571) cvn H.B /DEST pdfmark end
-128 689 a 0.95 TeXcolorgray
-153 705 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 796 25 92 v
Black 0.95 TeXcolorgray -128 796 4252 92 v Black 0.95
TeXcolorgray 4124 796 25 92 v Black 0.95 TeXcolorgray
Black -128 768 a
SDict begin H.S end
-128 768 a -128 768 a
SDict begin 11 H.A end
-128 768 a -128
768 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.1) cvn H.B /DEST pdfmark end
-128 768 a 0 0 0 TeXcolorrgb Fo(import)p Black
0 0 0 TeXcolorrgb 44 w(Control)p Black -1 w(.)p 0 0 0
TeXcolorrgb(Parallel)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 887 25 92 v Black 0.95 TeXcolorgray
-128 887 4252 92 v Black 0.95 TeXcolorgray 4124 887 25
92 v Black 0.95 TeXcolorgray Black -128 860 a
SDict begin H.S end
-128 860
a -128 860 a
SDict begin 11 H.A end
-128 860 a -128 860 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.2) cvn H.B /DEST pdfmark end
-128 860 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 979 25 92 v Black 0.95 TeXcolorgray
-128 979 4252 92 v Black 0.95 TeXcolorgray 4124 979 25
92 v Black 0.95 TeXcolorgray Black -128 951 a
SDict begin H.S end
-128 951
a -128 951 a
SDict begin 11 H.A end
-128 951 a -128 951 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.3) cvn H.B /DEST pdfmark end
-128 951 a 0 0 0 TeXcolorrgb
Fo(nfib)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1070 25 92
v Black 0.95 TeXcolorgray -128 1070 4252 92 v Black 0.95
TeXcolorgray 4124 1070 25 92 v Black 0.95 TeXcolorgray
Black -128 1042 a
SDict begin H.S end
-128 1042 a -128 1042 a
SDict begin 11 H.A end
-128 1042 a
-128 1042 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.4) cvn H.B /DEST pdfmark end
-128 1042 a 0 0 0 TeXcolorrgb Fo(nfib)p Black
0 0 0 TeXcolorrgb 45 w(n)p Black 44 w(|)p 0 0 0 TeXcolorrgb
45 w(n)p Black 45 w(<=)44 b(1)h(=)f(1)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1161 25 92 v Black 0.95
TeXcolorgray -128 1161 4252 92 v Black 0.95 TeXcolorgray
4124 1161 25 92 v Black 0.95 TeXcolorgray Black -128
1134 a
SDict begin H.S end
-128 1134 a -128 1134 a
SDict begin 11 H.A end
-128 1134 a -128 1134
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.5) cvn H.B /DEST pdfmark end
-128 1134 a 314 w Fo(|)p 0 0 0 TeXcolorrgb 45 w(otherwise)p
Black 43 w(=)p 0 0 0 TeXcolorrgb 45 w(par)p Black 0 0 0
TeXcolorrgb 44 w(n1)p Black 45 w(\()p 0 0 0 TeXcolorrgb(seq)p
Black 0 0 0 TeXcolorrgb 44 w(n2)p Black 44 w(\()p 0 0 0
TeXcolorrgb(n1)p Black 45 w(+)p 0 0 0 TeXcolorrgb 44
w(n2)p Black 45 w(+)h(1\))o(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1252 25 92 v Black 0.95 TeXcolorgray
-128 1252 4252 92 v Black 0.95 TeXcolorgray 4124 1252
25 92 v Black 0.95 TeXcolorgray Black -128 1225 a
SDict begin H.S end
-128
1225 a -128 1225 a
SDict begin 11 H.A end
-128 1225 a -128 1225 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.6) cvn H.B /DEST pdfmark end
-128 1225
a 0 0 0 TeXcolorrgb 942 w Fo(where)p Black 0 0 0 TeXcolorrgb
44 w(n1)p Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(nfib)p
Black 44 w(\()p 0 0 0 TeXcolorrgb(n)p Black(-1\))p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1344 25 92
v Black 0.95 TeXcolorgray -128 1344 4252 92 v Black 0.95
TeXcolorgray 4124 1344 25 92 v Black 0.95 TeXcolorgray
Black -128 1316 a
SDict begin H.S end
-128 1316 a -128 1316 a
SDict begin 11 H.A end
-128 1316 a
-128 1316 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-571.7) cvn H.B /DEST pdfmark end
-128 1316 a 0 0 0 TeXcolorrgb 1211 w Fo(n2)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(nfib)p Black 44
w(\()p 0 0 0 TeXcolorrgb(n)p Black(-2\))p 0.95 TeXcolorgray
-153 1369 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 1543 a FA(F)o(or)20 b(v)n(alues)f(of)h Ft(n)g
FA(greater)f(than)g(1,)g(we)i(use)f Ft(par)f FA(to)h(spark)f(a)h
(thread)f(to)h(e)n(v)n(aluate)f Ft(nfib)49 b(\(n-1\))p
FA(,)19 b(and)g(then)h(we)g(use)g Ft(seq)f FA(to)h(force)f(the)h
(parent)-128 1643 y(thread)d(to)g(e)n(v)n(aluate)f Ft(nfib)49
b(\(n-2\))17 b FA(before)f(going)f(on)i(to)g(add)g(together)f(these)h
(tw)o(o)g(sube)o(xpressions.)22 b(In)17 b(this)h(di)n(vide-and-conquer)
11 b(approach,)-128 1742 y(we)23 b(only)f(spark)g(a)h(ne)n(w)g(thread)e
(for)h(one)g(branch)f(of)i(the)f(computation)f(\(lea)n(ving)g(the)i
(parent)e(to)i(e)n(v)n(aluate)f(the)h(other)e(branch\).)31
b(Also,)23 b(we)g(must)-128 1842 y(use)f Ft(seq)e FA(to)h(ensure)f
(that)h(the)g(parent)f(will)i(e)n(v)n(aluate)d Ft(n2)j
Fq(befor)m(e)e Ft(n1)h FA(in)g(the)g(e)o(xpression)e
Ft(\(n1)49 b(+)h(n2)f(+)h(1\))p FA(.)27 b(It)21 b(is)h(not)e(suf)n
(\002cient)h(to)g(reorder)-128 1942 y(the)g(e)o(xpression)d(as)j
Ft(\(n2)49 b(+)h(n1)f(+)h(1\))p FA(,)20 b(because)g(the)g(compiler)f
(may)h(not)f(generate)g(code)h(to)g(e)n(v)n(aluate)f(the)i(addends)d
(from)i(left)g(to)g(right.)-128 2091 y(When)i(using)f
Ft(par)p FA(,)h(the)f(general)g(rule)g(of)g(thumb)g(is)h(that)g(the)f
(spark)o(ed)g(computation)e(should)i(be)g(required)f(at)i(a)g(later)g
(time,)g(b)n(ut)f(not)h(too)f(soon.)-128 2191 y(Also,)f(the)g(spark)o
(ed)f(computation)e(should)i(not)g(be)h(too)f(small,)h(otherwise)f(the)
h(cost)g(of)g(forking)d(it)k(in)f(parallel)f(will)h(be)g(too)f(lar)o
(ge)g(relati)n(v)o(e)g(to)h(the)-128 2290 y(amount)f(of)h(parallelism)g
(gained.)j(Getting)d(these)g(f)o(actors)g(right)g(is)h(trick)o(y)e(in)i
(practice.)-128 2440 y(More)f(sophisticated)g(combinators)f(for)h(e)o
(xpressing)f(parallelism)h(are)h(a)n(v)n(ailable)f(from)g(the)p
0 1 0 0 TeXcolorcmyk 2588 2458 a
SDict begin H.S end
2588 2458 a 0 1 0 0
TeXcolorcmyk -18 x FA(Control.P)o(arallel.Strate)o(gies)p
0 1 0 0 TeXcolorcmyk 3462 2383 a
SDict begin H.R end
3462 2383 a 3462 2440
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/parallel/Control-Parallel-Strategies.html) >> /Subtype /Link H.B /ANN pdfmark end
3462 2440 a Black 21 w FA(module.)25 b(This)c(mod-)-128
2539 y(ule)g(b)n(uilds)f(functionality)e(around)g Ft(par)p
FA(,)i(e)o(xpressing)f(more)g(elaborate)g(patterns)h(of)g(parallel)f
(computation,)f(such)i(as)h(parallel)e Ft(map)p FA(.)-128
2673 y
SDict begin H.S end
-128 2673 a -128 2673 a
SDict begin 12 H.A end
-128 2673 a -128 2673
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.7.18.5) cvn H.B /DEST pdfmark end
-128 2673 a Black 149 x Fp(7.18.5)p Black 89 w(Data)25
b(P)m(arallel)f(Haskell)-128 3025 y FA(GHC)29 b(includes)f(e)o
(xperimental)e(support)h(for)g(Data)i(P)o(arallel)f(Hask)o(ell)h
(\(DPH\).)e(This)i(code)e(is)i(highly)e(unstable)h(and)f(is)j(only)d
(pro)o(vided)f(as)j(a)-128 3124 y(technology)18 b(pre)n(vie)n(w)-5
b(.)24 b(More)19 b(information)f(can)i(be)g(found)e(on)i(the)g
(corresponding)p 0 1 0 0 TeXcolorcmyk 2351 3142 a
SDict begin H.S end
2351
3142 a 0 1 0 0 TeXcolorcmyk -18 x FA(DPH)h(wiki)f(page)p
0 1 0 0 TeXcolorcmyk 2863 3068 a
SDict begin H.R end
2863 3068 a 2863 3124
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell) >> /Subtype /Link H.B /ANN pdfmark end
2863 3124 a Black FA(.)p Black -128 6084 4252 5 v Black
eop end
%%Page: 196 211
TeXDict begin 196 210 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.196) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(196)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.8) cvn H.B /DEST pdfmark end
-128 90 a 748 x Fy(Chapter)43 b(8)-128
1296 y Fv(Foreign)51 b(function)f(interface)i(\(FFI\))-128
1703 y
SDict begin H.S end
-128 1703 a -128 1703 a
SDict begin 12 H.A end
-128 1703 a -128 1703
a
SDict begin [ /View [/XYZ H.V] /Dest (ffi) cvn H.B /DEST pdfmark end
-128 1703 a 107 x FA(GHC)16 b(\(mostly\))f(conforms)e(to)i(the)h
(Hask)o(ell)f(98)g(F)o(oreign)f(Function)g(Interf)o(ace)g(Addendum)e
(1.0,)k(whose)f(de\002nition)f(is)i(a)n(v)n(ailable)f(from)p
0 1 0 0 TeXcolorcmyk 3797 1828 a
SDict begin H.S end
3797 1828 a 0 1 0 0
TeXcolorcmyk -18 x FA(http://www)-5 b(.hask)o(ell.or)o(g/)p
0 1 0 0 TeXcolorcmyk 4578 1754 a
SDict begin H.R end
4578 1754 a 4578 1810
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/) >> /Subtype /Link H.B /ANN pdfmark end
4578 1810 a Black FA(.)-128 1952 y(T)e(o)21 b(enable)e(FFI)i(support)
e(in)h(GHC,)h(gi)n(v)o(e)e(the)h Ft(-XForeignFunctionInterface)c
FA(\003ag.)-128 2094 y(GHC)26 b(implements)e(a)h(number)e(of)h
(GHC-speci\002c)h(e)o(xtensions)e(to)i(the)g(FFI)g(Addendum.)36
b(These)24 b(e)o(xtensions)g(are)g(described)g(in)h(Section)p
1 0 0 TeXcolorrgb 4000 2095 a
SDict begin H.S end
4000 2095 a 1 0 0 TeXcolorrgb
-1 x FA(8.1)p 1 0 0 TeXcolorrgb 4104 2038 a
SDict begin H.R end
4104 2038
a 4104 2094 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.8.1) cvn H.B /ANN pdfmark end
4104 2094 a Black FA(,)-128 2194 y(b)n(ut)c(please)f
(note)g(that)g(programs)e(using)i(these)g(features)g(are)g(not)g
(portable.)j(Hence,)d(these)g(features)g(should)f(be)h(a)n(v)n(oided)f
(where)h(possible.)-128 2336 y(The)g(FFI)h(libraries)f(are)g
(documented)e(in)i(the)g(accompan)o(ying)d(library)i(documentation;)e
(see)k(for)e(e)o(xample)g(the)p 0 1 0 0 TeXcolorcmyk
3162 2354 a
SDict begin H.S end
3162 2354 a 0 1 0 0 TeXcolorcmyk -18 x FA(F)o(oreign)p
0 1 0 0 TeXcolorcmyk 3420 2280 a
SDict begin H.R end
3420 2280 a 3420 2336
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/Control-Concurrent.html) >> /Subtype /Link H.B /ANN pdfmark end
3420 2336 a Black 20 w FA(module.)-128 2476 y
SDict begin H.S end
-128
2476 a -128 2476 a
SDict begin 12 H.A end
-128 2476 a -128 2476 a
SDict begin [ /View [/XYZ H.V] /Dest (section.8.1) cvn H.B /DEST pdfmark end
-128 2476
a Black 174 x Fs(8.1)p Black 108 w(GHC)29 b(e)n(xtensions)f(to)h(the)h
(FFI)f(Ad)o(dendum)-128 2777 y
SDict begin H.S end
-128 2777 a -128 2777
a
SDict begin 12 H.A end
-128 2777 a -128 2777 a
SDict begin [ /View [/XYZ H.V] /Dest (ffi-ghcexts) cvn H.B /DEST pdfmark end
-128 2777 a 107 x FA(The)22
b(FFI)h(features)e(that)h(are)g(described)f(in)h(this)g(section)g(are)g
(speci\002c)g(to)g(GHC.)h(Y)-9 b(our)21 b(code)g(will)i(not)f(be)g
(portable)e(to)i(other)g(compilers)f(if)h(you)-128 2984
y(use)f(them.)-128 3097 y
SDict begin H.S end
-128 3097 a -128 3097 a
SDict begin 12 H.A end
-128
3097 a -128 3097 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.8.1.1) cvn H.B /DEST pdfmark end
-128 3097 a Black 158 x Fp(8.1.1)p
Black 90 w(Unbo)m(x)o(ed)i(types)-128 3451 y FA(The)k(follo)n(wing)e
(unbox)o(ed)f(types)i(may)h(be)f(used)h(as)g(basic)g(foreign)e(types)i
(\(see)g(FFI)g(Addendum,)e(Section)i(3.2\):)37 b Ft(Int#)p
FA(,)28 b Ft(Word#)p FA(,)g Ft(Char#)p FA(,)-128 3551
y Ft(Float#)p FA(,)20 b Ft(Double#)p FA(,)f Ft(Addr#)p
FA(,)h Ft(StablePtr#)48 b(a)p FA(,)20 b Ft(MutableByteArray#)p
FA(,)d Ft(ForeignObj#)p FA(,)i(and)g Ft(ByteArray#)p
FA(.)-128 3677 y
SDict begin H.S end
-128 3677 a -128 3677 a
SDict begin 12 H.A end
-128 3677 a
-128 3677 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.8.1.2) cvn H.B /DEST pdfmark end
-128 3677 a Black 145 x Fp(8.1.2)p Black
90 w(Ne)o(wtype)k(wrapping)g(of)i(the)f(IO)h(monad)-128
3911 y
SDict begin H.S end
-128 3911 a -128 3911 a
SDict begin 12 H.A end
-128 3911 a -128 3911
a
SDict begin [ /View [/XYZ H.V] /Dest (ffi-newtype-io) cvn H.B /DEST pdfmark end
-128 3911 a 107 x FA(The)d(FFI)h(spec)f(requires)f(the)i(IO)f(monad)f
(to)h(appear)f(in)h(v)n(arious)f(places,)i(b)n(ut)f(it)h(can)f
(sometimes)g(be)g(con)m(v)o(enient)d(to)j(wrap)g(the)g(IO)h(monad)d(in)
j(a)-128 4118 y Ft(newtype)p FA(,)d(thus:)-128 4173 y
SDict begin H.S end
-128 4173 a -128 4173 a
SDict begin 12 H.A end
-128 4173 a -128 4173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.8.-572) cvn H.B /DEST pdfmark end
-128
4173 a 0.95 TeXcolorgray -153 4194 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4285 25 92 v Black 0.95 TeXcolorgray -128 4285 4252
92 v Black 0.95 TeXcolorgray 4124 4285 25 92 v Black
0.95 TeXcolorgray Black -128 4257 a
SDict begin H.S end
-128 4257 a -128
4257 a
SDict begin 11 H.A end
-128 4257 a -128 4257 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-572.1) cvn H.B /DEST pdfmark end
-128 4257 a 0 0 0 TeXcolorrgb
90 w Fo(newtype)p Black 0 0 0 TeXcolorrgb 44 w(MyIO)p
Black 0 0 0 TeXcolorrgb 44 w(a)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(MIO)p Black 45 w(\()p 0 0 0 TeXcolorrgb
-1 w(IO)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black(\))p
0.95 TeXcolorgray -153 4310 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 4470 a FA(\(A)h(reason)e(for)h(doing)f(so)h
(might)g(be)g(to)g(pre)n(v)o(ent)f(the)h(programmer)d(from)i(calling)h
(arbitrary)e(IO)j(procedures)d(in)i(some)g(part)g(of)g(the)g
(program.\))-128 4612 y(The)i(Hask)o(ell)h(FFI)g(already)e(speci\002es)
h(that)h(ar)o(guments)d(and)h(results)i(of)f(foreign)e(imports)i(and)f
(e)o(xports)g(will)i(be)f(automatically)f(unwrapped)f(if)-128
4711 y(the)o(y)c(are)h(ne)n(wtypes)e(\(Section)h(3.2)g(of)g(the)g(FFI)h
(addendum\).)k(GHC)c(e)o(xtends)f(the)g(FFI)h(by)f(automatically)f
(unwrapping)f(an)o(y)h(ne)n(wtypes)h(that)g(wrap)-128
4811 y(the)j(IO)g(monad)f(itself.)25 b(More)18 b(precisely)-5
b(,)18 b(where)n(v)o(er)f(the)i(FFI)g(speci\002cation)f(requires)g(an)h
(IO)g(type,)f(GHC)i(will)f(accept)g(an)o(y)f(ne)n(wtype-wrapping)-128
4911 y(of)i(an)g(IO)h(type.)j(F)o(or)c(e)o(xample,)f(these)h
(declarations)f(are)h(OK:)-128 4971 y
SDict begin H.S end
-128 4971 a -128
4971 a
SDict begin 12 H.A end
-128 4971 a -128 4971 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.8.-573) cvn H.B /DEST pdfmark end
-128 4971 a 0.95 TeXcolorgray
-153 4986 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5078 25 92
v Black 0.95 TeXcolorgray -128 5078 4252 92 v Black 0.95
TeXcolorgray 4124 5078 25 92 v Black 0.95 TeXcolorgray
Black -128 5050 a
SDict begin H.S end
-128 5050 a -128 5050 a
SDict begin 11 H.A end
-128 5050 a
-128 5050 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-573.1) cvn H.B /DEST pdfmark end
-128 5050 a 0 0 0 TeXcolorrgb 135 w Fo(foreign)p
Black 0 0 0 TeXcolorrgb 44 w(import)p Black 0 0 0 TeXcolorrgb
43 w(foo)p Black 45 w(::)p 0 0 0 TeXcolorrgb 44 w(Int)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(MyIO)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 5169 25 92 v Black 0.95 TeXcolorgray
-128 5169 4252 92 v Black 0.95 TeXcolorgray 4124 5169
25 92 v Black 0.95 TeXcolorgray Black -128 5142 a
SDict begin H.S end
-128
5142 a -128 5142 a
SDict begin 11 H.A end
-128 5142 a -128 5142 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-573.2) cvn H.B /DEST pdfmark end
-128 5142
a 0 0 0 TeXcolorrgb 135 w Fo(foreign)p Black 0 0 0 TeXcolorrgb
44 w(import)p Black 43 w(")p 0 0 0 TeXcolorrgb(dynamic)p
Black -1 w(")p 0 0 0 TeXcolorrgb 45 w(baz)p Black 44
w(::)45 b(\()p 0 0 0 TeXcolorrgb -1 w(Int)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(MyIO)p Black 0 0 0 TeXcolorrgb
44 w(Int)p Black(\))g(->)p 0 0 0 TeXcolorrgb 44 w(CInt)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 45 w(MyIO)p Black 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray -153 5194
4302 25 v Black 0.95 TeXcolorgray Black Black Black -128
5358 a
SDict begin H.S end
-128 5358 a -128 5358 a
SDict begin 12 H.A end
-128 5358 a -128 5358
a
SDict begin [ /View [/XYZ H.V] /Dest (section.8.2) cvn H.B /DEST pdfmark end
-128 5358 a Black 167 x Fs(8.2)p Black 108 w(Using)28
b(the)i(FFI)f(with)g(GHC)-128 5652 y
SDict begin H.S end
-128 5652 a -128
5652 a
SDict begin 12 H.A end
-128 5652 a -128 5652 a
SDict begin [ /View [/XYZ H.V] /Dest (ffi-ghc) cvn H.B /DEST pdfmark end
-128 5652 a 107 x FA(The)20
b(follo)n(wing)f(sections)h(also)h(gi)n(v)o(e)e(some)h(hints)g(and)g
(tips)h(on)e(the)i(use)f(of)g(the)g(foreign)f(function)f(interf)o(ace)h
(in)i(GHC.)p Black -128 6084 4252 5 v Black eop end
%%Page: 197 212
TeXDict begin 197 211 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.197) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(197)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.8.2.1) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(8.2.1)p
Black 90 w(Using)k Fi(foreign)58 b(export)23 b Fp(and)i
Fi(foreign)58 b(import)g(ccall)h("wrapper")23 b Fp(with)h(GHC)-128
262 y
SDict begin H.S end
-128 262 a -128 262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (foreign-export-ghc) cvn H.B /DEST pdfmark end
-128
262 a 113 x FA(When)18 b(GHC)h(compiles)e(a)h(module)e(\(say)i
Ft(M.hs)p FA(\))f(which)h(uses)g Ft(foreign)49 b(export)17
b FA(or)g Ft(foreign)49 b(import)f("wrapper")p FA(,)17
b(it)i(generates)-128 474 y(tw)o(o)24 b(additional)e(\002les,)j
Ft(M_stub.c)d FA(and)h Ft(M_stub.h)p FA(.)34 b(GHC)24
b(will)g(automatically)e(compile)h Ft(M_stub.c)f FA(to)h(generate)g
Ft(M_stub.o)f FA(at)i(the)-128 574 y(same)d(time.)-128
722 y(F)o(or)h(a)g(plain)f Ft(foreign)49 b(export)p FA(,)21
b(the)h(\002le)h Ft(M_stub.h)d FA(contains)h(a)i(C)f(prototype)e(for)h
(the)h(foreign)e(e)o(xported)f(function,)i(and)g Ft(M_stub.c)-128
821 y FA(contains)f(its)h(de\002nition.)j(F)o(or)c(e)o(xample,)e(if)j
(we)f(compile)g(the)g(follo)n(wing)e(module:)-128 888
y
SDict begin H.S end
-128 888 a -128 888 a
SDict begin 12 H.A end
-128 888 a -128 888 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.8.-574) cvn H.B /DEST pdfmark end
-128 888
a 0.95 TeXcolorgray -153 903 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
994 25 92 v Black 0.95 TeXcolorgray -128 994 4252 92
v Black 0.95 TeXcolorgray 4124 994 25 92 v Black 0.95
TeXcolorgray Black -128 967 a
SDict begin H.S end
-128 967 a -128 967 a
SDict begin 11 H.A end
-128
967 a -128 967 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.1) cvn H.B /DEST pdfmark end
-128 967 a 0 0 0 TeXcolorrgb Fo(module)p
Black 0 0 0 TeXcolorrgb 44 w(Foo)p Black 0 0 0 TeXcolorrgb
45 w(where)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 1086 25 92 v Black 0.95 TeXcolorgray -128 1086 4252
92 v Black 0.95 TeXcolorgray 4124 1086 25 92 v Black
0.95 TeXcolorgray Black -128 1058 a
SDict begin H.S end
-128 1058 a -128
1058 a
SDict begin 11 H.A end
-128 1058 a -128 1058 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.2) cvn H.B /DEST pdfmark end
-128 1058 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1177 25 92 v Black 0.95
TeXcolorgray -128 1177 4252 92 v Black 0.95 TeXcolorgray
4124 1177 25 92 v Black 0.95 TeXcolorgray Black -128
1149 a
SDict begin H.S end
-128 1149 a -128 1149 a
SDict begin 11 H.A end
-128 1149 a -128 1149
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.3) cvn H.B /DEST pdfmark end
-128 1149 a 0 0 0 TeXcolorrgb Fo(foreign)p Black 0 0 0
TeXcolorrgb 44 w(export)p Black 0 0 0 TeXcolorrgb 44
w(ccall)p Black 0 0 0 TeXcolorrgb 44 w(foo)p Black 44
w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(->)p 0 0 0
TeXcolorrgb 45 w(IO)p Black 0 0 0 TeXcolorrgb 44 w(Int)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
1268 25 92 v Black 0.95 TeXcolorgray -128 1268 4252 92
v Black 0.95 TeXcolorgray 4124 1268 25 92 v Black 0.95
TeXcolorgray Black -128 1241 a
SDict begin H.S end
-128 1241 a -128 1241
a
SDict begin 11 H.A end
-128 1241 a -128 1241 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.4) cvn H.B /DEST pdfmark end
-128 1241 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1359 25 92 v Black 0.95
TeXcolorgray -128 1359 4252 92 v Black 0.95 TeXcolorgray
4124 1359 25 92 v Black 0.95 TeXcolorgray Black -128
1332 a
SDict begin H.S end
-128 1332 a -128 1332 a
SDict begin 11 H.A end
-128 1332 a -128 1332
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.5) cvn H.B /DEST pdfmark end
-128 1332 a 0 0 0 TeXcolorrgb Fo(foo)p Black 45 w(::)p
0 0 0 TeXcolorrgb 44 w(Int)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(IO)p Black 0 0 0 TeXcolorrgb 45 w(Int)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 1451 25 92
v Black 0.95 TeXcolorgray -128 1451 4252 92 v Black 0.95
TeXcolorgray 4124 1451 25 92 v Black 0.95 TeXcolorgray
Black -128 1423 a
SDict begin H.S end
-128 1423 a -128 1423 a
SDict begin 11 H.A end
-128 1423 a
-128 1423 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.6) cvn H.B /DEST pdfmark end
-128 1423 a 0 0 0 TeXcolorrgb Fo(foo)p Black
0 0 0 TeXcolorrgb 45 w(n)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(return)p Black 44 w(\()p 0 0 0 TeXcolorrgb(length)p
Black 44 w(\()p 0 0 0 TeXcolorrgb -1 w(f)p Black 0 0 0
TeXcolorrgb 45 w(n)p Black(\)\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 1542 25 92 v Black 0.95 TeXcolorgray
-128 1542 4252 92 v Black 0.95 TeXcolorgray 4124 1542
25 92 v Black 0.95 TeXcolorgray Black -128 1515 a
SDict begin H.S end
-128
1515 a -128 1515 a
SDict begin 11 H.A end
-128 1515 a -128 1515 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.7) cvn H.B /DEST pdfmark end
-128 1515
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1633
25 92 v Black 0.95 TeXcolorgray -128 1633 4252 92 v Black
0.95 TeXcolorgray 4124 1633 25 92 v Black 0.95 TeXcolorgray
Black -128 1606 a
SDict begin H.S end
-128 1606 a -128 1606 a
SDict begin 11 H.A end
-128 1606 a
-128 1606 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.8) cvn H.B /DEST pdfmark end
-128 1606 a 0 0 0 TeXcolorrgb Fo(f)p Black
45 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p Black 44 w(->)44
b([)p 0 0 0 TeXcolorrgb(Int)p Black(])p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1725 25 92 v Black 0.95
TeXcolorgray -128 1725 4252 92 v Black 0.95 TeXcolorgray
4124 1725 25 92 v Black 0.95 TeXcolorgray Black -128
1697 a
SDict begin H.S end
-128 1697 a -128 1697 a
SDict begin 11 H.A end
-128 1697 a -128 1697
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.9) cvn H.B /DEST pdfmark end
-128 1697 a 0 0 0 TeXcolorrgb Fo(f)p Black 45 w(0)h(=)f([])p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 1816 25
92 v Black 0.95 TeXcolorgray -128 1816 4252 92 v Black
0.95 TeXcolorgray 4124 1816 25 92 v Black 0.95 TeXcolorgray
Black -128 1789 a
SDict begin H.S end
-128 1789 a -128 1789 a
SDict begin 11 H.A end
-128 1789 a
-128 1789 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-574.10) cvn H.B /DEST pdfmark end
-128 1789 a 0 0 0 TeXcolorrgb Fo(f)p Black
0 0 0 TeXcolorrgb 45 w(n)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(n)p Black(:\()p 0 0 0 TeXcolorrgb(f)p Black 45 w(\()p
0 0 0 TeXcolorrgb -1 w(n)p Black(-1\)\))p 0.95 TeXcolorgray
-153 1841 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2012 a FA(Then)20 b Ft(Foo_stub.h)f FA(will)i(contain)e
(something)g(lik)o(e)h(this:)-128 2078 y
SDict begin H.S end
-128 2078 a
-128 2078 a
SDict begin 12 H.A end
-128 2078 a -128 2078 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.8.-575) cvn H.B /DEST pdfmark end
-128 2078 a 0.95
TeXcolorgray -153 2094 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2185 25 92 v Black 0.95 TeXcolorgray -128 2185 4252 92
v Black 0.95 TeXcolorgray 4124 2185 25 92 v Black 0.95
TeXcolorgray Black -128 2158 a
SDict begin H.S end
-128 2158 a -128 2158
a
SDict begin 11 H.A end
-128 2158 a -128 2158 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-575.1) cvn H.B /DEST pdfmark end
-128 2158 a Fo(#)p 0 0 0 TeXcolorrgb(include)
p Black 44 w(")p 0 0 0 TeXcolorrgb(HsFFI)p Black -1 w(.)p
0 0 0 TeXcolorrgb(h)p Black(")p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2276 25 92 v Black 0.95 TeXcolorgray
-128 2276 4252 92 v Black 0.95 TeXcolorgray 4124 2276
25 92 v Black 0.95 TeXcolorgray Black -128 2249 a
SDict begin H.S end
-128
2249 a -128 2249 a
SDict begin 11 H.A end
-128 2249 a -128 2249 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-575.2) cvn H.B /DEST pdfmark end
-128 2249
a 0 0 0 TeXcolorrgb Fo(extern)p Black 0 0 0 TeXcolorrgb
44 w(HsInt)p Black 0 0 0 TeXcolorrgb 44 w(foo)p Black(\()p
0 0 0 TeXcolorrgb(HsInt)p Black 0 0 0 TeXcolorrgb 44
w(a0)p Black -1 w(\);)p 0.95 TeXcolorgray -153 2301 4302
25 v Black 0.95 TeXcolorgray Black Black Black -128 2472
a FA(and)g Ft(Foo_stub.c)f FA(contains)g(the)i(compiler)n(-generated)16
b(de\002nition)j(of)h Ft(foo\(\))p FA(.)25 b(T)-7 b(o)20
b(in)m(v)n(ok)o(e)f Ft(foo\(\))h FA(from)f(C,)i(just)f
Ft(#include)49 b("Foo_-)-128 2572 y(stub.h")20 b FA(and)g(call)g
Ft(foo\(\))p FA(.)-128 2720 y(The)g Ft(foo_stub.c)f FA(and)h
Ft(foo_stub.h)f FA(\002les)i(can)f(be)g(redirected)f(using)g(the)i
Ft(-stubdir)e FA(option;)g(see)i(Section)p 1 0 0 TeXcolorrgb
3342 2721 a
SDict begin H.S end
3342 2721 a 1 0 0 TeXcolorrgb -1 x FA(4.6.4)p
1 0 0 TeXcolorrgb 3508 2664 a
SDict begin H.R end
3508 2664 a 3508 2720 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.4) cvn H.B /ANN pdfmark end
3508 2720 a Black FA(.)-128 2868 y(When)28 b(linking)e(the)i(program,)f
(remember)e(to)j(include)f Ft(M_stub.o)f FA(in)i(the)g(\002nal)f(link)h
(command)d(line,)30 b(or)d(you')o(ll)f(get)i(link)f(errors)g(for)g(the)
-128 2967 y(missing)20 b(function\(s\))d(\(this)i(isn')o(t)g(necessary)
g(when)f(b)n(uilding)g(your)g(program)f(with)j Ft(ghc)49
b(--make)p FA(,)19 b(as)h(GHC)g(will)g(automatically)e(link)h(in)g(the)
-128 3067 y(correct)h(bits\).)-128 3197 y
SDict begin H.S end
-128 3197 a
-128 3197 a
SDict begin 12 H.A end
-128 3197 a -128 3197 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.8.2.1.1) cvn H.B /DEST pdfmark end
-128 3197 a Black
133 x Fx(8.2.1.1)p Black 73 w(Using)f(y)n(our)h(o)o(wn)g
Fh(main\(\))-128 3414 y
SDict begin H.S end
-128 3414 a -128 3414 a
SDict begin 12 H.A end
-128
3414 a -128 3414 a
SDict begin [ /View [/XYZ H.V] /Dest (using-own-main) cvn H.B /DEST pdfmark end
-128 3414 a 118 x FA(Normally)-5 b(,)17
b(GHC')-5 b(s)19 b(runtime)e(system)h(pro)o(vides)e(a)j
Ft(main\(\))p FA(,)e(which)h(arranges)e(to)i(in)m(v)n(ok)o(e)f
Ft(Main.main)g FA(in)h(the)g(Hask)o(ell)g(program.)k(Ho)n(we)n(v)o(er)m
(,)-128 3631 y(you)d(might)f(w)o(ant)h(to)h(link)f(some)g(Hask)o(ell)g
(code)g(into)f(a)i(program)d(which)i(has)g(a)h(main)e(function)g
(written)h(in)g(another)f(language,)f(say)j(C.)f(In)g(order)-128
3731 y(to)i(do)f(this,)g(you)f(ha)n(v)o(e)h(to)g(initialize)h(the)f
(Hask)o(ell)g(runtime)f(system)i(e)o(xplicitly)-5 b(.)-128
3879 y(Let')g(s)21 b(tak)o(e)f(the)h(e)o(xample)d(from)i(abo)o(v)o(e,)e
(and)i(in)m(v)n(ok)o(e)e(it)j(from)f(a)g(standalone)f(C)i(program.)i
(Here')-5 b(s)20 b(the)h(C)g(code:)-128 3945 y
SDict begin H.S end
-128 3945
a -128 3945 a
SDict begin 12 H.A end
-128 3945 a -128 3945 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.8.-576) cvn H.B /DEST pdfmark end
-128 3945 a 0.95
TeXcolorgray -153 3960 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4052 25 92 v Black 0.95 TeXcolorgray -128 4052 4252 92
v Black 0.95 TeXcolorgray 4124 4052 25 92 v Black 0.95
TeXcolorgray Black -128 4024 a
SDict begin H.S end
-128 4024 a -128 4024
a
SDict begin 11 H.A end
-128 4024 a -128 4024 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.1) cvn H.B /DEST pdfmark end
-128 4024 a Fo(#)p 0 0 0 TeXcolorrgb(include)
p Black 44 w(<)p 0 0 0 TeXcolorrgb(stdio)p Black -1 w(.)p
0 0 0 TeXcolorrgb(h)p Black(>)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4143 25 92 v Black 0.95 TeXcolorgray
-128 4143 4252 92 v Black 0.95 TeXcolorgray 4124 4143
25 92 v Black 0.95 TeXcolorgray Black -128 4116 a
SDict begin H.S end
-128
4116 a -128 4116 a
SDict begin 11 H.A end
-128 4116 a -128 4116 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.2) cvn H.B /DEST pdfmark end
-128 4116
a Fo(#)p 0 0 0 TeXcolorrgb(include)p Black 44 w(")p 0 0 0
TeXcolorrgb(HsFFI)p Black -1 w(.)p 0 0 0 TeXcolorrgb(h)p
Black(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4234 25 92 v Black 0.95 TeXcolorgray -128 4234 4252 92
v Black 0.95 TeXcolorgray 4124 4234 25 92 v Black 0.95
TeXcolorgray Black -128 4207 a
SDict begin H.S end
-128 4207 a -128 4207
a
SDict begin 11 H.A end
-128 4207 a -128 4207 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.3) cvn H.B /DEST pdfmark end
-128 4207 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4326 25 92 v Black 0.95
TeXcolorgray -128 4326 4252 92 v Black 0.95 TeXcolorgray
4124 4326 25 92 v Black 0.95 TeXcolorgray Black -128
4298 a
SDict begin H.S end
-128 4298 a -128 4298 a
SDict begin 11 H.A end
-128 4298 a -128 4298
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.4) cvn H.B /DEST pdfmark end
-128 4298 a Fo(#)p 0 0 0 TeXcolorrgb(ifdef)p Black
0 0 0 TeXcolorrgb 44 w(__GLASGOW_HASKELL__)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 4417 25 92
v Black 0.95 TeXcolorgray -128 4417 4252 92 v Black 0.95
TeXcolorgray 4124 4417 25 92 v Black 0.95 TeXcolorgray
Black -128 4390 a
SDict begin H.S end
-128 4390 a -128 4390 a
SDict begin 11 H.A end
-128 4390 a
-128 4390 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.5) cvn H.B /DEST pdfmark end
-128 4390 a Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(")p 0 0 0 TeXcolorrgb(foo_stub)p Black -2
w(.)p 0 0 0 TeXcolorrgb(h)p Black(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4508 25 92 v Black 0.95
TeXcolorgray -128 4508 4252 92 v Black 0.95 TeXcolorgray
4124 4508 25 92 v Black 0.95 TeXcolorgray Black -128
4481 a
SDict begin H.S end
-128 4481 a -128 4481 a
SDict begin 11 H.A end
-128 4481 a -128 4481
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.6) cvn H.B /DEST pdfmark end
-128 4481 a Fo(#)p 0 0 0 TeXcolorrgb(endif)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4600 25
92 v Black 0.95 TeXcolorgray -128 4600 4252 92 v Black
0.95 TeXcolorgray 4124 4600 25 92 v Black 0.95 TeXcolorgray
Black -128 4572 a
SDict begin H.S end
-128 4572 a -128 4572 a
SDict begin 11 H.A end
-128 4572 a
-128 4572 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.7) cvn H.B /DEST pdfmark end
-128 4572 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4691 25 92 v Black 0.95 TeXcolorgray
-128 4691 4252 92 v Black 0.95 TeXcolorgray 4124 4691
25 92 v Black 0.95 TeXcolorgray Black -128 4664 a
SDict begin H.S end
-128
4664 a -128 4664 a
SDict begin 11 H.A end
-128 4664 a -128 4664 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.8) cvn H.B /DEST pdfmark end
-128 4664
a Fo(#)p 0 0 0 TeXcolorrgb(ifdef)p Black 0 0 0 TeXcolorrgb
44 w(__GLASGOW_HASKELL__)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4782 25 92 v Black 0.95 TeXcolorgray
-128 4782 4252 92 v Black 0.95 TeXcolorgray 4124 4782
25 92 v Black 0.95 TeXcolorgray Black -128 4755 a
SDict begin H.S end
-128
4755 a -128 4755 a
SDict begin 11 H.A end
-128 4755 a -128 4755 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.9) cvn H.B /DEST pdfmark end
-128 4755
a 0 0 0 TeXcolorrgb Fo(extern)p Black 0 0 0 TeXcolorrgb
44 w(void)p Black 0 0 0 TeXcolorrgb 44 w(__stginit_Foo)p
Black 43 w(\()p 0 0 0 TeXcolorrgb 45 w(void)p Black 44
w(\);)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4874 25 92 v Black 0.95 TeXcolorgray -128 4874 4252 92
v Black 0.95 TeXcolorgray 4124 4874 25 92 v Black 0.95
TeXcolorgray Black -128 4846 a
SDict begin H.S end
-128 4846 a -128 4846
a
SDict begin 11 H.A end
-128 4846 a -128 4846 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.10) cvn H.B /DEST pdfmark end
-128 4846 a Fo(#)p 0 0 0 TeXcolorrgb(endif)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4965 25 92 v Black 0.95 TeXcolorgray -128 4965 4252 92
v Black 0.95 TeXcolorgray 4124 4965 25 92 v Black 0.95
TeXcolorgray Black -128 4938 a
SDict begin H.S end
-128 4938 a -128 4938
a
SDict begin 11 H.A end
-128 4938 a -128 4938 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.11) cvn H.B /DEST pdfmark end
-128 4938 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5056 25 92 v Black 0.95
TeXcolorgray -128 5056 4252 92 v Black 0.95 TeXcolorgray
4124 5056 25 92 v Black 0.95 TeXcolorgray Black -128
5029 a
SDict begin H.S end
-128 5029 a -128 5029 a
SDict begin 11 H.A end
-128 5029 a -128 5029
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.12) cvn H.B /DEST pdfmark end
-128 5029 a 0 0 0 TeXcolorrgb Fo(int)p Black 0 0 0
TeXcolorrgb 45 w(main)p Black -1 w(\()p 0 0 0 TeXcolorrgb(int)p
Black 0 0 0 TeXcolorrgb 44 w(argc)p Black(,)p 0 0 0 TeXcolorrgb
44 w(char)p Black 948 5042 a(*)p 0 0 0 TeXcolorrgb -13
x(argv)p Black([]\))p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5148 25 92 v Black 0.95 TeXcolorgray -128 5148 4252
92 v Black 0.95 TeXcolorgray 4124 5148 25 92 v Black
0.95 TeXcolorgray Black -128 5120 a
SDict begin H.S end
-128 5120 a -128
5120 a
SDict begin 11 H.A end
-128 5120 a -128 5120 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.13) cvn H.B /DEST pdfmark end
-128 5120 a Fo({)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 5239 25 92
v Black 0.95 TeXcolorgray -128 5239 4252 92 v Black 0.95
TeXcolorgray 4124 5239 25 92 v Black 0.95 TeXcolorgray
Black -128 5212 a
SDict begin H.S end
-128 5212 a -128 5212 a
SDict begin 11 H.A end
-128 5212 a
-128 5212 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.14) cvn H.B /DEST pdfmark end
-128 5212 a 0 0 0 TeXcolorrgb 90 w Fo(int)p
Black 0 0 0 TeXcolorrgb 44 w(i)p Black(;)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5330 25 92 v Black 0.95
TeXcolorgray -128 5330 4252 92 v Black 0.95 TeXcolorgray
4124 5330 25 92 v Black 0.95 TeXcolorgray Black -128
5303 a
SDict begin H.S end
-128 5303 a -128 5303 a
SDict begin 11 H.A end
-128 5303 a -128 5303
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.15) cvn H.B /DEST pdfmark end
-128 5303 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5422 25 92 v Black 0.95 TeXcolorgray -128 5422 4252
92 v Black 0.95 TeXcolorgray 4124 5422 25 92 v Black
0.95 TeXcolorgray Black -128 5394 a
SDict begin H.S end
-128 5394 a -128
5394 a
SDict begin 11 H.A end
-128 5394 a -128 5394 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.16) cvn H.B /DEST pdfmark end
-128 5394 a 0 0 0 TeXcolorrgb
90 w Fo(hs_init)p Black -1 w(\(&)p 0 0 0 TeXcolorrgb(argc)p
Black -1 w(,)45 b(&)p 0 0 0 TeXcolorrgb -1 w(argv)p Black(\);)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5513 25
92 v Black 0.95 TeXcolorgray -128 5513 4252 92 v Black
0.95 TeXcolorgray 4124 5513 25 92 v Black 0.95 TeXcolorgray
Black -128 5485 a
SDict begin H.S end
-128 5485 a -128 5485 a
SDict begin 11 H.A end
-128 5485 a
-128 5485 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.17) cvn H.B /DEST pdfmark end
-128 5485 a Fo(#)p 0 0 0 TeXcolorrgb(ifdef)p
Black 0 0 0 TeXcolorrgb 44 w(__GLASGOW_HASKELL__)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5604 25
92 v Black 0.95 TeXcolorgray -128 5604 4252 92 v Black
0.95 TeXcolorgray 4124 5604 25 92 v Black 0.95 TeXcolorgray
Black -128 5577 a
SDict begin H.S end
-128 5577 a -128 5577 a
SDict begin 11 H.A end
-128 5577 a
-128 5577 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.18) cvn H.B /DEST pdfmark end
-128 5577 a 0 0 0 TeXcolorrgb 90 w Fo(hs_add_root)p
Black -2 w(\()p 0 0 0 TeXcolorrgb(__stginit_Foo)p Black
-2 w(\);)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5696 25 92 v Black 0.95 TeXcolorgray -128 5696 4252
92 v Black 0.95 TeXcolorgray 4124 5696 25 92 v Black
0.95 TeXcolorgray Black -128 5668 a
SDict begin H.S end
-128 5668 a -128
5668 a
SDict begin 11 H.A end
-128 5668 a -128 5668 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.19) cvn H.B /DEST pdfmark end
-128 5668 a Fo(#)p 0 0 0
TeXcolorrgb(endif)p Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5787 25 92 v Black 0.95 TeXcolorgray
-128 5787 4252 92 v Black 0.95 TeXcolorgray 4124 5787
25 92 v Black 0.95 TeXcolorgray Black -128 5759 a
SDict begin H.S end
-128
5759 a -128 5759 a
SDict begin 11 H.A end
-128 5759 a -128 5759 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.20) cvn H.B /DEST pdfmark end
-128 5759
a Black -128 6084 4252 5 v Black eop end
%%Page: 198 213
TeXDict begin 198 212 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.198) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(198)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.21) cvn H.B /DEST pdfmark end
-128 173 a 0 0 0 TeXcolorrgb
90 w Fo(for)p Black 44 w(\()p 0 0 0 TeXcolorrgb(i)p Black
45 w(=)45 b(0;)p 0 0 0 TeXcolorrgb 44 w(i)p Black 45
w(<)f(5;)p 0 0 0 TeXcolorrgb 45 w(i)p Black(++\))g({)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 292 25
92 v Black 0.95 TeXcolorgray -128 292 4252 92 v Black
0.95 TeXcolorgray 4124 292 25 92 v Black 0.95 TeXcolorgray
Black -128 265 a
SDict begin H.S end
-128 265 a -128 265 a
SDict begin 11 H.A end
-128 265 a -128
265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.22) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb 180 w Fo(printf)p
Black -1 w(\("\045)p 0 0 0 TeXcolorrgb -1 w(d)p Black(\\)p
0 0 0 TeXcolorrgb(n)p Black(",)p 0 0 0 TeXcolorrgb 44
w(foo)p Black(\(2500\))o(\);)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.23) cvn H.B /DEST pdfmark end
-128 356 a 90 w Fo(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 475 25
92 v Black 0.95 TeXcolorgray -128 475 4252 92 v Black
0.95 TeXcolorgray 4124 475 25 92 v Black 0.95 TeXcolorgray
Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128 447 a -128
447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.24) cvn H.B /DEST pdfmark end
-128 447 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 566 25 92 v Black 0.95 TeXcolorgray -128 566 4252
92 v Black 0.95 TeXcolorgray 4124 566 25 92 v Black 0.95
TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128
538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.25) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb 90 w Fo(hs_exit)p
Black -1 w(\(\);)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 657 25 92 v Black 0.95 TeXcolorgray -128 657 4252
92 v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.26) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb 90 w Fo(return)p
Black 44 w(0;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 749 25 92 v Black 0.95 TeXcolorgray -128 749 4252
92 v Black 0.95 TeXcolorgray 4124 749 25 92 v Black 0.95
TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721 a -128 721 a
SDict begin 11 H.A end
-128
721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-576.27) cvn H.B /DEST pdfmark end
-128 721 a Fo(})p 0.95 TeXcolorgray
-152 773 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 948 a FA(W)-7 b(e')l(v)o(e)28 b(surrounded)d(the)k
(GHC-speci\002c)f(bits)g(with)h Ft(#ifdef)48 b(__GLASGOW_HASKELL__)p
FA(;)29 b(the)f(rest)h(of)f(the)g(code)f(should)g(be)h(portable)-128
1047 y(across)21 b(Hask)o(ell)f(implementations)e(that)j(support)e(the)
h(FFI)h(standard.)-128 1197 y(The)e(call)h(to)g Ft(hs_init\(\))e
FA(initializes)i(GHC')-5 b(s)20 b(runtime)e(system.)25
b(Do)20 b(NO)m(T)f(try)g(to)g(in)m(v)n(ok)o(e)g(an)o(y)f(Hask)o(ell)i
(functions)e(before)g(calling)h Ft(hs_in-)-128 1296 y(it\(\))p
FA(:)26 b(bad)19 b(things)h(will)h(undoubtedly)c(happen.)-128
1446 y(W)-7 b(e)17 b(pass)g(references)d(to)i Ft(argc)g
FA(and)f Ft(argv)h FA(to)g Ft(hs_init\(\))e FA(so)j(that)f(it)g(can)g
(separate)f(out)h(an)o(y)f(ar)o(guments)e(for)j(the)f(R)-5
b(TS)17 b(\(i.e.)23 b(those)16 b(ar)o(guments)-128 1546
y(between)k Ft(+RTS...-RTS)p FA(\).)-128 1695 y(Ne)o(xt,)g(we)h(call)g
Ft(hs_add_root)p FA(,)e(a)i(GHC-speci\002c)g(interf)o(ace)e(which)h(is)
h(required)e(to)i(initialise)g(the)f(Hask)o(ell)h(modules)f(in)g(the)h
(program.)i(The)-128 1795 y(ar)o(gument)e(to)i Ft(hs_add_root)e
FA(should)h(be)h(the)g(name)f(of)h(the)g(initialization)f(function)f
(for)i(the)g("root")f(module)f(in)i(your)f(program)f(-)i(in)g(other)
-128 1894 y(w)o(ords,)k(the)e(module)f(which)h(directly)f(or)h
(indirectly)g(imports)f(all)i(the)g(other)e(Hask)o(ell)i(modules)e(in)i
(the)f(program.)39 b(In)25 b(a)h(standalone)e(Hask)o(ell)-128
1994 y(program)c(the)h(root)f(module)g(is)i(normally)e
Ft(Main)p FA(,)h(b)n(ut)g(when)g(you)f(are)h(using)g(Hask)o(ell)h(code)
e(from)h(a)g(library)f(it)i(may)f(not)g(be.)28 b(If)21
b(your)f(program)-128 2093 y(has)25 b(multiple)e(root)g(modules,)g
(then)h(you)f(can)g(call)i Ft(hs_add_root)d FA(multiple)h(times,)i(one)
e(for)h(each)f(root.)35 b(The)24 b(name)f(of)h(the)g(initialization)
-128 2193 y(function)18 b(for)h(module)g Fr(M)28 b FA(is)21
b Ft(__stginit_)p Fr(M)9 b FA(,)18 b(and)h(it)h(may)f(be)h(declared)e
(as)j(an)e(e)o(xternal)g(function)f(symbol)g(as)j(in)f(the)f(code)g
(abo)o(v)o(e.)k(Note)d(that)-128 2293 y(the)h(symbol)e(name)g(should)h
(be)g(transformed)e(according)g(to)i(the)g(Z-encoding:)p
-83 2414 4163 4 v -83 2414 V -83 2514 4 101 v -30 2483
a Fu(Character)p 1997 2514 V 1714 w(Replacement)p 4076
2514 V -83 2517 2083 4 v 2000 2517 2080 4 v -83 2615
4 101 v -30 2584 a Ft(.)p 1997 2615 V 2030 w(zd)p 4076
2615 V -83 2618 2083 4 v 2000 2618 2080 4 v -83 2715
4 101 v -30 2684 a(_)p 1997 2715 V 2030 w(zu)p 4076 2715
V -83 2718 2083 4 v 2000 2718 2080 4 v -83 2815 4 101
v -30 2785 a(`)p 1997 2815 V 2030 w(zq)p 4076 2815 V
-83 2819 2083 4 v 2000 2819 2080 4 v -83 2916 4 101 v
-30 2885 a(Z)p 1997 2916 V 2030 w(ZZ)p 4076 2916 V -83
2919 2083 4 v 2000 2919 2080 4 v -83 3016 4 101 v -30
2986 a(z)p 1997 3016 V 2030 w(zz)p 4076 3016 V -83 3020
4163 4 v -83 3020 V -128 3262 a FA(After)g(we')l(v)o(e)g(\002nished)f
(in)m(v)n(oking)f(our)i(Hask)o(ell)g(functions,)f(we)h(can)g(call)h
Ft(hs_exit\(\))p FA(,)e(which)g(terminates)h(the)g(R)-5
b(TS.)-128 3409 y(There)20 b(can)g(be)g(multiple)f(calls)i(to)g
Ft(hs_init\(\))p FA(,)e(b)n(ut)h(each)g(one)f(should)g(be)i(matched)e
(by)g(one)h(\(and)f(only)h(one\))f(call)i(to)f Ft(hs_exit\(\))3875
3379 y Fn(1)3908 3409 y FA(.)-128 3556 y(NO)m(TE:)k(when)e(linking)h
(the)g(\002nal)h(program,)e(it)i(is)h(normally)c(easiest)k(to)e(do)h
(the)f(link)g(using)g(GHC,)h(although)e(this)i(isn')o(t)f(essential.)35
b(If)24 b(you)e(do)-128 3656 y(use)f(GHC,)g(then)e(don')o(t)g(for)o
(get)f(the)j(\003ag)f Ft(-no-hs-main)p FA(,)e(otherwise)i(GHC)h(will)g
(try)f(to)g(link)g(to)g(the)h Ft(Main)f FA(Hask)o(ell)g(module.)-128
3789 y
SDict begin H.S end
-128 3789 a -128 3789 a
SDict begin 12 H.A end
-128 3789 a -128 3789
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.8.2.1.2) cvn H.B /DEST pdfmark end
-128 3789 a Black 129 x Fx(8.2.1.2)p Black 73 w(Making)f(a)h(Haskell)
f(librar)q(y)g(that)g(can)h(be)g(called)e(fr)o(om)j(f)o(oreign)d(code)
-128 4001 y
SDict begin H.S end
-128 4001 a -128 4001 a
SDict begin 12 H.A end
-128 4001 a -128
4001 a
SDict begin [ /View [/XYZ H.V] /Dest (ffi-library) cvn H.B /DEST pdfmark end
-128 4001 a 118 x FA(The)25 b(scenario)f(here)g(is)h(much)f(lik)
o(e)h(in)f(Section)p 1 0 0 TeXcolorrgb 1300 4120 a
SDict begin H.S end
1300
4120 a 1 0 0 TeXcolorrgb -1 x FA(8.2.1.1)p 1 0 0 TeXcolorrgb
1528 4062 a
SDict begin H.R end
1528 4062 a 1528 4119 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.8.2.1.1) cvn H.B /ANN pdfmark end
1528 4119 a Black
FA(,)i(e)o(xcept)e(that)g(the)h(aim)g(is)g(not)f(to)h(link)g(a)g
(complete)e(program,)g(b)n(ut)i(to)g(mak)o(e)f(a)h(library)-128
4218 y(from)20 b(Hask)o(ell)g(code)g(that)g(can)g(be)g(deplo)o(yed)e
(in)j(the)f(same)g(w)o(ay)g(that)h(you)e(w)o(ould)h(deplo)o(y)e(a)j
(library)e(of)h(C)h(code.)-128 4365 y(The)c(main)g(requirement)d(here)j
(is)h(that)f(the)g(runtime)f(needs)h(to)g(be)g(initialized)f(before)g
(an)o(y)g(Hask)o(ell)i(code)e(can)h(be)g(called,)g(so)g(your)f(library)
g(should)-128 4465 y(pro)o(vide)j(initialisation)h(and)f
(deinitialisation)g(entry)h(points,)f(implemented)g(in)h(C)h(or)f(C++.)
26 b(F)o(or)19 b(e)o(xample:)-128 4531 y
SDict begin H.S end
-128 4531 a
-128 4531 a
SDict begin 12 H.A end
-128 4531 a -128 4531 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.8.-577) cvn H.B /DEST pdfmark end
-128 4531 a 0.95
TeXcolorgray -153 4546 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4637 25 92 v Black 0.95 TeXcolorgray -128 4637 4252 92
v Black 0.95 TeXcolorgray 4124 4637 25 92 v Black 0.95
TeXcolorgray Black -128 4610 a
SDict begin H.S end
-128 4610 a -128 4610
a
SDict begin 11 H.A end
-128 4610 a -128 4610 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.1) cvn H.B /DEST pdfmark end
-128 4610 a 0 0 0 TeXcolorrgb
45 w Fo(HsBool)p Black 0 0 0 TeXcolorrgb 44 w(mylib_init)p
Black -2 w(\()p 0 0 0 TeXcolorrgb(void)p Black(\))o({)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4728 25
92 v Black 0.95 TeXcolorgray -128 4728 4252 92 v Black
0.95 TeXcolorgray 4124 4728 25 92 v Black 0.95 TeXcolorgray
Black -128 4701 a
SDict begin H.S end
-128 4701 a -128 4701 a
SDict begin 11 H.A end
-128 4701 a
-128 4701 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.2) cvn H.B /DEST pdfmark end
-128 4701 a 0 0 0 TeXcolorrgb 135 w Fo(int)p
Black 0 0 0 TeXcolorrgb 44 w(argc)p Black 44 w(=)45 b(...)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4820 25
92 v Black 0.95 TeXcolorgray -128 4820 4252 92 v Black
0.95 TeXcolorgray 4124 4820 25 92 v Black 0.95 TeXcolorgray
Black -128 4792 a
SDict begin H.S end
-128 4792 a -128 4792 a
SDict begin 11 H.A end
-128 4792 a
-128 4792 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.3) cvn H.B /DEST pdfmark end
-128 4792 a 0 0 0 TeXcolorrgb 135 w Fo(char)p
Black 231 4805 a(*)p 0 0 0 TeXcolorrgb -13 x(argv)p Black
-1 w([])g(=)f(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4911 25 92 v Black 0.95 TeXcolorgray -128 4911 4252
92 v Black 0.95 TeXcolorgray 4124 4911 25 92 v Black
0.95 TeXcolorgray Black -128 4884 a
SDict begin H.S end
-128 4884 a -128
4884 a
SDict begin 11 H.A end
-128 4884 a -128 4884 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.4) cvn H.B /DEST pdfmark end
-128 4884 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5002 25 92 v Black 0.95
TeXcolorgray -128 5002 4252 92 v Black 0.95 TeXcolorgray
4124 5002 25 92 v Black 0.95 TeXcolorgray Black -128
4975 a
SDict begin H.S end
-128 4975 a -128 4975 a
SDict begin 11 H.A end
-128 4975 a -128 4975
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.5) cvn H.B /DEST pdfmark end
-128 4975 a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(Initialize)p
Black 0 0 0 TeXcolorrgb 44 w(Haskell)p Black 0 0 0 TeXcolorrgb
43 w(runtime)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5094 25 92 v Black 0.95 TeXcolorgray -128 5094 4252
92 v Black 0.95 TeXcolorgray 4124 5094 25 92 v Black
0.95 TeXcolorgray Black -128 5066 a
SDict begin H.S end
-128 5066 a -128
5066 a
SDict begin 11 H.A end
-128 5066 a -128 5066 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.6) cvn H.B /DEST pdfmark end
-128 5066 a 0 0 0 TeXcolorrgb
135 w Fo(hs_init)p Black -1 w(\(&)p 0 0 0 TeXcolorrgb
-1 w(argc)p Black(,)g(&)p 0 0 0 TeXcolorrgb(argv)p Black(\))o(;)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5185 25
92 v Black 0.95 TeXcolorgray -128 5185 4252 92 v Black
0.95 TeXcolorgray 4124 5185 25 92 v Black 0.95 TeXcolorgray
Black -128 5158 a
SDict begin H.S end
-128 5158 a -128 5158 a
SDict begin 11 H.A end
-128 5158 a
-128 5158 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.7) cvn H.B /DEST pdfmark end
-128 5158 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5276 25 92 v Black 0.95 TeXcolorgray
-128 5276 4252 92 v Black 0.95 TeXcolorgray 4124 5276
25 92 v Black 0.95 TeXcolorgray Black -128 5249 a
SDict begin H.S end
-128
5249 a -128 5249 a
SDict begin 11 H.A end
-128 5249 a -128 5249 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.8) cvn H.B /DEST pdfmark end
-128 5249
a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(Tell)p Black 0 0 0
TeXcolorrgb 45 w(Haskell)p Black 0 0 0 TeXcolorrgb 43
w(about)p Black 0 0 0 TeXcolorrgb 44 w(all)p Black 0 0 0
TeXcolorrgb 45 w(root)p Black 0 0 0 TeXcolorrgb 44 w(modules)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
5368 25 92 v Black 0.95 TeXcolorgray -128 5368 4252 92
v Black 0.95 TeXcolorgray 4124 5368 25 92 v Black 0.95
TeXcolorgray Black -128 5340 a
SDict begin H.S end
-128 5340 a -128 5340
a
SDict begin 11 H.A end
-128 5340 a -128 5340 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.9) cvn H.B /DEST pdfmark end
-128 5340 a 0 0 0 TeXcolorrgb
135 w Fo(hs_add_root)p Black -2 w(\()p 0 0 0 TeXcolorrgb(__stginit_Foo)
p Black -2 w(\);)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5459 25 92 v Black 0.95 TeXcolorgray -128 5459 4252
92 v Black 0.95 TeXcolorgray 4124 5459 25 92 v Black
0.95 TeXcolorgray Black -128 5432 a
SDict begin H.S end
-128 5432 a -128
5432 a
SDict begin 11 H.A end
-128 5432 a -128 5432 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.10) cvn H.B /DEST pdfmark end
-128 5432 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5550 25 92 v Black 0.95
TeXcolorgray -128 5550 4252 92 v Black 0.95 TeXcolorgray
4124 5550 25 92 v Black 0.95 TeXcolorgray Black -128
5523 a
SDict begin H.S end
-128 5523 a -128 5523 a
SDict begin 11 H.A end
-128 5523 a -128 5523
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.11) cvn H.B /DEST pdfmark end
-128 5523 a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(do)p
Black 0 0 0 TeXcolorrgb 45 w(any)p Black 0 0 0 TeXcolorrgb
44 w(other)p Black 0 0 0 TeXcolorrgb 44 w(initialization)p
Black 0 0 0 TeXcolorrgb 43 w(here)p Black 0 0 0 TeXcolorrgb
44 w(and)p Black Black -128 5601 1701 4 v -7 5656 a Fm(1)22
5681 y Fl(The)16 b(outermost)h Fk(hs_exit\(\))d Fl(will)j(actually)i
(de-initialise)h(the)d(system.)j(NO)m(TE)15 b(that)i(currently)i(GHC')l
(s)d(runtime)h(cannot)h(reliably)g(re-initialise)i(after)e(this)e(has)g
(happened,)-128 5759 y(see)i(Section)p 1 0 0 TeXcolorrgb
190 5760 a
SDict begin H.S end
190 5760 a 1 0 0 TeXcolorrgb -1 x Fl(12.1.3)p
1 0 0 TeXcolorrgb 356 5714 a
SDict begin H.R end
356 5714 a 356 5759 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.12.1.3) cvn H.B /ANN pdfmark end
356
5759 a Black Fl(.)p Black Black -128 6084 4252 5 v Black
eop end
%%Page: 199 214
TeXDict begin 199 213 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.199) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(199)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.12) cvn H.B /DEST pdfmark end
-128 173 a 135 w Fo(//)p
0 0 0 TeXcolorrgb 44 w(return)p Black 0 0 0 TeXcolorrgb
44 w(false)p Black 0 0 0 TeXcolorrgb 44 w(if)p Black
0 0 0 TeXcolorrgb 45 w(there)p Black 0 0 0 TeXcolorrgb
44 w(was)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(problem)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 292 25 92 v Black 0.95 TeXcolorgray
-128 292 4252 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265
a -128 265 a
SDict begin 11 H.A end
-128 265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.13) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb
135 w Fo(return)p Black 0 0 0 TeXcolorrgb 44 w(HS_BOOL_TRUE)p
Black -2 w(;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 383 25 92 v Black 0.95 TeXcolorgray -128 383 4252
92 v Black 0.95 TeXcolorgray 4124 383 25 92 v Black 0.95
TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356 a -128 356 a
SDict begin 11 H.A end
-128
356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.14) cvn H.B /DEST pdfmark end
-128 356 a 45 w Fo(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 475 25 92 v Black 0.95 TeXcolorgray
-128 475 4252 92 v Black 0.95 TeXcolorgray 4124 475 25
92 v Black 0.95 TeXcolorgray Black -128 447 a
SDict begin H.S end
-128 447
a -128 447 a
SDict begin 11 H.A end
-128 447 a -128 447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.15) cvn H.B /DEST pdfmark end
-128 447 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 566 25 92 v Black 0.95 TeXcolorgray
-128 566 4252 92 v Black 0.95 TeXcolorgray 4124 566 25
92 v Black 0.95 TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538
a -128 538 a
SDict begin 11 H.A end
-128 538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.16) cvn H.B /DEST pdfmark end
-128 538 a 0 0 0 TeXcolorrgb
45 w Fo(void)p Black 0 0 0 TeXcolorrgb 44 w(mylib_end)p
Black -1 w(\()p 0 0 0 TeXcolorrgb(void)p Black -1 w(\){)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 657 25
92 v Black 0.95 TeXcolorgray -128 657 4252 92 v Black
0.95 TeXcolorgray 4124 657 25 92 v Black 0.95 TeXcolorgray
Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128 630 a -128
630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.17) cvn H.B /DEST pdfmark end
-128 630 a 0 0 0 TeXcolorrgb 135 w Fo(hs_exit)p
Black -1 w(\(\))o(;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 749 25 92 v Black 0.95 TeXcolorgray -128 749 4252
92 v Black 0.95 TeXcolorgray 4124 749 25 92 v Black 0.95
TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721 a -128 721 a
SDict begin 11 H.A end
-128
721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-577.18) cvn H.B /DEST pdfmark end
-128 721 a 45 w Fo(})p 0.95 TeXcolorgray
-152 773 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 948 a FA(The)f(initialisation)g(routine,)f
Ft(mylib_init)p FA(,)g(calls)i Ft(hs_init\(\))e FA(and)g
Ft(hs_add_root\(\))g FA(as)i(normal)e(to)h(initialise)h(the)f(Hask)o
(ell)g(runtime,)-128 1047 y(and)h(the)g(corresponding)d
(deinitialisation)i(function)g Ft(mylib_end\(\))f FA(calls)j
Ft(hs_exit\(\))e FA(to)i(shut)f(do)n(wn)f(the)h(runtime.)-128
1182 y
SDict begin H.S end
-128 1182 a -128 1182 a
SDict begin 12 H.A end
-128 1182 a -128 1182
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.8.2.1.3) cvn H.B /DEST pdfmark end
-128 1182 a Black 131 x Fx(8.2.1.3)p Black 73 w(On)g(the)g(use)g(of)g
Fh(hs_exit\(\))-128 1396 y
SDict begin H.S end
-128 1396 a -128 1396 a
SDict begin 12 H.A end
-128
1396 a -128 1396 a
SDict begin [ /View [/XYZ H.V] /Dest (hs-exit) cvn H.B /DEST pdfmark end
-128 1396 a 120 x Ft(hs_exit\(\))27
b FA(normally)e(causes)j(the)f(termination)f(of)h(an)o(y)f(running)f
(Hask)o(ell)j(threads)f(in)g(the)g(system,)j(and)c(when)h
Ft(hs_exit\(\))f FA(returns,)-128 1616 y(there)31 b(will)g(be)g(no)f
(more)g(Hask)o(ell)h(threads)f(running.)55 b(The)30 b(runtime)g(will)h
(then)f(shut)h(do)n(wn)f(the)h(system)g(in)f(an)h(orderly)e(w)o(ay)-5
b(,)33 b(generating)-128 1715 y(pro\002ling)19 b(output)g(and)h
(statistics)i(if)e(necessary)-5 b(,)19 b(and)g(freeing)g(all)i(the)f
(memory)f(it)i(o)n(wns.)-128 1865 y(It)27 b(isn')o(t)e(al)o(w)o(ays)i
(possible)f(to)g(terminate)f(a)i(Hask)o(ell)f(thread)f(forcibly:)35
b(for)26 b(e)o(xample,)g(the)g(thread)f(might)g(be)h(currently)e(e)o(x)
o(ecuting)g(a)j(foreign)-128 1964 y(call,)22 b(and)e(we)i(ha)n(v)o(e)e
(no)g(w)o(ay)h(to)h(force)e(the)h(foreign)e(call)i(to)g(complete.)27
b(What')-5 b(s)21 b(more,)f(the)h(runtime)f(must)h(assume)g(that)g(in)g
(the)g(w)o(orst)h(case)f(the)-128 2064 y(Hask)o(ell)e(code)e(and)h
(runtime)f(are)h(about)f(to)i(be)f(remo)o(v)o(ed)e(from)h(memory)f
(\(e.g.)24 b(if)18 b(this)h(is)g(a)p 1 0 0 TeXcolorrgb
2532 2065 a
SDict begin H.S end
2532 2065 a 1 0 0 TeXcolorrgb -1 x FA(W)m(indo)n(ws)g(DLL)p
1 0 0 TeXcolorrgb 3027 2008 a
SDict begin H.R end
3027 2008 a 3027 2064 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (win32-dlls) cvn H.B /ANN pdfmark end
3027 2064 a Black FA(,)f Ft(hs_exit\(\))g FA(is)h(normally)d(called)
-128 2164 y(before)j(unloading)f(the)i(DLL\).)g(So)g
Ft(hs_exit\(\))f Fq(must)j FA(w)o(ait)f(until)f(all)h(outstanding)d
(foreign)h(calls)i(return)e(before)g(it)h(can)g(return)f(itself.)-128
2313 y(The)i(upshot)f(of)h(this)h(is)g(that)f(if)g(you)f(ha)n(v)o(e)h
(Hask)o(ell)g(threads)g(that)g(are)g(block)o(ed)f(in)h(foreign)e
(calls,)j(then)f Ft(hs_exit\(\))f FA(may)g(hang)g(\(or)h(possibly)-128
2413 y(b)n(usy-w)o(ait\))k(until)g(the)g(calls)h(return.)39
b(Therefore)23 b(it')-5 b(s)27 b(a)e(good)f(idea)h(to)h(mak)o(e)f(sure)
g(you)f(don')o(t)g(ha)n(v)o(e)g(an)o(y)h(such)g(threads)f(in)i(the)f
(system)h(when)-128 2512 y(calling)d Ft(hs_exit\(\))p
FA(.)31 b(This)22 b(includes)g(an)o(y)g(threads)g(doing)f(I/O,)i
(because)e(I/O)i(may)f(\(or)g(may)g(not,)h(depending)d(on)i(the)h(type)
f(of)g(I/O)h(and)f(the)-128 2612 y(platform\))d(be)h(implemented)e
(using)i(blocking)e(foreign)h(calls.)-128 2761 y(The)d(GHC)h(runtime)f
(treats)g(program)e(e)o(xit)i(as)h(a)g(special)g(case,)g(to)f(a)n(v)n
(oid)g(the)h(need)e(to)i(w)o(ait)g(for)e(block)o(ed)g(threads)h(when)f
(a)i(standalone)e(e)o(x)o(ecutable)-128 2861 y(e)o(xits.)25
b(Since)19 b(the)g(program)d(and)j(all)g(its)h(threads)e(are)h(about)f
(to)h(terminate)f(at)h(the)g(same)g(time)g(that)g(the)g(code)f(is)i
(remo)o(v)o(ed)c(from)i(memory)-5 b(,)17 b(it)i(isn')o(t)-128
2961 y(necessary)f(to)h(ensure)f(that)g(the)h(threads)f(ha)n(v)o(e)g(e)
o(xited)g(\002rst.)25 b(\(Unof)n(\002cially)-5 b(,)16
b(if)j(you)f(w)o(ant)h(to)f(use)h(this)g(f)o(ast)g(and)f(loose)h(v)o
(ersion)e(of)h Ft(hs_exit\(\))p FA(,)-128 3060 y(then)i(call)h
Ft(shutdownHaskellAndExit\(\))16 b FA(instead\).)-128
3191 y
SDict begin H.S end
-128 3191 a -128 3191 a
SDict begin 12 H.A end
-128 3191 a -128 3191
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.8.2.2) cvn H.B /DEST pdfmark end
-128 3191 a Black 151 x Fp(8.2.2)p Black 90 w(Using)24
b(function)f(header)o(s)-128 3431 y
SDict begin H.S end
-128 3431 a -128
3431 a
SDict begin 12 H.A end
-128 3431 a -128 3431 a
SDict begin [ /View [/XYZ H.V] /Dest (glasgow-foreign-headers) cvn H.B /DEST pdfmark end
-128 3431 a 114 x FA(C)g(functions)d
(are)i(normally)e(declared)g(using)i(prototypes)d(in)j(a)g(C)h(header)d
(\002le.)31 b(Earlier)21 b(v)o(ersions)f(of)i(GHC)g(\(6.8.3)e(and)h
(earlier\))g Ft(#include)p FA(d)-128 3645 y(the)f(header)e(\002le)i(in)
f(the)g(C)h(source)f(\002le)h(generated)d(from)i(the)g(Hask)o(ell)g
(code,)g(and)g(the)g(C)h(compiler)e(could)g(therefore)g(check)g(that)h
(the)h(C)g(function)-128 3745 y(being)g(called)g(via)g(the)g(FFI)h(w)o
(as)g(being)e(called)h(at)h(the)f(right)g(type.)-128
3894 y(GHC)25 b(no)e(longer)f(includes)g(e)o(xternal)h(header)f
(\002les)i(when)f(compiling)f(via)h(C,)h(so)g(this)g(checking)e(is)i
(not)f(performed.)32 b(The)23 b(change)f(w)o(as)j(made)-128
3994 y(for)g(compatibility)e(with)i(the)g(nati)n(v)o(e)f(code)g(back)o
(end)f(\()p Ft(-fasm)p FA(\))h(and)g(to)h(comply)f(strictly)h(with)g
(the)f(FFI)i(speci\002cation,)f(which)f(requires)g(that)-128
4093 y(FFI)j(calls)f(are)g(not)f(subject)g(to)h(macro)f(e)o(xpansion)e
(and)i(other)g(CPP)i(con)m(v)o(ersions)c(that)j(may)f(be)h(applied)e
(when)h(using)h(C)g(header)f(\002les.)42 b(This)-128
4193 y(approach)21 b(also)i(simpli\002es)g(the)g(inlining)e(of)h
(foreign)f(calls)j(across)e(module)g(and)g(package)f(boundaries:)28
b(there')-5 b(s)22 b(no)g(need)g(for)g(the)h(header)e(\002le)-128
4293 y(to)g(be)f(a)n(v)n(ailable)g(when)f(compiling)g(an)h(inlined)f(v)
o(ersion)g(of)h(a)h(foreign)d(call,)j(so)f(the)g(compiler)f(is)i(free)f
(to)g(inline)g(foreign)f(calls)i(in)f(an)o(y)g(conte)o(xt.)-128
4442 y(The)g Ft(-#include)f FA(option)g(is)i(no)n(w)f(deprecated,)e
(and)i(the)g Ft(include-files)e FA(\002eld)j(in)f(a)h(Cabal)f(package)f
(speci\002cation)g(is)i(ignored.)-128 4576 y
SDict begin H.S end
-128 4576
a -128 4576 a
SDict begin 12 H.A end
-128 4576 a -128 4576 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.8.2.3) cvn H.B /DEST pdfmark end
-128 4576 a Black
148 x Fp(8.2.3)p Black 90 w(Memor)q(y)i(Allocation)-128
4927 y FA(The)f(FFI)h(libraries)f(pro)o(vide)e(se)n(v)o(eral)i(w)o(ays)
h(to)f(allocate)g(memory)f(for)h(use)g(with)h(the)f(FFI,)g(and)g(it)h
(isn')o(t)f(al)o(w)o(ays)h(clear)f(which)g(w)o(ay)g(is)i(the)e(best.)
-128 5027 y(This)27 b(decision)e(may)h(be)g(af)n(fected)f(by)h(ho)n(w)g
(ef)n(\002cient)g(a)g(particular)f(kind)h(of)g(allocation)f(is)i(on)f
(a)h(gi)n(v)o(en)e(compiler/platform,)f(so)i(this)h(section)-128
5127 y(aims)21 b(to)f(shed)g(some)g(light)g(on)g(ho)n(w)g(the)g(dif)n
(ferent)e(kinds)i(of)g(allocation)f(perform)f(with)j(GHC.)p
Black -128 5342 a Fh(alloca)f Fu(and)h(friends)p Black
41 w FA(Useful)26 b(for)f(short-term)f(allocation)h(when)g(the)g
(allocation)g(is)i(intended)d(to)i(scope)f(o)o(v)o(er)f(a)i(gi)n(v)o
(en)f Ft(IO)h FA(computation.)80 5442 y(This)20 b(kind)g(of)g
(allocation)f(is)i(commonly)d(used)i(when)f(marshalling)g(data)h(to)h
(and)e(from)g(FFI)i(functions.)80 5575 y(In)27 b(GHC,)h
Ft(alloca)f FA(is)h(implemented)e(using)h Ft(MutableByteArray#)p
FA(,)f(so)i(allocation)e(and)h(deallocation)f(are)h(f)o(ast:)40
b(much)27 b(f)o(aster)80 5675 y(than)20 b(C')-5 b(s)21
b Ft(malloc/free)p FA(,)e(b)n(ut)h(not)g(quite)g(as)g(f)o(ast)h(as)g
(stack)g(allocation)e(in)h(C.)h(Use)g Ft(alloca)e FA(whene)n(v)o(er)g
(you)g(can.)p Black -128 6084 4252 5 v Black eop end
%%Page: 200 215
TeXDict begin 200 214 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.200) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(200)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fh(mallocForeignPtr)p
Black 39 w FA(Useful)j(for)g(longer)n(-term)e(allocation)i(which)f
(requires)h(garbage)e(collection.)34 b(If)23 b(you)f(intend)h(to)g
(store)h(the)f(pointer)80 273 y(to)d(the)h(memory)d(in)i(a)h(foreign)d
(data)j(structure,)e(then)g Ft(mallocForeignPtr)f FA(is)j
Fq(not)h FA(a)e(good)f(choice,)g(ho)n(we)n(v)o(er)-5
b(.)80 406 y(In)24 b(GHC,)i Ft(mallocForeignPtr)c FA(is)j(also)g
(implemented)e(using)h Ft(MutableByteArray#)p FA(.)35
b(Although)23 b(the)i(memory)e(is)i(pointed)80 505 y(to)20
b(by)g(a)h Ft(ForeignPtr)p FA(,)e(there)g(are)i(no)e(actual)i
(\002nalizers)f(in)m(v)n(olv)o(ed)e(\(unless)i(you)f(add)h(one)g(with)g
Ft(addForeignPtrFinalizer)p FA(\),)80 605 y(and)g(the)g(deallocation)e
(is)k(done)d(using)g(GC,)i(so)g Ft(mallocForeignPtr)d
FA(is)j(normally)d(v)o(ery)h(cheap.)p Black -128 771
a Fh(malloc/free)p Black 40 w FA(If)g(all)i(else)f(f)o(ails,)g(then)g
(you)f(need)g(to)g(resort)h(to)g Ft(Foreign.malloc)d
FA(and)j Ft(Foreign.free)p FA(.)j(These)c(are)h(just)g(wrappers)80
871 y(around)27 b(the)h(C)i(functions)d(of)h(the)h(same)g(name,)g(and)f
(their)h(ef)n(\002cienc)o(y)e(will)i(depend)e(ultimately)h(on)g(the)h
(implementations)d(of)j(these)80 970 y(functions)19 b(in)i(your)e
(platform')-5 b(s)20 b(C)h(library)-5 b(.)25 b(W)-7 b(e)22
b(usually)e(\002nd)g Ft(malloc)g FA(and)g Ft(free)h FA(to)f(be)h
(signi\002cantly)f(slo)n(wer)g(than)g(the)h(other)f(forms)80
1070 y(of)g(allocation)f(abo)o(v)o(e.)p Black -128 1236
a Fh(Foreign.Marshal.Pool)p Black 38 w FA(Pools)d(are)f(currently)e
(implemented)h(using)h Ft(malloc/free)p FA(,)f(so)i(while)f(the)o(y)g
(might)f(be)h(a)h(more)f(con)m(v)o(enient)80 1336 y(w)o(ay)20
b(to)g(structure)f(your)g(memory)f(allocation)h(than)g(using)g(one)h
(of)f(the)h(other)f(forms)g(of)h(allocation,)f(the)o(y)g(w)o(on')o(t)g
(be)h(an)o(y)f(more)g(ef)n(\002cient.)80 1435 y(W)-7
b(e)21 b(do)f(plan)g(to)g(pro)o(vide)e(an)i(impro)o(v)o(ed-performanc)o
(e)15 b(implementation)j(of)i(Pools)g(in)h(the)f(future,)f(ho)n(we)n(v)
o(er)-5 b(.)p Black -128 6084 V Black eop end
%%Page: 201 216
TeXDict begin 201 215 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.201) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(201)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.9) cvn H.B /DEST pdfmark end
-128 90 a 756 x Fy(Chapter)43 b(9)-128
1311 y Fv(What)52 b(to)g(do)e(when)h(something)g(goes)g(wr)l(ong)-128
1717 y
SDict begin H.S end
-128 1717 a -128 1717 a
SDict begin 12 H.A end
-128 1717 a -128 1717
a
SDict begin [ /View [/XYZ H.V] /Dest (wrong) cvn H.B /DEST pdfmark end
-128 1717 a 115 x FA(If)24 b(you)g(still)h(ha)n(v)o(e)e(a)i(problem)d
(after)i(consulting)f(this)h(section,)h(then)e(you)h(may)f(ha)n(v)o(e)h
(found)e(a)j Fq(b)n(ug)p FA(\227please)e(report)g(it!)37
b(See)24 b(Section)p 1 0 0 TeXcolorrgb 3899 1833 a
SDict begin H.S end
3899
1833 a 1 0 0 TeXcolorrgb -1 x FA(1.3)p 1 0 0 TeXcolorrgb
4003 1776 a
SDict begin H.R end
4003 1776 a 4003 1832 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.1.3) cvn H.B /ANN pdfmark end
4003 1832 a Black
25 w FA(for)-128 1931 y(details)h(on)f(ho)n(w)g(to)g(report)f(a)i(b)n
(ug)f(and)f(a)i(list)h(of)e(things)f(we')l(d)h(lik)o(e)h(to)f(kno)n(w)f
(about)h(your)f(b)n(ug.)36 b(If)25 b(in)f(doubt,)g(send)g(a)h
(report\227we)d(lo)o(v)o(e)i(mail)-128 2031 y(from)c(irate)g(users)g
(:-!)-128 2181 y(\(Section)p 1 0 0 TeXcolorrgb 170 2182
a
SDict begin H.S end
170 2182 a 1 0 0 TeXcolorrgb -1 x FA(12.1)p 1 0 0 TeXcolorrgb
315 2124 a
SDict begin H.R end
315 2124 a 315 2181 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.12.1) cvn H.B /ANN pdfmark end
315 2181 a Black FA(,)h(which)e
(describes)h(Glasgo)n(w)g(Hask)o(ell')-5 b(s)21 b(shortcomings)d(vs.)i
(the)g(Hask)o(ell)h(language)d(de\002nition,)h(may)h(also)h(be)f(of)g
(interest.\))-128 2324 y
SDict begin H.S end
-128 2324 a -128 2324 a
SDict begin 12 H.A end
-128
2324 a -128 2324 a
SDict begin [ /View [/XYZ H.V] /Dest (section.9.1) cvn H.B /DEST pdfmark end
-128 2324 a Black 181 x Fs(9.1)p Black
108 w(When)28 b(the)i(compiler)e(\223does)h(the)g(wr)n(ong)g(thing\224)
-128 2632 y
SDict begin H.S end
-128 2632 a -128 2632 a
SDict begin 12 H.A end
-128 2632 a -128
2632 a
SDict begin [ /View [/XYZ H.V] /Dest (wrong-compiler) cvn H.B /DEST pdfmark end
-128 2632 a Black 182 x Fu(\223Help!)c(The)c(compiler)g(crashed)
f(\(or)g(`panic')n(d\)!\224)p Black 40 w FA(These)g(e)n(v)o(ents)f(are)
h Fq(always)h FA(b)n(ugs)f(in)g(the)g(GHC)h(system\227please)f(report)f
(them.)p Black -128 2980 a Fu(\223This)j(is)f(a)f(terrible)g(err)o(or)f
(message.)-5 b(\224)p Black 41 w FA(If)18 b(you)g(think)f(that)h(GHC)h
(could)f(ha)n(v)o(e)f(produced)f(a)j(better)f(error)f(message,)h
(please)g(report)f(it)i(as)g(a)g(b)n(ug.)p Black -128
3146 a Fu(\223What)h(about)g(this)h(war)o(ning)e(fr)o(om)h(the)g(C)h
(compiler?\224)p Black 40 w FA(F)o(or)g(e)o(xample:)k(\223.)12
b(.)g(.)g(w)o(arning:)26 b(`F)o(oo')20 b(declared)f(`static')i(b)n(ut)g
(ne)n(v)o(er)f(de\002ned.)-6 b(\224)19 b(Un-)80 3245
y(sightly)-5 b(,)19 b(b)n(ut)h(shouldn')o(t)e(be)i(a)h(problem.)p
Black -128 3411 a Fu(Sensiti)o(vity)f(to)g Fh(.hi)h Fu(interface)e
(\002les:)p Black 41 w FA(GHC)35 b(is)g(v)o(ery)f(sensiti)n(v)o(e)g
(about)f(interf)o(ace)g(\002les.)68 b(F)o(or)34 b(e)o(xample,)i(if)f
(it)f(picks)h(up)e(a)i(non-standard)80 3511 y Ft(Prelude.hi)16
b FA(\002le,)j(pretty)e(terrible)g(things)g(will)i(happen.)j(If)c(you)f
(turn)g(on)g Ft(-XNoImplicitPrelude)p FA(,)e(the)j(compiler)f(will)h
(almost)80 3611 y(surely)i(die,)g(unless)g(you)f(kno)n(w)g(what)i(you)e
(are)h(doing.)80 3743 y(Furthermore,)e(as)i(sk)o(etched)g(belo)n(w)-5
b(,)19 b(you)g(may)h(ha)n(v)o(e)f(big)h(problems)f(running)f(programs)g
(compiled)h(using)h(unstable)f(interf)o(aces.)p Black
-128 3909 a Fu(\223I)i(think)g(GHC)f(is)h(pr)o(oducing)f(incorr)o(ect)f
(code\224:)p Black 40 w FA(Unlik)o(ely)g(:-\))h(A)h(useful)f
(be-more-paranoid)15 b(option)k(to)h(gi)n(v)o(e)g(to)g(GHC)h(is)g
Ft(-dcore-li-)80 4009 y(nt)p FA(;)g(this)h(causes)f(a)g(\223lint\224)g
(pass)g(to)g(check)f(for)g(errors)g(\(notably)f(type)i(errors\))e
(after)i(each)f(Core-to-Core)f(transformation)f(pass.)28
b(W)-7 b(e)22 b(run)80 4109 y(with)e Ft(-dcore-lint)f
FA(on)h(all)h(the)f(time;)g(it)h(costs)g(about)e(5\045)i(in)f(compile)f
(time.)p Black -128 4275 a Fu(\223Wh)o(y)h(did)h(I)g(get)f(a)g(link)i
(err)o(or?\224)p Black 39 w FA(If)f(the)g(link)o(er)g(complains)g
(about)f(not)h(\002nding)f Ft(__fast)p FA(,)f(then)i
(something)f(is)j(inconsis-)80 4374 y(tent:)i(you)20
b(probably)e(didn')o(t)g(compile)h(modules)g(in)i(the)f(proper)e
(dependenc)o(y)g(order)-5 b(.)p Black -128 4540 a Fu(\223Is)21
b(this)g(line)g(number)g(right?\224)p Black 40 w FA(On)g(this)h(score,)
g(GHC)g(usually)f(does)g(pretty)f(well,)i(especially)f(if)h(you)e
(\223allo)n(w\224)h(it)i(to)e(be)g(of)n(f)g(by)g(one)g(or)g(tw)o(o.)80
4640 y(In)27 b(the)g(case)g(of)g(an)g(instance)f(or)h(class)h
(declaration,)f(the)g(line)g(number)e(may)h(only)g(point)h(you)f(to)h
(the)g(declaration,)g(not)f(to)h(a)h(speci\002c)80 4740
y(method.)80 4873 y(Please)21 b(report)e(line-number)e(errors)j(that)g
(you)f(\002nd)h(particularly)f(unhelpful.)-128 5016 y
SDict begin H.S end
-128 5016 a -128 5016 a
SDict begin 12 H.A end
-128 5016 a -128 5016 a
SDict begin [ /View [/XYZ H.V] /Dest (section.9.2) cvn H.B /DEST pdfmark end
-128
5016 a Black 181 x Fs(9.2)p Black 108 w(When)28 b(y)m(our)i(pr)n(ogram)
e(\223does)h(the)g(wr)n(ong)g(thing\224)-128 5324 y
SDict begin H.S end
-128
5324 a -128 5324 a
SDict begin 12 H.A end
-128 5324 a -128 5324 a
SDict begin [ /View [/XYZ H.V] /Dest (wrong-compilee) cvn H.B /DEST pdfmark end
-128 5324
a 114 x FA(\(F)o(or)20 b(advice)f(about)h(o)o(v)o(erly)e(slo)n(w)i(or)g
(memory-hungry)c(Hask)o(ell)k(programs,)e(please)j(see)f(Chapter)p
1 0 0 TeXcolorrgb 2801 5439 a
SDict begin H.S end
2801 5439 a 1 0 0 TeXcolorrgb
-1 x FA(6)p 1 0 0 TeXcolorrgb 2842 5382 a
SDict begin H.R end
2842 5382 a
2842 5438 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.6) cvn H.B /ANN pdfmark end
2842 5438 a Black FA(\).)p Black -128 6084
4252 5 v Black eop end
%%Page: 202 217
TeXDict begin 202 216 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.202) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(202)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fu(\223Help!)25
b(My)c(pr)o(ogram)d(crashed!\224)p Black 41 w FA(\(e.g.,)h(a)i(`se)o
(gmentation)c(f)o(ault')j(or)g(`core)f(dumped'\))80 306
y(If)j(your)g(program)e(has)i(no)h(foreign)d(calls)k(in)e(it,)i(and)e
(no)g(calls)h(to)f(kno)n(wn-unsafe)e(functions)h(\(such)h(as)h
Ft(unsafePerformIO)p FA(\))d(then)i(a)80 406 y(crash)f(is)h(al)o(w)o
(ays)g(a)g(B)o(UG)g(in)f(the)h(GHC)g(system,)f(e)o(xcept)f(in)i(one)f
(case:)27 b(If)22 b(your)e(program)f(is)j(made)f(of)g(se)n(v)o(eral)f
(modules,)g(each)h(module)80 505 y(must)k(ha)n(v)o(e)g(been)g(compiled)
f(after)h(an)o(y)f(modules)h(on)g(which)f(it)j(depends)d(\(unless)h
(you)f(use)i Ft(.hi-)t(boot)e FA(\002les,)k(in)d(which)g(case)h(these)
80 605 y Fq(must)c FA(be)e(correct)f(with)i(respect)f(to)g(the)g
(module)f(source\).)80 738 y(F)o(or)24 b(e)o(xample,)g(if)h(an)g
(interf)o(ace)e(is)j(lying)e(about)f(the)i(type)f(of)g(an)h(imported)e
(v)n(alue)h(then)g(GHC)h(may)f(well)h(generate)f(duf)n(f)f(code)h(for)g
(the)80 837 y(importing)17 b(module.)24 b Fq(This)19
b(applies)g(to)g(pr)o(a)o(gmas)g(inside)g(interfaces)g(too!)24
b FA(If)19 b(the)h(pragma)d(is)k(lying)d(\(e.g.,)g(about)h(the)g
(\223arity\224)g(of)g(a)g(v)n(alue\),)80 937 y(then)h(duf)n(f)f(code)g
(may)h(result.)25 b(Furthermore,)17 b(arities)k(may)f(change)f(e)n(v)o
(en)g(if)h(types)g(do)g(not.)80 1070 y(In)27 b(short,)h(if)g(you)e
(compile)g(a)i(module)e(and)g(its)i(interf)o(ace)f(changes,)g(then)g
(all)h(the)f(modules)f(that)h(import)g(that)g(interf)o(ace)f
Fq(must)j FA(be)e(re-)80 1169 y(compiled.)80 1302 y(A)c(useful)f
(option)f(to)h(alert)g(you)g(when)f(interf)o(aces)h(change)f(is)i
Ft(-hi-diffs)p FA(.)31 b(It)22 b(will)h(run)f Fu(diff)g
FA(on)g(the)g(changed)f(interf)o(ace)g(\002le,)i(before)80
1402 y(and)d(after)m(,)f(when)g(applicable.)80 1535 y(If)e(you)g(are)g
(using)g Fu(mak)o(e)p FA(,)i(GHC)f(can)f(automatically)f(generate)h
(the)g(dependencies)f(required)f(in)j(order)e(to)i(mak)o(e)f(sure)h
(that)f(e)n(v)o(ery)f(module)80 1634 y Fq(is)21 b FA(up-to-date)d(with)
i(respect)g(to)h(its)g(imported)d(interf)o(aces.)25 b(Please)c(see)f
(Section)p 1 0 0 TeXcolorrgb 2445 1635 a
SDict begin H.S end
2445 1635 a
1 0 0 TeXcolorrgb -1 x FA(4.6.11)p 1 0 0 TeXcolorrgb
2653 1578 a
SDict begin H.R end
2653 1578 a 2653 1634 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.11) cvn H.B /ANN pdfmark end
2653 1634 a Black
FA(.)80 1767 y(If)25 b(you)g(are)g(do)n(wn)f(to)i(your)e
(last-compile-before-a-b)n(ug-re)o(po)o(rt,)d(we)26 b(w)o(ould)f
(recommend)e(that)i(you)g(add)f(a)i Ft(-dcore-lint)e
FA(option)80 1867 y(\(for)19 b(e)o(xtra)h(checking\))e(to)i(your)f
(compilation)f(options.)80 2000 y(So,)i(before)f(you)g(report)g(a)i(b)n
(ug)f(because)f(of)h(a)h(core)e(dump,)g(you)g(should)g(probably:)-128
2067 y
SDict begin H.S end
-128 2067 a -128 2067 a
SDict begin 12 H.A end
-128 2067 a -128 2067
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.9.-578) cvn H.B /DEST pdfmark end
-128 2067 a 0.95 TeXcolorgray 55 2083 4095 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray 55 2174 25 92 v Black 0.95 TeXcolorgray
80 2174 4045 92 v Black 0.95 TeXcolorgray 4124 2174 25
92 v Black 0.95 TeXcolorgray Black 80 2147 a
SDict begin H.S end
80 2147
a 80 2147 a
SDict begin 11 H.A end
80 2147 a 80 2147 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-578.1) cvn H.B /DEST pdfmark end
80 2147 a Fo(\045)p 0 0 0
TeXcolorrgb 45 w(rm)p Black 304 2160 a(*)349 2147 y(.)p
0 0 0 TeXcolorrgb(o)p Black 358 w(#)p 0 0 0 TeXcolorrgb
45 w(scrub)p Black 0 0 0 TeXcolorrgb 44 w(your)p Black
0 0 0 TeXcolorrgb 44 w(object)p Black 0 0 0 TeXcolorrgb
44 w(files)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
55 2265 25 92 v Black 0.95 TeXcolorgray 80 2265 4045
92 v Black 0.95 TeXcolorgray 4124 2265 25 92 v Black
0.95 TeXcolorgray Black 80 2238 a
SDict begin H.S end
80 2238 a 80 2238 a
SDict begin 11 H.A end
80 2238 a 80 2238 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-578.2) cvn H.B /DEST pdfmark end
80 2238 a Fo(\045)p 0 0 0 TeXcolorrgb
45 w(make)p Black 0 0 0 TeXcolorrgb 44 w(my_prog)p Black
88 w(#)p 0 0 0 TeXcolorrgb 45 w(re)p Black(-)p 0 0 0
TeXcolorrgb -1 w(make)p Black 0 0 0 TeXcolorrgb 45 w(your)p
Black 0 0 0 TeXcolorrgb 44 w(program)p Black -1 w(;)p
0 0 0 TeXcolorrgb 44 w(use)p Black 45 w(-)p 0 0 0 TeXcolorrgb
-1 w(hi)p Black(-)p 0 0 0 TeXcolorrgb(diffs)p Black 0 0 0
TeXcolorrgb 44 w(to)p Black 0 0 0 TeXcolorrgb 44 w(highlight)p
Black 0 0 0 TeXcolorrgb 44 w(changes)p Black -1 w(;)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 2357 25
92 v Black 0.95 TeXcolorgray 80 2357 4045 92 v Black
0.95 TeXcolorgray 4124 2357 25 92 v Black 0.95 TeXcolorgray
Black 80 2329 a
SDict begin H.S end
80 2329 a 80 2329 a
SDict begin 11 H.A end
80 2329 a 80 2329
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-578.3) cvn H.B /DEST pdfmark end
80 2329 a 717 w Fo(#)p 0 0 0 TeXcolorrgb 45 w(as)p
Black 0 0 0 TeXcolorrgb 44 w(mentioned)p Black 0 0 0
TeXcolorrgb 44 w(above)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(use)p Black 44 w(-)p 0 0 0 TeXcolorrgb(dcore)p Black
-1 w(-)p 0 0 0 TeXcolorrgb(lint)p Black 0 0 0 TeXcolorrgb
44 w(to)p Black 0 0 0 TeXcolorrgb 44 w(be)p Black 0 0 0
TeXcolorrgb 45 w(more)p Black 0 0 0 TeXcolorrgb 44 w(paranoid)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 2448
25 92 v Black 0.95 TeXcolorgray 80 2448 4045 92 v Black
0.95 TeXcolorgray 4124 2448 25 92 v Black 0.95 TeXcolorgray
Black 80 2421 a
SDict begin H.S end
80 2421 a 80 2421 a
SDict begin 11 H.A end
80 2421 a 80 2421
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-578.4) cvn H.B /DEST pdfmark end
80 2421 a Fo(\045)45 b(./)p 0 0 0 TeXcolorrgb -1 w(my_prog)p
Black 44 w(...)f(#)p 0 0 0 TeXcolorrgb 45 w(retry)p Black
-1 w(...)p 0.95 TeXcolorgray 55 2473 4095 25 v Black
0.95 TeXcolorgray Black Black Black 80 2631 a FA(Of)26
b(course,)h(if)f(you)f(ha)n(v)o(e)h(foreign)e(calls)j(in)f(your)f
(program)f(then)i(all)g(bets)h(are)f(of)n(f,)g(because)g(you)f(can)h
(trash)g(the)g(heap,)h(the)f(stack,)h(or)80 2730 y(whate)n(v)o(er)-5
b(.)p Black -128 2896 a Fu(\223My)21 b(pr)o(ogram)d(enter)o(ed)i(an)h
(`absent')e(ar)o(gument.)-5 b(\224)p Black 40 w FA(This)21
b(is)g(de\002nitely)e(caused)h(by)g(a)g(b)n(ug)g(in)g(GHC.)h(Please)g
(report)e(it)i(\(see)f(Section)p 1 0 0 TeXcolorrgb 3909
2897 a
SDict begin H.S end
3909 2897 a 1 0 0 TeXcolorrgb -1 x FA(1.3)p 1 0 0
TeXcolorrgb 4013 2840 a
SDict begin H.R end
4013 2840 a 4013 2896 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.1.3) cvn H.B /ANN pdfmark end
4013
2896 a Black FA(\).)p Black -128 3062 a Fu(\223What')m(s)g(with)g(this)
h(`arithmetic)f(\(or)f(`\003oating'\))g(exception')g(\224?)p
Black 40 w Ft(Int)p FA(,)27 b Ft(Float)p FA(,)f(and)f
Ft(Double)g FA(arithmetic)g(is)h Fq(unc)o(hec)n(k)o(ed)p
FA(.)39 b(Ov)o(er\003o)n(ws,)80 3162 y(under\003o)n(ws)23
b(and)i(loss)g(of)g(precision)f(are)g(either)h(silent)g(or)g(reported)e
(as)i(an)g(e)o(xception)e(by)i(the)g(operating)e(system)i(\(depending)d
(on)i(the)80 3262 y(platform\).)f(Di)n(vide-by-zero)17
b Fq(may)j FA(cause)g(an)g(untrapped)e(e)o(xception)g(\(please)i
(report)f(it)i(if)g(it)g(does\).)p Black -128 6084 4252
5 v Black eop end
%%Page: 203 218
TeXDict begin 203 217 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.203) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(203)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.10) cvn H.B /DEST pdfmark end
-128 90 a 754 x Fy(Chapter)43 b(10)-128
1308 y Fv(Other)52 b(Haskell)h(utility)d(pr)l(ograms)-128
1715 y
SDict begin H.S end
-128 1715 a -128 1715 a
SDict begin 12 H.A end
-128 1715 a -128 1715
a
SDict begin [ /View [/XYZ H.V] /Dest (utils) cvn H.B /DEST pdfmark end
-128 1715 a 113 x FA(This)21 b(section)f(describes)f(other)h
(program\(s\))d(which)j(we)h(distrib)n(ute,)e(that)h(help)g(with)h(the)
f(Great)g(Hask)o(ell)g(Programming)e(T)-7 b(ask.)-128
1970 y
SDict begin H.S end
-128 1970 a -128 1970 a
SDict begin 12 H.A end
-128 1970 a -128 1970
a
SDict begin [ /View [/XYZ H.V] /Dest (section.10.1) cvn H.B /DEST pdfmark end
-128 1970 a Black 180 x Fs(10.1)p Black 107 w(Cta)o(gs)29
b(and)g(Eta)o(gs)g(f)n(or)g(Haskell:)36 b(haskta)o(gs)-128
2277 y
SDict begin H.S end
-128 2277 a -128 2277 a
SDict begin 12 H.A end
-128 2277 a -128 2277
a
SDict begin [ /View [/XYZ H.V] /Dest (hasktags) cvn H.B /DEST pdfmark end
-128 2277 a 114 x Fu(hasktags)20 b FA(is)h(a)g(v)o(ery)e(simple)h
(Hask)o(ell)h(program)d(that)i(produces)f(ctags)h("tags")g(and)g(etags)
g("T)-8 b(A)m(GS")20 b(\002les)i(for)d(Hask)o(ell)i(programs.)-128
2539 y(When)e(loaded)e(into)h(an)h(editor)e(such)i(an)f(NEdit,)h(V)-5
b(im,)18 b(or)g(Emacs,)h(this)g(allo)n(ws)g(one)f(to)g(easily)h(na)n
(vigate)e(around)g(a)i(multi-\002le)f(program,)e(\002nding)-128
2639 y(de\002nitions)k(of)g(functions,)e(types,)i(and)g(constructors.)
-128 2787 y(In)m(v)n(ocation)e(Syntax:)-128 2854 y
SDict begin H.S end
-128
2854 a -128 2854 a
SDict begin 12 H.A end
-128 2854 a -128 2854 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.10.-579) cvn H.B /DEST pdfmark end
-128 2854
a 0.95 TeXcolorgray -153 2869 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2960 25 92 v Black 0.95 TeXcolorgray -128 2960 4252 92
v Black 0.95 TeXcolorgray 4124 2960 25 92 v Black 0.95
TeXcolorgray Black -128 2933 a
SDict begin H.S end
-128 2933 a -128 2933
a
SDict begin 11 H.A end
-128 2933 a -128 2933 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-579.1) cvn H.B /DEST pdfmark end
-128 2933 a 0 0 0 TeXcolorrgb
Fo(hasktags)p Black 0 0 0 TeXcolorrgb 44 w(files)p Black
0.95 TeXcolorgray -153 2985 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 3157 a FA(This)j(will)g(read)e(all)i(the)f
(\002les)i(listed)e(in)h Ft(files)e FA(and)h(produce)e(a)j(ctags)f
("tags")g(\002le)h(and)f(an)g(etags)g("T)-8 b(A)m(GS")21
b(\002le)f(in)h(the)f(current)f(directory)-5 b(.)-128
3305 y(Example)19 b(usage)-128 3371 y
SDict begin H.S end
-128 3371 a -128
3371 a
SDict begin 12 H.A end
-128 3371 a -128 3371 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.10.-580) cvn H.B /DEST pdfmark end
-128 3371 a 0.95 TeXcolorgray
-153 3387 4302 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 3478 25 92
v Black 0.95 TeXcolorgray -128 3478 4252 92 v Black 0.95
TeXcolorgray 4124 3478 25 92 v Black 0.95 TeXcolorgray
Black -128 3451 a
SDict begin H.S end
-128 3451 a -128 3451 a
SDict begin 11 H.A end
-128 3451 a
-128 3451 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-580.1) cvn H.B /DEST pdfmark end
-128 3451 a 0 0 0 TeXcolorrgb Fo(find)p Black
45 w(-)p 0 0 0 TeXcolorrgb -1 w(name)p Black 45 w(\\)411
3464 y(*)456 3451 y(.\\)546 3464 y(*)p 0 0 0 TeXcolorrgb
590 3451 a(hs)p Black 44 w(|)p 0 0 0 TeXcolorrgb 45 w(xargs)p
Black 0 0 0 TeXcolorrgb 44 w(hasktags)p Black 0.95 TeXcolorgray
-153 3503 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 3675 a FA(This)e(will)g(\002nd)f(all)h(hask)o(ell)g(source)f
(\002les)h(in)f(the)h(current)e(directory)g(and)h(belo)n(w)-5
b(,)16 b(and)f(create)i(tags)f(\002les)i(inde)o(xing)c(them)i(in)h(the)
f(current)f(directory)-5 b(.)-128 3823 y Fu(hasktags)28
b FA(is)h(a)g(simple)f(program)e(that)i(uses)h(simple)f(parsing)f
(rules)h(to)h(\002nd)f(de\002nitions)f(of)h(functions,)g(constructors,)
h(and)e(types.)49 b(It)28 b(isn')o(t)-128 3922 y(guaranteed)g(to)i
(\002nd)f(e)n(v)o(erything,)g(and)g(will)i(sometimes)e(create)g(f)o
(alse)i(inde)o(x)d(entries,)k(b)n(ut)d(it)i(usually)e(gets)h(the)f(job)
h(done)e(f)o(airly)h(well.)54 b(In)-128 4022 y(particular)m(,)19
b(at)h(present,)g(functions)e(are)j(only)e(inde)o(x)o(ed)f(if)j(a)f
(type)g(signature)f(is)i(gi)n(v)o(en)e(for)h(them.)-128
4170 y(Before)26 b(hasktags,)g(there)f(used)h(to)g(be)f
Fu(fptags)g FA(and)h Fu(hstags)p FA(,)h(which)e(did)g(essentially)h
(the)g(same)g(job,)g(ho)n(we)n(v)o(er)e(neither)h(of)g(these)h(seem)g
(to)g(be)-128 4270 y(maintained)19 b(an)o(y)h(more.)-128
4403 y
SDict begin H.S end
-128 4403 a -128 4403 a
SDict begin 12 H.A end
-128 4403 a -128 4403
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.10.1.1) cvn H.B /DEST pdfmark end
-128 4403 a Black 147 x Fp(10.1.1)p Black 89 w(Using)k(ta)o(gs)h
(with)f(y)n(our)g(editor)-128 4752 y FA(W)m(ith)d(NEdit,)f(load)f(the)i
("tags")f(\002le)h(using)e("File/Load)h(T)-7 b(ags)20
b(File".)26 b(Use)21 b("Ctrl-D")f(to)g(search)g(for)g(a)g(tag.)-128
4900 y(W)m(ith)h(XEmacs,)f(load)f(the)i("T)-8 b(A)m(GS")20
b(\002le)h(using)e("visit-tags-table".)24 b(Use)d("M-.")f(to)g(search)g
(for)f(a)i(tag.)-128 5042 y
SDict begin H.S end
-128 5042 a -128 5042 a
SDict begin 12 H.A end
-128
5042 a -128 5042 a
SDict begin [ /View [/XYZ H.V] /Dest (section.10.2) cvn H.B /DEST pdfmark end
-128 5042 a Black 180 x Fs(10.2)p
Black 107 w(\223Y)-10 b(acc)30 b(f)n(or)f(Haskell\224:)35
b(happ)n(y)-128 5349 y
SDict begin H.S end
-128 5349 a -128 5349 a
SDict begin 12 H.A end
-128 5349
a -128 5349 a
SDict begin [ /View [/XYZ H.V] /Dest (happy) cvn H.B /DEST pdfmark end
-128 5349 a 114 x FA(Andy)19 b(Gill)h(and)f(Simon)f
(Marlo)n(w)h(ha)n(v)o(e)g(written)g(a)h(parser)n(-generator)c(for)j
(Hask)o(ell,)g(called)g Fu(happy)p FA(.)25 b Fu(Happy)19
b FA(is)h(to)g(Hask)o(ell)f(what)h Fu(Y)-7 b(acc)19 b
FA(is)h(to)f(C.)-128 5611 y(Y)-9 b(ou)20 b(can)g(get)g
Fu(happy)g FA(from)p 0 1 0 0 TeXcolorcmyk 710 5629 a
SDict begin H.S end
710 5629 a 0 1 0 0 TeXcolorcmyk -18 x FA(the)g(Happ)o(y)f(Homepage)p
0 1 0 0 TeXcolorcmyk 1433 5555 a
SDict begin H.R end
1433 5555 a 1433 5611
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.haskell.org/happy/) >> /Subtype /Link H.B /ANN pdfmark end
1433 5611 a Black FA(.)-128 5759 y Fu(Happy)h FA(is)h(at)g(its)g
(shining)e(best)i(when)e(compiled)g(by)h(GHC.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 204 219
TeXDict begin 204 218 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.204) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(204)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (section.10.3) cvn H.B /DEST pdfmark end
-128 90 a Black 105 x Fs(10.3)p
Black 107 w(Writing)29 b(Haskell)g(interfaces)f(to)h(C)h(code:)36
b(hsc2hs)-128 322 y
SDict begin H.S end
-128 322 a -128 322 a
SDict begin 12 H.A end
-128 322 a
-128 322 a
SDict begin [ /View [/XYZ H.V] /Dest (hsc2hs) cvn H.B /DEST pdfmark end
-128 322 a 115 x FA(The)28 b Fu(hsc2hs)g FA(command)e(can)h
(be)h(used)f(to)h(automate)e(some)i(parts)f(of)h(the)f(process)g(of)h
(writing)f(Hask)o(ell)h(bindings)e(to)i(C)g(code.)47
b(It)28 b(reads)f(an)-128 537 y(almost-Hask)o(ell)c(source)f(with)i
(embedded)c(special)k(constructs,)e(and)h(outputs)f(a)i(real)f(Hask)o
(ell)g(\002le)h(with)f(these)h(constructs)e(processed,)g(based)-128
636 y(on)e(information)e(tak)o(en)i(from)f(some)h(C)h(headers.)j(The)c
(e)o(xtra)f(constructs)h(deal)g(with)g(accessing)g(C)h(data)f(from)f
(Hask)o(ell.)-128 786 y(It)g(may)g(also)g(output)e(a)j(C)f(\002le)h
(which)e(contains)g(additional)f(C)j(functions)d(to)i(be)g(link)o(ed)f
(into)h(the)f(program,)f(together)g(with)i(a)h(C)f(header)f(that)h
(gets)-128 885 y(included)k(into)h(the)g(C)h(code)e(to)i(which)e(the)h
(Hask)o(ell)h(module)e(will)i(be)f(compiled)e(\(when)h(compiled)g(via)h
(C\))h(and)e(into)h(the)g(C)h(\002le.)38 b(These)24 b(tw)o(o)-128
985 y(\002les)e(are)e(created)f(when)h(the)g Ft(#def)g
FA(construct)f(is)i(used)f(\(see)h(belo)n(w\).)-128 1135
y(Actually)k Fu(hsc2hs)i FA(does)e(not)g(output)g(the)g(Hask)o(ell)h
(\002le)h(directly)-5 b(.)39 b(It)26 b(creates)g(a)g(C)g(program)e
(that)h(includes)g(the)h(headers,)g(gets)f(automatically)-128
1234 y(compiled)19 b(and)h(run.)k(That)c(program)e(outputs)h(the)h
(Hask)o(ell)h(code.)-128 1384 y(In)i(the)g(follo)n(wing,)f(\223Hask)o
(ell)h(\002le\224)h(is)g(the)e(main)h(output)f(\(usually)g(a)h
Ft(.hs)g FA(\002le\),)h(\223compiled)d(Hask)o(ell)j(\002le\224)f(is)h
(the)f(Hask)o(ell)g(\002le)h(after)f Fu(ghc)g FA(has)-128
1483 y(compiled)c(it)i(to)f(C)h(\(i.e.)k(a)c Ft(.hc)f
FA(\002le\),)g(\223C)h(program\224)d(is)j(the)f(program)e(that)i
(outputs)f(the)h(Hask)o(ell)h(\002le,)f(\223C)h(\002le\224)g(is)g(the)f
(optionally)f(generated)f(C)-128 1583 y(\002le,)j(and)f(\223C)h
(header\224)e(is)i(its)g(header)e(\002le.)-128 1711 y
SDict begin H.S end
-128 1711 a -128 1711 a
SDict begin 12 H.A end
-128 1711 a -128 1711 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.10.3.1) cvn H.B /DEST pdfmark end
-128
1711 a Black 154 x Fp(10.3.1)p Black 89 w(command)24
b(line)g(syntax)-128 2068 y Fu(hsc2hs)d FA(tak)o(es)g(input)e(\002les)j
(as)f(ar)o(guments,)c(and)j(\003ags)h(that)f(modify)f(its)i(beha)n
(vior:)p Black -128 2284 a Fh(-o)50 b(FILE)20 b Fu(or)g
Fh(--output=FILE)p Black 39 w FA(Name)g(of)g(the)g(Hask)o(ell)h
(\002le.)p Black -128 2450 a Fh(-t)50 b(FILE)20 b Fu(or)g
Fh(--template=FILE)p Black 39 w FA(The)g(template)f(\002le)i(\(see)g
(belo)n(w\).)p Black -128 2616 a Fh(-c)50 b(PROG)20 b
Fu(or)g Fh(--cc=PROG)p Black 40 w FA(The)g(C)h(compiler)e(to)h(use)g
(\(def)o(ault:)25 b Fu(ghc)p FA(\))p Black -128 2782
a Fh(-l)50 b(PROG)20 b Fu(or)g Fh(--ld=PROG)p Black 40
w FA(The)g(link)o(er)f(to)i(use)f(\(def)o(ault:)k Fu(gcc)p
FA(\).)p Black -128 2948 a Fh(-C)50 b(FLAG)20 b Fu(or)g
Fh(--cflag=FLAG)p Black 39 w FA(An)g(e)o(xtra)g(\003ag)g(to)h(pass)f
(to)h(the)f(C)h(compiler)-5 b(.)p Black -128 3114 a Fh(-I)50
b(DIR)p Black 41 w FA(P)o(assed)20 b(to)h(the)f(C)h(compiler)-5
b(.)p Black -128 3280 a Fh(-L)50 b(FLAG)20 b Fu(or)g
Fh(--lflag=FLAG)p Black 39 w FA(An)g(e)o(xtra)g(\003ag)g(to)h(pass)f
(to)h(the)f(link)o(er)-5 b(.)p Black -128 3446 a Fh(-i)50
b(FILE)20 b Fu(or)g Fh(--include=FILE)p Black 39 w FA(As)h(if)f(the)h
(appropriate)c Ft(#include)j FA(directi)n(v)o(e)f(w)o(as)i(placed)e(in)
h(the)h(source.)p Black -128 3612 a Fh(-D)50 b(NAME[=VALUE])18
b Fu(or)j Fh(--define=NAME[=VALUE])p Black 37 w FA(As)g(if)g(the)f
(appropriate)e Ft(#define)h FA(directi)n(v)o(e)g(w)o(as)i(placed)e(in)i
(the)f(source.)p Black -128 3778 a Fh(--no-compile)p
Black 40 w FA(Stop)k(after)g(writing)g(out)g(the)h(intermediate)e(C)i
(program)e(to)i(disk.)37 b(The)25 b(\002le)g(name)f(for)g(the)g
(intermediate)f(C)j(program)c(is)80 3878 y(the)e(input)g(\002le)h(name)
e(with)h Ft(.hsc)g FA(replaced)f(with)i Ft(_hsc_make.c)p
FA(.)p Black -128 4044 a Fh(-?)26 b Fu(or)20 b Fh(--help)p
Black 40 w FA(Display)g(a)h(summary)e(of)h(the)g(a)n(v)n(ailable)g
(\003ags)g(and)g(e)o(xit)g(successfully)-5 b(.)p Black
-128 4210 a Fh(-V)21 b Fu(or)f Fh(--version)p Black 40
w FA(Output)f(v)o(ersion)g(information)f(and)i(e)o(xit)g(successfully)
-5 b(.)-128 4426 y(The)28 b(input)e(\002le)i(should)f(end)g(with)g
(.hsc)h(\(it)g(should)e(be)h(plain)g(Hask)o(ell)h(source)f(only;)j
(literate)e(Hask)o(ell)g(is)g(not)f(supported)e(at)j(the)g(moment\).)
-128 4526 y(Output)20 b(\002les)h(by)f(def)o(ault)f(get)h(names)g(with)
h(the)f Ft(.hsc)g FA(suf)n(\002x)g(replaced:)p -83 4646
4163 4 v -83 4646 V -83 4747 4 101 v -30 4716 a Ft(.hs)p
1997 4747 V 1930 w FA(Hask)o(ell)g(\002le)p 4076 4747
V -83 4750 2083 4 v 2000 4750 2080 4 v -83 4847 4 101
v -30 4817 a Ft(_hsc.h)p 1997 4847 V 2050 4816 a FA(C)h(header)p
4076 4847 V -83 4851 2083 4 v 2000 4851 2080 4 v -83
4948 4 101 v -30 4917 a Ft(_hsc.c)p 1997 4948 V 1780
w FA(C)g(\002le)p 4076 4948 V -83 4951 4163 4 v -83 4951
V -128 5182 a(The)28 b(C)h(program)c(is)k(compiled)e(using)g(the)h
(Hask)o(ell)g(compiler)-5 b(.)47 b(This)28 b(pro)o(vides)e(the)i
(include)f(path)g(to)h Ft(HsFFI.h)f FA(which)h(is)g(automatically)-128
5282 y(included)19 b(into)h(the)g(C)h(program.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 205 220
TeXDict begin 205 219 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.205) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(205)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.10.3.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(10.3.2)p
Black 89 w(Input)k(syntax)-128 375 y FA(All)d(special)e(processing)g
(is)h(triggered)e(by)h(the)h Ft(#)g FA(operator)-5 b(.)23
b(T)-7 b(o)20 b(output)e(a)i(literal)g Ft(#)p FA(,)g(write)g(it)g
(twice:)26 b Ft(##)p FA(.)f(Inside)19 b(string)g(literals)h(and)f
(comments)-128 475 y Ft(#)i FA(characters)e(are)h(not)g(processed.)-128
623 y(A)i Ft(#)g FA(is)g(follo)n(wed)e(by)h(optional)f(spaces)i(and)f
(tabs,)g(an)h(alphanumeric)c(k)o(e)o(yw)o(ord)i(that)h(describes)g(the)
h(kind)e(of)h(processing,)f(and)h(its)h(ar)o(guments.)-128
723 y(Ar)o(guments)k(look)g(lik)o(e)i(C)g(e)o(xpressions)e(separated)h
(by)g(commas)f(\(the)o(y)g(are)i(not)f(written)g(inside)g(parens\).)45
b(The)o(y)27 b(e)o(xtend)f(up)g(to)i(the)f(nearest)-128
822 y(unmatched)16 b Ft(\))p FA(,)i Ft(])g FA(or)f Ft(})p
FA(,)i(or)e(to)g(the)h(end)f(of)g(line)g(if)h(it)g(occurs)f(outside)g
(an)o(y)f Ft(\(\))50 b([])f({})h('')f("")h(/)2805 837
y(**)2905 822 y(/)17 b FA(and)g(is)h(not)f(preceded)f(by)h(a)h
(backslash.)-128 922 y(Backslash-ne)n(wline)h(pairs)h(are)h(stripped.)
-128 1070 y(In)g(addition)e Ft(#{stuff})g FA(is)i(equi)n(v)n(alent)e
(to)i Ft(#stuff)e FA(e)o(xcept)h(that)g(it')-5 b(s)22
b(self-delimited)d(and)h(thus)g(needs)g(not)g(to)h(be)f(placed)g(at)h
(the)f(end)g(of)g(line)-128 1170 y(or)g(in)h(some)f(brack)o(ets.)-128
1318 y(Meanings)g(of)g(speci\002c)g(k)o(e)o(yw)o(ords:)p
Black -128 1531 a Fh(#include)49 b()p Fu(,)19
b Fh(#include)48 b("file.h")p Black 40 w FA(The)24 b(speci\002ed)g
(\002le)h(gets)f(included)f(into)h(the)g(C)i(program,)d(the)h(compiled)
f(Hask)o(ell)80 1630 y(\002le,)e(and)e(the)h(C)i(header)-5
b(.)24 b Ft()19 b FA(is)i(included)e(automatically)-5
b(.)p Black -128 1795 a Fh(#define)49 b(name)p Fu(,)20
b Fh(#define)48 b(name)h(value)p Fu(,)20 b Fh(#undef)49
b(name)p Black 40 w FA(Similar)21 b(to)g Ft(#include)p
FA(.)k(Note)20 b(that)h Ft(#includes)f FA(and)g Ft(#defin-)80
1895 y(es)g FA(may)g(be)g(put)g(in)g(the)h(same)f(\002le)h(twice)f(so)h
(the)o(y)e(should)h(not)f(assume)i(otherwise.)p Black
-128 2060 a Fh(#let)50 b(name)f(parameters)f(=)h("definition")p
Black 39 w FA(De\002nes)22 b(a)h(macro)d(to)i(be)g(applied)f(to)h(the)g
(Hask)o(ell)g(source.)29 b(P)o(arameter)21 b(names)g(are)80
2159 y(comma-separated,)i(not)i(inside)g(parens.)39 b(Such)25
b(macro)f(is)i(in)m(v)n(ok)o(ed)d(as)j(other)e Ft(#)p
FA(-constructs,)h(starting)g(with)g Ft(#name)p FA(.)39
b(The)25 b(de\002nition)80 2259 y(will)31 b(be)e(put)h(in)g(the)g(C)g
(program)e(inside)i(parens)f(as)h(ar)o(guments)e(of)i
Ft(printf)p FA(.)53 b(T)-7 b(o)30 b(refer)f(to)h(a)g(parameter)m(,)g
(close)g(the)g(quote,)h(put)f(a)80 2359 y(parameter)19
b(name)i(and)f(open)g(the)h(quote)f(again,)f(to)j(let)f(C)h(string)e
(literals)i(concatenate.)j(Or)c(use)h Ft(printf)p FA(')-5
b(s)20 b(format)g(directi)n(v)o(es.)26 b(V)-9 b(alues)80
2458 y(of)23 b(ar)o(guments)e(must)j(be)f(gi)n(v)o(en)f(as)i(strings,)g
(unless)g(the)f(macro)g(stringi\002es)g(them)g(itself)h(using)f(the)g
(C)i(preprocessor')-5 b(s)21 b Ft(#parameter)80 2558
y FA(syntax.)p Black -128 2723 a Fh(#def)50 b(C_definition)p
Black 39 w FA(The)23 b(de\002nition)g(\(of)h(a)g(function,)f(v)n
(ariable,)g(struct)h(or)g(typedef\))e(is)j(written)f(to)g(the)g(C)h
(\002le,)g(and)f(its)h(prototype)c(or)80 2822 y(e)o(xtern)e
(declaration)h(to)g(the)h(C)h(header)-5 b(.)25 b(Inline)20
b(functions)g(are)g(handled)f(correctly)-5 b(.)25 b(struct)c
(de\002nitions)e(and)i(typedefs)e(are)i(written)f(to)h(the)80
2922 y(C)g(program)d(too.)25 b(The)20 b Ft(inline)p FA(,)f
Ft(struct)h FA(or)g Ft(typedef)f FA(k)o(e)o(yw)o(ord)f(must)j(come)e
(just)i(after)f Ft(def)p FA(.)p Black Black 153 3048
3950 4 v 153 3148 a Fx(Note)153 3248 y Fz(A)f Ft(foreign)48
b(import)18 b Fz(of)g(a)h(C)g(function)d(ma)n(y)j(be)f(inlined)e
(across)j(a)g(module)d(boundar)r(y)-7 b(,)17 b(in)h(which)g(case)h(y)o
(ou)e(m)o(ust)j(arr)o(ange)c(f)n(or)i(the)153 3348 y(impor)s(ting)j
(module)i(to)g Ft(#include)g Fz(the)g(C)h(header)e(\002le)h(gener)o
(ated)e(b)o(y)j Fx(hsc2hs)d Fz(\(see)j(Section)p 1 0 0
TeXcolorrgb 3034 3350 a
SDict begin H.S end
3034 3350 a 1 0 0 TeXcolorrgb
-2 x Fz(8.2.2)p 1 0 0 TeXcolorrgb 3200 3294 a
SDict begin H.R end
3200 3294
a 3200 3348 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.8.2.2) cvn H.B /ANN pdfmark end
3200 3348 a Black Fz(\).)36 b(F)n(or)23
b(this)g(reason)g(w)o(e)h(a)o(v)n(oid)153 3447 y(using)19
b Ft(#def)h Fz(in)g(the)g(libr)o(ar)q(ies)o(.)p 153 3538
3950 4 v Black -128 3743 a Fh(#if)50 b(condition)p Fu(,)19
b Fh(#ifdef)48 b(name)p Fu(,)20 b Fh(#ifndef)48 b(name)p
Fu(,)20 b Fh(#elif)49 b(condition)p Fu(,)19 b Fh(#else)p
Fu(,)h Fh(#endif)p Fu(,)f Fh(#error)49 b(message)p Fu(,)19
b Fh(#warning)48 b(message)p Black 80 3842 a FA(Conditional)23
b(compilation)g(directi)n(v)o(es)g(are)h(passed)h(unmodi\002ed)d(to)i
(the)h(C)g(program,)e(C)i(\002le,)h(and)e(C)h(header)-5
b(.)37 b(Putting)24 b(them)g(in)h(the)f(C)80 3942 y(program)18
b(means)i(that)g(appropriate)e(parts)i(of)g(the)g(Hask)o(ell)h(\002le)g
(will)g(be)f(skipped.)p Black -128 4107 a Fh(#const)49
b(C_expression)p Black 39 w FA(The)26 b(e)o(xpression)f(must)h(be)g
(con)m(v)o(ertible)d(to)k Ft(long)e FA(or)h Ft(unsigned)49
b(long)p FA(.)42 b(Its)27 b(v)n(alue)e(\(literal)h(or)g(ne)o(gated)80
4207 y(literal\))20 b(will)h(be)f(output.)p Black -128
4372 a Fh(#const_str)48 b(C_expression)p Black 40 w FA(The)28
b(e)o(xpression)f(must)i(be)g(con)m(v)o(ertible)d(to)j(const)f(char)h
(pointer)-5 b(.)49 b(Its)30 b(v)n(alue)e(\(string)g(literal\))h(will)g
(be)80 4471 y(output.)p Black -128 4636 a Fh(#type)49
b(C_type)p Black 41 w FA(A)19 b(Hask)o(ell)g(equi)n(v)n(alent)e(of)h
(the)h(C)g(numeric)e(type)i(will)g(be)f(output.)24 b(It)18
b(will)i(be)e(one)g(of)h Ft({Int,Word}{8,16,32,64})p
FA(,)80 4736 y Ft(Float)p FA(,)h Ft(Double)p FA(,)f Ft(LDouble)p
FA(.)p Black -128 4901 a Fh(#peek)49 b(struct_type,)f(field)p
Black 40 w FA(A)23 b(function)d(that)j(peeks)e(a)i(\002eld)f(of)g(a)h
(C)g(struct)f(will)h(be)f(output.)29 b(It)23 b(will)g(ha)n(v)o(e)e(the)
h(type)g Ft(Storable)80 5000 y(b)50 b(=>)f(Ptr)g(a)h(->)f(IO)h(b)p
FA(.)25 b(The)19 b(intention)f(is)i(that)f Ft(#peek)g
FA(and)g Ft(#poke)g FA(can)g(be)g(used)g(for)g(implementing)e(the)i
(operations)f(of)h(class)80 5100 y Ft(Storable)g FA(for)h(a)g(gi)n(v)o
(en)f(C)i(struct)g(\(see)f(the)g Ft(Foreign.Storable)e
FA(module)h(in)h(the)g(library)g(documentation\).)p Black
-128 5265 a Fh(#poke)49 b(struct_type,)f(field)p Black
40 w FA(Similarly)20 b(for)g(pok)o(e.)k(It)c(will)h(ha)n(v)o(e)f(the)g
(type)g Ft(Storable)48 b(b)i(=>)f(Ptr)g(a)h(->)g(b)f(->)h(IO)f(\(\))p
FA(.)p Black -128 5430 a Fh(#ptr)h(struct_type,)d(field)p
Black 41 w FA(Mak)o(es)20 b(a)h(pointer)d(to)j(a)f(\002eld)h(struct.)k
(It)20 b(will)h(ha)n(v)o(e)f(the)g(type)g Ft(Ptr)49 b(a)h(->)f(Ptr)g(b)
p FA(.)p Black -128 5595 a Fh(#offset)g(struct_type,)f(field)p
Black 40 w FA(Computes)20 b(the)g(of)n(fset,)f(in)i(bytes,)e(of)h
Ft(field)g FA(in)g Ft(struct_type)p FA(.)k(It)c(will)h(ha)n(v)o(e)f
(type)g Ft(Int)p FA(.)p Black -128 5759 a Fh(#size)49
b(struct_type)p Black 40 w FA(Computes)19 b(the)h(size,)h(in)f(bytes,)g
(of)g Ft(struct_type)p FA(.)k(It)c(will)h(ha)n(v)o(e)f(type)f
Ft(Int)p FA(.)p Black -128 6084 4252 5 v Black eop end
%%Page: 206 221
TeXDict begin 206 220 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.206) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(206)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a Fh(#enum)49
b(type,)g(constructor,)f(value,)g(value,)h(...)p Black
41 w FA(A)30 b(shortcut)f(for)h(multiple)f(de\002nitions)g(which)g(use)
h Ft(#const)p FA(.)53 b(Each)80 273 y Ft(value)28 b FA(is)g(a)h(name)e
(of)h(a)g(C)h(inte)o(ger)e(constant,)i(e.g.)48 b(enumeration)25
b(v)n(alue.)48 b(The)27 b(name)h(will)g(be)g(translated)f(to)i(Hask)o
(ell)f(by)f(making)80 372 y(each)19 b(letter)g(follo)n(wing)e(an)i
(underscore)e(uppercase,)h(making)g(all)h(the)g(rest)h(lo)n(wercase,)e
(and)h(remo)o(ving)d(underscores.)23 b(Y)-9 b(ou)19 b(can)f(supply)h(a)
80 472 y(dif)n(ferent)d(translation)g(by)h(writing)f
Ft(hs_name)49 b(=)g(c_value)17 b FA(instead)g(of)g(a)g
Ft(value)p FA(,)g(in)h(which)e(case)i Ft(c_value)f FA(may)f(be)h(an)h
(arbitrary)80 572 y(e)o(xpression.)36 b(The)25 b Ft(hs_name)e
FA(will)j(be)e(de\002ned)g(as)h(ha)n(ving)e(the)i(speci\002ed)f
Ft(type)p FA(.)38 b(Its)25 b(de\002nition)e(is)j(the)e(speci\002ed)g
Ft(constructor)80 671 y FA(\(which)c(in)i(f)o(act)f(may)g(be)g(an)h(e)o
(xpression)d(or)i(be)h(empty\))e(applied)g(to)h(the)h(appropriate)d
(inte)o(ger)h(v)n(alue.)27 b(Y)-9 b(ou)21 b(can)g(ha)n(v)o(e)g
(multiple)f Ft(#enum)80 771 y FA(de\002nitions)f(with)i(the)f(same)g
Ft(type)p FA(;)g(this)h(construct)e(does)h(not)g(emit)g(the)h(type)e
(de\002nition)g(itself.)-128 905 y
SDict begin H.S end
-128 905 a -128 905
a
SDict begin 12 H.A end
-128 905 a -128 905 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.10.3.3) cvn H.B /DEST pdfmark end
-128 905 a Black 148 x Fp(10.3.3)p
Black 89 w(Custom)24 b(constructs)-128 1256 y Ft(#const)p
FA(,)c Ft(#type)p FA(,)f Ft(#peek)p FA(,)h Ft(#poke)g
FA(and)f Ft(#ptr)h FA(are)g(not)g(hardwired)e(into)i(the)g
Fu(hsc2hs)p FA(,)h(b)n(ut)f(are)g(de\002ned)g(in)g(a)g(C)i(template)d
(that)h(is)h(included)-128 1356 y(in)h(the)g(C)h(program:)j
Ft(template-)t(hsc.h)p FA(.)i(Custom)21 b(constructs)g(and)h(templates)
f(can)h(be)f(used)h(too.)29 b(An)o(y)21 b Ft(#)p FA(-construct)f(with)i
(unkno)n(wn)e(k)o(e)o(y)-128 1455 y(is)i(e)o(xpected)c(to)i(be)h
(handled)d(by)i(a)h(C)g(template.)-128 1605 y(A)d(C)g(template)f
(should)g(de\002ne)f(a)i(macro)e(or)h(function)f(with)h(name)g
(pre\002x)o(ed)f(by)h Ft(hsc_)g FA(that)g(handles)g(the)g(construct)f
(by)h(emitting)g(the)g(e)o(xpansion)-128 1705 y(to)k(stdout.)j(See)d
Ft(template-)t(hsc.h)d FA(for)i(e)o(xamples.)-128 1854
y(Such)k(macros)g(can)g(also)h(be)f(de\002ned)g(directly)f(in)i(the)f
(source.)37 b(The)o(y)23 b(are)i(useful)e(for)h(making)f(a)i
Ft(#let)p FA(-lik)o(e)f(macro)f(whose)h(e)o(xpansion)e(uses)-128
1954 y(other)e Ft(#let)g FA(macros.)k(Plain)d Ft(#let)f
FA(prepends)e Ft(hsc_)i FA(to)g(the)h(macro)e(name)g(and)h(wraps)g(the)
g(de\002nition)f(in)i(a)f Ft(printf)g FA(call.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 207 222
TeXDict begin 207 221 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.207) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(207)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.11) cvn H.B /DEST pdfmark end
-128 90 a 751 x Fy(Chapter)43 b(11)-128
1301 y Fv(Running)50 b(GHC)i(on)f(Win32)h(systems)-128
1708 y
SDict begin H.S end
-128 1708 a -128 1708 a
SDict begin 12 H.A end
-128 1708 a -128 1708
a
SDict begin [ /View [/XYZ H.V] /Dest (win32) cvn H.B /DEST pdfmark end
-128 1708 a -128 1708 a
SDict begin H.S end
-128 1708 a -128 1708 a
SDict begin 12 H.A end
-128
1708 a -128 1708 a
SDict begin [ /View [/XYZ H.V] /Dest (section.11.1) cvn H.B /DEST pdfmark end
-128 1708 a Black 158 x Fs(11.1)p
Black 137 w(Star)r(ting)29 b(GHC)g(on)g(Windo)n(ws)g(platf)n(orms)-128
1993 y
SDict begin H.S end
-128 1993 a -128 1993 a
SDict begin 12 H.A end
-128 1993 a -128 1993
a
SDict begin [ /View [/XYZ H.V] /Dest (ghc-windows) cvn H.B /DEST pdfmark end
-128 1993 a 110 x FA(The)21 b(installer)g(that)g(installs)g(GHC)h(on)
e(W)m(in32)g(also)i(sets)f(up)g(the)g(\002le-suf)n(\002x)f
(associations)h(for)f(".hs")g(and)h(".lhs")f(\002les)i(so)f(that)g
(double-clicking)-128 2202 y(them)f(starts)h Fu(ghci)p
FA(.)-128 2347 y(Be)g(a)o(w)o(are)f(of)g(that)g Fu(ghc)h
FA(and)e Fu(ghci)i FA(do)f(require)e(\002lenames)i(containing)f(spaces)
h(to)g(be)h(escaped)e(using)h(quotes:)-128 2410 y
SDict begin H.S end
-128
2410 a -128 2410 a
SDict begin 12 H.A end
-128 2410 a -128 2410 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-581) cvn H.B /DEST pdfmark end
-128 2410
a 0.95 TeXcolorgray -153 2425 4302 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
2517 25 92 v Black 0.95 TeXcolorgray -128 2517 4252 92
v Black 0.95 TeXcolorgray 4124 2517 25 92 v Black 0.95
TeXcolorgray Black -128 2489 a
SDict begin H.S end
-128 2489 a -128 2489
a
SDict begin 11 H.A end
-128 2489 a -128 2489 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-581.1) cvn H.B /DEST pdfmark end
-128 2489 a 0 0 0 TeXcolorrgb
90 w Fo(c)p Black(:\\)p 0 0 0 TeXcolorrgb(ghc)p Black
-1 w(\\)p 0 0 0 TeXcolorrgb(bin)p Black -1 w(\\)p 0 0 0
TeXcolorrgb(ghci)p Black 44 w(")p 0 0 0 TeXcolorrgb(c)p
Black(:\\\\)p 0 0 0 TeXcolorrgb(Program)p Black 0 0 0
TeXcolorrgb 43 w(Files)p Black -1 w(\\\\)p 0 0 0 TeXcolorrgb(Haskell)p
Black -1 w(\\\\)p 0 0 0 TeXcolorrgb(Project)p Black -2
w(.)p 0 0 0 TeXcolorrgb(hs)p Black(")p 0.95 TeXcolorgray
-153 2542 4302 25 v Black 0.95 TeXcolorgray Black Black
Black -128 2707 a FA(If)c(the)f(quotes)f(are)h(left)h(of)n(f)e(in)i
(the)f(abo)o(v)o(e)e(command,)h Fu(ghci)i FA(will)g(interpret)e(the)h
(\002lename)g(as)h(tw)o(o,)g("c:\\\\Program")d(and)i("Files\\\\Hask)o
(ell\\\\Project.hs".)-128 2848 y
SDict begin H.S end
-128 2848 a -128 2848
a
SDict begin 12 H.A end
-128 2848 a -128 2848 a
SDict begin [ /View [/XYZ H.V] /Dest (section.11.2) cvn H.B /DEST pdfmark end
-128 2848 a Black 176 x Fs(11.2)p
Black 107 w(Running)29 b(GHCi)g(on)g(Windo)n(ws)-128
3151 y
SDict begin H.S end
-128 3151 a -128 3151 a
SDict begin 12 H.A end
-128 3151 a -128 3151
a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-windows) cvn H.B /DEST pdfmark end
-128 3151 a 110 x FA(W)-7 b(e)26 b(recommend)21 b(running)h(GHCi)j
(in)f(a)g(standard)f(W)m(indo)n(ws)h(console:)32 b(select)24
b(the)g Ft(GHCi)g FA(option)f(from)g(the)h(start)g(menu)f(item)i(added)
d(by)i(the)-128 3361 y(GHC)30 b(installer)m(,)h(or)e(use)h
Ft(Start->Run->cmd)d FA(to)i(get)g(a)h(W)m(indo)n(ws)e(console)h(and)f
(in)m(v)n(ok)o(e)g Ft(ghci)h FA(from)f(there)h(\(as)g(long)g(as)h(it')
-5 b(s)30 b(in)f(your)-128 3460 y Ft(PATH)p FA(\).)-128
3605 y(If)22 b(you)f(run)g(GHCi)i(in)f(a)g(Cygwin)f(or)h(MSYS)g(shell,)
h(then)e(the)h(Control-C)f(beha)n(viour)f(is)j(adv)o(ersely)d(af)n
(fected.)28 b(In)22 b(one)f(of)h(these)g(en)m(vironments)-128
3705 y(you)d(should)f(use)h(the)g Ft(ghcii.sh)f FA(script)h(to)h(start)
f(GHCi,)h(otherwise)f(when)f(you)g(hit)i(Control-C)e(you')o(ll)g(be)h
(returned)f(to)h(the)g(shell)g(prompt)f(b)n(ut)-128 3804
y(the)k(GHCi)g(process)f(will)h(still)g(be)g(running.)k(Ho)n(we)n(v)o
(er)m(,)19 b(e)n(v)o(en)i(using)g(the)g Ft(ghcii.sh)f
FA(script,)i(if)f(you)g(hit)g(Control-C)g(then)g(the)g(GHCi)h(process)
-128 3904 y(will)g(be)e(killed)h(immediately)-5 b(,)18
b(rather)i(than)g(letting)h(you)e(interrupt)g(a)j(running)c(program)g
(inside)j(GHCi)g(as)h(it)f(should.)k(This)c(problem)e(is)j(caused)-128
4003 y(by)f(the)h(f)o(act)f(that)h(the)f(Cygwin)g(and)f(MSYS)i(shell)g
(en)m(vironments)d(don')o(t)g(pass)j(Control-C)f(e)n(v)o(ents)f(to)i
(non-Cygwin)d(child)i(processes,)g(because)-128 4103
y(in)g(order)e(to)h(do)g(that)g(there)g(needs)g(to)g(be)g(a)h(W)m(indo)
n(ws)e(console.)-128 4248 y(There')-5 b(s)21 b(an)g(e)o(xception:)26
b(you)20 b(can)h(use)g(a)h(Cygwin)f(shell)g(if)h(the)f
Ft(CYGWIN)g FA(en)m(vironment)d(v)n(ariable)i(does)h
Fq(not)h FA(contain)e Ft(tty)p FA(.)28 b(In)21 b(this)h(mode,)e(the)
-128 4347 y(Cygwin)f(shell)g(beha)n(v)o(es)f(lik)o(e)h(a)h(W)m(indo)n
(ws)e(console)g(shell)h(and)g(console)f(e)n(v)o(ents)g(are)h
(propagated)d(to)j(child)g(processes.)24 b(Note)19 b(that)g(the)g
Ft(CYGWIN)-128 4447 y FA(en)m(vironment)f(v)n(ariable)h(must)h(be)g
(set)h Fq(befor)m(e)f FA(starting)g(the)g(Cygwin)f(shell;)i(changing)d
(it)j(afterw)o(ards)e(has)i(no)f(ef)n(fect)f(on)h(the)g(shell.)-128
4592 y(This)33 b(problem)d(doesn')o(t)h(just)h(af)n(fect)g(GHCi,)k(it)c
(af)n(fects)g(an)o(y)g(GHC-compiled)e(program)g(that)i(w)o(ants)h(to)f
(catch)g(console)f(e)n(v)o(ents.)60 b(See)33 b(the)p
0 1 0 0 TeXcolorcmyk -128 4692 a
SDict begin H.S end
-128 4692 a 0 1 0 0
TeXcolorcmyk -1 x FA(GHC.ConsoleHandler)p 0 1 0 0 TeXcolorcmyk
608 4635 a
SDict begin H.R end
608 4635 a 608 4691 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (file:../libraries/base/GHC-ConsoleHandler.html) >> /Subtype /Link H.B /ANN pdfmark end
608 4691 a Black 21
w FA(module.)-128 4815 y
SDict begin H.S end
-128 4815 a -128 4815 a
SDict begin 12 H.A end
-128
4815 a -128 4815 a
SDict begin [ /View [/XYZ H.V] /Dest (section.11.3) cvn H.B /DEST pdfmark end
-128 4815 a Black 194 x Fs(11.3)p
Black 137 w(Interacting)28 b(with)h(the)h(terminal)-128
5136 y
SDict begin H.S end
-128 5136 a -128 5136 a
SDict begin 12 H.A end
-128 5136 a -128 5136
a
SDict begin [ /View [/XYZ H.V] /Dest (terminal-interaction) cvn H.B /DEST pdfmark end
-128 5136 a 110 x FA(By)25 b(def)o(ault)e(GHC)h(b)n(uilds)g
(applications)e(that)i(open)f(a)h(console)f(windo)n(w)f(when)h(the)o(y)
g(start.)36 b(If)24 b(you)f(w)o(ant)g(to)h(b)n(uild)g(a)g(GUI-only)e
(application,)-128 5345 y(with)f(no)f(console)f(windo)n(w)-5
b(,)19 b(use)h(the)g(\003ag)g Ft(-optl-mwindows)f FA(in)h(the)g(link)g
(step.)-128 5490 y Fq(W)-8 b(arning:)27 b FA(W)m(indo)n(ws)21
b(GUI-only)e(programs)h(ha)n(v)o(e)h(no)g(stdin,)g(stdout)g(or)g
(stderr)g(so)g(using)g(the)h(ordinary)d(Hask)o(ell)i(input/output)e
(functions)h(will)-128 5590 y(cause)h(your)e(program)f(to)i(f)o(ail)g
(with)h(an)f(IO)g(e)o(xception,)e(such)i(as:)-128 5653
y
SDict begin H.S end
-128 5653 a -128 5653 a
SDict begin 12 H.A end
-128 5653 a -128 5653 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-582) cvn H.B /DEST pdfmark end
-128
5653 a 0.95 TeXcolorgray -153 5668 4302 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5759 25 92 v Black 0.95 TeXcolorgray -128 5759 4252
92 v Black 0.95 TeXcolorgray 4124 5759 25 92 v Black
0.95 TeXcolorgray Black -128 5732 a
SDict begin H.S end
-128 5732 a -128
5732 a
SDict begin 11 H.A end
-128 5732 a -128 5732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-582.1) cvn H.B /DEST pdfmark end
-128 5732 a 0 0 0 TeXcolorrgb
269 w Fo(Fail)p Black(:)44 b(<)p 0 0 0 TeXcolorrgb(stdout)p
Black -1 w(>:)p 0 0 0 TeXcolorrgb 45 w(hPutChar)p Black
-2 w(:)p 0 0 0 TeXcolorrgb 45 w(failed)p Black 44 w(\()p
0 0 0 TeXcolorrgb(Bad)p Black 0 0 0 TeXcolorrgb 44 w(file)p
Black 0 0 0 TeXcolorrgb 44 w(descriptor)p Black -1 w(\))p
0.95 TeXcolorgray -153 5784 4302 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 208 223
TeXDict begin 208 222 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.208) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(208)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 173 a FA(Ho)n(we)n(v)o(er)f(using)h
(Deb)n(ug.T)m(race.trace)d(is)k(alright)f(because)f(it)i(uses)g(W)m
(indo)n(ws)e(deb)n(ugging)f(output)h(support)g(rather)g(than)h(stderr)
-5 b(.)-128 315 y(F)o(or)21 b(some)g(reason,)e(Mingw)i(ships)g(with)g
(the)g Ft(readline)e FA(library)-5 b(,)20 b(b)n(ut)g(not)h(with)g(the)g
Ft(readline)f FA(headers.)26 b(As)21 b(a)g(result,)g(GHC)h(\(lik)o(e)f
(Hugs\))-128 414 y(does)f(not)g(use)h Ft(readline)e FA(for)g(interacti)
n(v)o(e)g(input)h(on)g(W)m(indo)n(ws.)k(Y)-9 b(ou)19
b(can)h(get)h(a)f(close)h(simulation)e(by)h(using)f(an)i(emacs)f(shell)
g(b)n(uf)n(fer!)-128 554 y
SDict begin H.S end
-128 554 a -128 554 a
SDict begin 12 H.A end
-128
554 a -128 554 a
SDict begin [ /View [/XYZ H.V] /Dest (section.11.4) cvn H.B /DEST pdfmark end
-128 554 a Black 174 x Fs(11.4)p Black
137 w(Diff)o(erences)28 b(in)i(librar)q(y)f(beha)n(viour)-128
855 y
SDict begin H.S end
-128 855 a -128 855 a
SDict begin 12 H.A end
-128 855 a -128 855 a
SDict begin [ /View [/XYZ H.V] /Dest (library-differences) cvn H.B /DEST pdfmark end
-128
855 a 106 x FA(Some)20 b(of)g(the)g(standard)f(Hask)o(ell)i(libraries)f
(beha)n(v)o(e)f(slightly)h(dif)n(ferently)e(on)i(W)m(indo)n(ws.)p
Black -128 1153 a(\225)p Black 42 w(On)g(W)m(indo)n(ws,)f(the)i(')p
Ft(\210Z)p FA(')e(character)g(is)i(interpreted)d(as)j(an)f
(end-of-\002le)e(character)m(,)h(so)h(if)g(you)g(read)f(a)i(\002le)g
(containing)d(this)i(character)f(the)h(\002le)-57 1253
y(will)26 b(appear)d(to)i(end)f(just)i(before)d(it.)39
b(T)-7 b(o)25 b(a)n(v)n(oid)g(this,)h(use)f Ft(IOExts.openFileEx)d
FA(to)j(open)f(a)h(\002le)h(in)f(binary)e(\(untranslated\))f(mode)i(or)
-57 1353 y(change)c(an)h(already)f(opened)f(\002le)j(handle)e(into)h
(binary)f(mode)g(using)g Ft(IOExts.hSetBinaryMode)p FA(.)k(The)d
Ft(IOExts)g FA(module)e(is)k(part)d(of)-57 1452 y(the)g
Ft(lang)g FA(package.)-128 1592 y
SDict begin H.S end
-128 1592 a -128 1592
a
SDict begin 12 H.A end
-128 1592 a -128 1592 a
SDict begin [ /View [/XYZ H.V] /Dest (section.11.5) cvn H.B /DEST pdfmark end
-128 1592 a Black 173 x Fs(11.5)p
Black 137 w(Using)29 b(GHC)g(\(and)g(other)g(GHC-compiled)e(e)n(x)o
(ecutab)o(les\))h(with)h(c)o(ygwin)-128 1892 y
SDict begin H.S end
-128 1892
a -128 1892 a
SDict begin 12 H.A end
-128 1892 a -128 1892 a
SDict begin [ /View [/XYZ H.V] /Dest (ghci-cygwin) cvn H.B /DEST pdfmark end
-128 1892 a -128
1892 a
SDict begin H.S end
-128 1892 a -128 1892 a
SDict begin 12 H.A end
-128 1892 a -128 1892
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.11.5.1) cvn H.B /DEST pdfmark end
-128 1892 a Black 132 x Fp(11.5.1)p Black 89 w(Bac)n(kgr)n(ound)-128
2219 y FA(The)19 b(c)o(ygwin)e(tools)h(aim)h(to)f(pro)o(vide)f(a)i
(unix-style)e(API)i(on)f(top)g(of)g(the)g(windo)n(ws)g(libraries,)g(to)
h(f)o(acilitate)f(ports)h(of)f(unix)f(softw)o(are)h(to)h(windo)n(ws.)
-128 2319 y(T)-7 b(o)21 b(this)g(end,)e(the)o(y)h(introduce)e(a)j
(unix-style)e(directory)f(hierarchy)g(under)h(some)h(root)f(directory)g
(\(typically)g Ft(/)i FA(is)g Ft(C:\\cygwin\\)p FA(\).)i(Moreo)o(v)o
(er)m(,)-128 2419 y(e)n(v)o(erything)18 b(b)n(uilt)j(against)f(the)h(c)
o(ygwin)e(API)i(\(including)e(the)h(c)o(ygwin)g(tools)g(and)g(programs)
f(compiled)g(with)i(c)o(ygwin')-5 b(s)20 b(ghc\))g(will)h(see)g(/)h(as)
f(the)-128 2518 y(root)26 b(of)g(their)g(\002le)h(system,)g(happily)e
(pretending)f(to)j(w)o(ork)e(in)h(a)h(typical)f(unix)f(en)m(vironment,)
g(and)g(\002nding)g(things)h(lik)o(e)h Ft(/bin)f FA(and)f
Ft(/usr/)-128 2618 y(include)20 b FA(without)f(e)n(v)o(er)h(e)o
(xplicitly)f(bothering)f(with)i(their)g(actual)g(location)f(on)h(the)g
(windo)n(ws)f(system)i(\(probably)c Ft(C:\\cygwin\\bin)i
FA(and)-128 2717 y Ft(C:\\cygwin\\usr\\include)p FA(\).)-128
2845 y
SDict begin H.S end
-128 2845 a -128 2845 a
SDict begin 12 H.A end
-128 2845 a -128 2845
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.11.5.2) cvn H.B /DEST pdfmark end
-128 2845 a Black 143 x Fp(11.5.2)p Black 89 w(The)25
b(pr)n(ob)o(lem)-128 3184 y FA(GHC,)18 b(by)f(def)o(ault,)g(no)f
(longer)g(depends)g(on)g(c)o(ygwin,)h(b)n(ut)g(is)h(a)f(nati)n(v)o(e)f
(windo)n(ws)h(program.)k(It)d(is)g(b)n(uilt)f(using)g(mingw)-5
b(,)16 b(and)g(it)i(uses)g(mingw')-5 b(s)17 b(ghc)-128
3283 y(while)22 b(compiling)d(your)h(Hask)o(ell)i(sources)e(\(e)n(v)o
(en)g(if)i(you)e(call)h(it)h(from)f(c)o(ygwin')-5 b(s)20
b(bash\),)g(b)n(ut)i(what)f(matters)g(here)f(is)j(that)e(-)g(just)h
(lik)o(e)f(an)o(y)g(other)-128 3383 y(normal)g(windo)n(ws)h(program)e
(-)i(neither)f(GHC)i(nor)f(the)g(e)o(x)o(ecutables)e(it)j(produces)e
(are)h(a)o(w)o(are)g(of)f(c)o(ygwin')-5 b(s)22 b(pretended)e(unix)h
(hierarchy)-5 b(.)28 b(GHC)-128 3482 y(will)21 b(happily)e(accept)h
(either)f('/')h(or)g('\\')g(as)h(path)e(separators,)g(b)n(ut)i(it)f(w)o
(on')o(t)f(kno)n(w)g(where)h(to)g(\002nd)g Ft(/home/joe/Main.hs)d
FA(or)j Ft(/bin/bash)-128 3582 y FA(or)d(the)h(lik)o(e.)24
b(This)17 b(causes)h(all)f(kinds)g(of)g(fun)f(when)h(GHC)h(is)g(used)f
(from)f(within)h(c)o(ygwin')-5 b(s)17 b(bash,)g(or)g(in)g(mak)o
(e-sessions)g(running)e(under)g(c)o(ygwin.)-128 3713
y
SDict begin H.S end
-128 3713 a -128 3713 a
SDict begin 12 H.A end
-128 3713 a -128 3713 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.11.5.3) cvn H.B /DEST pdfmark end
-128
3713 a Black 140 x Fp(11.5.3)p Black 89 w(Things)24 b(to)h(do)p
Black -128 4048 a FA(\225)p Black 42 w(Don')o(t)j(use)h(absolute)g
(paths)g(in)g(mak)o(e,)i(con\002gure)c(&)j(co)f(if)g(there)g(is)h(an)o
(y)f(chance)f(that)h(those)g(might)g(be)g(passed)g(to)h(GHC)g(\(or)e
(to)i(GHC-)-57 4148 y(compiled)18 b(programs\).)23 b(Relati)n(v)o(e)d
(paths)g(are)f(\002ne)h(because)g(c)o(ygwin)e(tools)i(are)g(happ)o(y)f
(with)h(them)f(and)g(GHC)i(accepts)f('/')g(as)g(path-separator)-5
b(.)-57 4248 y(And)17 b(relati)n(v)o(e)f(paths)h(don')o(t)f(depend)g
(on)g(where)h(c)o(ygwin')-5 b(s)16 b(root)h(directory)f(is)i(located,)f
(or)g(on)g(which)f(partition)h(or)g(netw)o(ork)f(dri)n(v)o(e)g(your)g
(source)-57 4347 y(tree)k(happens)f(to)h(reside,)g(as)h(long)e(as)i
(you)f('cd')f(there)h(\002rst.)p Black -128 4505 a(\225)p
Black 42 w(If)g(you)g(ha)n(v)o(e)g(to)h(use)f(absolute)g(paths)g(\(be)n
(w)o(are)g(of)g(the)h(innocent-looking)16 b Ft(ROOT=`pwd`)j
FA(in)i(mak)o(e\002le)f(hierarchies)f(or)i(con\002gure)d(scripts\),)-57
4605 y(c)o(ygwin)23 b(pro)o(vides)f(a)i(tool)f(called)h
Fu(cygpath)f FA(that)g(can)h(con)m(v)o(ert)e(c)o(ygwin')-5
b(s)23 b(unix-style)f(paths)i(to)g(their)f(actual)h(windo)n(ws-style)e
(counterparts.)-57 4705 y(Man)o(y)28 b(c)o(ygwin)h(tools)g(actually)g
(accept)g(absolute)f(windo)n(ws-style)h(paths)g(\(remember)m(,)g
(though,)g(that)h(you)e(either)h(need)g(to)h(escape)f('\\')g(or)-57
4804 y(con)m(v)o(ert)d('\\')j(to)g('/'\),)h(so)e(you)g(should)f(be)i
(\002ne)g(just)g(using)f(those)g(e)n(v)o(erywhere.)47
b(If)29 b(you)e(need)h(to)h(use)f(tools)h(that)f(do)h(some)f(kind)g(of)
g(path-)-57 4904 y(mangling)18 b(that)i(depends)f(on)h(unix-style)e
(paths)i(\(one)f(fun)h(e)o(xample)e(is)j(trying)e(to)i(interpret)d(':')
25 b(as)c(a)g(separator)e(in)h(path)f(lists..\),)i(you)e(can)h(still)
-57 5004 y(try)g(to)g(con)m(v)o(ert)f(paths)h(using)f
Fu(cygpath)g FA(just)i(before)e(the)o(y)g(are)h(passed)h(to)f(GHC)h
(and)f(friends.)p Black -128 5162 a(\225)p Black 42 w(If)d(you)g(don')o
(t)f(ha)n(v)o(e)g Fu(cygpath)p FA(,)h(you)g(probably)e(don')o(t)g(ha)n
(v)o(e)i(c)o(ygwin)f(and)h(hence)g(no)g(problems)f(with)h(it...)25
b(unless)17 b(you)g(w)o(ant)g(to)h(write)g(one)e(b)n(uild)-57
5261 y(process)j(for)f(se)n(v)o(eral)g(platforms.)24
b(Again,)18 b(relati)n(v)o(e)g(paths)h(are)g(your)e(friend,)h(b)n(ut)h
(if)h(you)e(ha)n(v)o(e)g(to)h(use)h(absolute)e(paths,)h(and)f(don')o(t)
f(w)o(ant)j(to)f(use)-57 5361 y(dif)n(ferent)24 b(tools)h(on)f(dif)n
(ferent)g(platforms,)h(you)f(can)h(simply)g(write)g(a)h(short)f(Hask)o
(ell)g(program)e(to)j(print)e(the)h(current)f(directory)g(\(thanks)g
(to)-57 5461 y(Geor)o(ge)19 b(Russell)i(for)f(this)h(idea\):)26
b(compiled)19 b(with)i(GHC,)g(this)g(will)g(gi)n(v)o(e)f(you)f(the)i
(vie)n(w)f(of)g(the)h(\002le)g(system)g(that)f(GHC)i(depends)d(on)h
(\(which)-57 5560 y(will)k(dif)n(fer)e(depending)f(on)i(whether)f(GHC)i
(is)h(compiled)d(with)h(c)o(ygwin')-5 b(s)23 b(gcc)g(or)g(mingw')-5
b(s)23 b(gcc)g(or)g(on)g(a)g(real)h(unix)e(system..\))34
b(-)24 b(that)f(little)-57 5660 y(program)e(can)i(also)h(deal)f(with)g
(escaping)g('\\')g(in)g(paths.)34 b(Apart)23 b(from)f(the)i(banner)d
(and)i(the)g(startup)g(time,)h(something)e(lik)o(e)h(this)h(w)o(ould)f
(also)-57 5759 y(do:)p Black -128 6084 4252 5 v Black
eop end
%%Page: 209 224
TeXDict begin 209 223 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.209) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(209)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-583) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-583.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb
90 w Fo($)p Black 0 0 0 TeXcolorrgb 44 w(echo)p Black
45 w(")p 0 0 0 TeXcolorrgb -1 w(Directory)p Black -1
w(.)p 0 0 0 TeXcolorrgb(getCurrentDirectory)p Black 41
w(>>=)p 0 0 0 TeXcolorrgb 45 w(putStrLn)p Black 43 w(.)p
0 0 0 TeXcolorrgb 45 w(init)p Black 44 w(.)p 0 0 0 TeXcolorrgb
45 w(tail)p Black 44 w(.)p 0 0 0 TeXcolorrgb 44 w(show)p
Black 45 w(")44 b(|)p 0 0 0 TeXcolorrgb 45 w(ghci)p Black
0.95 TeXcolorgray -82 289 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -128 464 a
SDict begin H.S end
-128 464 a -128 464 a
SDict begin 12 H.A end
-128
464 a -128 464 a
SDict begin [ /View [/XYZ H.V] /Dest (section.11.6) cvn H.B /DEST pdfmark end
-128 464 a Black 175 x Fs(11.6)p Black
107 w(Building)29 b(and)g(using)g(Win32)g(DLLs)-128 766
y
SDict begin H.S end
-128 766 a -128 766 a
SDict begin 12 H.A end
-128 766 a -128 766 a
SDict begin [ /View [/XYZ H.V] /Dest (win32-dlls) cvn H.B /DEST pdfmark end
-128 766
a 114 x Fq(Making)d(Hask)o(ell)g(libr)o(aries)g(into)g(DLLs)h(doesn')n
(t)e(work)i(on)e(W)-5 b(indows)27 b(at)f(the)g(moment;)i(we)f(hope)e
(to)h(r)m(e-instate)g(this)g(facility)g(in)h(the)f(futur)m(e)o(.)-128
980 y(Note)g(that)g(b)n(uilding)e(an)h(entir)m(e)h(Hask)o(ell)g
(application)e(as)i(a)f(single)h(DLL)g(is)h(still)g(supported:)34
b(it')m(s)26 b(just)g(multi-DLL)g(Hask)o(ell)g(pr)l(o)o(gr)o(ams)f
(that)-128 1079 y(don')n(t)19 b(work.)25 b(The)c(W)-5
b(indows)20 b(distrib)n(ution)g(of)g(GHC)h(contains)f(static)g(libr)o
(aries)h(only)-5 b(.)-128 1212 y
SDict begin H.S end
-128 1212 a -128 1212
a
SDict begin 12 H.A end
-128 1212 a -128 1212 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.11.6.1) cvn H.B /DEST pdfmark end
-128 1212 a Black 150 x Fp(11.6.1)p
Black 89 w(Creating)24 b(a)h(DLL)-128 1450 y
SDict begin H.S end
-128 1450
a -128 1450 a
SDict begin 12 H.A end
-128 1450 a -128 1450 a
SDict begin [ /View [/XYZ H.V] /Dest (win32-dlls-create) cvn H.B /DEST pdfmark end
-128 1450 a 115
x FA(Sealing)f(up)g(your)g(Hask)o(ell)g(library)g(inside)g(a)h(DLL)f
(is)h(straightforw)o(ard;)f(compile)g(up)g(the)g(object)g(\002les)h
(that)g(mak)o(e)f(up)g(the)g(library)-5 b(,)24 b(and)f(then)-128
1664 y(b)n(uild)d(the)g(DLL)h(by)e(issuing)h(a)h(command)d(of)i(the)g
(form:)-128 1732 y
SDict begin H.S end
-128 1732 a -128 1732 a
SDict begin 12 H.A end
-128 1732
a -128 1732 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-584) cvn H.B /DEST pdfmark end
-128 1732 a 0.95 TeXcolorgray -153 1747
4302 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 1839 25 92 v Black 0.95
TeXcolorgray -128 1839 4252 92 v Black 0.95 TeXcolorgray
4124 1839 25 92 v Black 0.95 TeXcolorgray Black -128
1811 a
SDict begin H.S end
-128 1811 a -128 1811 a
SDict begin 11 H.A end
-128 1811 a -128 1811
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-584.1) cvn H.B /DEST pdfmark end
-128 1811 a 0 0 0 TeXcolorrgb Fo(ghc)p Black 45 w(-)p
0 0 0 TeXcolorrgb(shared)p Black 43 w(-)p 0 0 0 TeXcolorrgb(o)p
Black 0 0 0 TeXcolorrgb 45 w(foo)p Black -1 w(.)p 0 0 0
TeXcolorrgb(dll)p Black 0 0 0 TeXcolorrgb 45 w(bar)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb
45 w(baz)p Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p Black
0 0 0 TeXcolorrgb 45 w(wibble)p Black -1 w(.)p 0 0 0
TeXcolorrgb -1 w(a)p Black 45 w(-)p 0 0 0 TeXcolorrgb(lfooble)p
Black 0.95 TeXcolorgray -153 1863 4302 25 v Black 0.95
TeXcolorgray Black Black Black -128 2038 a FA(By)j(feeding)e(the)i(ghc)
f(compiler)f(dri)n(v)o(er)g(the)h(option)g Ft(-shared)p
FA(,)g(it)h(will)g(b)n(uild)f(a)h(DLL)f(rather)g(than)g(produce)e(an)j
(e)o(x)o(ecutable.)30 b(The)22 b(DLL)g(will)-128 2137
y(consist)f(of)f(all)h(the)f(object)f(\002les)j(and)d(archi)n(v)o(es)g
(gi)n(v)o(en)g(on)h(the)g(command)e(line.)-128 2287 y(A)j(couple)e(of)h
(things)g(to)g(notice:)p Black -128 2519 a(\225)p Black
42 w(By)j(def)o(ault,)g(the)g(entry)f(points)h(of)f(all)i(the)f(object)
f(\002les)i(will)g(be)f(e)o(xported)e(from)h(the)h(DLL)g(when)f(using)g
Ft(-shared)p FA(.)33 b(Should)22 b(you)g(w)o(ant)h(to)-57
2619 y(constrain)c(this,)i(you)e(can)h(specify)f(the)i
Fq(module)e(de\002nition)f(\002le)i FA(to)h(use)f(on)g(the)g(command)e
(line)j(as)g(follo)n(ws:)-128 2687 y
SDict begin H.S end
-128 2687 a -128
2687 a
SDict begin 12 H.A end
-128 2687 a -128 2687 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-585) cvn H.B /DEST pdfmark end
-128 2687 a 0.95 TeXcolorgray
-82 2702 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2793 25 92 v
Black 0.95 TeXcolorgray -57 2793 4182 92 v Black 0.95
TeXcolorgray 4124 2793 25 92 v Black 0.95 TeXcolorgray
Black -57 2766 a
SDict begin H.S end
-57 2766 a -57 2766 a
SDict begin 11 H.A end
-57 2766 a -57
2766 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-585.1) cvn H.B /DEST pdfmark end
-57 2766 a 0 0 0 TeXcolorrgb Fo(ghc)p Black 44
w(-)p 0 0 0 TeXcolorrgb(shared)p Black 44 w(-)p 0 0 0
TeXcolorrgb(o)p Black 44 w(....)p 0 0 0 TeXcolorrgb 45
w(MyDef)p Black -1 w(.)p 0 0 0 TeXcolorrgb(def)p Black
0.95 TeXcolorgray -82 2818 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 2976 a FA(See)g(Microsoft)e(documentation)e(for)i
(details,)i(b)n(ut)f(a)g(module)f(de\002nition)g(\002le)i(simply)f
(lists)h(what)g(entry)e(points)h(you)f(w)o(ant)h(to)g(e)o(xport.)k
(Here')-5 b(s)-57 3076 y(one)20 b(that')-5 b(s)20 b(suitable)g(when)g
(b)n(uilding)f(a)h(Hask)o(ell)h(COM)g(serv)o(er)e(DLL:)-128
3143 y
SDict begin H.S end
-128 3143 a -128 3143 a
SDict begin 12 H.A end
-128 3143 a -128 3143
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-586) cvn H.B /DEST pdfmark end
-128 3143 a 0.95 TeXcolorgray -82 3159 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3250 25 92 v Black 0.95 TeXcolorgray
-57 3250 4182 92 v Black 0.95 TeXcolorgray 4124 3250
25 92 v Black 0.95 TeXcolorgray Black -57 3223 a
SDict begin H.S end
-57
3223 a -57 3223 a
SDict begin 11 H.A end
-57 3223 a -57 3223 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-586.1) cvn H.B /DEST pdfmark end
-57 3223 a 0 0 0
TeXcolorrgb Fo(EXPORTS)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 3341 25 92 v Black 0.95 TeXcolorgray
-57 3341 4182 92 v Black 0.95 TeXcolorgray 4124 3341
25 92 v Black 0.95 TeXcolorgray Black -57 3314 a
SDict begin H.S end
-57
3314 a -57 3314 a
SDict begin 11 H.A end
-57 3314 a -57 3314 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-586.2) cvn H.B /DEST pdfmark end
-57 3314 a 0 0 0
TeXcolorrgb 45 w Fo(DllCanUnloadNow)p Black 221 w(=)p
0 0 0 TeXcolorrgb 45 w(DllCanUnloadNow@0)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3433 25 92 v
Black 0.95 TeXcolorgray -57 3433 4182 92 v Black 0.95
TeXcolorgray 4124 3433 25 92 v Black 0.95 TeXcolorgray
Black -57 3405 a
SDict begin H.S end
-57 3405 a -57 3405 a
SDict begin 11 H.A end
-57 3405 a -57
3405 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-586.3) cvn H.B /DEST pdfmark end
-57 3405 a 0 0 0 TeXcolorrgb 45 w Fo(DllGetClassObject)p
Black 131 w(=)p 0 0 0 TeXcolorrgb 45 w(DllGetClassObject@12)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3524
25 92 v Black 0.95 TeXcolorgray -57 3524 4182 92 v Black
0.95 TeXcolorgray 4124 3524 25 92 v Black 0.95 TeXcolorgray
Black -57 3497 a
SDict begin H.S end
-57 3497 a -57 3497 a
SDict begin 11 H.A end
-57 3497 a -57
3497 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-586.4) cvn H.B /DEST pdfmark end
-57 3497 a 0 0 0 TeXcolorrgb 45 w Fo(DllRegisterServer)p
Black 131 w(=)p 0 0 0 TeXcolorrgb 45 w(DllRegisterServer@0)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3615
25 92 v Black 0.95 TeXcolorgray -57 3615 4182 92 v Black
0.95 TeXcolorgray 4124 3615 25 92 v Black 0.95 TeXcolorgray
Black -57 3588 a
SDict begin H.S end
-57 3588 a -57 3588 a
SDict begin 11 H.A end
-57 3588 a -57
3588 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-586.5) cvn H.B /DEST pdfmark end
-57 3588 a 0 0 0 TeXcolorrgb 45 w Fo(DllUnregisterServer)p
Black 41 w(=)p 0 0 0 TeXcolorrgb 45 w(DllUnregisterServer@0)p
Black 0.95 TeXcolorgray -82 3640 4232 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 3831 a FA(\225)p
Black 42 w(In)f(addition)g(to)h(creating)e(a)i(DLL,)g(the)g
Ft(-shared)f FA(option)f(also)i(creates)g(an)f(import)g(library)-5
b(.)23 b(The)18 b(import)g(library)g(name)g(is)h(deri)n(v)o(ed)e(from)h
(the)-57 3931 y(name)i(of)g(the)g(DLL,)g(as)h(follo)n(ws:)-128
3993 y
SDict begin H.S end
-128 3993 a -128 3993 a
SDict begin 12 H.A end
-128 3993 a -128 3993
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-587) cvn H.B /DEST pdfmark end
-128 3993 a 0.95 TeXcolorgray -82 4014 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 4105 25 92 v Black 0.95 TeXcolorgray
-57 4105 4182 92 v Black 0.95 TeXcolorgray 4124 4105
25 92 v Black 0.95 TeXcolorgray Black -57 4078 a
SDict begin H.S end
-57
4078 a -57 4078 a
SDict begin 11 H.A end
-57 4078 a -57 4078 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-587.1) cvn H.B /DEST pdfmark end
-57 4078 a 0 0 0
TeXcolorrgb Fo(DLL)p Black(:)p 0 0 0 TeXcolorrgb 44 w(HScool)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(dll)p Black 89 w(==>)p
0 0 0 TeXcolorrgb 44 w(import)p Black 0 0 0 TeXcolorrgb
44 w(lib)p Black(:)p 0 0 0 TeXcolorrgb 44 w(libHScool)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(dll)p Black -1 w(.)p
0 0 0 TeXcolorrgb(a)p Black 0.95 TeXcolorgray -82 4130
4232 25 v Black 0.95 TeXcolorgray Black Black Black -57
4288 a FA(The)f(naming)f(scheme)h(may)g(look)f(a)i(bit)g(weird,)e(b)n
(ut)i(it)g(has)g(the)f(purpose)f(of)h(allo)n(wing)f(the)i(co-e)o
(xistence)d(of)i(import)g(libraries)g(with)g(ordinary)-57
4387 y(static)k(libraries)e(\(e.g.,)h Ft(libHSfoo.a)e
FA(and)i Ft(libHSfoo.dll.a)p FA(.)31 b(Additionally)-5
b(,)21 b(when)h(the)h(compiler)f(dri)n(v)o(er)f(is)j(linking)e(in)h
(non-static)-57 4487 y(mode,)18 b(it)i(will)g(re)n(write)f(occurrence)e
(of)i Ft(-lHSfoo)g FA(on)g(the)g(command)f(line)h(to)g
Ft(-lHSfoo.dll)p FA(.)24 b(By)19 b(doing)f(this)i(for)f(you,)f
(switching)h(from)-57 4587 y(non-static)g(to)i(static)g(linking)e(is)i
(simply)f(a)g(question)f(of)h(adding)f Ft(-static)g FA(to)i(your)e
(command)f(line.)-128 4721 y
SDict begin H.S end
-128 4721 a -128 4721 a
SDict begin 12 H.A end
-128 4721 a -128 4721 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.11.6.2) cvn H.B /DEST pdfmark end
-128 4721 a Black 148 x Fp(11.6.2)p
Black 89 w(Making)24 b(DLLs)g(to)h(be)f(called)h(fr)n(om)f(other)g
(langua)o(g)q(es)-128 4957 y
SDict begin H.S end
-128 4957 a -128 4957 a
SDict begin 12 H.A end
-128 4957 a -128 4957 a
SDict begin [ /View [/XYZ H.V] /Dest (win32-dlls-foreign) cvn H.B /DEST pdfmark end
-128 4957 a 115 x FA(If)h(you)g(w)o(ant)g(to)g
(package)f(up)g(Hask)o(ell)i(code)e(to)h(be)h(called)e(from)g(other)h
(languages,)f(such)h(as)h(V)-5 b(isual)26 b(Basic)g(or)e(C++,)j(there)e
(are)g(some)g(e)o(xtra)-128 5171 y(things)h(it)h(is)g(useful)e(to)h
(kno)n(w)-5 b(.)41 b(This)26 b(is)h(a)g(special)f(case)g(of)g(Section)p
1 0 0 TeXcolorrgb 1936 5172 a
SDict begin H.S end
1936 5172 a 1 0 0 TeXcolorrgb
-1 x FA(8.2.1.2)p 1 0 0 TeXcolorrgb 2164 5115 a
SDict begin H.R end
2164
5115 a 2164 5171 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.8.2.1.2) cvn H.B /ANN pdfmark end
2164 5171 a Black FA(;)j(we')o(ll)e(deal)f(with)g
(the)g(DLL-speci\002c)f(issues)i(that)f(arise)g(belo)n(w)-5
b(.)-128 5271 y(Here')g(s)21 b(an)f(e)o(xample:)p Black
-128 5504 a(\225)p Black 42 w(Use)h Ft(foreign)48 b(export)20
b FA(declarations)f(to)h(e)o(xport)f(the)h(Hask)o(ell)h(functions)d
(you)i(w)o(ant)g(to)g(call)h(from)e(the)h(outside.)25
b(F)o(or)20 b(e)o(xample,)p Black -128 6084 4252 5 v
Black eop end
%%Page: 210 225
TeXDict begin 210 224 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.210) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(210)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-588) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-588.1) cvn H.B /DEST pdfmark end
-57 237 a 0 0 0 TeXcolorrgb
Fo(module)p Black 0 0 0 TeXcolorrgb 44 w(Adder)p Black
0 0 0 TeXcolorrgb 44 w(where)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 356 25 92 v Black 0.95 TeXcolorgray
-57 356 4182 92 v Black 0.95 TeXcolorgray 4124 356 25
92 v Black 0.95 TeXcolorgray Black -57 328 a
SDict begin H.S end
-57 328
a -57 328 a
SDict begin 11 H.A end
-57 328 a -57 328 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-588.2) cvn H.B /DEST pdfmark end
-57 328 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 447 25 92 v Black 0.95 TeXcolorgray
-57 447 4182 92 v Black 0.95 TeXcolorgray 4124 447 25
92 v Black 0.95 TeXcolorgray Black -57 420 a
SDict begin H.S end
-57 420
a -57 420 a
SDict begin 11 H.A end
-57 420 a -57 420 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-588.3) cvn H.B /DEST pdfmark end
-57 420 a 0 0 0 TeXcolorrgb
Fo(adder)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(IO)p Black 0 0 0 TeXcolorrgb
45 w(Int)p Black 89 w(--)p 0 0 0 TeXcolorrgb 44 w(gratuitous)p
Black 0 0 0 TeXcolorrgb 43 w(use)p Black 0 0 0 TeXcolorrgb
45 w(of)p Black 0 0 0 TeXcolorrgb 44 w(IO)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 538 25 92 v
Black 0.95 TeXcolorgray -57 538 4182 92 v Black 0.95
TeXcolorgray 4124 538 25 92 v Black 0.95 TeXcolorgray
Black -57 511 a
SDict begin H.S end
-57 511 a -57 511 a
SDict begin 11 H.A end
-57 511 a -57 511
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-588.4) cvn H.B /DEST pdfmark end
-57 511 a 0 0 0 TeXcolorrgb Fo(adder)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb 45 w(y)p
Black 44 w(=)p 0 0 0 TeXcolorrgb 45 w(return)p Black
44 w(\()p 0 0 0 TeXcolorrgb(x)p Black -1 w(+)p 0 0 0
TeXcolorrgb(y)p Black(\))p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 630 25 92 v Black 0.95 TeXcolorgray
-57 630 4182 92 v Black 0.95 TeXcolorgray 4124 630 25
92 v Black 0.95 TeXcolorgray Black -57 602 a
SDict begin H.S end
-57 602
a -57 602 a
SDict begin 11 H.A end
-57 602 a -57 602 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-588.5) cvn H.B /DEST pdfmark end
-57 602 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 721 25 92 v Black 0.95 TeXcolorgray
-57 721 4182 92 v Black 0.95 TeXcolorgray 4124 721 25
92 v Black 0.95 TeXcolorgray Black -57 694 a
SDict begin H.S end
-57 694
a -57 694 a
SDict begin 11 H.A end
-57 694 a -57 694 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-588.6) cvn H.B /DEST pdfmark end
-57 694 a 0 0 0 TeXcolorrgb
Fo(foreign)p Black 0 0 0 TeXcolorrgb 44 w(export)p Black
0 0 0 TeXcolorrgb 43 w(stdcall)p Black 0 0 0 TeXcolorrgb
44 w(adder)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Int)p
Black 44 w(->)p 0 0 0 TeXcolorrgb 44 w(Int)p Black 45
w(->)p 0 0 0 TeXcolorrgb 44 w(IO)p Black 0 0 0 TeXcolorrgb
45 w(Int)p Black 0.95 TeXcolorgray -82 746 4232 25 v
Black 0.95 TeXcolorgray Black Black Black Black -128
937 a FA(\225)p Black 42 w(Compile)g(it)h(up:)-128 1005
y
SDict begin H.S end
-128 1005 a -128 1005 a
SDict begin 12 H.A end
-128 1005 a -128 1005 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-589) cvn H.B /DEST pdfmark end
-128
1005 a 0.95 TeXcolorgray -82 1020 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1111 25 92 v Black 0.95 TeXcolorgray -57 1111 4182
92 v Black 0.95 TeXcolorgray 4124 1111 25 92 v Black
0.95 TeXcolorgray Black -57 1084 a
SDict begin H.S end
-57 1084 a -57 1084
a
SDict begin 11 H.A end
-57 1084 a -57 1084 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-589.1) cvn H.B /DEST pdfmark end
-57 1084 a 0 0 0 TeXcolorrgb
Fo(ghc)p Black 44 w(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0
TeXcolorrgb 45 w(adder)p Black -1 w(.)p 0 0 0 TeXcolorrgb(hs)p
Black 44 w(-)p 0 0 0 TeXcolorrgb(fglasgow)p Black -1
w(-)p 0 0 0 TeXcolorrgb(exts)p Black 0.95 TeXcolorgray
-82 1136 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 1294 a FA(This)f(will)h(produce)d(tw)o(o)j(\002les,)g(adder)
-5 b(.o)19 b(and)g(adder_stub)m(.o)p Black -128 1460
a(\225)p Black 42 w(compile)g(up)h(a)h Ft(DllMain\(\))e
FA(that)h(starts)h(up)f(the)g(Hask)o(ell)h(R)-5 b(TS-\226\226a)19
b(possible)h(implementation)e(is:)-128 1528 y
SDict begin H.S end
-128 1528
a -128 1528 a
SDict begin 12 H.A end
-128 1528 a -128 1528 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-590) cvn H.B /DEST pdfmark end
-128 1528 a 0.95
TeXcolorgray -82 1543 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1634
25 92 v Black 0.95 TeXcolorgray -57 1634 4182 92 v Black
0.95 TeXcolorgray 4124 1634 25 92 v Black 0.95 TeXcolorgray
Black -57 1607 a
SDict begin H.S end
-57 1607 a -57 1607 a
SDict begin 11 H.A end
-57 1607 a -57
1607 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.1) cvn H.B /DEST pdfmark end
-57 1607 a Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(<)p 0 0 0 TeXcolorrgb -1 w(windows)p Black
-1 w(.)p 0 0 0 TeXcolorrgb(h)p Black(>)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 1726 25 92 v Black 0.95 TeXcolorgray
-57 1726 4182 92 v Black 0.95 TeXcolorgray 4124 1726
25 92 v Black 0.95 TeXcolorgray Black -57 1698 a
SDict begin H.S end
-57
1698 a -57 1698 a
SDict begin 11 H.A end
-57 1698 a -57 1698 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.2) cvn H.B /DEST pdfmark end
-57 1698 a Fo(#)p
0 0 0 TeXcolorrgb(include)p Black 44 w(<)p 0 0 0 TeXcolorrgb
-1 w(Rts)p Black(.)p 0 0 0 TeXcolorrgb(h)p Black -1 w(>)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1817 25
92 v Black 0.95 TeXcolorgray -57 1817 4182 92 v Black
0.95 TeXcolorgray 4124 1817 25 92 v Black 0.95 TeXcolorgray
Black -57 1790 a
SDict begin H.S end
-57 1790 a -57 1790 a
SDict begin 11 H.A end
-57 1790 a -57
1790 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.3) cvn H.B /DEST pdfmark end
-57 1790 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1908 25 92 v Black 0.95 TeXcolorgray -57 1908 4182
92 v Black 0.95 TeXcolorgray 4124 1908 25 92 v Black
0.95 TeXcolorgray Black -57 1881 a
SDict begin H.S end
-57 1881 a -57 1881
a
SDict begin 11 H.A end
-57 1881 a -57 1881 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.4) cvn H.B /DEST pdfmark end
-57 1881 a 0 0 0 TeXcolorrgb
Fo(extern)p Black 0 0 0 TeXcolorrgb 44 w(void)p Black
0 0 0 TeXcolorrgb 44 w(__stginit_Adder)p Black -3 w(\()p
0 0 0 TeXcolorrgb(void)p Black(\))o(;)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 2000 25 92 v Black 0.95 TeXcolorgray
-57 2000 4182 92 v Black 0.95 TeXcolorgray 4124 2000
25 92 v Black 0.95 TeXcolorgray Black -57 1972 a
SDict begin H.S end
-57
1972 a -57 1972 a
SDict begin 11 H.A end
-57 1972 a -57 1972 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.5) cvn H.B /DEST pdfmark end
-57 1972 a 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 2091 25 92 v
Black 0.95 TeXcolorgray -57 2091 4182 92 v Black 0.95
TeXcolorgray 4124 2091 25 92 v Black 0.95 TeXcolorgray
Black -57 2064 a
SDict begin H.S end
-57 2064 a -57 2064 a
SDict begin 11 H.A end
-57 2064 a -57
2064 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.6) cvn H.B /DEST pdfmark end
-57 2064 a 0 0 0 TeXcolorrgb Fo(static)p Black
0 0 0 TeXcolorrgb 44 w(char)p Black 436 2077 a(*)p 0 0 0
TeXcolorrgb 526 2064 a(args)p Black -1 w([])45 b(=)f({)h(")p
0 0 0 TeXcolorrgb(ghcDll)p Black -1 w(",)p 0 0 0 TeXcolorrgb
44 w(NULL)p Black 44 w(};)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 2182 25 92 v Black 0.95 TeXcolorgray
-57 2182 4182 92 v Black 0.95 TeXcolorgray 4124 2182
25 92 v Black 0.95 TeXcolorgray Black -57 2155 a
SDict begin H.S end
-57
2155 a -57 2155 a
SDict begin 11 H.A end
-57 2155 a -57 2155 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.7) cvn H.B /DEST pdfmark end
-57 2155 a 1031
w Fo(/)1019 2168 y(*)p 0 0 0 TeXcolorrgb 1109 2155 a(N)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(B)p Black(.)p 0 0 0
TeXcolorrgb 45 w(argv)p Black 0 0 0 TeXcolorrgb 44 w(arrays)p
Black 0 0 0 TeXcolorrgb 44 w(must)p Black 0 0 0 TeXcolorrgb
44 w(end)p Black 0 0 0 TeXcolorrgb 44 w(with)p Black
0 0 0 TeXcolorrgb 44 w(NULL)p Black 2723 2168 a(*)2768
2155 y(/)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2274 25 92 v Black 0.95 TeXcolorgray -57 2274 4182
92 v Black 0.95 TeXcolorgray 4124 2274 25 92 v Black
0.95 TeXcolorgray Black -57 2246 a
SDict begin H.S end
-57 2246 a -57 2246
a
SDict begin 11 H.A end
-57 2246 a -57 2246 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.8) cvn H.B /DEST pdfmark end
-57 2246 a 0 0 0 TeXcolorrgb
Fo(BOOL)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2365 25 92 v Black 0.95 TeXcolorgray -57 2365 4182
92 v Black 0.95 TeXcolorgray 4124 2365 25 92 v Black
0.95 TeXcolorgray Black -57 2338 a
SDict begin H.S end
-57 2338 a -57 2338
a
SDict begin 11 H.A end
-57 2338 a -57 2338 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.9) cvn H.B /DEST pdfmark end
-57 2338 a 0 0 0 TeXcolorrgb
Fo(STDCALL)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2456 25 92 v Black 0.95 TeXcolorgray -57 2456 4182
92 v Black 0.95 TeXcolorgray 4124 2456 25 92 v Black
0.95 TeXcolorgray Black -57 2429 a
SDict begin H.S end
-57 2429 a -57 2429
a
SDict begin 11 H.A end
-57 2429 a -57 2429 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.10) cvn H.B /DEST pdfmark end
-57 2429 a 0 0 0 TeXcolorrgb
Fo(DllMain)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2548 25 92 v Black 0.95 TeXcolorgray -57 2548 4182
92 v Black 0.95 TeXcolorgray 4124 2548 25 92 v Black
0.95 TeXcolorgray Black -57 2520 a
SDict begin H.S end
-57 2520 a -57 2520
a
SDict begin 11 H.A end
-57 2520 a -57 2520 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.11) cvn H.B /DEST pdfmark end
-57 2520 a 135 w Fo(\()p 0 0 0
TeXcolorrgb 44 w(HANDLE)p Black 0 0 0 TeXcolorrgb 44
w(hModule)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 2639 25 92 v Black 0.95 TeXcolorgray -57 2639 4182
92 v Black 0.95 TeXcolorgray 4124 2639 25 92 v Black
0.95 TeXcolorgray Black -57 2612 a
SDict begin H.S end
-57 2612 a -57 2612
a
SDict begin 11 H.A end
-57 2612 a -57 2612 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.12) cvn H.B /DEST pdfmark end
-57 2612 a 135 w Fo(,)p 0 0 0
TeXcolorrgb 44 w(DWORD)p Black 0 0 0 TeXcolorrgb 44 w(reason)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2730
25 92 v Black 0.95 TeXcolorgray -57 2730 4182 92 v Black
0.95 TeXcolorgray 4124 2730 25 92 v Black 0.95 TeXcolorgray
Black -57 2703 a
SDict begin H.S end
-57 2703 a -57 2703 a
SDict begin 11 H.A end
-57 2703 a -57
2703 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.13) cvn H.B /DEST pdfmark end
-57 2703 a 135 w Fo(,)p 0 0 0 TeXcolorrgb 44 w(void)p
Black 13 x(*)p 0 0 0 TeXcolorrgb 436 2703 a(reserved)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 2822
25 92 v Black 0.95 TeXcolorgray -57 2822 4182 92 v Black
0.95 TeXcolorgray 4124 2822 25 92 v Black 0.95 TeXcolorgray
Black -57 2794 a
SDict begin H.S end
-57 2794 a -57 2794 a
SDict begin 11 H.A end
-57 2794 a -57
2794 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.14) cvn H.B /DEST pdfmark end
-57 2794 a 135 w Fo(\))p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -82 2913 25 92 v Black 0.95 TeXcolorgray
-57 2913 4182 92 v Black 0.95 TeXcolorgray 4124 2913
25 92 v Black 0.95 TeXcolorgray Black -57 2886 a
SDict begin H.S end
-57
2886 a -57 2886 a
SDict begin 11 H.A end
-57 2886 a -57 2886 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.15) cvn H.B /DEST pdfmark end
-57 2886 a Fo({)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 3004 25
92 v Black 0.95 TeXcolorgray -57 3004 4182 92 v Black
0.95 TeXcolorgray 4124 3004 25 92 v Black 0.95 TeXcolorgray
Black -57 2977 a
SDict begin H.S end
-57 2977 a -57 2977 a
SDict begin 11 H.A end
-57 2977 a -57
2977 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.16) cvn H.B /DEST pdfmark end
-57 2977 a 0 0 0 TeXcolorrgb 90 w Fo(if)p Black
44 w(\()p 0 0 0 TeXcolorrgb(reason)p Black 44 w(==)p
0 0 0 TeXcolorrgb 44 w(DLL_PROCESS_ATTACH)p Black -3
w(\))g({)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 3096 25 92 v Black 0.95 TeXcolorgray -57 3096 4182
92 v Black 0.95 TeXcolorgray 4124 3096 25 92 v Black
0.95 TeXcolorgray Black -57 3068 a
SDict begin H.S end
-57 3068 a -57 3068
a
SDict begin 11 H.A end
-57 3068 a -57 3068 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.17) cvn H.B /DEST pdfmark end
-57 3068 a 269 w Fo(/)257 3081
y(*)p 0 0 0 TeXcolorrgb 347 3068 a(By)p Black 0 0 0 TeXcolorrgb
44 w(now)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(the)p
Black 0 0 0 TeXcolorrgb 44 w(RTS)p Black 0 0 0 TeXcolorrgb
45 w(DLL)p Black 0 0 0 TeXcolorrgb 44 w(should)p Black
0 0 0 TeXcolorrgb 44 w(have)p Black 0 0 0 TeXcolorrgb
44 w(been)p Black 0 0 0 TeXcolorrgb 44 w(hoisted)p Black
0 0 0 TeXcolorrgb 44 w(in)p Black(,)p 0 0 0 TeXcolorrgb
44 w(but)p Black 0 0 0 TeXcolorrgb 45 w(we)p Black 0 0 0
TeXcolorrgb 44 w(need)p Black 0 0 0 TeXcolorrgb 44 w(to)p
Black 0 0 0 TeXcolorrgb 45 w(start)p Black 0 0 0 TeXcolorrgb
44 w(it)p Black 0 0 0 TeXcolorrgb 44 w(up)p Black(.)3799
3081 y(*)3844 3068 y(/)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3187 25 92 v Black 0.95 TeXcolorgray
-57 3187 4182 92 v Black 0.95 TeXcolorgray 4124 3187
25 92 v Black 0.95 TeXcolorgray Black -57 3160 a
SDict begin H.S end
-57
3160 a -57 3160 a
SDict begin 11 H.A end
-57 3160 a -57 3160 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.18) cvn H.B /DEST pdfmark end
-57 3160 a 0 0 0
TeXcolorrgb 269 w Fo(startupHaskell)p Black -2 w(\(1,)p
0 0 0 TeXcolorrgb 44 w(args)p Black -1 w(,)p 0 0 0 TeXcolorrgb
45 w(__stginit_Adder)p Black -3 w(\);)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 3278 25 92 v Black 0.95 TeXcolorgray
-57 3278 4182 92 v Black 0.95 TeXcolorgray 4124 3278
25 92 v Black 0.95 TeXcolorgray Black -57 3251 a
SDict begin H.S end
-57
3251 a -57 3251 a
SDict begin 11 H.A end
-57 3251 a -57 3251 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.19) cvn H.B /DEST pdfmark end
-57 3251 a 0 0 0
TeXcolorrgb 269 w Fo(return)p Black 0 0 0 TeXcolorrgb
44 w(TRUE)p Black -1 w(;)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 3370 25 92 v Black 0.95 TeXcolorgray
-57 3370 4182 92 v Black 0.95 TeXcolorgray 4124 3370
25 92 v Black 0.95 TeXcolorgray Black -57 3342 a
SDict begin H.S end
-57
3342 a -57 3342 a
SDict begin 11 H.A end
-57 3342 a -57 3342 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.20) cvn H.B /DEST pdfmark end
-57 3342 a 90
w Fo(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82
3461 25 92 v Black 0.95 TeXcolorgray -57 3461 4182 92
v Black 0.95 TeXcolorgray 4124 3461 25 92 v Black 0.95
TeXcolorgray Black -57 3433 a
SDict begin H.S end
-57 3433 a -57 3433 a
SDict begin 11 H.A end
-57
3433 a -57 3433 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.21) cvn H.B /DEST pdfmark end
-57 3433 a 0 0 0 TeXcolorrgb 90 w Fo(return)p
Black 0 0 0 TeXcolorrgb 44 w(TRUE)p Black -1 w(;)p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3552 25 92 v
Black 0.95 TeXcolorgray -57 3552 4182 92 v Black 0.95
TeXcolorgray 4124 3552 25 92 v Black 0.95 TeXcolorgray
Black -57 3525 a
SDict begin H.S end
-57 3525 a -57 3525 a
SDict begin 11 H.A end
-57 3525 a -57
3525 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-590.22) cvn H.B /DEST pdfmark end
-57 3525 a Fo(})p 0.95 TeXcolorgray -82 3577 4232
25 v Black 0.95 TeXcolorgray Black Black Black -57 3735
a FA(Here,)21 b Ft(Adder)f FA(is)i(the)f(name)f(of)g(the)h(root)f
(module)g(in)h(the)g(module)e(tree)i(\(as)g(mentioned)e(abo)o(v)o(e,)g
(there)h(must)h(be)g(a)g(single)g(root)f(module,)g(and)-57
3834 y(hence)f(a)i(single)f(module)f(tree)h(in)g(the)h(DLL\).)e
(Compile)h(this)h(up:)-128 3902 y
SDict begin H.S end
-128 3902 a -128 3902
a
SDict begin 12 H.A end
-128 3902 a -128 3902 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-591) cvn H.B /DEST pdfmark end
-128 3902 a 0.95 TeXcolorgray
-82 3917 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4009 25 92 v
Black 0.95 TeXcolorgray -57 4009 4182 92 v Black 0.95
TeXcolorgray 4124 4009 25 92 v Black 0.95 TeXcolorgray
Black -57 3981 a
SDict begin H.S end
-57 3981 a -57 3981 a
SDict begin 11 H.A end
-57 3981 a -57
3981 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-591.1) cvn H.B /DEST pdfmark end
-57 3981 a 0 0 0 TeXcolorrgb Fo(ghc)p Black 44
w(-)p 0 0 0 TeXcolorrgb(c)p Black 0 0 0 TeXcolorrgb 45
w(dllMain)p Black -1 w(.)p 0 0 0 TeXcolorrgb -1 w(c)p
Black 0.95 TeXcolorgray -82 4034 4232 25 v Black 0.95
TeXcolorgray Black Black Black Black -128 4225 a FA(\225)p
Black 42 w(Construct)f(the)g(DLL:)-128 4275 y
SDict begin H.S end
-128 4275
a -128 4275 a
SDict begin 12 H.A end
-128 4275 a -128 4275 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-592) cvn H.B /DEST pdfmark end
-128 4275 a 0.95
TeXcolorgray -82 4308 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4399
25 92 v Black 0.95 TeXcolorgray -57 4399 4182 92 v Black
0.95 TeXcolorgray 4124 4399 25 92 v Black 0.95 TeXcolorgray
Black -57 4372 a
SDict begin H.S end
-57 4372 a -57 4372 a
SDict begin 11 H.A end
-57 4372 a -57
4372 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-592.1) cvn H.B /DEST pdfmark end
-57 4372 a 0 0 0 TeXcolorrgb Fo(ghc)p Black 44
w(-)p 0 0 0 TeXcolorrgb(shared)p Black 44 w(-)p 0 0 0
TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(adder)p
Black(.)p 0 0 0 TeXcolorrgb -1 w(dll)p Black 0 0 0 TeXcolorrgb
45 w(adder)p Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p Black
0 0 0 TeXcolorrgb 44 w(adder_stub)p Black -1 w(.)p 0 0 0
TeXcolorrgb(o)p Black 0 0 0 TeXcolorrgb 44 w(dllMain)p
Black -1 w(.)p 0 0 0 TeXcolorrgb(o)p Black 0.95 TeXcolorgray
-82 4424 4232 25 v Black 0.95 TeXcolorgray Black Black
Black Black -128 4615 a FA(\225)p Black 42 w(Start)h(using)e
Ft(adder)h FA(from)f(VB)m(A-\226\226here')-5 b(s)19 b(ho)n(w)h(I)g(w)o
(ould)g Ft(Declare)f FA(it:)-128 4683 y
SDict begin H.S end
-128 4683 a -128
4683 a
SDict begin 12 H.A end
-128 4683 a -128 4683 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-593) cvn H.B /DEST pdfmark end
-128 4683 a 0.95 TeXcolorgray
-82 4698 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4789 25 92 v
Black 0.95 TeXcolorgray -57 4789 4182 92 v Black 0.95
TeXcolorgray 4124 4789 25 92 v Black 0.95 TeXcolorgray
Black -57 4762 a
SDict begin H.S end
-57 4762 a -57 4762 a
SDict begin 11 H.A end
-57 4762 a -57
4762 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-593.1) cvn H.B /DEST pdfmark end
-57 4762 a 0 0 0 TeXcolorrgb Fo(Private)p Black
0 0 0 TeXcolorrgb 44 w(Declare)p Black 0 0 0 TeXcolorrgb
43 w(Function)p Black 0 0 0 TeXcolorrgb 44 w(adder)p
Black 0 0 0 TeXcolorrgb 44 w(Lib)p Black 44 w(")p 0 0 0
TeXcolorrgb(adder)p Black -1 w(.)p 0 0 0 TeXcolorrgb(dll)p
Black -1 w(")p 0 0 0 TeXcolorrgb 45 w(Alias)p Black 44
w(")p 0 0 0 TeXcolorrgb(adder@8)p Black -1 w(")p 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4881 25 92 v
Black 0.95 TeXcolorgray -57 4881 4182 92 v Black 0.95
TeXcolorgray 4124 4881 25 92 v Black 0.95 TeXcolorgray
Black -57 4853 a
SDict begin H.S end
-57 4853 a -57 4853 a
SDict begin 11 H.A end
-57 4853 a -57
4853 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-593.2) cvn H.B /DEST pdfmark end
-57 4853 a 269 w Fo(\()p 0 0 0 TeXcolorrgb(ByVal)p
Black 0 0 0 TeXcolorrgb 44 w(x)p Black 0 0 0 TeXcolorrgb
44 w(As)p Black 0 0 0 TeXcolorrgb 45 w(Long)p Black -1
w(,)p 0 0 0 TeXcolorrgb 45 w(ByVal)p Black 0 0 0 TeXcolorrgb
44 w(y)p Black 0 0 0 TeXcolorrgb 45 w(As)p Black 0 0 0
TeXcolorrgb 44 w(Long)p Black -1 w(\))p 0 0 0 TeXcolorrgb
45 w(As)p Black 0 0 0 TeXcolorrgb 45 w(Long)p Black 0.95
TeXcolorgray -82 4905 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 5063 a FA(Since)h(this)h(Hask)o(ell)g(DLL)f
(depends)e(on)i(a)h(couple)e(of)h(the)g(DLLs)h(that)f(come)f(with)i
(GHC,)g(mak)o(e)e(sure)h(that)h(the)o(y)e(are)h(in)h(scope/visible.)-57
5196 y(Building)i(statically)g(link)o(ed)g(DLLs)h(is)g(the)g(same)f(as)
i(in)e(the)h(pre)n(vious)d(section:)32 b(it)24 b(suf)n(\002ces)g(to)f
(add)g Ft(-static)g FA(to)g(the)h(commands)e(used)h(to)-57
5296 y(compile)c(up)h(the)g(Hask)o(ell)h(source)e(and)h(b)n(uild)g(the)
g(DLL.)p Black -128 6084 4252 5 v Black eop end
%%Page: 211 226
TeXDict begin 211 225 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.211) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(211)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.11.6.3) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(11.6.3)p
Black 89 w(Be)o(ware)k(of)g(DllMain\(\)!)-128 376 y FA(The)g(body)f(of)
h(a)h Ft(DllMain\(\))e FA(function)f(is)j(an)f(e)o(xtremely)f
(dangerous)f(place!)36 b(This)25 b(is)g(because)e(the)i(order)e(in)h
(which)f(DLLs)i(are)f(unloaded)-128 476 y(when)f(a)h(process)e(is)i
(terminating)e(is)i(unspeci\002ed.)33 b(This)23 b(means)g(that)g(the)g
Ft(DllMain\(\))f FA(for)h(your)f(DLL)h(may)g(be)g(called)g(when)f
(other)h(DLLs)-128 575 y(containing)j(functions)g(that)i(you)e(call)i
(when)f(de-initializing)f(your)g(DLL)i(ha)n(v)o(e)f(already)f(been)h
(unloaded.)45 b(In)27 b(other)f(w)o(ords,)j(you)e(can')o(t)f(put)-128
675 y(shutdo)n(wn)c(code)h(inside)g Ft(DllMain\(\))p
FA(,)g(unless)g(your)f(shutdo)n(wn)g(code)h(only)f(requires)g(use)i(of)
f(certain)g(functions)f(which)g(are)i(guaranteed)d(to)-128
775 y(be)g(a)n(v)n(ailable)e(\(see)i(the)f(Platform)f(SDK)i(docs)f(for)
g(more)f(info\).)-128 924 y(In)28 b(particular)m(,)f(if)h(you)e(are)h
(writing)g(a)h(DLL)f(that')-5 b(s)28 b(statically)g(link)o(ed)f(with)g
(Hask)o(ell,)i(it)g(is)f(not)f(safe)h(to)f(call)h Ft(hs_exit\(\))e
FA(from)h Ft(DllMa-)-128 1024 y(in\(\))p FA(,)j(since)f
Ft(hs_exit\(\))e FA(may)h(mak)o(e)g(use)h(of)f(other)g(DLLs)g(\(see)h
(also)g(Section)p 1 0 0 TeXcolorrgb 2444 1025 a
SDict begin H.S end
2444
1025 a 1 0 0 TeXcolorrgb -1 x FA(8.2.1.3)p 1 0 0 TeXcolorrgb
2672 968 a
SDict begin H.R end
2672 968 a 2672 1024 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.8.2.1.3) cvn H.B /ANN pdfmark end
2672 1024 a Black FA(\).)50
b(What')-5 b(s)29 b(more,)h(if)e(you)g(w)o(ait)h(until)f(program)-128
1123 y(shutdo)n(wn)d(to)h(e)o(x)o(ecute)f(your)g(deinitialisation)g
(code,)i(W)m(indo)n(ws)e(will)i(ha)n(v)o(e)f(terminated)f(all)h(the)h
(threads)e(in)h(your)f(program)f(e)o(xcept)h(the)i(one)-128
1223 y(calling)20 b Ft(DllMain\(\))p FA(,)f(which)h(can)g(cause)g(e)n
(v)o(en)f(more)g(problems.)-128 1373 y(A)i(solution)e(is)i(to)f(al)o(w)
o(ays)g(e)o(xport)f Ft(Begin\(\))g FA(and)h Ft(End\(\))f
FA(functions)g(from)g(your)f(DLL,)i(and)f(call)i(these)f(from)f(the)h
(application)e(that)i(uses)h(the)-128 1472 y(DLL,)f(so)h(that)f(you)f
(can)h(be)h(sure)f(that)g(all)h(DLLs)f(needed)f(by)h(an)o(y)f(shutdo)n
(wn)g(code)g(in)i(your)e(End\(\))f(function)h(are)h(a)n(v)n(ailable)g
(when)f(it)i(is)g(called.)-128 1622 y(The)j(follo)n(wing)d(e)o(xample)h
(is)j(untested)d(b)n(ut)i(illustrates)g(the)f(idea)g(\(please)g(let)h
(us)g(kno)n(w)f(if)g(you)g(\002nd)g(problems)f(with)i(this)g(e)o
(xample)e(or)h(ha)n(v)o(e)g(a)-128 1721 y(better)i(one\).)38
b(Suppose)24 b(we)h(ha)n(v)o(e)f(a)i(DLL)f(called)f(Le)n(wis)i(which)e
(mak)o(es)h(use)g(of)f(2)h(Hask)o(ell)h(modules)d Ft(Bar)i
FA(and)g Ft(Zap)p FA(,)h(where)e Ft(Bar)h FA(imports)-128
1821 y Ft(Zap)19 b FA(and)g(is)h(therefore)d(the)i(root)f(module)f(in)i
(the)g(sense)h(of)e(Section)p 1 0 0 TeXcolorrgb 1879
1822 a
SDict begin H.S end
1879 1822 a 1 0 0 TeXcolorrgb -1 x FA(8.2.1.1)p
1 0 0 TeXcolorrgb 2107 1765 a
SDict begin H.R end
2107 1765 a 2107 1821 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsubsection.8.2.1.1) cvn H.B /ANN pdfmark end
2107 1821 a Black FA(.)25 b(Then)18 b(the)h(main)g(C++)g(unit)g(for)f
(the)h(DLL)g(w)o(ould)f(look)g(something)-128 1920 y(lik)o(e:)-128
1971 y
SDict begin H.S end
-128 1971 a -128 1971 a
SDict begin 12 H.A end
-128 1971 a -128 1971
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.11.-594) cvn H.B /DEST pdfmark end
-128 1971 a 0.95 TeXcolorgray -153 2003 4302 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 2095 25 92 v Black 0.95 TeXcolorgray
-128 2095 4252 92 v Black 0.95 TeXcolorgray 4124 2095
25 92 v Black 0.95 TeXcolorgray Black -128 2067 a
SDict begin H.S end
-128
2067 a -128 2067 a
SDict begin 11 H.A end
-128 2067 a -128 2067 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.1) cvn H.B /DEST pdfmark end
-128 2067
a 45 w Fo(//)p 0 0 0 TeXcolorrgb 45 w(Lewis)p Black -1
w(.)p 0 0 0 TeXcolorrgb(cpp)p Black 44 w(--)p 0 0 0 TeXcolorrgb
45 w(compiled)p Black 0 0 0 TeXcolorrgb 43 w(using)p
Black 0 0 0 TeXcolorrgb 44 w(GCC)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2186 25 92 v Black 0.95
TeXcolorgray -128 2186 4252 92 v Black 0.95 TeXcolorgray
4124 2186 25 92 v Black 0.95 TeXcolorgray Black -128
2159 a
SDict begin H.S end
-128 2159 a -128 2159 a
SDict begin 11 H.A end
-128 2159 a -128 2159
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.2) cvn H.B /DEST pdfmark end
-128 2159 a 45 w Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(<)p 0 0 0 TeXcolorrgb(Windows)p Black -2 w(.)p
0 0 0 TeXcolorrgb(h)p Black(>)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 2277 25 92 v Black 0.95 TeXcolorgray
-128 2277 4252 92 v Black 0.95 TeXcolorgray 4124 2277
25 92 v Black 0.95 TeXcolorgray Black -128 2250 a
SDict begin H.S end
-128
2250 a -128 2250 a
SDict begin 11 H.A end
-128 2250 a -128 2250 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.3) cvn H.B /DEST pdfmark end
-128 2250
a 45 w Fo(#)p 0 0 0 TeXcolorrgb(include)p Black 44 w(")p
0 0 0 TeXcolorrgb(HsFFI)p Black -1 w(.)p 0 0 0 TeXcolorrgb(h)p
Black -1 w(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2369 25 92 v Black 0.95 TeXcolorgray -128 2369 4252
92 v Black 0.95 TeXcolorgray 4124 2369 25 92 v Black
0.95 TeXcolorgray Black -128 2341 a
SDict begin H.S end
-128 2341 a -128
2341 a
SDict begin 11 H.A end
-128 2341 a -128 2341 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.4) cvn H.B /DEST pdfmark end
-128 2341 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2460 25 92 v Black 0.95
TeXcolorgray -128 2460 4252 92 v Black 0.95 TeXcolorgray
4124 2460 25 92 v Black 0.95 TeXcolorgray Black -128
2433 a
SDict begin H.S end
-128 2433 a -128 2433 a
SDict begin 11 H.A end
-128 2433 a -128 2433
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.5) cvn H.B /DEST pdfmark end
-128 2433 a 45 w Fo(#)p 0 0 0 TeXcolorrgb(define)p
Black 0 0 0 TeXcolorrgb 44 w(__LEWIS_DLL_EXPORT)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 2551 25
92 v Black 0.95 TeXcolorgray -128 2551 4252 92 v Black
0.95 TeXcolorgray 4124 2551 25 92 v Black 0.95 TeXcolorgray
Black -128 2524 a
SDict begin H.S end
-128 2524 a -128 2524 a
SDict begin 11 H.A end
-128 2524 a
-128 2524 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.6) cvn H.B /DEST pdfmark end
-128 2524 a 45 w Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(")p 0 0 0 TeXcolorrgb(Lewis)p Black -1 w(.)p
0 0 0 TeXcolorrgb(h)p Black -1 w(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2643 25 92 v Black 0.95
TeXcolorgray -128 2643 4252 92 v Black 0.95 TeXcolorgray
4124 2643 25 92 v Black 0.95 TeXcolorgray Black -128
2615 a
SDict begin H.S end
-128 2615 a -128 2615 a
SDict begin 11 H.A end
-128 2615 a -128 2615
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.7) cvn H.B /DEST pdfmark end
-128 2615 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 2734 25 92 v Black 0.95 TeXcolorgray -128 2734 4252
92 v Black 0.95 TeXcolorgray 4124 2734 25 92 v Black
0.95 TeXcolorgray Black -128 2707 a
SDict begin H.S end
-128 2707 a -128
2707 a
SDict begin 11 H.A end
-128 2707 a -128 2707 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.8) cvn H.B /DEST pdfmark end
-128 2707 a 45 w Fo(#)p
0 0 0 TeXcolorrgb(include)p Black 44 w(")p 0 0 0 TeXcolorrgb(Bar_stub)p
Black -2 w(.)p 0 0 0 TeXcolorrgb(h)p Black(")89 b(//)p
0 0 0 TeXcolorrgb 45 w(generated)p Black 0 0 0 TeXcolorrgb
43 w(by)p Black 0 0 0 TeXcolorrgb 45 w(GHC)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -153 2825 25 92
v Black 0.95 TeXcolorgray -128 2825 4252 92 v Black 0.95
TeXcolorgray 4124 2825 25 92 v Black 0.95 TeXcolorgray
Black -128 2798 a
SDict begin H.S end
-128 2798 a -128 2798 a
SDict begin 11 H.A end
-128 2798 a
-128 2798 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.9) cvn H.B /DEST pdfmark end
-128 2798 a 45 w Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(")p 0 0 0 TeXcolorrgb(Zap_stub)p Black -2
w(.)p 0 0 0 TeXcolorrgb(h)p Black(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 2917 25 92 v Black 0.95
TeXcolorgray -128 2917 4252 92 v Black 0.95 TeXcolorgray
4124 2917 25 92 v Black 0.95 TeXcolorgray Black -128
2889 a
SDict begin H.S end
-128 2889 a -128 2889 a
SDict begin 11 H.A end
-128 2889 a -128 2889
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.10) cvn H.B /DEST pdfmark end
-128 2889 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3008 25 92 v Black 0.95 TeXcolorgray -128 3008 4252
92 v Black 0.95 TeXcolorgray 4124 3008 25 92 v Black
0.95 TeXcolorgray Black -128 2981 a
SDict begin H.S end
-128 2981 a -128
2981 a
SDict begin 11 H.A end
-128 2981 a -128 2981 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.11) cvn H.B /DEST pdfmark end
-128 2981 a 0 0 0 TeXcolorrgb
45 w Fo(BOOL)p Black 0 0 0 TeXcolorrgb 44 w(APIENTRY)p
Black 0 0 0 TeXcolorrgb 44 w(DllMain)p Black -1 w(\()p
0 0 0 TeXcolorrgb 44 w(HANDLE)p Black 0 0 0 TeXcolorrgb
44 w(hModule)p Black -1 w(,)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3099 25 92 v Black 0.95 TeXcolorgray
-128 3099 4252 92 v Black 0.95 TeXcolorgray 4124 3099
25 92 v Black 0.95 TeXcolorgray Black -128 3072 a
SDict begin H.S end
-128
3072 a -128 3072 a
SDict begin 11 H.A end
-128 3072 a -128 3072 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.12) cvn H.B /DEST pdfmark end
-128 3072
a 0 0 0 TeXcolorrgb 1076 w Fo(DWORD)p Black 0 0 0 TeXcolorrgb
89 w(ul_reason_for_call)p Black -3 w(,)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3191 25 92 v Black 0.95
TeXcolorgray -128 3191 4252 92 v Black 0.95 TeXcolorgray
4124 3191 25 92 v Black 0.95 TeXcolorgray Black -128
3163 a
SDict begin H.S end
-128 3163 a -128 3163 a
SDict begin 11 H.A end
-128 3163 a -128 3163
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.13) cvn H.B /DEST pdfmark end
-128 3163 a 0 0 0 TeXcolorrgb 1076 w Fo(LPVOID)p Black
0 0 0 TeXcolorrgb 44 w(lpReserved)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3282 25 92 v Black 0.95
TeXcolorgray -128 3282 4252 92 v Black 0.95 TeXcolorgray
4124 3282 25 92 v Black 0.95 TeXcolorgray Black -128
3255 a
SDict begin H.S end
-128 3255 a -128 3255 a
SDict begin 11 H.A end
-128 3255 a -128 3255
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.14) cvn H.B /DEST pdfmark end
-128 3255 a 1032 w Fo(\))o({)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 3373 25 92 v Black 0.95 TeXcolorgray
-128 3373 4252 92 v Black 0.95 TeXcolorgray 4124 3373
25 92 v Black 0.95 TeXcolorgray Black -128 3346 a
SDict begin H.S end
-128
3346 a -128 3346 a
SDict begin 11 H.A end
-128 3346 a -128 3346 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.15) cvn H.B /DEST pdfmark end
-128 3346
a 0 0 0 TeXcolorrgb 135 w Fo(return)p Black 0 0 0 TeXcolorrgb
44 w(TRUE)p Black -1 w(;)p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 3465 25 92 v Black 0.95 TeXcolorgray
-128 3465 4252 92 v Black 0.95 TeXcolorgray 4124 3465
25 92 v Black 0.95 TeXcolorgray Black -128 3437 a
SDict begin H.S end
-128
3437 a -128 3437 a
SDict begin 11 H.A end
-128 3437 a -128 3437 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.16) cvn H.B /DEST pdfmark end
-128 3437
a 45 w Fo(})p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3556 25 92 v Black 0.95 TeXcolorgray -128 3556 4252
92 v Black 0.95 TeXcolorgray 4124 3556 25 92 v Black
0.95 TeXcolorgray Black -128 3529 a
SDict begin H.S end
-128 3529 a -128
3529 a
SDict begin 11 H.A end
-128 3529 a -128 3529 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.17) cvn H.B /DEST pdfmark end
-128 3529 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3647 25 92 v Black 0.95
TeXcolorgray -128 3647 4252 92 v Black 0.95 TeXcolorgray
4124 3647 25 92 v Black 0.95 TeXcolorgray Black -128
3620 a
SDict begin H.S end
-128 3620 a -128 3620 a
SDict begin 11 H.A end
-128 3620 a -128 3620
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.18) cvn H.B /DEST pdfmark end
-128 3620 a 0 0 0 TeXcolorrgb 45 w Fo(extern)p Black
44 w(")p 0 0 0 TeXcolorrgb(C)p Black("{)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 3739 25 92 v Black 0.95
TeXcolorgray -128 3739 4252 92 v Black 0.95 TeXcolorgray
4124 3739 25 92 v Black 0.95 TeXcolorgray Black -128
3711 a
SDict begin H.S end
-128 3711 a -128 3711 a
SDict begin 11 H.A end
-128 3711 a -128 3711
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.19) cvn H.B /DEST pdfmark end
-128 3711 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 3830 25 92 v Black 0.95 TeXcolorgray -128 3830 4252
92 v Black 0.95 TeXcolorgray 4124 3830 25 92 v Black
0.95 TeXcolorgray Black -128 3803 a
SDict begin H.S end
-128 3803 a -128
3803 a
SDict begin 11 H.A end
-128 3803 a -128 3803 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.20) cvn H.B /DEST pdfmark end
-128 3803 a 0 0 0 TeXcolorrgb
45 w Fo(LEWIS_API)p Black 0 0 0 TeXcolorrgb 44 w(HsBool)p
Black 0 0 0 TeXcolorrgb 43 w(lewis_Begin)p Black -1 w(\(\))o({)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 3921 25
92 v Black 0.95 TeXcolorgray -128 3921 4252 92 v Black
0.95 TeXcolorgray 4124 3921 25 92 v Black 0.95 TeXcolorgray
Black -128 3894 a
SDict begin H.S end
-128 3894 a -128 3894 a
SDict begin 11 H.A end
-128 3894 a
-128 3894 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.21) cvn H.B /DEST pdfmark end
-128 3894 a 0 0 0 TeXcolorrgb 135 w Fo(int)p
Black 0 0 0 TeXcolorrgb 44 w(argc)p Black 44 w(=)45 b(...)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4013 25
92 v Black 0.95 TeXcolorgray -128 4013 4252 92 v Black
0.95 TeXcolorgray 4124 4013 25 92 v Black 0.95 TeXcolorgray
Black -128 3985 a
SDict begin H.S end
-128 3985 a -128 3985 a
SDict begin 11 H.A end
-128 3985 a
-128 3985 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.22) cvn H.B /DEST pdfmark end
-128 3985 a 0 0 0 TeXcolorrgb 135 w Fo(char)p
Black 231 3998 a(*)p 0 0 0 TeXcolorrgb -13 x(argv)p Black
-1 w([])g(=)f(...)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4104 25 92 v Black 0.95 TeXcolorgray -128 4104 4252
92 v Black 0.95 TeXcolorgray 4124 4104 25 92 v Black
0.95 TeXcolorgray Black -128 4077 a
SDict begin H.S end
-128 4077 a -128
4077 a
SDict begin 11 H.A end
-128 4077 a -128 4077 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.23) cvn H.B /DEST pdfmark end
-128 4077 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4195 25 92 v Black 0.95
TeXcolorgray -128 4195 4252 92 v Black 0.95 TeXcolorgray
4124 4195 25 92 v Black 0.95 TeXcolorgray Black -128
4168 a
SDict begin H.S end
-128 4168 a -128 4168 a
SDict begin 11 H.A end
-128 4168 a -128 4168
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.24) cvn H.B /DEST pdfmark end
-128 4168 a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(Initialize)p
Black 0 0 0 TeXcolorrgb 44 w(Haskell)p Black 0 0 0 TeXcolorrgb
43 w(runtime)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4287 25 92 v Black 0.95 TeXcolorgray -128 4287 4252
92 v Black 0.95 TeXcolorgray 4124 4287 25 92 v Black
0.95 TeXcolorgray Black -128 4259 a
SDict begin H.S end
-128 4259 a -128
4259 a
SDict begin 11 H.A end
-128 4259 a -128 4259 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.25) cvn H.B /DEST pdfmark end
-128 4259 a 0 0 0 TeXcolorrgb
135 w Fo(hs_init)p Black -1 w(\(&)p 0 0 0 TeXcolorrgb
-1 w(argc)p Black(,)g(&)p 0 0 0 TeXcolorrgb(argv)p Black(\))o(;)p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 4378 25
92 v Black 0.95 TeXcolorgray -128 4378 4252 92 v Black
0.95 TeXcolorgray 4124 4378 25 92 v Black 0.95 TeXcolorgray
Black -128 4351 a
SDict begin H.S end
-128 4351 a -128 4351 a
SDict begin 11 H.A end
-128 4351 a
-128 4351 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.26) cvn H.B /DEST pdfmark end
-128 4351 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 4469 25 92 v Black 0.95 TeXcolorgray
-128 4469 4252 92 v Black 0.95 TeXcolorgray 4124 4469
25 92 v Black 0.95 TeXcolorgray Black -128 4442 a
SDict begin H.S end
-128
4442 a -128 4442 a
SDict begin 11 H.A end
-128 4442 a -128 4442 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.27) cvn H.B /DEST pdfmark end
-128 4442
a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(Tell)p Black 0 0 0
TeXcolorrgb 45 w(Haskell)p Black 0 0 0 TeXcolorrgb 43
w(about)p Black 0 0 0 TeXcolorrgb 44 w(all)p Black 0 0 0
TeXcolorrgb 45 w(root)p Black 0 0 0 TeXcolorrgb 44 w(modules)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153
4561 25 92 v Black 0.95 TeXcolorgray -128 4561 4252 92
v Black 0.95 TeXcolorgray 4124 4561 25 92 v Black 0.95
TeXcolorgray Black -128 4533 a
SDict begin H.S end
-128 4533 a -128 4533
a
SDict begin 11 H.A end
-128 4533 a -128 4533 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.28) cvn H.B /DEST pdfmark end
-128 4533 a 0 0 0 TeXcolorrgb
135 w Fo(hs_add_root)p Black -2 w(\()p 0 0 0 TeXcolorrgb(__stginit_Bar)
p Black -2 w(\);)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4652 25 92 v Black 0.95 TeXcolorgray -128 4652 4252
92 v Black 0.95 TeXcolorgray 4124 4652 25 92 v Black
0.95 TeXcolorgray Black -128 4624 a
SDict begin H.S end
-128 4624 a -128
4624 a
SDict begin 11 H.A end
-128 4624 a -128 4624 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.29) cvn H.B /DEST pdfmark end
-128 4624 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 4743 25 92 v Black 0.95
TeXcolorgray -128 4743 4252 92 v Black 0.95 TeXcolorgray
4124 4743 25 92 v Black 0.95 TeXcolorgray Black -128
4716 a
SDict begin H.S end
-128 4716 a -128 4716 a
SDict begin 11 H.A end
-128 4716 a -128 4716
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.30) cvn H.B /DEST pdfmark end
-128 4716 a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(do)p
Black 0 0 0 TeXcolorrgb 45 w(any)p Black 0 0 0 TeXcolorrgb
44 w(other)p Black 0 0 0 TeXcolorrgb 44 w(initialization)p
Black 0 0 0 TeXcolorrgb 43 w(here)p Black 0 0 0 TeXcolorrgb
44 w(and)p Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 4835 25 92 v Black 0.95 TeXcolorgray -128 4835 4252
92 v Black 0.95 TeXcolorgray 4124 4835 25 92 v Black
0.95 TeXcolorgray Black -128 4807 a
SDict begin H.S end
-128 4807 a -128
4807 a
SDict begin 11 H.A end
-128 4807 a -128 4807 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.31) cvn H.B /DEST pdfmark end
-128 4807 a 135 w Fo(//)p
0 0 0 TeXcolorrgb 44 w(return)p Black 0 0 0 TeXcolorrgb
44 w(false)p Black 0 0 0 TeXcolorrgb 44 w(if)p Black
0 0 0 TeXcolorrgb 45 w(there)p Black 0 0 0 TeXcolorrgb
44 w(was)p Black 0 0 0 TeXcolorrgb 44 w(a)p Black 0 0 0
TeXcolorrgb 45 w(problem)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -153 4926 25 92 v Black 0.95 TeXcolorgray
-128 4926 4252 92 v Black 0.95 TeXcolorgray 4124 4926
25 92 v Black 0.95 TeXcolorgray Black -128 4898 a
SDict begin H.S end
-128
4898 a -128 4898 a
SDict begin 11 H.A end
-128 4898 a -128 4898 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.32) cvn H.B /DEST pdfmark end
-128 4898
a 0 0 0 TeXcolorrgb 135 w Fo(return)p Black 0 0 0 TeXcolorrgb
44 w(HS_BOOL_TRUE)p Black -2 w(;)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5017 25 92 v Black 0.95
TeXcolorgray -128 5017 4252 92 v Black 0.95 TeXcolorgray
4124 5017 25 92 v Black 0.95 TeXcolorgray Black -128
4990 a
SDict begin H.S end
-128 4990 a -128 4990 a
SDict begin 11 H.A end
-128 4990 a -128 4990
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.33) cvn H.B /DEST pdfmark end
-128 4990 a 45 w Fo(})p 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5108 25 92 v Black 0.95 TeXcolorgray
-128 5108 4252 92 v Black 0.95 TeXcolorgray 4124 5108
25 92 v Black 0.95 TeXcolorgray Black -128 5081 a
SDict begin H.S end
-128
5081 a -128 5081 a
SDict begin 11 H.A end
-128 5081 a -128 5081 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.34) cvn H.B /DEST pdfmark end
-128 5081
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5200
25 92 v Black 0.95 TeXcolorgray -128 5200 4252 92 v Black
0.95 TeXcolorgray 4124 5200 25 92 v Black 0.95 TeXcolorgray
Black -128 5172 a
SDict begin H.S end
-128 5172 a -128 5172 a
SDict begin 11 H.A end
-128 5172 a
-128 5172 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.35) cvn H.B /DEST pdfmark end
-128 5172 a 0 0 0 TeXcolorrgb 45 w Fo(LEWIS_API)p
Black 0 0 0 TeXcolorrgb 44 w(void)p Black 0 0 0 TeXcolorrgb
44 w(lewis_End)p Black -2 w(\(\){)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5291 25 92 v Black 0.95
TeXcolorgray -128 5291 4252 92 v Black 0.95 TeXcolorgray
4124 5291 25 92 v Black 0.95 TeXcolorgray Black -128
5264 a
SDict begin H.S end
-128 5264 a -128 5264 a
SDict begin 11 H.A end
-128 5264 a -128 5264
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.36) cvn H.B /DEST pdfmark end
-128 5264 a 0 0 0 TeXcolorrgb 135 w Fo(hs_exit)p Black
-1 w(\(\))o(;)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-153 5382 25 92 v Black 0.95 TeXcolorgray -128 5382 4252
92 v Black 0.95 TeXcolorgray 4124 5382 25 92 v Black
0.95 TeXcolorgray Black -128 5355 a
SDict begin H.S end
-128 5355 a -128
5355 a
SDict begin 11 H.A end
-128 5355 a -128 5355 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.37) cvn H.B /DEST pdfmark end
-128 5355 a 45 w Fo(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -153 5474 25
92 v Black 0.95 TeXcolorgray -128 5474 4252 92 v Black
0.95 TeXcolorgray 4124 5474 25 92 v Black 0.95 TeXcolorgray
Black -128 5446 a
SDict begin H.S end
-128 5446 a -128 5446 a
SDict begin 11 H.A end
-128 5446 a
-128 5446 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.38) cvn H.B /DEST pdfmark end
-128 5446 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -153 5565 25 92 v Black 0.95 TeXcolorgray
-128 5565 4252 92 v Black 0.95 TeXcolorgray 4124 5565
25 92 v Black 0.95 TeXcolorgray Black -128 5538 a
SDict begin H.S end
-128
5538 a -128 5538 a
SDict begin 11 H.A end
-128 5538 a -128 5538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.39) cvn H.B /DEST pdfmark end
-128 5538
a 0 0 0 TeXcolorrgb 45 w Fo(LEWIS_API)p Black 0 0 0 TeXcolorrgb
44 w(HsInt)p Black 0 0 0 TeXcolorrgb 44 w(lewis_Test)p
Black -2 w(\()p 0 0 0 TeXcolorrgb(HsInt)p Black 0 0 0
TeXcolorrgb 44 w(x)p Black(\))o({)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5656 25 92 v Black 0.95
TeXcolorgray -128 5656 4252 92 v Black 0.95 TeXcolorgray
4124 5656 25 92 v Black 0.95 TeXcolorgray Black -128
5629 a
SDict begin H.S end
-128 5629 a -128 5629 a
SDict begin 11 H.A end
-128 5629 a -128 5629
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.40) cvn H.B /DEST pdfmark end
-128 5629 a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(use)p
Black 0 0 0 TeXcolorrgb 45 w(Haskell)p Black 0 0 0 TeXcolorrgb
43 w(functions)p Black 0 0 0 TeXcolorrgb 44 w(exported)p
Black 0 0 0 TeXcolorrgb 43 w(by)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -153 5748 25 92 v Black 0.95
TeXcolorgray -128 5748 4252 92 v Black 0.95 TeXcolorgray
4124 5748 25 92 v Black 0.95 TeXcolorgray Black -128
5720 a
SDict begin H.S end
-128 5720 a -128 5720 a
SDict begin 11 H.A end
-128 5720 a -128 5720
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.41) cvn H.B /DEST pdfmark end
-128 5720 a 135 w Fo(//)p 0 0 0 TeXcolorrgb 44 w(modules)p
Black 0 0 0 TeXcolorrgb 44 w(Bar)p Black 0 0 0 TeXcolorrgb
44 w(and)p Black(/)p 0 0 0 TeXcolorrgb(or)p Black 0 0 0
TeXcolorrgb 44 w(Zap)p Black Black -128 6084 4252 5 v
Black eop end
%%Page: 212 227
TeXDict begin 212 226 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.212) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(212)20 b(/)g(224)p
-128 -179 4252 5 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 201 25 92 v Black 0.95 TeXcolorgray
-128 201 4252 92 v Black 0.95 TeXcolorgray 4124 201 25
92 v Black 0.95 TeXcolorgray Black -128 173 a
SDict begin H.S end
-128 173
a -128 173 a
SDict begin 11 H.A end
-128 173 a -128 173 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.42) cvn H.B /DEST pdfmark end
-128 173 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 292 25 92 v Black 0.95 TeXcolorgray
-128 292 4252 92 v Black 0.95 TeXcolorgray 4124 292 25
92 v Black 0.95 TeXcolorgray Black -128 265 a
SDict begin H.S end
-128 265
a -128 265 a
SDict begin 11 H.A end
-128 265 a -128 265 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.43) cvn H.B /DEST pdfmark end
-128 265 a 0 0 0 TeXcolorrgb
135 w Fo(return)p Black 44 w(...)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 383 25 92 v Black 0.95 TeXcolorgray
-128 383 4252 92 v Black 0.95 TeXcolorgray 4124 383 25
92 v Black 0.95 TeXcolorgray Black -128 356 a
SDict begin H.S end
-128 356
a -128 356 a
SDict begin 11 H.A end
-128 356 a -128 356 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.44) cvn H.B /DEST pdfmark end
-128 356 a 45 w Fo(})p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 475 25
92 v Black 0.95 TeXcolorgray -128 475 4252 92 v Black
0.95 TeXcolorgray 4124 475 25 92 v Black 0.95 TeXcolorgray
Black -128 447 a
SDict begin H.S end
-128 447 a -128 447 a
SDict begin 11 H.A end
-128 447 a -128
447 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.45) cvn H.B /DEST pdfmark end
-128 447 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 566 25 92 v Black 0.95 TeXcolorgray -128 566 4252
92 v Black 0.95 TeXcolorgray 4124 566 25 92 v Black 0.95
TeXcolorgray Black -128 538 a
SDict begin H.S end
-128 538 a -128 538 a
SDict begin 11 H.A end
-128
538 a -128 538 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.46) cvn H.B /DEST pdfmark end
-128 538 a 45 w Fo(})45 b(//)p 0 0 0
TeXcolorrgb 44 w(extern)p Black 44 w(")p 0 0 0 TeXcolorrgb(C)p
Black(")p 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
657 25 92 v Black 0.95 TeXcolorgray -128 657 4252 92
v Black 0.95 TeXcolorgray 4124 657 25 92 v Black 0.95
TeXcolorgray Black -128 630 a
SDict begin H.S end
-128 630 a -128 630 a
SDict begin 11 H.A end
-128
630 a -128 630 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.47) cvn H.B /DEST pdfmark end
-128 630 a 0.95 TeXcolorgray Black 0.95
TeXcolorgray -152 749 25 92 v Black 0.95 TeXcolorgray
-128 749 4252 92 v Black 0.95 TeXcolorgray 4124 749 25
92 v Black 0.95 TeXcolorgray Black -128 721 a
SDict begin H.S end
-128 721
a -128 721 a
SDict begin 11 H.A end
-128 721 a -128 721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.48) cvn H.B /DEST pdfmark end
-128 721 a 0 0 0 TeXcolorrgb
Fo(and)p Black 0 0 0 TeXcolorrgb 45 w(some)p Black 0 0 0
TeXcolorrgb 44 w(application)p Black 0 0 0 TeXcolorrgb
43 w(which)p Black 0 0 0 TeXcolorrgb 44 w(used)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb
44 w(functions)p Black 0 0 0 TeXcolorrgb 44 w(in)p Black
0 0 0 TeXcolorrgb 44 w(the)p Black 0 0 0 TeXcolorrgb
45 w(DLL)p Black 0 0 0 TeXcolorrgb 44 w(would)p Black
0 0 0 TeXcolorrgb 44 w(have)p Black 0 0 0 TeXcolorrgb
44 w(a)p Black 0 0 0 TeXcolorrgb 45 w(main)p Black -1
w(\(\))p 0 0 0 TeXcolorrgb 45 w(function)p Black 0 0 0
TeXcolorrgb 43 w(like)p Black -1 w(:)p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 840 25 92 v Black 0.95 TeXcolorgray
-128 840 4252 92 v Black 0.95 TeXcolorgray 4124 840 25
92 v Black 0.95 TeXcolorgray Black -128 812 a
SDict begin H.S end
-128 812
a -128 812 a
SDict begin 11 H.A end
-128 812 a -128 812 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.49) cvn H.B /DEST pdfmark end
-128 812 a 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 931 25 92 v Black 0.95 TeXcolorgray
-128 931 4252 92 v Black 0.95 TeXcolorgray 4124 931 25
92 v Black 0.95 TeXcolorgray Black -128 904 a
SDict begin H.S end
-128 904
a -128 904 a
SDict begin 11 H.A end
-128 904 a -128 904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.50) cvn H.B /DEST pdfmark end
-128 904 a 45 w Fo(//)p
0 0 0 TeXcolorrgb 45 w(MyApp)p Black -1 w(.)p 0 0 0 TeXcolorrgb(cpp)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1023 25 92 v Black 0.95 TeXcolorgray -128 1023 4252 92
v Black 0.95 TeXcolorgray 4124 1023 25 92 v Black 0.95
TeXcolorgray Black -128 995 a
SDict begin H.S end
-128 995 a -128 995 a
SDict begin 11 H.A end
-128
995 a -128 995 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.51) cvn H.B /DEST pdfmark end
-128 995 a 45 w Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(")p 0 0 0 TeXcolorrgb(stdafx)p Black -1 w(.)p
0 0 0 TeXcolorrgb -1 w(h)p Black(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1114 25 92 v Black 0.95
TeXcolorgray -128 1114 4252 92 v Black 0.95 TeXcolorgray
4124 1114 25 92 v Black 0.95 TeXcolorgray Black -128
1086 a
SDict begin H.S end
-128 1086 a -128 1086 a
SDict begin 11 H.A end
-128 1086 a -128 1086
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.52) cvn H.B /DEST pdfmark end
-128 1086 a 45 w Fo(#)p 0 0 0 TeXcolorrgb(include)p
Black 44 w(")p 0 0 0 TeXcolorrgb(Lewis)p Black -1 w(.)p
0 0 0 TeXcolorrgb(h)p Black -1 w(")p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1205 25 92 v Black 0.95
TeXcolorgray -128 1205 4252 92 v Black 0.95 TeXcolorgray
4124 1205 25 92 v Black 0.95 TeXcolorgray Black -128
1178 a
SDict begin H.S end
-128 1178 a -128 1178 a
SDict begin 11 H.A end
-128 1178 a -128 1178
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.53) cvn H.B /DEST pdfmark end
-128 1178 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1296 25 92 v Black 0.95 TeXcolorgray -128 1296 4252
92 v Black 0.95 TeXcolorgray 4124 1296 25 92 v Black
0.95 TeXcolorgray Black -128 1269 a
SDict begin H.S end
-128 1269 a -128
1269 a
SDict begin 11 H.A end
-128 1269 a -128 1269 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.54) cvn H.B /DEST pdfmark end
-128 1269 a 0 0 0 TeXcolorrgb
45 w Fo(int)p Black 0 0 0 TeXcolorrgb 45 w(main)p Black
-1 w(\()p 0 0 0 TeXcolorrgb(int)p Black 0 0 0 TeXcolorrgb
44 w(argc)p Black -1 w(,)p 0 0 0 TeXcolorrgb 45 w(char)p
Black 993 1282 a(*)p 0 0 0 TeXcolorrgb -13 x(argv)p Black
-1 w([]\){)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1388 25 92 v Black 0.95 TeXcolorgray -128 1388 4252
92 v Black 0.95 TeXcolorgray 4124 1388 25 92 v Black
0.95 TeXcolorgray Black -128 1360 a
SDict begin H.S end
-128 1360 a -128
1360 a
SDict begin 11 H.A end
-128 1360 a -128 1360 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.55) cvn H.B /DEST pdfmark end
-128 1360 a 0 0 0 TeXcolorrgb
135 w Fo(if)p Black 44 w(\()p 0 0 0 TeXcolorrgb(lewis_Begin)p
Black -2 w(\(\)\){)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1479 25 92 v Black 0.95 TeXcolorgray -128 1479 4252
92 v Black 0.95 TeXcolorgray 4124 1479 25 92 v Black
0.95 TeXcolorgray Black -128 1452 a
SDict begin H.S end
-128 1452 a -128
1452 a
SDict begin 11 H.A end
-128 1452 a -128 1452 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.56) cvn H.B /DEST pdfmark end
-128 1452 a 269 w Fo(//)p
0 0 0 TeXcolorrgb 45 w(can)p Black 0 0 0 TeXcolorrgb
44 w(now)p Black 0 0 0 TeXcolorrgb 45 w(safely)p Black
0 0 0 TeXcolorrgb 43 w(call)p Black 0 0 0 TeXcolorrgb
45 w(other)p Black 0 0 0 TeXcolorrgb 44 w(functions)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152
1570 25 92 v Black 0.95 TeXcolorgray -128 1570 4252 92
v Black 0.95 TeXcolorgray 4124 1570 25 92 v Black 0.95
TeXcolorgray Black -128 1543 a
SDict begin H.S end
-128 1543 a -128 1543
a
SDict begin 11 H.A end
-128 1543 a -128 1543 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.57) cvn H.B /DEST pdfmark end
-128 1543 a 269 w Fo(//)p 0 0 0
TeXcolorrgb 45 w(exported)p Black 0 0 0 TeXcolorrgb 43
w(by)p Black 0 0 0 TeXcolorrgb 45 w(Lewis)p Black 0 0 0
TeXcolorrgb 44 w(DLL)p Black 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 1662 25 92 v Black 0.95 TeXcolorgray
-128 1662 4252 92 v Black 0.95 TeXcolorgray 4124 1662
25 92 v Black 0.95 TeXcolorgray Black -128 1634 a
SDict begin H.S end
-128
1634 a -128 1634 a
SDict begin 11 H.A end
-128 1634 a -128 1634 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.58) cvn H.B /DEST pdfmark end
-128 1634
a 0.95 TeXcolorgray Black 0.95 TeXcolorgray -152 1753
25 92 v Black 0.95 TeXcolorgray -128 1753 4252 92 v Black
0.95 TeXcolorgray 4124 1753 25 92 v Black 0.95 TeXcolorgray
Black -128 1726 a
SDict begin H.S end
-128 1726 a -128 1726 a
SDict begin 11 H.A end
-128 1726 a
-128 1726 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.59) cvn H.B /DEST pdfmark end
-128 1726 a 135 w Fo(})p 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -152 1844 25 92 v Black 0.95
TeXcolorgray -128 1844 4252 92 v Black 0.95 TeXcolorgray
4124 1844 25 92 v Black 0.95 TeXcolorgray Black -128
1817 a
SDict begin H.S end
-128 1817 a -128 1817 a
SDict begin 11 H.A end
-128 1817 a -128 1817
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.60) cvn H.B /DEST pdfmark end
-128 1817 a 0 0 0 TeXcolorrgb 135 w Fo(lewis_End)p
Black -2 w(\(\);)p 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-152 1936 25 92 v Black 0.95 TeXcolorgray -128 1936 4252
92 v Black 0.95 TeXcolorgray 4124 1936 25 92 v Black
0.95 TeXcolorgray Black -128 1908 a
SDict begin H.S end
-128 1908 a -128
1908 a
SDict begin 11 H.A end
-128 1908 a -128 1908 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.61) cvn H.B /DEST pdfmark end
-128 1908 a 0 0 0 TeXcolorrgb
135 w Fo(return)p Black 44 w(0;)p 0.95 TeXcolorgray Black
0.95 TeXcolorgray -152 2027 25 92 v Black 0.95 TeXcolorgray
-128 2027 4252 92 v Black 0.95 TeXcolorgray 4124 2027
25 92 v Black 0.95 TeXcolorgray Black -128 2000 a
SDict begin H.S end
-128
2000 a -128 2000 a
SDict begin 11 H.A end
-128 2000 a -128 2000 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-594.62) cvn H.B /DEST pdfmark end
-128 2000
a 45 w Fo(})p 0.95 TeXcolorgray -152 2052 4302 25 v Black
0.95 TeXcolorgray Black Black Black -128 2226 a Ft(Lewis.h)22
b FA(w)o(ould)f(ha)n(v)o(e)g(to)h(ha)n(v)o(e)g(some)f(appropriate)f
Ft(#ifndef)h FA(to)h(ensure)g(that)g(the)g(Hask)o(ell)g(FFI)g(types)g
(were)g(de\002ned)f(for)g(e)o(xternal)g(users)-128 2326
y(of)f(the)h(DLL)f(\(who)f(w)o(ouldn')o(t)f(necessarily)i(ha)n(v)o(e)g
(GHC)h(installed)f(and)f(therefore)g(w)o(ouldn')o(t)f(ha)n(v)o(e)h(the)
i(include)e(\002les)i(lik)o(e)f Ft(HsFFI.h)g FA(etc\).)p
Black -128 6084 4252 5 v Black eop end
%%Page: 213 228
TeXDict begin 213 227 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.213) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(213)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.12) cvn H.B /DEST pdfmark end
-128 90 a 756 x Fy(Chapter)43 b(12)-128
1311 y Fv(Kno)m(wn)51 b(b)l(ugs)g(and)g(inf)n(elicities)-128
1717 y
SDict begin H.S end
-128 1717 a -128 1717 a
SDict begin 12 H.A end
-128 1717 a -128 1717
a
SDict begin [ /View [/XYZ H.V] /Dest (bugs-and-infelicities) cvn H.B /DEST pdfmark end
-128 1717 a -128 1717 a
SDict begin H.S end
-128 1717 a -128 1717 a
SDict begin 12 H.A end
-128
1717 a -128 1717 a
SDict begin [ /View [/XYZ H.V] /Dest (section.12.1) cvn H.B /DEST pdfmark end
-128 1717 a Black 163 x Fs(12.1)p
Black 107 w(Haskell)29 b(98)h(vs.)f(Glasgo)n(w)g(Haskell:)36
b(langua)o(g)q(e)28 b(non-compliance)-128 2007 y
SDict begin H.S end
-128
2007 a -128 2007 a
SDict begin 12 H.A end
-128 2007 a -128 2007 a
SDict begin [ /View [/XYZ H.V] /Dest (vs-Haskell-defn) cvn H.B /DEST pdfmark end
-128 2007
a 115 x FA(This)21 b(section)f(lists)i(Glasgo)n(w)f(Hask)o(ell)g
(infelicities)f(in)h(its)g(implementation)e(of)h(Hask)o(ell)h(98.)26
b(See)21 b(also)f(the)h(\223when)f(things)g(go)g(wrong\224)f(section)
-128 2221 y(\(Chapter)p 1 0 0 TeXcolorrgb 184 2223 a
SDict begin H.S end
184 2223 a 1 0 0 TeXcolorrgb -2 x FA(9)p 1 0 0 TeXcolorrgb
225 2165 a
SDict begin H.R end
225 2165 a 225 2221 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (chapter.9) cvn H.B /ANN pdfmark end
225 2221 a Black FA(\))i(for)e
(information)f(about)h(crashes,)h(space)g(leaks,)g(and)g(other)f
(undesirable)g(phenomena.)-128 2371 y(The)h(limitations)g(here)g(are)g
(listed)h(in)f(Hask)o(ell)h(Report)e(order)g(\(roughly\).)-128
2505 y
SDict begin H.S end
-128 2505 a -128 2505 a
SDict begin 12 H.A end
-128 2505 a -128 2505
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.12.1.1) cvn H.B /DEST pdfmark end
-128 2505 a Black 148 x Fp(12.1.1)p Black 89 w(Diver)o(g)q(ence)k(fr)
n(om)i(Haskell)e(98)-128 2741 y
SDict begin H.S end
-128 2741 a -128 2741
a
SDict begin 12 H.A end
-128 2741 a -128 2741 a
SDict begin [ /View [/XYZ H.V] /Dest (haskell98-divergence) cvn H.B /DEST pdfmark end
-128 2741 a -128 2741 a
SDict begin H.S end
-128
2741 a -128 2741 a
SDict begin 12 H.A end
-128 2741 a -128 2741 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.1) cvn H.B /DEST pdfmark end
-128 2741
a Black 128 x Fx(12.1.1.1)p Black 72 w(Le)o(xical)18
b(syntax)-128 2953 y
SDict begin H.S end
-128 2953 a -128 2953 a
SDict begin 12 H.A end
-128 2953
a -128 2953 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-lexical) cvn H.B /DEST pdfmark end
-128 2953 a Black 119 x FA(\225)p Black
42 w(Certain)25 b(le)o(xical)g(rules)g(re)o(garding)e(quali\002ed)h
(identi\002ers)h(are)g(slightly)g(dif)n(ferent)f(in)h(GHC)h(compared)d
(to)j(the)f(Hask)o(ell)h(report.)39 b(When)25 b(you)-57
3172 y(ha)n(v)o(e)e Fr(module)p Ft(.)p Fr(reservedop)p
FA(,)g(such)g(as)h Ft(M.\\)p FA(,)h(GHC)f(will)h(interpret)d(it)j(as)f
(a)g(single)g(quali\002ed)f(operator)f(rather)h(than)g(the)h(tw)o(o)g
(le)o(x)o(emes)f Ft(M)-57 3271 y FA(and)d Ft(.\\)p FA(.)-128
3394 y
SDict begin H.S end
-128 3394 a -128 3394 a
SDict begin 12 H.A end
-128 3394 a -128 3394
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.2) cvn H.B /DEST pdfmark end
-128 3394 a Black 143 x Fx(12.1.1.2)p Black 72 w(Conte)o(xt-free)e
(syntax)-128 3621 y
SDict begin H.S end
-128 3621 a -128 3621 a
SDict begin 12 H.A end
-128 3621
a -128 3621 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-syntax) cvn H.B /DEST pdfmark end
-128 3621 a Black 119 x FA(\225)p Black
42 w(GHC)j(is)h(a)f(little)g(less)h(strict)f(about)f(the)g(layout)g
(rule)g(when)g(used)g(in)h Ft(do)g FA(e)o(xpressions.)k(Speci\002cally)
-5 b(,)19 b(the)i(restriction)e(that)i("a)g(nested)f(conte)o(xt)-57
3840 y(must)j(be)f(indented)f(further)g(to)i(the)f(right)g(than)h(the)f
(enclosing)f(conte)o(xt")h(is)h(relax)o(ed)e(to)i(allo)n(w)g(the)f
(nested)g(conte)o(xt)g(to)g(be)h(at)g(the)g(same)f(le)n(v)o(el)-57
3939 y(as)f(the)f(enclosing)f(conte)o(xt,)g(if)h(the)g(enclosing)f
(conte)o(xt)g(is)j(a)e Ft(do)g FA(e)o(xpression.)-57
4072 y(F)o(or)g(e)o(xample,)e(the)j(follo)n(wing)d(code)i(is)h
(accepted)e(by)h(GHC:)-128 4140 y
SDict begin H.S end
-128 4140 a -128 4140
a
SDict begin 12 H.A end
-128 4140 a -128 4140 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-595) cvn H.B /DEST pdfmark end
-128 4140 a 0.95 TeXcolorgray
-82 4155 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 4247 25 92 v
Black 0.95 TeXcolorgray -57 4247 4182 92 v Black 0.95
TeXcolorgray 4124 4247 25 92 v Black 0.95 TeXcolorgray
Black -57 4219 a
SDict begin H.S end
-57 4219 a -57 4219 a
SDict begin 11 H.A end
-57 4219 a -57
4219 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-595.1) cvn H.B /DEST pdfmark end
-57 4219 a 0 0 0 TeXcolorrgb Fo(main)p Black 44
w(=)p 0 0 0 TeXcolorrgb 45 w(do)p Black 0 0 0 TeXcolorrgb
44 w(args)p Black 44 w(<-)p 0 0 0 TeXcolorrgb 45 w(getArgs)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4338
25 92 v Black 0.95 TeXcolorgray -57 4338 4182 92 v Black
0.95 TeXcolorgray 4124 4338 25 92 v Black 0.95 TeXcolorgray
Black -57 4310 a
SDict begin H.S end
-57 4310 a -57 4310 a
SDict begin 11 H.A end
-57 4310 a -57
4310 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-595.2) cvn H.B /DEST pdfmark end
-57 4310 a 0 0 0 TeXcolorrgb 179 w Fo(if)p Black
0 0 0 TeXcolorrgb 45 w(null)p Black 0 0 0 TeXcolorrgb
44 w(args)p Black 0 0 0 TeXcolorrgb 44 w(then)p Black
0 0 0 TeXcolorrgb 44 w(return)p Black 44 w([])p 0 0 0
TeXcolorrgb 45 w(else)p Black 0 0 0 TeXcolorrgb 44 w(do)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4429
25 92 v Black 0.95 TeXcolorgray -57 4429 4182 92 v Black
0.95 TeXcolorgray 4124 4429 25 92 v Black 0.95 TeXcolorgray
Black -57 4402 a
SDict begin H.S end
-57 4402 a -57 4402 a
SDict begin 11 H.A end
-57 4402 a -57
4402 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-595.3) cvn H.B /DEST pdfmark end
-57 4402 a 0 0 0 TeXcolorrgb 448 w Fo(ps)p Black
45 w(<-)p 0 0 0 TeXcolorrgb 44 w(mapM)p Black 0 0 0 TeXcolorrgb
44 w(process)p Black 0 0 0 TeXcolorrgb 44 w(args)p Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 4520 25
92 v Black 0.95 TeXcolorgray -57 4520 4182 92 v Black
0.95 TeXcolorgray 4124 4520 25 92 v Black 0.95 TeXcolorgray
Black -57 4493 a
SDict begin H.S end
-57 4493 a -57 4493 a
SDict begin 11 H.A end
-57 4493 a -57
4493 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-595.4) cvn H.B /DEST pdfmark end
-57 4493 a 0 0 0 TeXcolorrgb 448 w Fo(mapM)p Black
0 0 0 TeXcolorrgb 44 w(print)p Black 0 0 0 TeXcolorrgb
44 w(ps)p Black 0.95 TeXcolorgray -82 4545 4232 25 v
Black 0.95 TeXcolorgray Black Black Black Black -128
4736 a FA(\225)p Black 42 w(GHC)25 b(doesn')o(t)e(do)h(\002xity)g
(resolution)f(in)h(e)o(xpressions)f(during)g(parsing.)36
b(F)o(or)24 b(e)o(xample,)g(according)e(to)i(the)h(Hask)o(ell)f
(report,)g(the)h(follo)n(wing)-57 4836 y(e)o(xpression)19
b(is)i(le)o(gal)e(Hask)o(ell:)-128 4904 y
SDict begin H.S end
-128 4904 a
-128 4904 a
SDict begin 12 H.A end
-128 4904 a -128 4904 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-596) cvn H.B /DEST pdfmark end
-128 4904 a 0.95
TeXcolorgray -82 4919 4232 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 5010
25 92 v Black 0.95 TeXcolorgray -57 5010 4182 92 v Black
0.95 TeXcolorgray 4124 5010 25 92 v Black 0.95 TeXcolorgray
Black -57 4983 a
SDict begin H.S end
-57 4983 a -57 4983 a
SDict begin 11 H.A end
-57 4983 a -57
4983 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-596.1) cvn H.B /DEST pdfmark end
-57 4983 a 0 0 0 TeXcolorrgb 179 w Fo(let)p Black
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(=)45 b(42)p 0 0 0
TeXcolorrgb 44 w(in)p Black 0 0 0 TeXcolorrgb 45 w(x)p
Black 45 w(==)f(42)h(==)p 0 0 0 TeXcolorrgb 44 w(True)p
Black 0.95 TeXcolorgray -82 5035 4232 25 v Black 0.95
TeXcolorgray Black Black Black -57 5193 a FA(and)20 b(parses)g(as:)-128
5261 y
SDict begin H.S end
-128 5261 a -128 5261 a
SDict begin 12 H.A end
-128 5261 a -128 5261
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-597) cvn H.B /DEST pdfmark end
-128 5261 a 0.95 TeXcolorgray -82 5276 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 5367 25 92 v Black 0.95 TeXcolorgray
-57 5367 4182 92 v Black 0.95 TeXcolorgray 4124 5367
25 92 v Black 0.95 TeXcolorgray Black -57 5340 a
SDict begin H.S end
-57
5340 a -57 5340 a
SDict begin 11 H.A end
-57 5340 a -57 5340 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-597.1) cvn H.B /DEST pdfmark end
-57 5340 a 179
w Fo(\()p 0 0 0 TeXcolorrgb(let)p Black 0 0 0 TeXcolorrgb
45 w(x)p Black 44 w(=)45 b(42)p 0 0 0 TeXcolorrgb 44
w(in)p Black 0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(==)g(42\))f(==)p
0 0 0 TeXcolorrgb 45 w(True)p Black 0.95 TeXcolorgray
-82 5392 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 5550 a FA(because)26 b(according)f(to)i(the)g(report,)g(the)g
Ft(let)g FA(e)o(xpression)f(`e)o(xtends)f(as)j(f)o(ar)f(to)g(the)g
(right)f(as)i(possible'.)44 b(Since)27 b(it)h(can')o(t)e(e)o(xtend)g
(past)h(the)-57 5650 y(second)i(equals)h(sign)h(without)e(causing)h(a)h
(parse)f(error)f(\()p Ft(==)h FA(is)i(non-\002x\),)e(the)h
Ft(let)p FA(-e)o(xpression)c(must)k(terminate)e(there.)55
b(GHC)31 b(simply)-57 5749 y(gobbles)19 b(up)h(the)g(whole)g(e)o
(xpression,)e(parsing)h(lik)o(e)i(this:)p Black -128
6084 4252 5 v Black eop end
%%Page: 214 229
TeXDict begin 214 228 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.214) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(214)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-598) cvn H.B /DEST pdfmark end
-128 90 a 0.95 TeXcolorgray -82
173 4232 25 v Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 265 25 92 v Black 0.95 TeXcolorgray
-57 265 4182 92 v Black 0.95 TeXcolorgray 4124 265 25
92 v Black 0.95 TeXcolorgray Black -57 237 a
SDict begin H.S end
-57 237
a -57 237 a
SDict begin 11 H.A end
-57 237 a -57 237 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-598.1) cvn H.B /DEST pdfmark end
-57 237 a 179 w Fo(\()p
0 0 0 TeXcolorrgb(let)p Black 0 0 0 TeXcolorrgb 45 w(x)p
Black 44 w(=)45 b(42)p 0 0 0 TeXcolorrgb 44 w(in)p Black
0 0 0 TeXcolorrgb 45 w(x)p Black 44 w(==)g(42)f(==)p
0 0 0 TeXcolorrgb 45 w(True)p Black -1 w(\))p 0.95 TeXcolorgray
-82 289 4232 25 v Black 0.95 TeXcolorgray Black Black
Black -57 442 a FA(The)20 b(Hask)o(ell)g(report)f(is)j(ar)o(guably)17
b(wrong)i(here,)h(b)n(ut)g(ne)n(v)o(ertheless)f(it')-5
b(s)21 b(a)f(dif)n(ference)f(between)g(GHC)i(&)f(Hask)o(ell)h(98.)-128
575 y
SDict begin H.S end
-128 575 a -128 575 a
SDict begin 12 H.A end
-128 575 a -128 575 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.3) cvn H.B /DEST pdfmark end
-128
575 a Black 128 x Fx(12.1.1.3)p Black 72 w(Expressions)c(and)j
(patterns)-128 787 y
SDict begin H.S end
-128 787 a -128 787 a
SDict begin 12 H.A end
-128 787 a
-128 787 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-exprs-pats) cvn H.B /DEST pdfmark end
-128 787 a 116 x FA(None)g(kno)n(wn.)-128
1019 y
SDict begin H.S end
-128 1019 a -128 1019 a
SDict begin 12 H.A end
-128 1019 a -128 1019
a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.4) cvn H.B /DEST pdfmark end
-128 1019 a Black 145 x Fx(12.1.1.4)p Black 72 w(Dec)o(larations)d
(and)j(bindings)-128 1247 y
SDict begin H.S end
-128 1247 a -128 1247 a
SDict begin 12 H.A end
-128
1247 a -128 1247 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-decls) cvn H.B /DEST pdfmark end
-128 1247 a 117 x FA(GHC')-5 b(s)24
b(typecheck)o(er)c(mak)o(es)i(all)h(pattern)e(bindings)g(monomorphic)d
(by)k(def)o(ault;)h(this)g(beha)n(viour)d(can)i(be)g(disabled)f(with)i
Ft(-XNoMonoPat-)-128 1463 y(Binds)p FA(.)i(See)c(Section)p
1 0 0 TeXcolorrgb 578 1464 a
SDict begin H.S end
578 1464 a 1 0 0 TeXcolorrgb
-1 x FA(7.1)p 1 0 0 TeXcolorrgb 682 1407 a
SDict begin H.R end
682 1407 a
682 1463 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.7.1) cvn H.B /ANN pdfmark end
682 1463 a Black FA(.)-128 1579 y
SDict begin H.S end
-128 1579
a -128 1579 a
SDict begin 12 H.A end
-128 1579 a -128 1579 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.5) cvn H.B /DEST pdfmark end
-128 1579 a Black
145 x Fx(12.1.1.5)p Black 72 w(Module)e(system)h(and)f(interface)g
(\002les)-128 1808 y
SDict begin H.S end
-128 1808 a -128 1808 a
SDict begin 12 H.A end
-128 1808
a -128 1808 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-Modules) cvn H.B /DEST pdfmark end
-128 1808 a 116 x FA(GHC)32 b(requires)d(the)i(use)f(of)h
Ft(hs-boot)e FA(\002les)j(to)e(cut)h(the)f(recursi)n(v)o(e)f(loops)h
(among)f(mutually)h(recursi)n(v)o(e)e(modules)i(as)h(described)e(in)i
(Sec-)-128 2024 y(tion)p 1 0 0 TeXcolorrgb 24 2026 a
SDict begin H.S end
24 2026 a 1 0 0 TeXcolorrgb -2 x FA(4.6.9)p 1 0 0 TeXcolorrgb
190 1967 a
SDict begin H.R end
190 1967 a 190 2024 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (subsection.4.6.9) cvn H.B /ANN pdfmark end
190 2024 a Black FA(.)f(This)22
b(more)f(of)g(an)h(infelicity)f(than)g(a)h(b)n(ug:)28
b(the)22 b(Hask)o(ell)g(Report)f(says)h(\()p 0 1 0 0
TeXcolorcmyk 2357 2025 a
SDict begin H.S end
2357 2025 a 0 1 0 0 TeXcolorcmyk
-1 x FA(Section)e(5.7)p 0 1 0 0 TeXcolorcmyk 2730 1967
a
SDict begin H.R end
2730 1967 a 2730 2024 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://haskell.org/onlinereport/modules.html#sect5.7) >> /Subtype /Link H.B /ANN pdfmark end
2730 2024 a Black FA(\))i("Depending)e(on)h
(the)h(Hask)o(ell)g(implementa-)-128 2123 y(tion)c(used,)h(separate)e
(compilation)g(of)h(mutually)f(recursi)n(v)o(e)f(modules)i(may)f
(require)g(that)i(imported)d(modules)h(contain)h(additional)e
(information)-128 2223 y(so)26 b(that)f(the)o(y)f(may)h(be)f
(referenced)f(before)h(the)o(y)g(are)h(compiled.)38 b(Explicit)24
b(type)h(signatures)f(for)g(all)i(e)o(xported)d(v)n(alues)h(may)h(be)g
(necessary)f(to)-128 2322 y(deal)d(with)f(mutual)f(recursion.)24
b(The)c(precise)f(details)i(of)f(separate)g(compilation)e(are)i(not)g
(de\002ned)f(by)h(this)h(Report.")-128 2455 y
SDict begin H.S end
-128 2455
a -128 2455 a
SDict begin 12 H.A end
-128 2455 a -128 2455 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.6) cvn H.B /DEST pdfmark end
-128 2455 a Black
128 x Fx(12.1.1.6)p Black 72 w(Number)o(s,)e(basic)g(types,)g(and)h(b)o
(uilt-in)e(c)o(lasses)-128 2667 y
SDict begin H.S end
-128 2667 a -128 2667
a
SDict begin 12 H.A end
-128 2667 a -128 2667 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-numbers) cvn H.B /DEST pdfmark end
-128 2667 a Black 176 x Fu
(Multiply-de\002ned)j(array)e(elements\227not)h(check)o(ed:)p
Black 42 w FA(This)g(code)f(fragment)g(should)g(elicit)i(a)f(f)o(atal)h
(error)m(,)d(b)n(ut)j(it)g(does)e(not:)-128 2908 y
SDict begin H.S end
-128
2908 a -128 2908 a
SDict begin 12 H.A end
-128 2908 a -128 2908 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-599) cvn H.B /DEST pdfmark end
-128 2908
a 0.95 TeXcolorgray 55 2923 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 3014
25 92 v Black 0.95 TeXcolorgray 80 3014 4045 92 v Black
0.95 TeXcolorgray 4124 3014 25 92 v Black 0.95 TeXcolorgray
Black 80 2987 a
SDict begin H.S end
80 2987 a 80 2987 a
SDict begin 11 H.A end
80 2987 a 80 2987
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-599.1) cvn H.B /DEST pdfmark end
80 2987 a 0 0 0 TeXcolorrgb Fo(main)p Black 44 w(=)p
0 0 0 TeXcolorrgb 45 w(print)p Black 44 w(\()p 0 0 0
TeXcolorrgb(array)p Black 44 w(\(1,1\))44 b([\(1,2\))o(,)g(\(1,3\))o
(]\))p 0.95 TeXcolorgray 55 3039 4095 25 v Black 0.95
TeXcolorgray Black Black Black 80 3192 a FA(GHC')-5 b(s)24
b(implementation)d(of)i Ft(array)g FA(tak)o(es)h(the)f(v)n(alue)f(of)h
(an)g(array)g(slot)g(from)g(the)g(last)h(\(inde)o(x,v)n(alue\))c(pair)i
(in)i(the)f(list,)i(and)d(does)h(no)80 3292 y(checking)18
b(for)i(duplicates.)k(The)c(reason)f(for)h(this)h(is)g(ef)n(\002cienc)o
(y)-5 b(,)18 b(pure)h(and)h(simple.)-128 3424 y
SDict begin H.S end
-128
3424 a -128 3424 a
SDict begin 12 H.A end
-128 3424 a -128 3424 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.12.1.1.7) cvn H.B /DEST pdfmark end
-128 3424
a Black 128 x Fx(12.1.1.7)p Black 72 w(In)g Fh(Prelude)g
Fx(suppor)q(t)-128 3636 y
SDict begin H.S end
-128 3636 a -128 3636 a
SDict begin 12 H.A end
-128
3636 a -128 3636 a
SDict begin [ /View [/XYZ H.V] /Dest (infelicities-Prelude) cvn H.B /DEST pdfmark end
-128 3636 a Black 176 x Fu(Arbitrary-sized)g(tuples)
p Black 41 w FA(T)l(uples)g(are)g(currently)e(limited)i(to)g(size)h
(100.)j(HO)m(WEVER:)d(standard)e(instances)h(for)f(tuples)h(\()p
Ft(Eq)p FA(,)g Ft(Ord)p FA(,)g Ft(Bound-)80 3912 y(ed)p
FA(,)g Ft(Ix)h(Read)p FA(,)e(and)h Ft(Show)p FA(\))g(are)g(a)n(v)n
(ailable)f Fq(only)h FA(up)g(to)g(16-tuples.)80 4043
y(This)g(limitation)g(is)h(easily)g(sub)o(v)o(ertible,)d(so)i(please)g
(ask)h(if)f(you)g(get)g(stuck)g(on)g(it.)p Black -128
4206 a Fh(Read)p Fu(ing)g(integers)p Black 41 w FA(GHC')-5
b(s)23 b(implementation)d(of)h(the)h Ft(Read)f FA(class)i(for)e(inte)o
(gral)g(types)h(accepts)f(he)o(xadecimal)f(and)h(octal)h(literals)g
(\(the)g(code)80 4305 y(in)e(the)h(Hask)o(ell)f(98)g(report)f(doesn')o
(t\).)k(So,)d(for)g(e)o(xample,)-128 4370 y
SDict begin H.S end
-128 4370
a -128 4370 a
SDict begin 12 H.A end
-128 4370 a -128 4370 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-600) cvn H.B /DEST pdfmark end
-128 4370 a 0.95
TeXcolorgray 55 4385 4095 25 v Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray 55 4476
25 92 v Black 0.95 TeXcolorgray 80 4476 4045 92 v Black
0.95 TeXcolorgray 4124 4476 25 92 v Black 0.95 TeXcolorgray
Black 80 4449 a
SDict begin H.S end
80 4449 a 80 4449 a
SDict begin 11 H.A end
80 4449 a 80 4449
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-600.1) cvn H.B /DEST pdfmark end
80 4449 a 0 0 0 TeXcolorrgb Fo(read)p Black 44 w("0)p
0 0 0 TeXcolorrgb(xf00)p Black -1 w(")45 b(::)p 0 0 0
TeXcolorrgb 44 w(Int)p Black 0.95 TeXcolorgray 55 4501
4095 25 v Black 0.95 TeXcolorgray Black Black Black 80
4654 a FA(w)o(orks)20 b(in)g(GHC.)80 4785 y(A)j(possible)g(reason)e
(for)i(this)g(is)g(that)g Ft(readLitChar)e FA(accepts)i(he)o(x)f(and)g
(octal)g(escapes,)i(so)f(it)g(seems)g(inconsistent)f(not)g(to)h(do)g
(so)g(for)80 4885 y(inte)o(gers)c(too.)p Black -128 5048
a Fh(isAlpha)p Black 41 w FA(The)g(Hask)o(ell)i(98)f(de\002nition)f(of)
h Ft(isAlpha)f FA(is:)-128 5107 y
SDict begin H.S end
-128 5107 a -128 5107
a
SDict begin 12 H.A end
-128 5107 a -128 5107 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-601) cvn H.B /DEST pdfmark end
-128 5107 a 0.95 TeXcolorgray
55 5128 4095 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray 55 5219 25 92 v
Black 0.95 TeXcolorgray 80 5219 4045 92 v Black 0.95
TeXcolorgray 4124 5219 25 92 v Black 0.95 TeXcolorgray
Black 80 5191 a
SDict begin H.S end
80 5191 a 80 5191 a
SDict begin 11 H.A end
80 5191 a 80 5191
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-601.1) cvn H.B /DEST pdfmark end
80 5191 a 0 0 0 TeXcolorrgb Fo(isAlpha)p Black 0 0 0
TeXcolorrgb 44 w(c)p Black 44 w(=)p 0 0 0 TeXcolorrgb
45 w(isUpper)p Black 0 0 0 TeXcolorrgb 44 w(c)p Black
44 w(||)p 0 0 0 TeXcolorrgb 45 w(isLower)p Black 0 0 0
TeXcolorrgb 43 w(c)p Black 0.95 TeXcolorgray 55 5244
4095 25 v Black 0.95 TeXcolorgray Black Black Black 80
5397 a FA(GHC')-5 b(s)23 b(implementation)e(di)n(v)o(er)o(ges)f(from)h
(the)h(Hask)o(ell)h(98)f(de\002nition)f(in)h(the)h(sense)f(that)h
(Unicode)e(alphabetic)g(characters)g(which)h(are)80 5496
y(neither)d(upper)g(nor)h(lo)n(wer)f(case)i(will)g(still)g(be)f
(identi\002ed)g(as)h(alphabetic)e(by)g Ft(isAlpha)p FA(.)p
Black -128 5659 a Fu(Strings)i(tr)o(eated)e(as)h(ISO-8859-1)p
Black 39 w FA(V)-9 b(arious)23 b(library)g(functions,)g(such)h(as)h
Ft(putStrLn)p FA(,)e(treat)i(Strings)e(as)i(if)f(the)o(y)g(were)g
(ISO-8859-1)d(rather)80 5759 y(than)f(UTF-8.)p Black
-128 6084 4252 5 v Black eop end
%%Page: 215 230
TeXDict begin 215 229 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.215) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(215)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 90 a
SDict begin H.S end
-128 90 a -128 90
a
SDict begin 12 H.A end
-128 90 a -128 90 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.12.1.2) cvn H.B /DEST pdfmark end
-128 90 a Black 83 x Fp(12.1.2)p
Black 89 w(GHC')-5 b(s)24 b(interpretation)f(of)h(unde\002ned)g(beha)o
(viour)f(in)h(Haskell)g(98)-128 262 y
SDict begin H.S end
-128 262 a -128
262 a
SDict begin 12 H.A end
-128 262 a -128 262 a
SDict begin [ /View [/XYZ H.V] /Dest (haskell98-undefined) cvn H.B /DEST pdfmark end
-128 262 a 114 x FA(This)d(section)f
(documents)e(GHC')-5 b(s)22 b(tak)o(e)e(on)g(v)n(arious)f(issues)i
(that)f(are)g(left)h(unde\002ned)d(or)i(implementation)e(speci\002c)i
(in)g(Hask)o(ell)h(98.)p Black -107 592 a Fu(The)g Fh(Char)f
Fu(type)p Black 62 w FA(F)o(ollo)n(wing)f(the)h(ISO-10646)e(standard,)g
Ft(maxBound)49 b(::)99 b(Char)20 b FA(in)g(GHC)h(is)g
Ft(0x10FFFF)p FA(.)p Black -107 758 a Fu(Sized)g(integral)f(types)p
Black 61 w FA(In)j(GHC)i(the)e Ft(Int)g FA(type)g(follo)n(ws)g(the)h
(size)g(of)f(an)g(address)g(on)g(the)g(host)h(architecture;)f(in)h
(other)e(w)o(ords)h(it)i(holds)d(32)80 858 y(bits)f(on)e(a)i(32-bit)e
(machine,)g(and)h(64-bits)f(on)h(a)g(64-bit)g(machine.)80
991 y(Arithmetic)j(on)g Ft(Int)g FA(is)h(uncheck)o(ed)e(for)g(o)o(v)o
(er\003o)n(w,)g(so)i(all)g(operations)e(on)h Ft(Int)g
FA(happen)f(modulo)g(2)3097 960 y Fr(n)3169 991 y FA(where)h
Fr(n)h FA(is)g(the)g(size)g(in)f(bits)h(of)80 1090 y(the)c
Ft(Int)g FA(type.)80 1223 y(The)28 b Ft(fromInteger)p
FA(function)c(\(and)k(hence)f(also)i Ft(fromIntegral)p
FA(\))d(is)j(a)g(special)f(case)h(when)e(con)m(v)o(erting)e(to)k
Ft(Int)p FA(.)49 b(The)28 b(v)n(alue)80 1323 y(of)d Ft(fromIntegral)47
b(x)j(::)99 b(Int)25 b FA(is)h(gi)n(v)o(en)e(by)h(taking)f(the)h(lo)n
(wer)g Fr(n)g FA(bits)h(of)e Ft(\(abs)49 b(x\))p FA(,)27
b(multiplied)d(by)g(the)h(sign)g(of)g Ft(x)h FA(\(in)f(2')-5
b(s)80 1422 y(complement)14 b Fr(n)p FA(-bit)j(arithmetic\).)22
b(This)17 b(beha)n(viour)d(w)o(as)j(chosen)f(so)g(that)h(for)f(e)o
(xample)f(writing)h Ft(0xffffffff)48 b(::)99 b(Int)16
b FA(preserv)o(es)80 1522 y(the)k(bit-pattern)f(in)h(the)g(resulting)g
Ft(Int)p FA(.)80 1655 y(Ne)o(gati)n(v)o(e)i(literals,)i(such)f(as)h
Ft(-3)p FA(,)g(are)g(speci\002ed)f(by)g(\(a)g(careful)f(reading)g(of\))
h(the)g(Hask)o(ell)h(Report)f(as)h(meaning)e Ft(Prelude.negate)80
1754 y(\(Prelude.fromInteger)46 b(3\))p FA(.)39 b(So)25
b Ft(-2147483648)f FA(means)g Ft(negate)49 b(\(fromInteger)e
(2147483648\))p FA(.)38 b(Since)25 b Ft(f-)80 1854 y(romInteger)c
FA(tak)o(es)i(the)f(lo)n(wer)g(32)g(bits)h(of)g(the)f(representation,)f
Ft(fromInteger)48 b(\(2147483648::Integer\))p FA(,)19
b(computed)80 1954 y(at)25 b(type)f Ft(Int)g FA(is)h
Ft(-2147483648::Int)p FA(.)35 b(The)24 b Ft(negate)g
FA(operation)e(then)i(o)o(v)o(er\003o)n(ws,)f(b)n(ut)i(it)g(is)g
(uncheck)o(ed,)e(so)h Ft(negate)49 b(\(-2-)80 2053 y(147483648::Int\))
23 b FA(is)j(just)g Ft(-2147483648)p FA(.)38 b(In)25
b(short,)g(one)g(can)g(write)g Ft(minBound::Int)e FA(as)j(a)g(literal)f
(with)g(the)h(e)o(xpected)80 2153 y(meaning)19 b(\(b)n(ut)h(that)g(is)h
(not)f(in)g(general)f(guaranteed.)80 2286 y(The)25 b
Ft(fromIntegral)e FA(function)h(also)i(preserv)o(es)e(bit-patterns)g
(when)g(con)m(v)o(erting)f(between)h(the)h(sized)h(inte)o(gral)e(types)
h(\()p Ft(Int8)p FA(,)h Ft(I-)80 2385 y(nt16)p FA(,)h
Ft(Int32)p FA(,)g Ft(Int64)f FA(and)g(the)g(unsigned)f
Ft(Word)h FA(v)n(ariants\),)g(see)h(the)f(modules)f Ft(Data.Int)h
FA(and)f Ft(Data.Word)g FA(in)i(the)f(library)80 2485
y(documentation.)p Black -128 2651 a Fu(Uncheck)o(ed)21
b(\003oat)f(arithmetic)p Black 40 w FA(Operations)28
b(on)h Ft(Float)f FA(and)g Ft(Double)h FA(numbers)e(are)i
Fq(unc)o(hec)n(k)o(ed)g FA(for)f(o)o(v)o(er\003o)n(w)-5
b(,)29 b(under\003o)n(w)-5 b(,)28 b(and)h(other)80 2751
y(sad)f(occurrences.)45 b(\(note,)28 b(ho)n(we)n(v)o(er)e(that)i(some)f
(architectures)g(trap)g(\003oating-point)e(o)o(v)o(er\003o)n(w)h(and)h
(loss-of-precision)e(and)i(report)g(a)80 2850 y(\003oating-point)18
b(e)o(xception,)g(probably)g(terminating)g(the)j(program\).)-128
2984 y
SDict begin H.S end
-128 2984 a -128 2984 a
SDict begin 12 H.A end
-128 2984 a -128 2984
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.12.1.3) cvn H.B /DEST pdfmark end
-128 2984 a Black 148 x Fp(12.1.3)p Black 89 w(Diver)o(g)q(ence)i(fr)
n(om)i(the)f(FFI)g(speci\002cation)-128 3221 y
SDict begin H.S end
-128 3221
a -128 3221 a
SDict begin 12 H.A end
-128 3221 a -128 3221 a
SDict begin [ /View [/XYZ H.V] /Dest (ffi-divergence) cvn H.B /DEST pdfmark end
-128 3221 a Black
181 x Fh(hs_init\(\))c Fu(not)g(allo)o(wed)g(after)f
Fh(hs_exit\(\))p Black 40 w FA(The)30 b(FFI)g(spec)h(requires)e(the)h
(implementation)e(to)i(support)f(re-initialising)g(itself)i(after)80
3502 y(being)19 b(shut)h(do)n(wn)g(with)g Ft(hs_exit\(\))p
FA(,)f(b)n(ut)h(GHC)h(does)f(not)g(currently)e(support)h(that.)-128
3645 y
SDict begin H.S end
-128 3645 a -128 3645 a
SDict begin 12 H.A end
-128 3645 a -128 3645
a
SDict begin [ /View [/XYZ H.V] /Dest (section.12.2) cvn H.B /DEST pdfmark end
-128 3645 a Black 181 x Fs(12.2)p Black 107 w(Kno)n(wn)29
b(b)n(ugs)g(or)h(inf)o(elicities)-128 3953 y
SDict begin H.S end
-128 3953
a -128 3953 a
SDict begin 12 H.A end
-128 3953 a -128 3953 a
SDict begin [ /View [/XYZ H.V] /Dest (bugs) cvn H.B /DEST pdfmark end
-128 3953 a 114
x FA(The)18 b(b)n(ug)g(track)o(er)f(lists)j(b)n(ugs)d(that)i(ha)n(v)o
(e)e(been)h(reported)e(in)i(GHC)h(b)n(ut)f(not)g(yet)g(\002x)o(ed:)24
b(see)18 b(the)p 0 1 0 0 TeXcolorcmyk 2626 4085 a
SDict begin H.S end
2626
4085 a 0 1 0 0 TeXcolorcmyk -18 x FA(SourceF)o(or)o(ge)f(GHC)k(page)p
0 1 0 0 TeXcolorcmyk 3421 4011 a
SDict begin H.R end
3421 4011 a 3421 4067
a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://sourceforge.net/projects/ghc/) >> /Subtype /Link H.B /ANN pdfmark end
3421 4067 a Black FA(.)j(In)18 b(addition)f(to)h(those,)-128
4167 y(GHC)24 b(also)g(has)f(the)g(follo)n(wing)f(kno)n(wn)f(b)n(ugs)i
(or)g(infelicities.)34 b(These)23 b(b)n(ugs)f(are)h(more)g(permanent;)f
(it)i(is)g(unlik)o(ely)e(that)h(an)o(y)g(of)f(them)h(will)h(be)-128
4267 y(\002x)o(ed)c(in)g(the)h(short)e(term.)-128 4384
y
SDict begin H.S end
-128 4384 a -128 4384 a
SDict begin 12 H.A end
-128 4384 a -128 4384 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.12.2.1) cvn H.B /DEST pdfmark end
-128
4384 a Black 165 x Fp(12.2.1)p Black 89 w(Bugs)24 b(in)h(GHC)-128
4637 y
SDict begin H.S end
-128 4637 a -128 4637 a
SDict begin 12 H.A end
-128 4637 a -128 4637
a
SDict begin [ /View [/XYZ H.V] /Dest (bugs-ghc) cvn H.B /DEST pdfmark end
-128 4637 a Black 115 x FA(\225)p Black 42 w(GHC)d(can)g(w)o(arn)f
(about)f(non-e)o(xhausti)n(v)o(e)e(or)k(o)o(v)o(erlapping)c(patterns)j
(\(see)g(Section)p 1 0 0 TeXcolorrgb 2416 4753 a
SDict begin H.S end
2416
4753 a 1 0 0 TeXcolorrgb -1 x FA(4.7)p 1 0 0 TeXcolorrgb
2519 4696 a
SDict begin H.R end
2519 4696 a 2519 4752 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (section.4.7) cvn H.B /ANN pdfmark end
2519 4752 a Black
FA(\),)h(and)f(usually)g(does)g(so)h(correctly)-5 b(.)28
b(But)22 b(not)f(al)o(w)o(ays.)-57 4851 y(It)g(gets)h(confused)d(by)h
(string)h(patterns,)f(and)h(by)f(guards,)g(and)h(can)g(then)f(emit)h
(bogus)f(w)o(arnings.)27 b(The)20 b(entire)h(o)o(v)o(erlap-check)c
(code)j(needs)h(an)-57 4951 y(o)o(v)o(erhaul)d(really)-5
b(.)p Black -128 5117 a(\225)p Black 42 w(GHC)22 b(does)e(not)g(allo)n
(w)h(you)f(to)h(ha)n(v)o(e)f(a)h(data)f(type)h(with)f(a)i(conte)o(xt)d
(that)i(mentions)e(type)i(v)n(ariables)f(that)g(are)h(not)f(data)h
(type)f(parameters.)25 b(F)o(or)-57 5217 y(e)o(xample:)-128
5285 y
SDict begin H.S end
-128 5285 a -128 5285 a
SDict begin 12 H.A end
-128 5285 a -128 5285
a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-602) cvn H.B /DEST pdfmark end
-128 5285 a 0.95 TeXcolorgray -82 5300 4232 25 v Black
0.95 TeXcolorgray Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray -82 5391 25 92 v Black 0.95 TeXcolorgray
-57 5391 4182 92 v Black 0.95 TeXcolorgray 4124 5391
25 92 v Black 0.95 TeXcolorgray Black -57 5364 a
SDict begin H.S end
-57
5364 a -57 5364 a
SDict begin 11 H.A end
-57 5364 a -57 5364 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-602.1) cvn H.B /DEST pdfmark end
-57 5364 a 0 0 0
TeXcolorrgb 90 w Fo(data)p Black 0 0 0 TeXcolorrgb 44
w(C)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0 0 0 TeXcolorrgb
44 w(b)p Black 45 w(=>)p 0 0 0 TeXcolorrgb 44 w(T)p Black
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(=)p 0 0 0 TeXcolorrgb
44 w(MkT)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray -82 5416 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 5574 a FA(so)c(that)f Ft(MkT)p
FA(')-5 b(s)20 b(type)g(is)-128 5642 y
SDict begin H.S end
-128 5642 a -128
5642 a
SDict begin 12 H.A end
-128 5642 a -128 5642 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-603) cvn H.B /DEST pdfmark end
-128 5642 a 0.95 TeXcolorgray
-82 5657 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 5748 25 92 v
Black 0.95 TeXcolorgray -57 5748 4182 92 v Black 0.95
TeXcolorgray 4124 5748 25 92 v Black 0.95 TeXcolorgray
Black -57 5721 a
SDict begin H.S end
-57 5721 a -57 5721 a
SDict begin 11 H.A end
-57 5721 a -57
5721 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-603.1) cvn H.B /DEST pdfmark end
-57 5721 a 0 0 0 TeXcolorrgb 90 w Fo(MkT)p Black
44 w(::)p 0 0 0 TeXcolorrgb 45 w(forall)p Black 0 0 0
TeXcolorrgb 43 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p
Black(.)p 0 0 0 TeXcolorrgb 44 w(C)p Black 0 0 0 TeXcolorrgb
45 w(a)p Black 0 0 0 TeXcolorrgb 45 w(b)p Black 44 w(=>)p
0 0 0 TeXcolorrgb 45 w(a)p Black 45 w(->)p 0 0 0 TeXcolorrgb
44 w(T)p Black 0 0 0 TeXcolorrgb 45 w(a)p Black 0.95
TeXcolorgray -82 5773 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -128 6084 4252 5 v Black eop end
%%Page: 216 231
TeXDict begin 216 230 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.216) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(216)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -57 173 a FA(In)k(principle,)g(with)g(a)
h(suitable)f(class)i(declaration)c(with)j(a)g(functional)d(dependenc)o
(y)-5 b(,)22 b(it')-5 b(s)25 b(possible)f(that)h(this)f(type)g(is)i
(not)e(ambiguous;)g(b)n(ut)-57 273 y(GHC)f(ne)n(v)o(ertheless)d
(rejects)i(it.)30 b(The)22 b(type)f(v)n(ariables)g(mentioned)f(in)i
(the)g(conte)o(xt)e(of)i(the)g(data)f(type)h(declaration)e(must)i(be)f
(among)g(the)g(type)-57 372 y(parameters)e(of)h(the)g(data)g(type.)p
Black -128 538 a(\225)p Black 42 w(GHC')-5 b(s)21 b(inliner)f(can)g(be)
g(persuaded)e(into)i(non-termination)d(using)j(the)g(standard)f(w)o(ay)
h(to)h(encode)d(recursion)h(via)h(a)h(data)f(type:)-128
606 y
SDict begin H.S end
-128 606 a -128 606 a
SDict begin 12 H.A end
-128 606 a -128 606 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-604) cvn H.B /DEST pdfmark end
-128
606 a 0.95 TeXcolorgray -82 622 4232 25 v Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 713 25 92 v Black 0.95 TeXcolorgray -57 713 4182
92 v Black 0.95 TeXcolorgray 4124 713 25 92 v Black 0.95
TeXcolorgray Black -57 685 a
SDict begin H.S end
-57 685 a -57 685 a
SDict begin 11 H.A end
-57
685 a -57 685 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.1) cvn H.B /DEST pdfmark end
-57 685 a 0 0 0 TeXcolorrgb 90 w Fo(data)p
Black 0 0 0 TeXcolorrgb 44 w(U)p Black 45 w(=)p 0 0 0
TeXcolorrgb 44 w(MkU)p Black 44 w(\()p 0 0 0 TeXcolorrgb(U)p
Black 45 w(->)p 0 0 0 TeXcolorrgb 44 w(Bool)p Black(\))p
0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 804 25
92 v Black 0.95 TeXcolorgray -57 804 4182 92 v Black
0.95 TeXcolorgray 4124 804 25 92 v Black 0.95 TeXcolorgray
Black -57 777 a
SDict begin H.S end
-57 777 a -57 777 a
SDict begin 11 H.A end
-57 777 a -57 777
a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.2) cvn H.B /DEST pdfmark end
-57 777 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 895 25 92 v Black 0.95 TeXcolorgray -57 895 4182
92 v Black 0.95 TeXcolorgray 4124 895 25 92 v Black 0.95
TeXcolorgray Black -57 868 a
SDict begin H.S end
-57 868 a -57 868 a
SDict begin 11 H.A end
-57
868 a -57 868 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.3) cvn H.B /DEST pdfmark end
-57 868 a 0 0 0 TeXcolorrgb 90 w Fo(russel)p
Black 44 w(::)p 0 0 0 TeXcolorrgb 44 w(U)p Black 45 w(->)p
0 0 0 TeXcolorrgb 44 w(Bool)p Black 0.95 TeXcolorgray
Black 0.95 TeXcolorgray -82 987 25 92 v Black 0.95 TeXcolorgray
-57 987 4182 92 v Black 0.95 TeXcolorgray 4124 987 25
92 v Black 0.95 TeXcolorgray Black -57 959 a
SDict begin H.S end
-57 959
a -57 959 a
SDict begin 11 H.A end
-57 959 a -57 959 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.4) cvn H.B /DEST pdfmark end
-57 959 a 0 0 0 TeXcolorrgb
90 w Fo(russel)p Black 0 0 0 TeXcolorrgb 44 w(u@)p Black
-1 w(\()p 0 0 0 TeXcolorrgb(MkU)p Black 0 0 0 TeXcolorrgb
44 w(p)p Black(\))45 b(=)p 0 0 0 TeXcolorrgb 44 w(not)p
Black 0 0 0 TeXcolorrgb 45 w($)p Black 0 0 0 TeXcolorrgb
44 w(p)p Black 0 0 0 TeXcolorrgb 45 w(u)p Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 1078 25 92 v
Black 0.95 TeXcolorgray -57 1078 4182 92 v Black 0.95
TeXcolorgray 4124 1078 25 92 v Black 0.95 TeXcolorgray
Black -57 1051 a
SDict begin H.S end
-57 1051 a -57 1051 a
SDict begin 11 H.A end
-57 1051 a -57
1051 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.5) cvn H.B /DEST pdfmark end
-57 1051 a 0.95 TeXcolorgray Black 0.95 TeXcolorgray
-82 1169 25 92 v Black 0.95 TeXcolorgray -57 1169 4182
92 v Black 0.95 TeXcolorgray 4124 1169 25 92 v Black
0.95 TeXcolorgray Black -57 1142 a
SDict begin H.S end
-57 1142 a -57 1142
a
SDict begin 11 H.A end
-57 1142 a -57 1142 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.6) cvn H.B /DEST pdfmark end
-57 1142 a 0 0 0 TeXcolorrgb
90 w Fo(x)p Black 44 w(::)p 0 0 0 TeXcolorrgb 45 w(Bool)p
Black 0.95 TeXcolorgray Black 0.95 TeXcolorgray -82 1261
25 92 v Black 0.95 TeXcolorgray -57 1261 4182 92 v Black
0.95 TeXcolorgray 4124 1261 25 92 v Black 0.95 TeXcolorgray
Black -57 1233 a
SDict begin H.S end
-57 1233 a -57 1233 a
SDict begin 11 H.A end
-57 1233 a -57
1233 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-604.7) cvn H.B /DEST pdfmark end
-57 1233 a 0 0 0 TeXcolorrgb 90 w Fo(x)p Black
44 w(=)p 0 0 0 TeXcolorrgb 45 w(russel)p Black 44 w(\()p
0 0 0 TeXcolorrgb(MkU)p Black 0 0 0 TeXcolorrgb 44 w(russel)p
Black -1 w(\))p 0.95 TeXcolorgray -82 1286 4232 25 v
Black 0.95 TeXcolorgray Black Black Black -57 1443 a
FA(W)-7 b(e)24 b(ha)n(v)o(e)f(ne)n(v)o(er)e(found)h(another)f(class)j
(of)f(programs,)f(other)g(than)h(this)g(contri)n(v)o(ed)e(one,)i(that)g
(mak)o(es)g(GHC)h(di)n(v)o(er)o(ge,)e(and)g(\002xing)g(the)i(prob-)-57
1543 y(lem)32 b(w)o(ould)f(impose)g(an)h(e)o(xtra)f(o)o(v)o(erhead)e
(on)i(e)n(v)o(ery)f(compilation.)58 b(So)32 b(the)g(b)n(ug)f(remains)g
(un-\002x)o(ed.)57 b(There)31 b(is)i(more)e(background)d(in)p
0 1 0 0 TeXcolorcmyk -57 1644 a
SDict begin H.S end
-57 1644 a 0 1 0 0 TeXcolorcmyk
-36 1643 a FA(Secrets)20 b(of)g(the)g(GHC)h(inliner)p
0 1 0 0 TeXcolorcmyk 849 1586 a
SDict begin H.R end
849 1586 a 849 1643 a
SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype /URI /URI (http://research.microsoft.com/~simonpj/Papers/inlining/) >> /Subtype /Link H.B /ANN pdfmark end
849 1643 a Black FA(.)p Black -128 1809 a(\225)p Black
42 w(GHC)k(does)f(not)g(k)o(eep)f(careful)h(track)f(of)h(what)g
(instance)g(declarations)f(are)h('in)g(scope')f(if)i(the)o(y)e(come)h
(from)f(other)g(packages.)36 b(Instead,)24 b(all)-57
1908 y(instance)f(declarations)g(that)h(GHC)h(has)f(seen)g(in)g(other)f
(packages)f(are)i(all)g(in)g(scope)g(e)n(v)o(erywhere,)e(whether)h(or)g
(not)h(the)g(module)e(from)h(that)-57 2008 y(package)c(is)i(used)f(by)g
(the)g(command-line)d(e)o(xpression.)23 b(This)e(b)n(ug)e(af)n(fects)h
(only)g(the)g Ft(--make)g FA(mode)f(and)g(GHCi.)-128
2142 y
SDict begin H.S end
-128 2142 a -128 2142 a
SDict begin 12 H.A end
-128 2142 a -128 2142
a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.12.2.2) cvn H.B /DEST pdfmark end
-128 2142 a Black 148 x Fp(12.2.2)p Black 89 w(Bugs)24
b(in)h(GHCi)f(\(the)g(interactive)g(GHC\))-128 2379 y
SDict begin H.S end
-128 2379 a -128 2379 a
SDict begin 12 H.A end
-128 2379 a -128 2379 a
SDict begin [ /View [/XYZ H.V] /Dest (bugs-ghci) cvn H.B /DEST pdfmark end
-128
2379 a Black 114 x FA(\225)p Black 42 w(GHCi)f(does)e(not)g(respect)h
(the)g Ft(default)f FA(declaration)f(in)i(the)f(module)g(whose)g(scope)
g(you)g(are)h(in.)29 b(Instead,)22 b(for)f(e)o(xpressions)f(typed)h(at)
h(the)-57 2593 y(command)c(line,)i(you)g(al)o(w)o(ays)g(get)g(the)h
(def)o(ault)e(def)o(ault-type)f(beha)n(viour;)g(that)j(is,)f
Ft(default\(Int,Double\))p FA(.)-57 2726 y(It)28 b(w)o(ould)g(be)g
(better)g(for)f(GHCi)j(to)e(record)f(what)h(the)g(def)o(ault)g
(settings)g(in)g(each)g(module)f(are,)j(and)e(use)g(those)g(of)g(the)g
('current')e(module)-57 2825 y(\(whate)n(v)o(er)18 b(that)j(is\).)p
Black -128 2991 a(\225)p Black 42 w(On)f(W)m(indo)n(ws,)g(there')-5
b(s)20 b(a)h(GNU)g(ld/BFD)g(b)n(ug)f(whereby)f(it)i(emits)g(bogus)e(PE)
i(object)f(\002les)h(that)g(ha)n(v)o(e)f(more)f(than)h(0xf)n(f)n(f)n(f)
f(relocations.)24 b(When)-57 3091 y(GHCi)d(tries)g(to)f(load)g(a)g
(package)f(af)n(fected)g(by)h(this)h(b)n(ug,)e(you)g(get)i(an)f(error)f
(message)h(of)g(the)g(form)-128 3159 y
SDict begin H.S end
-128 3159 a -128
3159 a
SDict begin 12 H.A end
-128 3159 a -128 3159 a
SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.12.-605) cvn H.B /DEST pdfmark end
-128 3159 a 0.95 TeXcolorgray
-82 3174 4232 25 v Black 0.95 TeXcolorgray Black 0.95
TeXcolorgray Black 0.95 TeXcolorgray -82 3265 25 92 v
Black 0.95 TeXcolorgray -57 3265 4182 92 v Black 0.95
TeXcolorgray 4124 3265 25 92 v Black 0.95 TeXcolorgray
Black -57 3238 a
SDict begin H.S end
-57 3238 a -57 3238 a
SDict begin 11 H.A end
-57 3238 a -57
3238 a
SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.-605.1) cvn H.B /DEST pdfmark end
-57 3238 a 0 0 0 TeXcolorrgb Fo(Loading)p Black
0 0 0 TeXcolorrgb 44 w(package)p Black 0 0 0 TeXcolorrgb
43 w(javavm)p Black 44 w(...)p 0 0 0 TeXcolorrgb 44 w(linking)p
Black 44 w(...)p 0 0 0 TeXcolorrgb 44 w(WARNING)p Black
-1 w(:)p 0 0 0 TeXcolorrgb 45 w(Overflown)p Black 0 0 0
TeXcolorrgb 43 w(relocation)p Black 0 0 0 TeXcolorrgb
43 w(field)p Black 44 w(\(#)p 0 0 0 TeXcolorrgb 45 w(relocs)p
Black 0 0 0 TeXcolorrgb 44 w(found)44 b Fd( )-12 b Fb(-)p
0.95 TeXcolorgray 0 0 0 TeXcolorrgb 0.95 TeXcolorgray
-82 3357 25 92 v 0 0 0 TeXcolorrgb 0.95 TeXcolorgray
-57 3357 4182 92 v 0 0 0 TeXcolorrgb 0.95 TeXcolorgray
4124 3357 25 92 v 0 0 0 TeXcolorrgb 0.95 TeXcolorgray
0 0 0 TeXcolorrgb Black 109 3329 a Fo(:)45 b(30765\))p
0.95 TeXcolorgray -82 3382 4232 25 v Black 0.95 TeXcolorgray
Black Black Black -57 3539 a FA(The)23 b(last)h(time)g(we)g(look)o(ed,)
e(this)i(b)n(ug)f(still)i(w)o(asn')o(t)e(\002x)o(ed)g(in)g(the)h(BFD)g
(codebase,)f(and)g(there)g(w)o(asn')o(t)g(an)o(y)f(noticeable)h
(interest)g(in)g(\002xing)g(it)-57 3639 y(when)d(we)g(reported)f(the)h
(b)n(ug)f(back)h(in)g(2001)f(or)h(so.)-57 3772 y(The)j(w)o(orkaround)d
(is)k(to)f(split)h(up)f(the)g(.o)g(\002les)h(that)f(mak)o(e)g(up)f
(your)g(package)g(into)h(tw)o(o)g(or)g(more)f(.o')-5
b(s,)24 b(along)e(the)h(lines)h(of)e(ho)n(w)h(the)g("base")-57
3871 y(package)c(does)h(it.)p Black -128 6084 4252 5
v Black eop end
%%Page: 217 232
TeXDict begin 217 231 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.217) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(217)20 b(/)g(224)p
-128 -179 4252 5 v Black Black -128 651 a Fy(Chapter)43
b(13)-128 1066 y Fv(Inde)m(x)p Black -128 1472 a
SDict begin H.S end
-128
1472 a -128 1472 a
SDict begin 12 H.A end
-128 1472 a -128 1472 a
SDict begin [ /View [/XYZ H.V] /Dest (chapter.13) cvn H.B /DEST pdfmark end
-128 1472
a 84 x Fu(_)-128 1655 y FA(+R)-5 b(TS,)p 1 0 0 TeXcolorrgb
108 1656 a
SDict begin H.S end
108 1656 a 1 0 0 TeXcolorrgb -1 x FA(71)p
1 0 0 TeXcolorrgb 191 1599 a
SDict begin H.R end
191 1599 a 191 1655 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
191
1655 a Black -128 1755 a FA(+r)m(,)p 1 0 0 TeXcolorrgb
-15 1756 a
SDict begin H.S end
-15 1756 a 1 0 0 TeXcolorrgb -1 x FA(34)p
1 0 0 TeXcolorrgb 68 1698 a
SDict begin H.R end
68 1698 a 68 1755 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
68 1755
a Black -128 1854 a FA(+s,)p 1 0 0 TeXcolorrgb -7 1855
a
SDict begin H.S end
-7 1855 a 1 0 0 TeXcolorrgb -1 x FA(34)p 1 0 0 TeXcolorrgb
76 1798 a
SDict begin H.R end
76 1798 a 76 1854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
76 1854 a Black -128 1954
a FA(+t,)p 1 0 0 TeXcolorrgb -16 1955 a
SDict begin H.S end
-16 1955 a 1 0 0
TeXcolorrgb -1 x FA(17)p 1 0 0 TeXcolorrgb 67 1898 a
SDict begin H.R end
67 1898 a 67 1954 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.17) cvn H.B /ANN pdfmark end
67 1954 a Black FA(,)p 1 0 0 TeXcolorrgb
108 1955 a
SDict begin H.S end
108 1955 a 1 0 0 TeXcolorrgb -1 x FA(34)p
1 0 0 TeXcolorrgb 191 1898 a
SDict begin H.R end
191 1898 a 191 1954 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
191
1954 a Black -128 2054 a FA(--R)g(TS,)p 1 0 0 TeXcolorrgb
117 2055 a
SDict begin H.S end
117 2055 a 1 0 0 TeXcolorrgb -1 x FA(72)p
1 0 0 TeXcolorrgb 200 1997 a
SDict begin H.R end
200 1997 a 200 2054 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
200
2054 a Black -128 2153 a FA(--install-signal-handlers)38
2253 y(R)g(TS)22 b(option,)p 1 0 0 TeXcolorrgb 460 2254
a
SDict begin H.S end
460 2254 a 1 0 0 TeXcolorrgb -1 x FA(72)p 1 0 0 TeXcolorrgb
543 2197 a
SDict begin H.R end
543 2197 a 543 2253 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
543 2253 a Black -128
2353 a FA(--machine-readable)38 2452 y(R)-5 b(TS)22 b(option,)p
1 0 0 TeXcolorrgb 460 2453 a
SDict begin H.S end
460 2453 a 1 0 0 TeXcolorrgb
-1 x FA(74)p 1 0 0 TeXcolorrgb 543 2396 a
SDict begin H.R end
543 2396 a
543 2452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
543 2452 a Black -128 2552 a FA(--sho)n(w-if)o(ace,)p
1 0 0 TeXcolorrgb 331 2553 a
SDict begin H.S end
331 2553 a 1 0 0 TeXcolorrgb
-1 x FA(46)p 1 0 0 TeXcolorrgb 414 2495 a
SDict begin H.R end
414 2495 a
414 2552 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
414 2552 a Black -128 2651 a FA(-?,)p 1 0 0
TeXcolorrgb -22 2652 a
SDict begin H.S end
-22 2652 a 1 0 0 TeXcolorrgb -1
x FA(60)p 1 0 0 TeXcolorrgb 61 2595 a
SDict begin H.R end
61 2595 a 61 2651
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
61 2651 a Black -128 2751 a FA(-A)38 2851 y(R)-5 b(TS)22
b(option,)p 1 0 0 TeXcolorrgb 460 2852 a
SDict begin H.S end
460 2852 a 1 0 0
TeXcolorrgb -1 x FA(73)p 1 0 0 TeXcolorrgb 543 2794 a
SDict begin H.R end
543 2794 a 543 2851 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
543 2851 a Black -128 2950 a FA(-A)f(R)-5
b(TS)21 b(option,)p 1 0 0 TeXcolorrgb 625 2950 a
SDict begin H.S end
625
2950 a 1 0 0 TeXcolorrgb FA(112)p 1 0 0 TeXcolorrgb 750
2894 a
SDict begin H.R end
750 2894 a 750 2950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.112) cvn H.B /ANN pdfmark end
750 2950 a Black FA(,)p
1 0 0 TeXcolorrgb 791 2951 a
SDict begin H.S end
791 2951 a 1 0 0 TeXcolorrgb
-1 x FA(115)p 1 0 0 TeXcolorrgb 916 2894 a
SDict begin H.R end
916 2894 a
916 2950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
916 2950 a Black -128 3050 a FA(-B)38 3150
y(R)-5 b(TS)22 b(option,)p 1 0 0 TeXcolorrgb 460 3151
a
SDict begin H.S end
460 3151 a 1 0 0 TeXcolorrgb -1 x FA(76)p 1 0 0 TeXcolorrgb
543 3093 a
SDict begin H.R end
543 3093 a 543 3150 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
543 3150 a Black -128
3249 a FA(-C,)p 1 0 0 TeXcolorrgb -3 3250 a
SDict begin H.S end
-3 3250 a
1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0 TeXcolorrgb 80 3193
a
SDict begin H.R end
80 3193 a 80 3249 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
80 3249 a Black FA(,)p 1 0 0 TeXcolorrgb
122 3249 a
SDict begin H.S end
122 3249 a 1 0 0 TeXcolorrgb FA(41)p 1 0 0
TeXcolorrgb 205 3193 a
SDict begin H.R end
205 3193 a 205 3249 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
205 3249
a Black -128 3349 a FA(-Cs)38 3448 y(R)-5 b(TS)22 b(option,)p
1 0 0 TeXcolorrgb 460 3449 a
SDict begin H.S end
460 3449 a 1 0 0 TeXcolorrgb
-1 x FA(70)p 1 0 0 TeXcolorrgb 543 3392 a
SDict begin H.R end
543 3392 a
543 3448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
543 3448 a Black -128 3548 a FA(-D,)p 1 0 0
TeXcolorrgb 2 3549 a
SDict begin H.S end
2 3549 a 1 0 0 TeXcolorrgb -1 x
FA(66)p 1 0 0 TeXcolorrgb 85 3492 a
SDict begin H.R end
85 3492 a 85 3548
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
85 3548 a Black 38 3648 a FA(R)-5 b(TS)22 b(option,)p
1 0 0 TeXcolorrgb 460 3649 a
SDict begin H.S end
460 3649 a 1 0 0 TeXcolorrgb
-1 x FA(76)p 1 0 0 TeXcolorrgb 543 3591 a
SDict begin H.R end
543 3591 a
543 3648 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
543 3648 a Black -128 3747 a FA(-E,)p 1 0 0
TeXcolorrgb -8 3748 a
SDict begin H.S end
-8 3748 a 1 0 0 TeXcolorrgb -1
x FA(40)p 1 0 0 TeXcolorrgb 75 3691 a
SDict begin H.R end
75 3691 a 75 3747
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
75 3747 a Black FA(,)p 1 0 0 TeXcolorrgb 117 3747 a
SDict begin H.S end
117 3747 a 1 0 0 TeXcolorrgb FA(41)p 1 0 0 TeXcolorrgb
200 3691 a
SDict begin H.R end
200 3691 a 200 3747 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
200 3747 a Black -128
3847 a FA(-E)f(option,)p 1 0 0 TeXcolorrgb 225 3847 a
SDict begin H.S end
225 3847 a 1 0 0 TeXcolorrgb FA(41)p 1 0 0 TeXcolorrgb
308 3791 a
SDict begin H.R end
308 3791 a 308 3847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
308 3847 a Black -128
3947 a FA(-F)-7 b(,)p 1 0 0 TeXcolorrgb -19 3948 a
SDict begin H.S end
-19
3948 a 1 0 0 TeXcolorrgb -1 x FA(67)p 1 0 0 TeXcolorrgb
64 3890 a
SDict begin H.R end
64 3890 a 64 3947 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
64 3947 a Black 38 4046
a FA(R)i(TS)22 b(option,)p 1 0 0 TeXcolorrgb 460 4047
a
SDict begin H.S end
460 4047 a 1 0 0 TeXcolorrgb -1 x FA(73)p 1 0 0 TeXcolorrgb
543 3990 a
SDict begin H.R end
543 3990 a 543 4046 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
543 4046 a Black -128
4146 a FA(-G)38 4245 y(R)-5 b(TS)22 b(option,)p 1 0 0
TeXcolorrgb 460 4246 a
SDict begin H.S end
460 4246 a 1 0 0 TeXcolorrgb -1
x FA(73)p 1 0 0 TeXcolorrgb 543 4189 a
SDict begin H.R end
543 4189 a 543
4245 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
543 4245 a Black -128 4345 a FA(-G)f(R)-5 b(TS)21
b(option,)p 1 0 0 TeXcolorrgb 403 4346 a
SDict begin H.S end
403 4346 a 1 0 0
TeXcolorrgb -1 x FA(115)p 1 0 0 TeXcolorrgb 527 4289
a
SDict begin H.R end
527 4289 a 527 4345 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
527 4345 a Black -128 4445 a
FA(-H,)p 1 0 0 TeXcolorrgb 2 4445 a
SDict begin H.S end
2 4445 a 1 0 0 TeXcolorrgb
FA(42)p 1 0 0 TeXcolorrgb 85 4388 a
SDict begin H.R end
85 4388 a 85 4445
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
85 4445 a Black FA(,)p 1 0 0 TeXcolorrgb 126 4445 a
SDict begin H.S end
126 4445 a 1 0 0 TeXcolorrgb FA(112)p 1 0 0 TeXcolorrgb
251 4388 a
SDict begin H.R end
251 4388 a 251 4445 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.112) cvn H.B /ANN pdfmark end
251 4445 a Black 38
4544 a FA(R)-5 b(TS)22 b(option,)p 1 0 0 TeXcolorrgb
460 4545 a
SDict begin H.S end
460 4545 a 1 0 0 TeXcolorrgb -1 x FA(73)p
1 0 0 TeXcolorrgb 543 4488 a
SDict begin H.R end
543 4488 a 543 4544 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
543
4544 a Black -128 4644 a FA(-I,)p 1 0 0 TeXcolorrgb -31
4645 a
SDict begin H.S end
-31 4645 a 1 0 0 TeXcolorrgb -1 x FA(66)p 1 0 0
TeXcolorrgb 52 4588 a
SDict begin H.R end
52 4588 a 52 4644 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
52 4644 a Black
38 4744 a FA(R)-5 b(TS)22 b(option,)p 1 0 0 TeXcolorrgb
460 4745 a
SDict begin H.S end
460 4745 a 1 0 0 TeXcolorrgb -1 x FA(73)p
1 0 0 TeXcolorrgb 543 4687 a
SDict begin H.R end
543 4687 a 543 4744 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
543
4744 a Black -128 4843 a FA(-K)38 4943 y(R)-5 b(TS)22
b(option,)p 1 0 0 TeXcolorrgb 460 4944 a
SDict begin H.S end
460 4944 a 1 0 0
TeXcolorrgb -1 x FA(74)p 1 0 0 TeXcolorrgb 543 4887 a
SDict begin H.R end
543 4887 a 543 4943 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
543 4943 a Black -128 5042 a FA(-L,)p
1 0 0 TeXcolorrgb -8 5043 a
SDict begin H.S end
-8 5043 a 1 0 0 TeXcolorrgb
-1 x FA(68)p 1 0 0 TeXcolorrgb 75 4986 a
SDict begin H.R end
75 4986 a 75
5042 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
75 5042 a Black 38 5142 a FA(R)-5 b(TS)22 b(option,)p
1 0 0 TeXcolorrgb 460 5143 a
SDict begin H.S end
460 5143 a 1 0 0 TeXcolorrgb
-1 x FA(101)p 1 0 0 TeXcolorrgb 585 5086 a
SDict begin H.R end
585 5086 a
585 5142 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 5142 a Black -128 5242 a FA(-M)38 5341
y(R)-5 b(TS)22 b(option,)p 1 0 0 TeXcolorrgb 460 5342
a
SDict begin H.S end
460 5342 a 1 0 0 TeXcolorrgb -1 x FA(74)p 1 0 0 TeXcolorrgb
543 5285 a
SDict begin H.R end
543 5285 a 543 5341 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
543 5341 a Black -128
5441 a FA(-M)e(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb
639 5442 a
SDict begin H.S end
639 5442 a 1 0 0 TeXcolorrgb -1 x FA(115)p
1 0 0 TeXcolorrgb 764 5385 a
SDict begin H.R end
764 5385 a 764 5441 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
764
5441 a Black -128 5541 a FA(-Nx)38 5640 y(R)-5 b(TS)22
b(option,)p 1 0 0 TeXcolorrgb 460 5641 a
SDict begin H.S end
460 5641 a 1 0 0
TeXcolorrgb -1 x FA(70)p 1 0 0 TeXcolorrgb 543 5584 a
SDict begin H.R end
543 5584 a 543 5640 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
543 5640 a Black -128 5740 a FA(-O,)p
1 0 0 TeXcolorrgb 2 5741 a
SDict begin H.S end
2 5741 a 1 0 0 TeXcolorrgb
-1 x FA(35)p 1 0 0 TeXcolorrgb 85 5684 a
SDict begin H.R end
85 5684 a 85
5740 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.35) cvn H.B /ANN pdfmark end
85 5740 a Black FA(,)p 1 0 0 TeXcolorrgb 126 5741
a
SDict begin H.S end
126 5741 a 1 0 0 TeXcolorrgb -1 x FA(180)p 1 0 0 TeXcolorrgb
251 5684 a
SDict begin H.R end
251 5684 a 251 5740 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
251 5740 a Black Black
Black 2144 1556 a FA(-O)e(option,)p 1 0 0 TeXcolorrgb
2506 1557 a
SDict begin H.S end
2506 1557 a 1 0 0 TeXcolorrgb -1 x FA(63)p
1 0 0 TeXcolorrgb 2589 1499 a
SDict begin H.R end
2589 1499 a 2589 1556 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2589 1556 a Black 2144 1655 a FA(-O*)g(not)f(speci\002ed,)p
1 0 0 TeXcolorrgb 2757 1656 a
SDict begin H.S end
2757 1656 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 2840 1599 a
SDict begin H.R end
2840 1599
a 2840 1655 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2840 1655 a Black 2144 1755 a FA(-O0,)p
1 0 0 TeXcolorrgb 2314 1756 a
SDict begin H.S end
2314 1756 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 2397 1698 a
SDict begin H.R end
2397 1698
a 2397 1755 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2397 1755 a Black 2144 1854 a FA(-O1)h(option,)p
1 0 0 TeXcolorrgb 2547 1855 a
SDict begin H.S end
2547 1855 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 2630 1798 a
SDict begin H.R end
2630 1798
a 2630 1854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2630 1854 a Black 2144 1954 a FA(-O2)g(option,)p
1 0 0 TeXcolorrgb 2547 1955 a
SDict begin H.S end
2547 1955 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 2630 1898 a
SDict begin H.R end
2630 1898
a 2630 1954 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2630 1954 a Black 2144 2054 a FA(-O\002le)g(<\002le>)h
(option,)p 1 0 0 TeXcolorrgb 2832 2055 a
SDict begin H.S end
2832 2055 a
1 0 0 TeXcolorrgb -1 x FA(63)p 1 0 0 TeXcolorrgb 2915
1997 a
SDict begin H.R end
2915 1997 a 2915 2054 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2915 2054 a Black 2144
2153 a FA(-P)-9 b(,)p 1 0 0 TeXcolorrgb 2250 2155 a
SDict begin H.S end
2250
2155 a 1 0 0 TeXcolorrgb -2 x FA(98)p 1 0 0 TeXcolorrgb
2333 2097 a
SDict begin H.R end
2333 2097 a 2333 2153 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.98) cvn H.B /ANN pdfmark end
2333 2153 a Black
FA(,)p 1 0 0 TeXcolorrgb 2374 2154 a
SDict begin H.S end
2374 2154 a 1 0 0
TeXcolorrgb -1 x FA(100)p 1 0 0 TeXcolorrgb 2499 2097
a
SDict begin H.R end
2499 2097 a 2499 2153 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2499 2153 a Black 2144 2253
a FA(-R)k(TS,)p 1 0 0 TeXcolorrgb 2360 2254 a
SDict begin H.S end
2360 2254
a 1 0 0 TeXcolorrgb -1 x FA(71)p 1 0 0 TeXcolorrgb 2443
2197 a
SDict begin H.R end
2443 2197 a 2443 2253 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
2443 2253 a Black 2144
2353 a FA(-Rghc-timing,)p 1 0 0 TeXcolorrgb 2633 2353
a
SDict begin H.S end
2633 2353 a 1 0 0 TeXcolorrgb FA(42)p 1 0 0 TeXcolorrgb
2716 2296 a
SDict begin H.R end
2716 2296 a 2716 2353 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
2716 2353 a Black
2144 2452 a FA(-S,)p 1 0 0 TeXcolorrgb 2259 2453 a
SDict begin H.S end
2259
2453 a 1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0 TeXcolorrgb
2342 2396 a
SDict begin H.R end
2342 2396 a 2342 2452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
2342 2452 a Black
FA(,)p 1 0 0 TeXcolorrgb 2384 2452 a
SDict begin H.S end
2384 2452 a 1 0 0
TeXcolorrgb FA(41)p 1 0 0 TeXcolorrgb 2467 2396 a
SDict begin H.R end
2467
2396 a 2467 2452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
2467 2452 a Black 2310 2552 a FA(R)g(TS)21
b(option,)p 1 0 0 TeXcolorrgb 2732 2553 a
SDict begin H.S end
2732 2553 a
1 0 0 TeXcolorrgb -1 x FA(74)p 1 0 0 TeXcolorrgb 2815
2495 a
SDict begin H.R end
2815 2495 a 2815 2552 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2815 2552 a Black 2144
2651 a FA(-S)f(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb
2660 2652 a
SDict begin H.S end
2660 2652 a 1 0 0 TeXcolorrgb -1 x FA(115)p
1 0 0 TeXcolorrgb 2785 2595 a
SDict begin H.R end
2785 2595 a 2785 2651 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
2785 2651 a Black 2144 2751 a FA(-U,)p 1 0 0 TeXcolorrgb
2273 2752 a
SDict begin H.S end
2273 2752 a 1 0 0 TeXcolorrgb -1 x FA(66)p
1 0 0 TeXcolorrgb 2356 2695 a
SDict begin H.R end
2356 2695 a 2356 2751 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
2356 2751 a Black 2144 2851 a FA(-V)-11 b(,)p 1 0 0 TeXcolorrgb
2262 2852 a
SDict begin H.S end
2262 2852 a 1 0 0 TeXcolorrgb -1 x FA(40)p
1 0 0 TeXcolorrgb 2345 2794 a
SDict begin H.R end
2345 2794 a 2345 2851 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
2345 2851 a Black FA(,)p 1 0 0 TeXcolorrgb 2387 2852
a
SDict begin H.S end
2387 2852 a 1 0 0 TeXcolorrgb -1 x FA(60)p 1 0 0 TeXcolorrgb
2470 2794 a
SDict begin H.R end
2470 2794 a 2470 2851 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
2470 2851 a Black
2310 2950 a FA(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb
2732 2951 a
SDict begin H.S end
2732 2951 a 1 0 0 TeXcolorrgb -1 x FA(72)p
1 0 0 TeXcolorrgb 2815 2894 a
SDict begin H.R end
2815 2894 a 2815 2950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
2815 2950 a Black 2144 3050 a FA(-W)f(option,)p 1 0 0
TeXcolorrgb 2524 3051 a
SDict begin H.S end
2524 3051 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 2607 2994 a
SDict begin H.R end
2607 2994
a 2607 3050 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2607 3050 a Black 2144 3150 a FA(-W)-7
b(all,)p 1 0 0 TeXcolorrgb 2368 3151 a
SDict begin H.S end
2368 3151 a 1 0 0
TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb 2451 3093
a
SDict begin H.R end
2451 3093 a 2451 3150 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2451 3150 a Black 2144 3249
a FA(-W)g(error)m(,)p 1 0 0 TeXcolorrgb 2443 3250 a
SDict begin H.S end
2443
3250 a 1 0 0 TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb
2526 3193 a
SDict begin H.R end
2526 3193 a 2526 3249 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2526 3249 a Black
2144 3349 a FA(-Ww)o(arn,)p 1 0 0 TeXcolorrgb 2456 3350
a
SDict begin H.S end
2456 3350 a 1 0 0 TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb
2539 3293 a
SDict begin H.R end
2539 3293 a 2539 3349 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2539 3349 a Black
2144 3448 a FA(-XF)o(oreignFunctionInterf)o(ace,)p 1 0 0
TeXcolorrgb 3119 3450 a
SDict begin H.S end
3119 3450 a 1 0 0 TeXcolorrgb
-2 x FA(196)p 1 0 0 TeXcolorrgb 3244 3392 a
SDict begin H.R end
3244 3392
a 3244 3448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.196) cvn H.B /ANN pdfmark end
3244 3448 a Black 2144 3548 a FA(-XIncoherentInstances,)p
1 0 0 TeXcolorrgb 2937 3549 a
SDict begin H.S end
2937 3549 a 1 0 0 TeXcolorrgb
-1 x FA(148)p 1 0 0 TeXcolorrgb 3061 3492 a
SDict begin H.R end
3061 3492
a 3061 3548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.148) cvn H.B /ANN pdfmark end
3061 3548 a Black 2144 3648 a FA(-XMonoP)o(atBinds,)p
1 0 0 TeXcolorrgb 2770 3650 a
SDict begin H.S end
2770 3650 a 1 0 0 TeXcolorrgb
-2 x FA(193)p 1 0 0 TeXcolorrgb 2894 3591 a
SDict begin H.R end
2894 3591
a 2894 3648 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.193) cvn H.B /ANN pdfmark end
2894 3648 a Black 2144 3747 a FA(-XNe)n
(wQuali\002edOperators,)p 1 0 0 TeXcolorrgb 3064 3749
a
SDict begin H.S end
3064 3749 a 1 0 0 TeXcolorrgb -2 x FA(119)p 1 0 0 TeXcolorrgb
3188 3691 a
SDict begin H.R end
3188 3691 a 3188 3747 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.119) cvn H.B /ANN pdfmark end
3188 3747 a Black
2144 3847 a FA(-XNoImplicitPrelude)17 b(option,)p 1 0 0
TeXcolorrgb 3124 3848 a
SDict begin H.S end
3124 3848 a 1 0 0 TeXcolorrgb
-1 x FA(125)p 1 0 0 TeXcolorrgb 3248 3791 a
SDict begin H.R end
3248 3791
a 3248 3847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.125) cvn H.B /ANN pdfmark end
3248 3847 a Black FA(,)p 1 0 0 TeXcolorrgb
3290 3848 a
SDict begin H.S end
3290 3848 a 1 0 0 TeXcolorrgb -1 x FA(201)p
1 0 0 TeXcolorrgb 3414 3791 a
SDict begin H.R end
3414 3791 a 3414 3847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.201) cvn H.B /ANN pdfmark end
3414 3847 a Black 2144 3947 a FA(-XNoMonoP)o(atBinds,)p
1 0 0 TeXcolorrgb 2871 3949 a
SDict begin H.S end
2871 3949 a 1 0 0 TeXcolorrgb
-2 x FA(193)p 1 0 0 TeXcolorrgb 2996 3890 a
SDict begin H.R end
2996 3890
a 2996 3947 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.193) cvn H.B /ANN pdfmark end
2996 3947 a Black 2144 4046 a FA
(-XNoMonomorphismRestriction,)p 1 0 0 TeXcolorrgb 3274
4048 a
SDict begin H.S end
3274 4048 a 1 0 0 TeXcolorrgb -2 x FA(193)p 1 0 0
TeXcolorrgb 3398 3990 a
SDict begin H.R end
3398 3990 a 3398 4046 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.193) cvn H.B /ANN pdfmark end
3398
4046 a Black 2144 4146 a FA(-XOv)o(erlappingInstances,)p
1 0 0 TeXcolorrgb 2996 4147 a
SDict begin H.S end
2996 4147 a 1 0 0 TeXcolorrgb
-1 x FA(148)p 1 0 0 TeXcolorrgb 3120 4090 a
SDict begin H.R end
3120 4090
a 3120 4146 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.148) cvn H.B /ANN pdfmark end
3120 4146 a Black 2144 4245 a FA(-XT)-6
b(emplateHask)o(ell,)p 1 0 0 TeXcolorrgb 2833 4246 a
SDict begin H.S end
2833 4246 a 1 0 0 TeXcolorrgb -1 x FA(168)p 1 0 0 TeXcolorrgb
2958 4189 a
SDict begin H.R end
2958 4189 a 2958 4245 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.168) cvn H.B /ANN pdfmark end
2958 4245 a Black
2144 4345 a FA(-XUndecidableInstances,)p 1 0 0 TeXcolorrgb
3001 4346 a
SDict begin H.S end
3001 4346 a 1 0 0 TeXcolorrgb -1 x FA(148)p
1 0 0 TeXcolorrgb 3126 4289 a
SDict begin H.R end
3126 4289 a 3126 4345 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.148) cvn H.B /ANN pdfmark end
3126 4345 a Black 2144 4445 a FA(-Z)2310 4544 y(R)h(TS)21
b(option,)p 1 0 0 TeXcolorrgb 2732 4545 a
SDict begin H.S end
2732 4545 a
1 0 0 TeXcolorrgb -1 x FA(77)p 1 0 0 TeXcolorrgb 2815
4490 a
SDict begin H.R end
2815 4490 a 2815 4544 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2815 4544 a Black 2144
4644 a FA(-#include,)p 1 0 0 TeXcolorrgb 2499 4645 a
SDict begin H.S end
2499 4645 a 1 0 0 TeXcolorrgb -1 x FA(67)p 1 0 0 TeXcolorrgb
2582 4588 a
SDict begin H.R end
2582 4588 a 2582 4644 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
2582 4644 a Black
2144 4744 a FA(-auto,)p 1 0 0 TeXcolorrgb 2356 4746 a
SDict begin H.S end
2356 4746 a 1 0 0 TeXcolorrgb -2 x FA(96)p 1 0 0 TeXcolorrgb
2439 4687 a
SDict begin H.R end
2439 4687 a 2439 4744 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.96) cvn H.B /ANN pdfmark end
2439 4744 a Black
FA(,)p 1 0 0 TeXcolorrgb 2480 4745 a
SDict begin H.S end
2480 4745 a 1 0 0
TeXcolorrgb -1 x FA(100)p 1 0 0 TeXcolorrgb 2605 4687
a
SDict begin H.R end
2605 4687 a 2605 4744 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2605 4744 a Black 2144 4843
a FA(-auto-all,)p 1 0 0 TeXcolorrgb 2466 4845 a
SDict begin H.S end
2466
4845 a 1 0 0 TeXcolorrgb -2 x FA(96)p 1 0 0 TeXcolorrgb
2550 4787 a
SDict begin H.R end
2550 4787 a 2550 4843 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.96) cvn H.B /ANN pdfmark end
2550 4843 a Black
FA(,)p 1 0 0 TeXcolorrgb 2591 4844 a
SDict begin H.S end
2591 4844 a 1 0 0
TeXcolorrgb -1 x FA(100)p 1 0 0 TeXcolorrgb 2716 4787
a
SDict begin H.R end
2716 4787 a 2716 4843 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2716 4843 a Black 2144 4943
a FA(-c,)p 1 0 0 TeXcolorrgb 2250 4944 a
SDict begin H.S end
2250 4944 a
1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0 TeXcolorrgb 2333
4887 a
SDict begin H.R end
2333 4887 a 2333 4943 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
2333 4943 a Black FA(,)p
1 0 0 TeXcolorrgb 2374 4943 a
SDict begin H.S end
2374 4943 a 1 0 0 TeXcolorrgb
FA(41)p 1 0 0 TeXcolorrgb 2457 4887 a
SDict begin H.R end
2457 4887 a 2457
4943 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
2457 4943 a Black FA(,)p 1 0 0 TeXcolorrgb 2499
4944 a
SDict begin H.S end
2499 4944 a 1 0 0 TeXcolorrgb -1 x FA(68)p 1 0 0
TeXcolorrgb 2582 4887 a
SDict begin H.R end
2582 4887 a 2582 4943 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
2582
4943 a Black 2310 5042 a FA(R)-5 b(TS)21 b(option,)p
1 0 0 TeXcolorrgb 2732 5043 a
SDict begin H.S end
2732 5043 a 1 0 0 TeXcolorrgb
-1 x FA(73)p 1 0 0 TeXcolorrgb 2815 4986 a
SDict begin H.R end
2815 4986
a 2815 5042 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
2815 5042 a Black 2144 5142 a FA(-caf-all,)p
1 0 0 TeXcolorrgb 2425 5143 a
SDict begin H.S end
2425 5143 a 1 0 0 TeXcolorrgb
-1 x FA(100)p 1 0 0 TeXcolorrgb 2549 5086 a
SDict begin H.R end
2549 5086
a 2549 5142 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2549 5142 a Black 2144 5242 a FA(-cpp,)p
1 0 0 TeXcolorrgb 2333 5242 a
SDict begin H.S end
2333 5242 a 1 0 0 TeXcolorrgb
FA(41)p 1 0 0 TeXcolorrgb 2416 5185 a
SDict begin H.R end
2416 5185 a 2416
5242 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
2416 5242 a Black FA(,)p 1 0 0 TeXcolorrgb 2457
5243 a
SDict begin H.S end
2457 5243 a 1 0 0 TeXcolorrgb -1 x FA(66)p 1 0 0
TeXcolorrgb 2540 5185 a
SDict begin H.R end
2540 5185 a 2540 5242 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
2540
5242 a Black 2144 5341 a FA(-cpp)e(option,)p 1 0 0 TeXcolorrgb
2566 5342 a
SDict begin H.S end
2566 5342 a 1 0 0 TeXcolorrgb -1 x FA(66)p
1 0 0 TeXcolorrgb 2649 5285 a
SDict begin H.R end
2649 5285 a 2649 5341 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
2649 5341 a Black 2144 5441 a FA(-cpp)g(vs)i(string)e(gaps,)p
1 0 0 TeXcolorrgb 2810 5442 a
SDict begin H.S end
2810 5442 a 1 0 0 TeXcolorrgb
-1 x FA(66)p 1 0 0 TeXcolorrgb 2893 5385 a
SDict begin H.R end
2893 5385
a 2893 5441 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
2893 5441 a Black 2144 5541 a FA(-dcmm-lint,)p
1 0 0 TeXcolorrgb 2559 5542 a
SDict begin H.S end
2559 5542 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 2642 5484 a
SDict begin H.R end
2642 5484
a 2642 5541 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
2642 5541 a Black 2144 5640 a FA(-dcore-lint,)p
1 0 0 TeXcolorrgb 2536 5641 a
SDict begin H.S end
2536 5641 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 2619 5584 a
SDict begin H.R end
2619 5584
a 2619 5640 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2619 5640 a Black FA(,)p 1 0 0 TeXcolorrgb
2660 5641 a
SDict begin H.S end
2660 5641 a 1 0 0 TeXcolorrgb -1 x FA(80)p
1 0 0 TeXcolorrgb 2743 5584 a
SDict begin H.R end
2743 5584 a 2743 5640 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
2743 5640 a Black 2144 5740 a FA(-dcore-lint)f(option,)p
1 0 0 TeXcolorrgb 2769 5741 a
SDict begin H.S end
2769 5741 a 1 0 0 TeXcolorrgb
-1 x FA(201)p 1 0 0 TeXcolorrgb 2893 5684 a
SDict begin H.R end
2893 5684
a 2893 5740 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.201) cvn H.B /ANN pdfmark end
2893 5740 a Black Black -128 6084 4252
5 v Black eop end
%%Page: 218 233
TeXDict begin 218 232 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.218) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(218)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(-ddump)e(options,)p
1 0 0 TeXcolorrgb 437 175 a
SDict begin H.S end
437 175 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 521 117 a
SDict begin H.R end
521 117 a 521
173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
521 173 a Black -128 273 a FA(-ddump-asm,)p 1 0 0
TeXcolorrgb 334 275 a
SDict begin H.S end
334 275 a 1 0 0 TeXcolorrgb -2
x FA(79)p 1 0 0 TeXcolorrgb 417 217 a
SDict begin H.R end
417 217 a 417 273
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
417 273 a Black -128 372 a FA(-ddump-bcos,)p 1 0 0
TeXcolorrgb 352 374 a
SDict begin H.S end
352 374 a 1 0 0 TeXcolorrgb -2
x FA(79)p 1 0 0 TeXcolorrgb 435 316 a
SDict begin H.R end
435 316 a 435 372
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
435 372 a Black -128 472 a FA(-ddump-cmm,)p 1 0 0 TeXcolorrgb
366 474 a
SDict begin H.S end
366 474 a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0
TeXcolorrgb 449 416 a
SDict begin H.R end
449 416 a 449 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
449 472 a Black
-128 572 a FA(-ddump-cpranal,)p 1 0 0 TeXcolorrgb 444
574 a
SDict begin H.S end
444 574 a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0
TeXcolorrgb 527 515 a
SDict begin H.R end
527 515 a 527 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
527 572 a Black
-128 671 a FA(-ddump-cse,)p 1 0 0 TeXcolorrgb 306 673
a
SDict begin H.S end
306 673 a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb
389 615 a
SDict begin H.R end
389 615 a 389 671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
389 671 a Black -128 771
a FA(-ddump-deri)n(v)-5 b(,)p 1 0 0 TeXcolorrgb 363 773
a
SDict begin H.S end
363 773 a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb
446 715 a
SDict begin H.R end
446 715 a 446 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
446 771 a Black -128 871
a FA(-ddump-ds,)p 1 0 0 TeXcolorrgb 274 873 a
SDict begin H.S end
274 873
a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb 357
814 a
SDict begin H.R end
357 814 a 357 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
357 871 a Black -128 970 a
FA(-ddump-\003atC,)p 1 0 0 TeXcolorrgb 361 972 a
SDict begin H.S end
361
972 a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb
444 914 a
SDict begin H.R end
444 914 a 444 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
444 970 a Black -128 1070
a FA(-ddump-foreign,)p 1 0 0 TeXcolorrgb 440 1072 a
SDict begin H.S end
440
1072 a 1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb
523 1014 a
SDict begin H.R end
523 1014 a 523 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
523 1070 a Black -128
1169 a FA(-ddump-hi,)p 1 0 0 TeXcolorrgb 264 1170 a
SDict begin H.S end
264
1170 a 1 0 0 TeXcolorrgb -1 x FA(46)p 1 0 0 TeXcolorrgb
347 1113 a
SDict begin H.R end
347 1113 a 347 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
347 1169 a Black -128
1269 a FA(-ddump-hi-dif)n(fs,)p 1 0 0 TeXcolorrgb 442
1270 a
SDict begin H.S end
442 1270 a 1 0 0 TeXcolorrgb -1 x FA(46)p 1 0 0
TeXcolorrgb 525 1213 a
SDict begin H.R end
525 1213 a 525 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
525 1269
a Black -128 1369 a FA(-ddump-if-trace,)p 1 0 0 TeXcolorrgb
440 1371 a
SDict begin H.S end
440 1371 a 1 0 0 TeXcolorrgb -2 x FA(79)p
1 0 0 TeXcolorrgb 523 1312 a
SDict begin H.R end
523 1312 a 523 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
523
1369 a Black -128 1468 a FA(-ddump-inlinings,)p 1 0 0
TeXcolorrgb 491 1470 a
SDict begin H.S end
491 1470 a 1 0 0 TeXcolorrgb -2
x FA(79)p 1 0 0 TeXcolorrgb 574 1412 a
SDict begin H.R end
574 1412 a 574
1468 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
574 1468 a Black -128 1568 a FA(-ddump-minimal-imports,)p
1 0 0 TeXcolorrgb 758 1569 a
SDict begin H.S end
758 1569 a 1 0 0 TeXcolorrgb
-1 x FA(46)p 1 0 0 TeXcolorrgb 841 1512 a
SDict begin H.R end
841 1512 a
841 1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
841 1568 a Black -128 1668 a FA(-ddump-occur)n(-anal,)p
1 0 0 TeXcolorrgb 549 1670 a
SDict begin H.S end
549 1670 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 632 1611 a
SDict begin H.R end
632 1611 a
632 1668 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
632 1668 a Black -128 1767 a FA(-ddump-opt-cmm,)p
1 0 0 TeXcolorrgb 500 1769 a
SDict begin H.S end
500 1769 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 583 1711 a
SDict begin H.R end
583 1711 a
583 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
583 1767 a Black -128 1867 a FA(-ddump-parsed,)p
1 0 0 TeXcolorrgb 417 1869 a
SDict begin H.S end
417 1869 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 500 1811 a
SDict begin H.R end
500 1811 a
500 1867 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
500 1867 a Black -128 1966 a FA(-ddump-prep,)p
1 0 0 TeXcolorrgb 347 1968 a
SDict begin H.S end
347 1968 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 430 1910 a
SDict begin H.R end
430 1910 a
430 1966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
430 1966 a Black -128 2066 a FA(-ddump-rn,)p
1 0 0 TeXcolorrgb 269 2068 a
SDict begin H.S end
269 2068 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 352 2010 a
SDict begin H.R end
352 2010 a
352 2066 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
352 2066 a Black -128 2166 a FA(-ddump-rn-trace,)p
1 0 0 TeXcolorrgb 458 2167 a
SDict begin H.S end
458 2167 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 541 2109 a
SDict begin H.R end
541 2109 a
541 2166 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
541 2166 a Black -128 2265 a FA(-ddump-rules,)p
1 0 0 TeXcolorrgb 361 2267 a
SDict begin H.S end
361 2267 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 444 2209 a
SDict begin H.R end
444 2209 a
444 2265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
444 2265 a Black -128 2365 a FA(-ddump-simpl,)p
1 0 0 TeXcolorrgb 384 2367 a
SDict begin H.S end
384 2367 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 467 2309 a
SDict begin H.R end
467 2309 a
467 2365 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
467 2365 a Black -128 2465 a FA(-ddump-simpl-iterations,)p
1 0 0 TeXcolorrgb 721 2467 a
SDict begin H.S end
721 2467 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 804 2408 a
SDict begin H.R end
804 2408 a
804 2465 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
804 2465 a Black -128 2564 a FA(-ddump-simpl-phases,)p
1 0 0 TeXcolorrgb 633 2566 a
SDict begin H.S end
633 2566 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 716 2508 a
SDict begin H.R end
716 2508 a
716 2564 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
716 2564 a Black -128 2664 a FA(-ddump-simpl-stats)18
b(option,)p 1 0 0 TeXcolorrgb 793 2666 a
SDict begin H.S end
793 2666 a 1 0 0
TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb 876 2608 a
SDict begin H.R end
876 2608 a 876 2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
876 2664 a Black -128 2763 a FA(-ddump-spec,)p
1 0 0 TeXcolorrgb 347 2765 a
SDict begin H.S end
347 2765 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 430 2707 a
SDict begin H.R end
430 2707 a
430 2763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
430 2763 a Black -128 2863 a FA(-ddump-splices,)p
1 0 0 TeXcolorrgb 426 2865 a
SDict begin H.S end
426 2865 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 509 2807 a
SDict begin H.R end
509 2807 a
509 2863 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
509 2863 a Black -128 2963 a FA(-ddump-stg,)p
1 0 0 TeXcolorrgb 297 2965 a
SDict begin H.S end
297 2965 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 380 2906 a
SDict begin H.R end
380 2906 a
380 2963 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
380 2963 a Black -128 3062 a FA(-ddump-stranal,)p
1 0 0 TeXcolorrgb 421 3064 a
SDict begin H.S end
421 3064 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 504 3006 a
SDict begin H.R end
504 3006 a
504 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
504 3062 a Black -128 3162 a FA(-ddump-tc,)p
1 0 0 TeXcolorrgb 260 3164 a
SDict begin H.S end
260 3164 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 343 3106 a
SDict begin H.R end
343 3106 a
343 3162 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
343 3162 a Black -128 3262 a FA(-ddump-tc-trace,)p
1 0 0 TeXcolorrgb 449 3264 a
SDict begin H.S end
449 3264 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 532 3205 a
SDict begin H.R end
532 3205 a
532 3262 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
532 3262 a Black -128 3361 a FA(-ddump-types,)p
1 0 0 TeXcolorrgb 375 3363 a
SDict begin H.S end
375 3363 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 458 3305 a
SDict begin H.R end
458 3305 a
458 3361 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
458 3361 a Black -128 3461 a FA(-ddump-w)o(orkwrap,)p
1 0 0 TeXcolorrgb 536 3463 a
SDict begin H.S end
536 3463 a 1 0 0 TeXcolorrgb
-2 x FA(79)p 1 0 0 TeXcolorrgb 619 3405 a
SDict begin H.R end
619 3405 a
619 3461 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
619 3461 a Black -128 3560 a FA(-deb)n(ug,)p
1 0 0 TeXcolorrgb 143 3562 a
SDict begin H.S end
143 3562 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 226 3504 a
SDict begin H.R end
226 3504 a
226 3560 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
226 3560 a Black -128 3660 a FA(-df)o(aststring-stats,)p
1 0 0 TeXcolorrgb 467 3661 a
SDict begin H.S end
467 3661 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 550 3604 a
SDict begin H.R end
550 3604 a
550 3660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
550 3660 a Black -128 3760 a FA(-dno-deb)n(ug-output,)p
1 0 0 TeXcolorrgb 535 3761 a
SDict begin H.S end
535 3761 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 618 3703 a
SDict begin H.R end
618 3703 a
618 3760 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
618 3760 a Black -128 3859 a FA(-dppr)n(-deb)n(ug,)p
1 0 0 TeXcolorrgb 321 3860 a
SDict begin H.S end
321 3860 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 404 3803 a
SDict begin H.R end
404 3803 a
404 3859 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
404 3859 a Black -128 3959 a FA(-dppr)n(-user)n(-length,)p
1 0 0 TeXcolorrgb 492 3960 a
SDict begin H.S end
492 3960 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 575 3903 a
SDict begin H.R end
575 3903 a
575 3959 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
575 3959 a Black -128 4059 a FA(-dsho)n(w-passes,)p
1 0 0 TeXcolorrgb 396 4060 a
SDict begin H.S end
396 4060 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 479 4002 a
SDict begin H.R end
479 4002 a
479 4059 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
479 4059 a Black -128 4158 a FA(-dsho)n(w-rn-stats,)p
1 0 0 TeXcolorrgb 428 4159 a
SDict begin H.S end
428 4159 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 511 4102 a
SDict begin H.R end
511 4102 a
511 4158 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
511 4158 a Black -128 4258 a FA(-dstg-lint,)p
1 0 0 TeXcolorrgb 218 4259 a
SDict begin H.S end
218 4259 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 301 4202 a
SDict begin H.R end
301 4202 a
301 4258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
301 4258 a Black -128 4358 a FA(-dsuppress-uniques,)p
1 0 0 TeXcolorrgb 555 4359 a
SDict begin H.S end
555 4359 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 638 4301 a
SDict begin H.R end
638 4301 a
638 4358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
638 4358 a Black -128 4457 a FA(-dv)o(erbose-core2core,)p
1 0 0 TeXcolorrgb 595 4458 a
SDict begin H.S end
595 4458 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 678 4401 a
SDict begin H.R end
678 4401 a
678 4457 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
678 4457 a Black -128 4557 a FA(-dv)o(erbose-stg2stg,)p
1 0 0 TeXcolorrgb 503 4558 a
SDict begin H.S end
503 4558 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 586 4500 a
SDict begin H.R end
586 4500 a
586 4557 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
586 4557 a Black -128 4656 a FA(-dynamic,)p
1 0 0 TeXcolorrgb 228 4657 a
SDict begin H.S end
228 4657 a 1 0 0 TeXcolorrgb
-1 x FA(68)p 1 0 0 TeXcolorrgb 311 4600 a
SDict begin H.R end
311 4600 a
311 4656 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
311 4656 a Black -128 4756 a FA(-f,)p 1 0 0
TeXcolorrgb -31 4757 a
SDict begin H.S end
-31 4757 a 1 0 0 TeXcolorrgb -1
x FA(60)p 1 0 0 TeXcolorrgb 52 4700 a
SDict begin H.R end
52 4700 a 52 4756
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
52 4756 a Black 38 4856 a FA(R)-5 b(TS)22 b(option,)p
1 0 0 TeXcolorrgb 460 4857 a
SDict begin H.S end
460 4857 a 1 0 0 TeXcolorrgb
-1 x FA(72)p 1 0 0 TeXcolorrgb 543 4799 a
SDict begin H.R end
543 4799 a
543 4856 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
543 4856 a Black -128 4955 a FA(-f*)e(options)f(\(GHC\),)p
1 0 0 TeXcolorrgb 527 4956 a
SDict begin H.S end
527 4956 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 610 4899 a
SDict begin H.R end
610 4899 a
610 4955 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
610 4955 a Black -128 5055 a FA(-fPIC,)p 1 0 0
TeXcolorrgb 98 5056 a
SDict begin H.S end
98 5056 a 1 0 0 TeXcolorrgb -1
x FA(68)p 1 0 0 TeXcolorrgb 181 4999 a
SDict begin H.R end
181 4999 a 181
5055 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
181 5055 a Black -128 5155 a FA(-f)o(asm,)p 1 0 0
TeXcolorrgb 102 5156 a
SDict begin H.S end
102 5156 a 1 0 0 TeXcolorrgb -1
x FA(67)p 1 0 0 TeXcolorrgb 185 5098 a
SDict begin H.R end
185 5098 a 185
5155 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
185 5155 a Black -128 5254 a FA(-fbyte-code,)p
1 0 0 TeXcolorrgb 297 5255 a
SDict begin H.S end
297 5255 a 1 0 0 TeXcolorrgb
-1 x FA(67)p 1 0 0 TeXcolorrgb 380 5198 a
SDict begin H.R end
380 5198 a
380 5254 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
380 5254 a Black -128 5354 a FA(-ferror)n(-spans,)p
1 0 0 TeXcolorrgb 341 5354 a
SDict begin H.S end
341 5354 a 1 0 0 TeXcolorrgb
FA(42)p 1 0 0 TeXcolorrgb 424 5297 a
SDict begin H.R end
424 5297 a 424 5354
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
424 5354 a Black -128 5453 a FA(-fe)o(xcess-precision,)p
1 0 0 TeXcolorrgb 517 5454 a
SDict begin H.S end
517 5454 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 600 5397 a
SDict begin H.R end
600 5397 a
600 5453 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
600 5453 a Black -128 5553 a FA(-fe)o(xt-core,)p
1 0 0 TeXcolorrgb 240 5554 a
SDict begin H.S end
240 5554 a 1 0 0 TeXcolorrgb
-1 x FA(78)p 1 0 0 TeXcolorrgb 323 5497 a
SDict begin H.R end
323 5497 a
323 5553 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.78) cvn H.B /ANN pdfmark end
323 5553 a Black -128 5653 a FA(-f)n(force-recomp,)p
1 0 0 TeXcolorrgb 414 5654 a
SDict begin H.S end
414 5654 a 1 0 0 TeXcolorrgb
-1 x FA(46)p 1 0 0 TeXcolorrgb 497 5596 a
SDict begin H.R end
497 5596 a
497 5653 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
497 5653 a Black -128 5752 a FA(-fglasgo)n(w-e)o(xts,)p
1 0 0 TeXcolorrgb 404 5753 a
SDict begin H.S end
404 5753 a 1 0 0 TeXcolorrgb
-1 x FA(116)p 1 0 0 TeXcolorrgb 529 5696 a
SDict begin H.R end
529 5696 a
529 5752 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.116) cvn H.B /ANN pdfmark end
529 5752 a Black Black Black 2144 173 a FA
(-\002gnore-asserts,)p 1 0 0 TeXcolorrgb 2697 174 a
SDict begin H.S end
2697
174 a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0 TeXcolorrgb
2780 117 a
SDict begin H.R end
2780 117 a 2780 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2780 173 a Black FA(,)p
1 0 0 TeXcolorrgb 2822 174 a
SDict begin H.S end
2822 174 a 1 0 0 TeXcolorrgb
-1 x FA(180)p 1 0 0 TeXcolorrgb 2946 117 a
SDict begin H.R end
2946 117 a
2946 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
2946 173 a Black 2144 273 a FA(-\002gnore-interf)o
(ace-pragma)o(s,)p 1 0 0 TeXcolorrgb 3074 274 a
SDict begin H.S end
3074
274 a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0 TeXcolorrgb
3157 217 a
SDict begin H.R end
3157 217 a 3157 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3157 273 a Black 2144
372 a FA(-\003iberate-case,)p 1 0 0 TeXcolorrgb 2655
373 a
SDict begin H.S end
2655 373 a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0
TeXcolorrgb 2738 316 a
SDict begin H.R end
2738 316 a 2738 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2738 372
a Black 2144 472 a FA(-fno-*)f(options)h(\(GHC\),)p 1 0 0
TeXcolorrgb 2909 473 a
SDict begin H.S end
2909 473 a 1 0 0 TeXcolorrgb -1
x FA(64)p 1 0 0 TeXcolorrgb 2992 416 a
SDict begin H.R end
2992 416 a 2992
472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2992 472 a Black 2144 572 a FA(-fno-code,)p 1 0 0
TeXcolorrgb 2508 573 a
SDict begin H.S end
2508 573 a 1 0 0 TeXcolorrgb -1
x FA(67)p 1 0 0 TeXcolorrgb 2591 515 a
SDict begin H.R end
2591 515 a 2591
572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
2591 572 a Black 2144 671 a FA(-fno-cse,)p 1 0 0
TeXcolorrgb 2457 672 a
SDict begin H.S end
2457 672 a 1 0 0 TeXcolorrgb -1
x FA(64)p 1 0 0 TeXcolorrgb 2540 615 a
SDict begin H.R end
2540 615 a 2540
671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2540 671 a Black 2144 771 a FA(-fno-embed-manifest,)p
1 0 0 TeXcolorrgb 2886 772 a
SDict begin H.S end
2886 772 a 1 0 0 TeXcolorrgb
-1 x FA(70)p 1 0 0 TeXcolorrgb 2969 715 a
SDict begin H.R end
2969 715 a
2969 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
2969 771 a Black 2144 871 a FA(-fno-force-recomp,)p
1 0 0 TeXcolorrgb 2798 872 a
SDict begin H.S end
2798 872 a 1 0 0 TeXcolorrgb
-1 x FA(46)p 1 0 0 TeXcolorrgb 2881 814 a
SDict begin H.R end
2881 814 a
2881 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
2881 871 a Black 2144 970 a FA(-fno-full-laziness,)p
1 0 0 TeXcolorrgb 2757 971 a
SDict begin H.S end
2757 971 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 2840 914 a
SDict begin H.R end
2840 914 a
2840 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2840 970 a Black 2144 1070 a FA(-fno-gen-manifest,)p
1 0 0 TeXcolorrgb 2785 1072 a
SDict begin H.S end
2785 1072 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 2868 1014 a
SDict begin H.R end
2868 1014
a 2868 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
2868 1070 a Black 2144 1169 a FA
(-fno-implicit-import-quali\002ed)o(,)p 1 0 0 TeXcolorrgb
3177 1170 a
SDict begin H.S end
3177 1170 a 1 0 0 TeXcolorrgb -1 x FA(18)p
1 0 0 TeXcolorrgb 3260 1113 a
SDict begin H.R end
3260 1113 a 3260 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.18) cvn H.B /ANN pdfmark end
3260 1169 a Black 2144 1269 a FA(-fno-print-bind-result,)p
1 0 0 TeXcolorrgb 2895 1270 a
SDict begin H.S end
2895 1270 a 1 0 0 TeXcolorrgb
-1 x FA(16)p 1 0 0 TeXcolorrgb 2978 1213 a
SDict begin H.R end
2978 1213
a 2978 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.16) cvn H.B /ANN pdfmark end
2978 1269 a Black 2144 1369 a FA(-fno-state-hack,)p
1 0 0 TeXcolorrgb 2688 1370 a
SDict begin H.S end
2688 1370 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 2771 1312 a
SDict begin H.R end
2771 1312
a 2771 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2771 1369 a Black 2144 1468 a FA(-fno-strictness,)p
1 0 0 TeXcolorrgb 2660 1469 a
SDict begin H.S end
2660 1469 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 2743 1412 a
SDict begin H.R end
2743 1412
a 2743 1468 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2743 1468 a Black 2144 1568 a FA(-fobject-code,)p
1 0 0 TeXcolorrgb 2628 1569 a
SDict begin H.S end
2628 1569 a 1 0 0 TeXcolorrgb
-1 x FA(67)p 1 0 0 TeXcolorrgb 2711 1512 a
SDict begin H.R end
2711 1512
a 2711 1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
2711 1568 a Black 2144 1668 a FA(-fomit-interf)o
(ace-pragmas,)p 1 0 0 TeXcolorrgb 3019 1669 a
SDict begin H.S end
3019 1669
a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0 TeXcolorrgb 3102
1611 a
SDict begin H.R end
3102 1611 a 3102 1668 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3102 1668 a Black 2144
1767 a FA(-fprint-bind-result,)p 1 0 0 TeXcolorrgb 2785
1768 a
SDict begin H.S end
2785 1768 a 1 0 0 TeXcolorrgb -1 x FA(16)p 1 0 0
TeXcolorrgb 2868 1711 a
SDict begin H.R end
2868 1711 a 2868 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.16) cvn H.B /ANN pdfmark end
2868
1767 a Black 2144 1867 a FA(-frame)n(w)o(ork,)p 1 0 0
TeXcolorrgb 2574 1868 a
SDict begin H.S end
2574 1868 a 1 0 0 TeXcolorrgb
-1 x FA(68)p 1 0 0 TeXcolorrgb 2657 1811 a
SDict begin H.R end
2657 1811
a 2657 1867 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
2657 1867 a Black 2144 1966 a FA(-frame)n(w)o(ork-path,)p
1 0 0 TeXcolorrgb 2745 1967 a
SDict begin H.S end
2745 1967 a 1 0 0 TeXcolorrgb
-1 x FA(68)p 1 0 0 TeXcolorrgb 2828 1910 a
SDict begin H.R end
2828 1910
a 2828 1966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
2828 1966 a Black 2144 2066 a FA(-fspec-constr)m(,)p
1 0 0 TeXcolorrgb 2615 2067 a
SDict begin H.S end
2615 2067 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 2698 2010 a
SDict begin H.R end
2698 2010
a 2698 2066 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2698 2066 a Black 2144 2166 a FA(-fstatic-ar)o
(gument-transform)o(ation)o(,)p 1 0 0 TeXcolorrgb 3272
2167 a
SDict begin H.S end
3272 2167 a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0
TeXcolorrgb 3355 2109 a
SDict begin H.R end
3355 2109 a 3355 2166 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3355
2166 a Black 2144 2265 a FA(-funbox-strict-\002elds,)p
1 0 0 TeXcolorrgb 2849 2266 a
SDict begin H.S end
2849 2266 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 2932 2209 a
SDict begin H.R end
2932 2209
a 2932 2265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
2932 2265 a Black 2144 2365 a FA(-funfolding-creation-th)
o(resh)o(old,)p 1 0 0 TeXcolorrgb 3195 2366 a
SDict begin H.S end
3195 2366
a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0 TeXcolorrgb 3278
2309 a
SDict begin H.R end
3278 2309 a 3278 2365 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3278 2365 a Black 2144
2465 a FA(-funfolding-use-thresho)o(ld,)p 1 0 0 TeXcolorrgb
3038 2466 a
SDict begin H.S end
3038 2466 a 1 0 0 TeXcolorrgb -1 x FA(64)p
1 0 0 TeXcolorrgb 3121 2408 a
SDict begin H.R end
3121 2408 a 3121 2465 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3121 2465 a Black 2144 2564 a FA(-funfolding-use-thresho)o(ld0)14
b(option,)p 1 0 0 TeXcolorrgb 3313 2565 a
SDict begin H.S end
3313 2565 a
1 0 0 TeXcolorrgb -1 x FA(115)p 1 0 0 TeXcolorrgb 3437
2508 a
SDict begin H.R end
3437 2508 a 3437 2564 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
3437 2564 a Black 2144
2664 a FA(-fvia-C,)p 1 0 0 TeXcolorrgb 2425 2665 a
SDict begin H.S end
2425
2665 a 1 0 0 TeXcolorrgb -1 x FA(67)p 1 0 0 TeXcolorrgb
2508 2608 a
SDict begin H.R end
2508 2608 a 2508 2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
2508 2664 a Black
2144 2763 a FA(-fw)o(arn-deprecated-\003ags,)p 1 0 0
TeXcolorrgb 2977 2764 a
SDict begin H.S end
2977 2764 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 3060 2707 a
SDict begin H.R end
3060 2707
a 3060 2763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3060 2763 a Black 2144 2863 a FA(-fw)o(arn-dodgy-foreig)o
(n-)o(impo)o(rts,)p 1 0 0 TeXcolorrgb 3190 2864 a
SDict begin H.S end
3190
2864 a 1 0 0 TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb
3273 2807 a
SDict begin H.R end
3273 2807 a 3273 2863 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3273 2863 a Black
2144 2963 a FA(-fw)o(arn-dodgy-impor)o(ts,)p 1 0 0 TeXcolorrgb
2922 2964 a
SDict begin H.S end
2922 2964 a 1 0 0 TeXcolorrgb -1 x FA(52)p
1 0 0 TeXcolorrgb 3005 2906 a
SDict begin H.R end
3005 2906 a 3005 2963 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3005 2963 a Black 2144 3062 a FA(-fw)o(arn-duplicate-e)o(xports,)p
1 0 0 TeXcolorrgb 3008 3063 a
SDict begin H.S end
3008 3063 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 3091 3006 a
SDict begin H.R end
3091 3006
a 3091 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3091 3062 a Black 2144 3162 a FA(-fw)o(arn-hi-shado)n
(wing,)p 1 0 0 TeXcolorrgb 2883 3163 a
SDict begin H.S end
2883 3163 a 1 0 0
TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb 2966 3106
a
SDict begin H.R end
2966 3106 a 2966 3162 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2966 3162 a Black 2144 3262
a FA(-fw)o(arn-implicit-prelude,)p 1 0 0 TeXcolorrgb
2968 3263 a
SDict begin H.S end
2968 3263 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 3051 3205 a
SDict begin H.R end
3051 3205 a 3051 3262 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3051 3262 a Black 2144 3361 a FA(-fw)o(arn-incomplete-patterns,)p
1 0 0 TeXcolorrgb 3093 3362 a
SDict begin H.S end
3093 3362 a 1 0 0 TeXcolorrgb
-1 x FA(53)p 1 0 0 TeXcolorrgb 3176 3305 a
SDict begin H.R end
3176 3305
a 3176 3361 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3176 3361 a Black 2144 3461 a FA(-fw)o
(arn-incomplete-record)o(-up)o(da)o(tes,)p 1 0 0 TeXcolorrgb
3323 3462 a
SDict begin H.S end
3323 3462 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 3406 3405 a
SDict begin H.R end
3406 3405 a 3406 3461 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3406 3461 a Black 2144 3560 a FA(-fw)o(arn-missing-\002elds,)p
1 0 0 TeXcolorrgb 2899 3561 a
SDict begin H.S end
2899 3561 a 1 0 0 TeXcolorrgb
-1 x FA(53)p 1 0 0 TeXcolorrgb 2982 3504 a
SDict begin H.R end
2982 3504
a 2982 3560 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
2982 3560 a Black 2144 3660 a FA(-fw)o
(arn-missing-methods,)p 1 0 0 TeXcolorrgb 3001 3661 a
SDict begin H.S end
3001 3661 a 1 0 0 TeXcolorrgb -1 x FA(53)p 1 0 0 TeXcolorrgb
3084 3604 a
SDict begin H.R end
3084 3604 a 3084 3660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3084 3660 a Black
2144 3760 a FA(-fw)o(arn-missing-signatures,)p 1 0 0
TeXcolorrgb 3056 3761 a
SDict begin H.S end
3056 3761 a 1 0 0 TeXcolorrgb
-1 x FA(53)p 1 0 0 TeXcolorrgb 3139 3703 a
SDict begin H.R end
3139 3703
a 3139 3760 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3139 3760 a Black 2144 3859 a FA(-fw)o
(arn-missing-signatures)i(option,)p 1 0 0 TeXcolorrgb
3289 3860 a
SDict begin H.S end
3289 3860 a 1 0 0 TeXcolorrgb -1 x FA(113)p
1 0 0 TeXcolorrgb 3413 3803 a
SDict begin H.R end
3413 3803 a 3413 3859 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.113) cvn H.B /ANN pdfmark end
3413 3859 a Black 2144 3959 a FA(-fw)o(arn-monomorphism-)o(restrictio)o
(n,)p 1 0 0 TeXcolorrgb 3323 3960 a
SDict begin H.S end
3323 3960 a 1 0 0
TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb 3406 3903
a
SDict begin H.R end
3406 3903 a 3406 3959 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3406 3959 a Black 2144 4059
a FA(-fw)o(arn-name-shado)n(wing,)p 1 0 0 TeXcolorrgb
2998 4060 a
SDict begin H.S end
2998 4060 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 3081 4002 a
SDict begin H.R end
3081 4002 a 3081 4059 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3081 4059 a Black 2144 4158 a FA(-fw)o(arn-orphans,)p
1 0 0 TeXcolorrgb 2696 4159 a
SDict begin H.S end
2696 4159 a 1 0 0 TeXcolorrgb
-1 x FA(53)p 1 0 0 TeXcolorrgb 2779 4102 a
SDict begin H.R end
2779 4102
a 2779 4158 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
2779 4158 a Black 2144 4258 a FA(-fw)o(arn-o)o(v)o
(erlapping-p)o(attern)o(s,)p 1 0 0 TeXcolorrgb 3118 4259
a
SDict begin H.S end
3118 4259 a 1 0 0 TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb
3201 4202 a
SDict begin H.R end
3201 4202 a 3201 4258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3201 4258 a Black
2144 4358 a FA(-fw)o(arn-simple-patterns,)p 1 0 0 TeXcolorrgb
2945 4359 a
SDict begin H.S end
2945 4359 a 1 0 0 TeXcolorrgb -1 x FA(54)p
1 0 0 TeXcolorrgb 3028 4301 a
SDict begin H.R end
3028 4301 a 3028 4358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3028 4358 a Black 2144 4457 a FA(-fw)o(arn-tabs,)p 1 0 0
TeXcolorrgb 2567 4458 a
SDict begin H.S end
2567 4458 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 2650 4401 a
SDict begin H.R end
2650 4401
a 2650 4457 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2650 4457 a Black 2144 4557 a FA(-fw)o(arn-type-def)o
(aults,)p 1 0 0 TeXcolorrgb 2866 4558 a
SDict begin H.S end
2866 4558 a 1 0 0
TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb 2949 4500
a
SDict begin H.R end
2949 4500 a 2949 4557 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2949 4557 a Black 2144 4656
a FA(-fw)o(arn-unrecognised-pr)o(agm)o(as,)p 1 0 0 TeXcolorrgb
3185 4657 a
SDict begin H.S end
3185 4657 a 1 0 0 TeXcolorrgb -1 x FA(52)p
1 0 0 TeXcolorrgb 3268 4600 a
SDict begin H.R end
3268 4600 a 3268 4656 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3268 4656 a Black 2144 4756 a FA(-fw)o(arn-unused-binds,)p
1 0 0 TeXcolorrgb 2876 4757 a
SDict begin H.S end
2876 4757 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 2959 4700 a
SDict begin H.R end
2959 4700
a 2959 4756 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2959 4756 a Black 2144 4856 a FA(-fw)o
(arn-unused-imports,)p 1 0 0 TeXcolorrgb 2950 4857 a
SDict begin H.S end
2950 4857 a 1 0 0 TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb
3033 4799 a
SDict begin H.R end
3033 4799 a 3033 4856 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3033 4856 a Black
2144 4955 a FA(-fw)o(arn-unused-matches,)p 1 0 0 TeXcolorrgb
2968 4956 a
SDict begin H.S end
2968 4956 a 1 0 0 TeXcolorrgb -1 x FA(54)p
1 0 0 TeXcolorrgb 3051 4899 a
SDict begin H.R end
3051 4899 a 3051 4955 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3051 4955 a Black 2144 5055 a FA(-fw)o(arn-w)o(arnings-deprecation)o
(s,)p 1 0 0 TeXcolorrgb 3184 5056 a
SDict begin H.S end
3184 5056 a 1 0 0
TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb 3267 4999
a
SDict begin H.R end
3267 4999 a 3267 5055 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3267 5055 a Black 2144 5155
a FA(-g)2310 5254 y(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb
2732 5255 a
SDict begin H.S end
2732 5255 a 1 0 0 TeXcolorrgb -1 x FA(73)p
1 0 0 TeXcolorrgb 2815 5198 a
SDict begin H.R end
2815 5198 a 2815 5254 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
2815 5254 a Black 2144 5354 a FA(-h,)p
1 0 0 TeXcolorrgb 2742 5355 a
SDict begin H.S end
2742 5355 a 1 0 0 TeXcolorrgb
-1 x FA(103)p 1 0 0 TeXcolorrgb 2867 5297 a
SDict begin H.R end
2867 5297
a 2867 5354 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.103) cvn H.B /ANN pdfmark end
2867 5354 a Black 2144 5453 a FA(-hC)2310
5553 y(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb 2732
5554 a
SDict begin H.S end
2732 5554 a 1 0 0 TeXcolorrgb -1 x FA(101)p 1 0 0
TeXcolorrgb 2856 5497 a
SDict begin H.R end
2856 5497 a 2856 5553 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
2856
5553 a Black 2144 5653 a FA(-hT)2310 5752 y(R)-5 b(TS)21
b(option,)p 1 0 0 TeXcolorrgb 2732 5753 a
SDict begin H.S end
2732 5753 a
1 0 0 TeXcolorrgb -1 x FA(76)p 1 0 0 TeXcolorrgb 2815
5696 a
SDict begin H.R end
2815 5696 a 2815 5752 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
2815 5752 a Black Black
-128 6084 4252 5 v Black eop end
%%Page: 219 234
TeXDict begin 219 233 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.219) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(219)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(-hb)38 273 y(R)-5
b(TS)22 b(option,)p 1 0 0 TeXcolorrgb 460 274 a
SDict begin H.S end
460 274
a 1 0 0 TeXcolorrgb -1 x FA(101)p 1 0 0 TeXcolorrgb 585
217 a
SDict begin H.R end
585 217 a 585 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 273 a Black -128 372 a
FA(-hc)38 472 y(R)-5 b(TS)22 b(option,)p 1 0 0 TeXcolorrgb
460 473 a
SDict begin H.S end
460 473 a 1 0 0 TeXcolorrgb -1 x FA(101)p 1 0 0
TeXcolorrgb 585 416 a
SDict begin H.R end
585 416 a 585 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 472 a Black
-128 572 a FA(-hcsuf,)p 1 0 0 TeXcolorrgb 121 573 a
SDict begin H.S end
121
573 a 1 0 0 TeXcolorrgb -1 x FA(45)p 1 0 0 TeXcolorrgb
204 515 a
SDict begin H.R end
204 515 a 204 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
204 572 a Black -128 671
a FA(-hd)38 771 y(R)-5 b(TS)22 b(option,)p 1 0 0 TeXcolorrgb
460 772 a
SDict begin H.S end
460 772 a 1 0 0 TeXcolorrgb -1 x FA(101)p 1 0 0
TeXcolorrgb 585 715 a
SDict begin H.R end
585 715 a 585 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 771 a Black
-128 871 a FA(-hi-dif)n(fs)d(option,)p 1 0 0 TeXcolorrgb
417 872 a
SDict begin H.S end
417 872 a 1 0 0 TeXcolorrgb -1 x FA(202)p 1 0 0
TeXcolorrgb 541 814 a
SDict begin H.R end
541 814 a 541 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.202) cvn H.B /ANN pdfmark end
541 871 a Black
-128 970 a FA(-hide-package,)p 1 0 0 TeXcolorrgb 384
971 a
SDict begin H.S end
384 971 a 1 0 0 TeXcolorrgb -1 x FA(56)p 1 0 0
TeXcolorrgb 467 914 a
SDict begin H.R end
467 914 a 467 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.56) cvn H.B /ANN pdfmark end
467 970 a Black
-128 1070 a FA(-hidir)m(,)p 1 0 0 TeXcolorrgb 95 1071
a
SDict begin H.S end
95 1071 a 1 0 0 TeXcolorrgb -1 x FA(45)p 1 0 0 TeXcolorrgb
178 1014 a
SDict begin H.R end
178 1014 a 178 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
178 1070 a Black -128
1169 a FA(-hisuf,)p 1 0 0 TeXcolorrgb 108 1170 a
SDict begin H.S end
108
1170 a 1 0 0 TeXcolorrgb -1 x FA(45)p 1 0 0 TeXcolorrgb
191 1113 a
SDict begin H.R end
191 1113 a 191 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
191 1169 a Black -128
1269 a FA(-hm)38 1369 y(R)-5 b(TS)22 b(option,)p 1 0 0
TeXcolorrgb 460 1370 a
SDict begin H.S end
460 1370 a 1 0 0 TeXcolorrgb -1
x FA(101)p 1 0 0 TeXcolorrgb 585 1312 a
SDict begin H.R end
585 1312 a 585
1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 1369 a Black -128 1468 a FA(-hr)38 1568 y(R)-5
b(TS)22 b(option,)p 1 0 0 TeXcolorrgb 460 1569 a
SDict begin H.S end
460
1569 a 1 0 0 TeXcolorrgb -1 x FA(101)p 1 0 0 TeXcolorrgb
585 1512 a
SDict begin H.R end
585 1512 a 585 1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 1568 a Black -128
1668 a FA(-hy)38 1767 y(R)-5 b(TS)22 b(option,)p 1 0 0
TeXcolorrgb 460 1768 a
SDict begin H.S end
460 1768 a 1 0 0 TeXcolorrgb -1
x FA(101)p 1 0 0 TeXcolorrgb 585 1711 a
SDict begin H.R end
585 1711 a 585
1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
585 1767 a Black -128 1867 a FA(-i,)p 1 0 0 TeXcolorrgb
-35 1868 a
SDict begin H.S end
-35 1868 a 1 0 0 TeXcolorrgb -1 x FA(101)p
1 0 0 TeXcolorrgb 89 1811 a
SDict begin H.R end
89 1811 a 89 1867 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
89 1867
a Black -128 1966 a FA(-idirs,)p 1 0 0 TeXcolorrgb 89
1966 a
SDict begin H.S end
89 1966 a 1 0 0 TeXcolorrgb FA(44)p 1 0 0 TeXcolorrgb
172 1910 a
SDict begin H.R end
172 1910 a 172 1966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
172 1966 a Black -128
2066 a FA(-ignore-dot-ghci,)p 1 0 0 TeXcolorrgb 458 2067
a
SDict begin H.S end
458 2067 a 1 0 0 TeXcolorrgb -1 x FA(35)p 1 0 0 TeXcolorrgb
541 2010 a
SDict begin H.R end
541 2010 a 541 2066 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.35) cvn H.B /ANN pdfmark end
541 2066 a Black -128
2166 a FA(-ignore-package,)p 1 0 0 TeXcolorrgb 453 2167
a
SDict begin H.S end
453 2167 a 1 0 0 TeXcolorrgb -1 x FA(56)p 1 0 0 TeXcolorrgb
536 2109 a
SDict begin H.R end
536 2109 a 536 2166 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.56) cvn H.B /ANN pdfmark end
536 2166 a Black -128
2265 a FA(-ignore-scc,)p 1 0 0 TeXcolorrgb 287 2266 a
SDict begin H.S end
287 2266 a 1 0 0 TeXcolorrgb -1 x FA(100)p 1 0 0 TeXcolorrgb
412 2209 a
SDict begin H.R end
412 2209 a 412 2265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
412 2265 a Black -128
2365 a FA(-k)38 2465 y(R)-5 b(TS)22 b(option,)p 1 0 0
TeXcolorrgb 460 2466 a
SDict begin H.S end
460 2466 a 1 0 0 TeXcolorrgb -1
x FA(74)p 1 0 0 TeXcolorrgb 543 2408 a
SDict begin H.R end
543 2408 a 543
2465 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
543 2465 a Black -128 2564 a FA(-k)o(eep-hc-\002le,)p
1 0 0 TeXcolorrgb 337 2565 a
SDict begin H.S end
337 2565 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 420 2508 a
SDict begin H.R end
420 2508 a
420 2564 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
420 2564 a Black -128 2664 a FA(-k)o(eep-hc-\002les,)p
1 0 0 TeXcolorrgb 370 2665 a
SDict begin H.S end
370 2665 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 453 2608 a
SDict begin H.R end
453 2608 a
453 2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
453 2664 a Black -128 2763 a FA(-k)o(eep-ra)o(w-s-\002le,)p
1 0 0 TeXcolorrgb 442 2764 a
SDict begin H.S end
442 2764 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 525 2707 a
SDict begin H.R end
525 2707 a
525 2763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
525 2763 a Black -128 2863 a FA(-k)o(eep-ra)o(w-s-\002les,)p
1 0 0 TeXcolorrgb 474 2864 a
SDict begin H.S end
474 2864 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 557 2807 a
SDict begin H.R end
557 2807 a
557 2863 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
557 2863 a Black -128 2963 a FA(-k)o(eep-s-\002le,)p
1 0 0 TeXcolorrgb 291 2964 a
SDict begin H.S end
291 2964 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 374 2906 a
SDict begin H.R end
374 2906 a
374 2963 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
374 2963 a Black -128 3062 a FA(-k)o(eep-s-\002les,)p
1 0 0 TeXcolorrgb 323 3063 a
SDict begin H.S end
323 3063 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 407 3006 a
SDict begin H.R end
407 3006 a
407 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
407 3062 a Black -128 3162 a FA(-k)o(eep-tmp-\002les,)p
1 0 0 TeXcolorrgb 420 3163 a
SDict begin H.S end
420 3163 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 503 3106 a
SDict begin H.R end
503 3106 a
503 3162 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
503 3162 a Black -128 3262 a FA(-l,)p 1 0 0
TeXcolorrgb -35 3263 a
SDict begin H.S end
-35 3263 a 1 0 0 TeXcolorrgb -1
x FA(68)p 1 0 0 TeXcolorrgb 48 3205 a
SDict begin H.R end
48 3205 a 48 3262
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
48 3262 a Black -128 3361 a FA(-m)38 3461 y(R)-5 b(TS)22
b(option,)p 1 0 0 TeXcolorrgb 460 3462 a
SDict begin H.S end
460 3462 a 1 0 0
TeXcolorrgb -1 x FA(74)p 1 0 0 TeXcolorrgb 543 3405 a
SDict begin H.R end
543 3405 a 543 3461 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
543 3461 a Black -128 3560 a FA(-m*)e(options,)p
1 0 0 TeXcolorrgb 313 3561 a
SDict begin H.S end
313 3561 a 1 0 0 TeXcolorrgb
-1 x FA(71)p 1 0 0 TeXcolorrgb 396 3504 a
SDict begin H.R end
396 3504 a
396 3560 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
396 3560 a Black -128 3660 a FA(-main-is,)p
1 0 0 TeXcolorrgb 191 3662 a
SDict begin H.S end
191 3662 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 274 3604 a
SDict begin H.R end
274 3604 a
274 3660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
274 3660 a Black -128 3760 a FA(-monly-N-re)o(gs)d(option)i
(\(iX86)h(only\),)p 1 0 0 TeXcolorrgb 1050 3761 a
SDict begin H.S end
1050
3761 a 1 0 0 TeXcolorrgb -1 x FA(71)p 1 0 0 TeXcolorrgb
1133 3703 a
SDict begin H.R end
1133 3703 a 1133 3760 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
1133 3760 a Black
-128 3859 a FA(-n,)p 1 0 0 TeXcolorrgb -17 3859 a
SDict begin H.S end
-17
3859 a 1 0 0 TeXcolorrgb FA(42)p 1 0 0 TeXcolorrgb 66
3803 a
SDict begin H.R end
66 3803 a 66 3859 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
66 3859 a Black -128 3959
a FA(-no-hs-main,)p 1 0 0 TeXcolorrgb 320 3961 a
SDict begin H.S end
320
3961 a 1 0 0 TeXcolorrgb -2 x FA(69)p 1 0 0 TeXcolorrgb
403 3903 a
SDict begin H.R end
403 3903 a 403 3959 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
403 3959 a Black FA(,)p
1 0 0 TeXcolorrgb 444 3961 a
SDict begin H.S end
444 3961 a 1 0 0 TeXcolorrgb
-2 x FA(198)p 1 0 0 TeXcolorrgb 569 3903 a
SDict begin H.R end
569 3903 a
569 3959 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.198) cvn H.B /ANN pdfmark end
569 3959 a Black -128 4059 a FA(-no-user)n(-package-conf,)p
1 0 0 TeXcolorrgb 664 4060 a
SDict begin H.S end
664 4060 a 1 0 0 TeXcolorrgb
-1 x FA(57)p 1 0 0 TeXcolorrgb 747 4002 a
SDict begin H.R end
747 4002 a
747 4059 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.57) cvn H.B /ANN pdfmark end
747 4059 a Black -128 4158 a FA(-o,)p 1 0 0
TeXcolorrgb -17 4158 a
SDict begin H.S end
-17 4158 a 1 0 0 TeXcolorrgb FA(44)p
1 0 0 TeXcolorrgb 66 4102 a
SDict begin H.R end
66 4102 a 66 4158 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
66 4158
a Black -128 4258 a FA(-odir)m(,)p 1 0 0 TeXcolorrgb
72 4258 a
SDict begin H.S end
72 4258 a 1 0 0 TeXcolorrgb FA(44)p 1 0 0 TeXcolorrgb
155 4202 a
SDict begin H.R end
155 4202 a 155 4258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
155 4258 a Black -128
4358 a FA(-ohi,)p 1 0 0 TeXcolorrgb 48 4359 a
SDict begin H.S end
48 4359
a 1 0 0 TeXcolorrgb -1 x FA(45)p 1 0 0 TeXcolorrgb 131
4301 a
SDict begin H.R end
131 4301 a 131 4358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
131 4358 a Black -128 4457
a FA(-optF)-7 b(,)p 1 0 0 TeXcolorrgb 87 4458 a
SDict begin H.S end
87 4458
a 1 0 0 TeXcolorrgb -1 x FA(65)p 1 0 0 TeXcolorrgb 170
4401 a
SDict begin H.R end
170 4401 a 170 4457 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
170 4457 a Black -128 4557
a FA(-optL,)p 1 0 0 TeXcolorrgb 98 4558 a
SDict begin H.S end
98 4558 a 1 0 0
TeXcolorrgb -1 x FA(65)p 1 0 0 TeXcolorrgb 181 4500 a
SDict begin H.R end
181 4500 a 181 4557 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
181 4557 a Black -128 4656 a FA(-optP)e(,)p
1 0 0 TeXcolorrgb 85 4657 a
SDict begin H.S end
85 4657 a 1 0 0 TeXcolorrgb
-1 x FA(65)p 1 0 0 TeXcolorrgb 168 4600 a
SDict begin H.R end
168 4600 a
168 4656 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
168 4656 a Black -128 4756 a FA(-opta,)p 1 0 0
TeXcolorrgb 85 4757 a
SDict begin H.S end
85 4757 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 168 4700 a
SDict begin H.R end
168 4700 a 168
4756 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
168 4756 a Black -128 4856 a FA(-optc,)p 1 0 0
TeXcolorrgb 85 4857 a
SDict begin H.S end
85 4857 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 168 4799 a
SDict begin H.R end
168 4799 a 168
4856 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
168 4856 a Black -128 4955 a FA(-optdll,)p 1 0 0
TeXcolorrgb 135 4956 a
SDict begin H.S end
135 4956 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 218 4899 a
SDict begin H.R end
218 4899 a 218
4955 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
218 4955 a Black -128 5055 a FA(-optl,)p 1 0 0
TeXcolorrgb 71 5056 a
SDict begin H.S end
71 5056 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 154 4999 a
SDict begin H.R end
154 4999 a 154
5055 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
154 5055 a Black -128 5155 a FA(-optm,)p 1 0 0
TeXcolorrgb 112 5156 a
SDict begin H.S end
112 5156 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 195 5098 a
SDict begin H.R end
195 5098 a 195
5155 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
195 5155 a Black -128 5254 a FA(-optwindres,)p
1 0 0 TeXcolorrgb 311 5255 a
SDict begin H.S end
311 5255 a 1 0 0 TeXcolorrgb
-1 x FA(65)p 1 0 0 TeXcolorrgb 394 5198 a
SDict begin H.R end
394 5198 a
394 5254 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
394 5254 a Black -128 5354 a FA(-osuf,)p 1 0 0
TeXcolorrgb 85 5355 a
SDict begin H.S end
85 5355 a 1 0 0 TeXcolorrgb -1
x FA(45)p 1 0 0 TeXcolorrgb 168 5297 a
SDict begin H.R end
168 5297 a 168
5354 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
168 5354 a Black FA(,)p 1 0 0 TeXcolorrgb 209
5355 a
SDict begin H.S end
209 5355 a 1 0 0 TeXcolorrgb -1 x FA(171)p 1 0 0
TeXcolorrgb 334 5297 a
SDict begin H.R end
334 5297 a 334 5354 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.171) cvn H.B /ANN pdfmark end
334 5354
a Black -128 5453 a FA(-outputdir)m(,)p 1 0 0 TeXcolorrgb
243 5454 a
SDict begin H.S end
243 5454 a 1 0 0 TeXcolorrgb -1 x FA(45)p
1 0 0 TeXcolorrgb 326 5397 a
SDict begin H.R end
326 5397 a 326 5453 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
326
5453 a Black -128 5553 a FA(-p,)p 1 0 0 TeXcolorrgb -17
5554 a
SDict begin H.S end
-17 5554 a 1 0 0 TeXcolorrgb -1 x FA(100)p 1 0 0
TeXcolorrgb 108 5497 a
SDict begin H.R end
108 5497 a 108 5553 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
108 5553
a Black 38 5653 a FA(R)k(TS)22 b(option,)p 1 0 0 TeXcolorrgb
460 5655 a
SDict begin H.S end
460 5655 a 1 0 0 TeXcolorrgb -2 x FA(96)p
1 0 0 TeXcolorrgb 543 5596 a
SDict begin H.R end
543 5596 a 543 5653 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.96) cvn H.B /ANN pdfmark end
543
5653 a Black -128 5752 a FA(-package,)p 1 0 0 TeXcolorrgb
214 5753 a
SDict begin H.S end
214 5753 a 1 0 0 TeXcolorrgb -1 x FA(55)p
1 0 0 TeXcolorrgb 297 5696 a
SDict begin H.R end
297 5696 a 297 5752 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.55) cvn H.B /ANN pdfmark end
297
5752 a Black FA(,)p 1 0 0 TeXcolorrgb 338 5753 a
SDict begin H.S end
338
5753 a 1 0 0 TeXcolorrgb -1 x FA(68)p 1 0 0 TeXcolorrgb
421 5696 a
SDict begin H.R end
421 5696 a 421 5752 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
421 5752 a Black Black
Black 2144 173 a FA(-package-conf,)p 1 0 0 TeXcolorrgb
2660 174 a
SDict begin H.S end
2660 174 a 1 0 0 TeXcolorrgb -1 x FA(57)p
1 0 0 TeXcolorrgb 2743 117 a
SDict begin H.R end
2743 117 a 2743 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.57) cvn H.B /ANN pdfmark end
2743
173 a Black FA(,)p 1 0 0 TeXcolorrgb 2785 174 a
SDict begin H.S end
2785
174 a 1 0 0 TeXcolorrgb -1 x FA(60)p 1 0 0 TeXcolorrgb
2868 117 a
SDict begin H.R end
2868 117 a 2868 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
2868 173 a Black 2144
273 a FA(-package-name,)p 1 0 0 TeXcolorrgb 2692 274
a
SDict begin H.S end
2692 274 a 1 0 0 TeXcolorrgb -1 x FA(56)p 1 0 0 TeXcolorrgb
2775 217 a
SDict begin H.R end
2775 217 a 2775 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.56) cvn H.B /ANN pdfmark end
2775 273 a Black 2144
372 a FA(-pgmF)-7 b(,)p 1 0 0 TeXcolorrgb 2400 373 a
SDict begin H.S end
2400 373 a 1 0 0 TeXcolorrgb -1 x FA(65)p 1 0 0 TeXcolorrgb
2483 316 a
SDict begin H.R end
2483 316 a 2483 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2483 372 a Black FA(,)p
1 0 0 TeXcolorrgb 2525 374 a
SDict begin H.S end
2525 374 a 1 0 0 TeXcolorrgb
-2 x FA(93)p 1 0 0 TeXcolorrgb 2608 316 a
SDict begin H.R end
2608 316 a
2608 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2608 372 a Black 2144 472 a FA(-pgmL,)p 1 0 0
TeXcolorrgb 2411 473 a
SDict begin H.S end
2411 473 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 2494 416 a
SDict begin H.R end
2494 416 a 2494
472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2494 472 a Black FA(,)p 1 0 0 TeXcolorrgb 2536
474 a
SDict begin H.S end
2536 474 a 1 0 0 TeXcolorrgb -2 x FA(93)p 1 0 0
TeXcolorrgb 2619 416 a
SDict begin H.R end
2619 416 a 2619 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2619 472
a Black 2144 572 a FA(-pgmP)e(,)p 1 0 0 TeXcolorrgb 2397
573 a
SDict begin H.S end
2397 573 a 1 0 0 TeXcolorrgb -1 x FA(65)p 1 0 0
TeXcolorrgb 2480 515 a
SDict begin H.R end
2480 515 a 2480 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2480 572
a Black FA(,)p 1 0 0 TeXcolorrgb 2522 574 a
SDict begin H.S end
2522 574
a 1 0 0 TeXcolorrgb -2 x FA(93)p 1 0 0 TeXcolorrgb 2605
515 a
SDict begin H.R end
2605 515 a 2605 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2605 572 a Black 2144 671
a FA(-pgma,)p 1 0 0 TeXcolorrgb 2397 672 a
SDict begin H.S end
2397 672 a
1 0 0 TeXcolorrgb -1 x FA(65)p 1 0 0 TeXcolorrgb 2480
615 a
SDict begin H.R end
2480 615 a 2480 671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2480 671 a Black FA(,)p 1 0 0
TeXcolorrgb 2522 673 a
SDict begin H.S end
2522 673 a 1 0 0 TeXcolorrgb -2
x FA(93)p 1 0 0 TeXcolorrgb 2605 615 a
SDict begin H.R end
2605 615 a 2605
671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2605 671 a Black 2144 771 a FA(-pgmc,)p 1 0 0 TeXcolorrgb
2397 772 a
SDict begin H.S end
2397 772 a 1 0 0 TeXcolorrgb -1 x FA(65)p
1 0 0 TeXcolorrgb 2480 715 a
SDict begin H.R end
2480 715 a 2480 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2480
771 a Black FA(,)p 1 0 0 TeXcolorrgb 2522 773 a
SDict begin H.S end
2522
773 a 1 0 0 TeXcolorrgb -2 x FA(93)p 1 0 0 TeXcolorrgb
2605 715 a
SDict begin H.R end
2605 715 a 2605 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2605 771 a Black 2144
871 a FA(-pgmdll,)p 1 0 0 TeXcolorrgb 2448 872 a
SDict begin H.S end
2448
872 a 1 0 0 TeXcolorrgb -1 x FA(65)p 1 0 0 TeXcolorrgb
2531 814 a
SDict begin H.R end
2531 814 a 2531 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2531 871 a Black FA(,)p
1 0 0 TeXcolorrgb 2573 873 a
SDict begin H.S end
2573 873 a 1 0 0 TeXcolorrgb
-2 x FA(93)p 1 0 0 TeXcolorrgb 2656 814 a
SDict begin H.R end
2656 814 a
2656 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2656 871 a Black 2144 970 a FA(-pgml,)p 1 0 0
TeXcolorrgb 2384 971 a
SDict begin H.S end
2384 971 a 1 0 0 TeXcolorrgb -1
x FA(65)p 1 0 0 TeXcolorrgb 2467 914 a
SDict begin H.R end
2467 914 a 2467
970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2467 970 a Black FA(,)p 1 0 0 TeXcolorrgb 2508
972 a
SDict begin H.S end
2508 972 a 1 0 0 TeXcolorrgb -2 x FA(93)p 1 0 0
TeXcolorrgb 2591 914 a
SDict begin H.R end
2591 914 a 2591 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.93) cvn H.B /ANN pdfmark end
2591 970
a Black 2144 1070 a FA(-pgmm,)p 1 0 0 TeXcolorrgb 2425
1071 a
SDict begin H.S end
2425 1071 a 1 0 0 TeXcolorrgb -1 x FA(65)p 1 0 0
TeXcolorrgb 2508 1014 a
SDict begin H.R end
2508 1014 a 2508 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2508
1070 a Black 2144 1169 a FA(-pgms,)p 1 0 0 TeXcolorrgb
2393 1170 a
SDict begin H.S end
2393 1170 a 1 0 0 TeXcolorrgb -1 x FA(65)p
1 0 0 TeXcolorrgb 2476 1113 a
SDict begin H.R end
2476 1113 a 2476 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2476 1169 a Black 2144 1269 a FA(-pgmwindres,)p 1 0 0
TeXcolorrgb 2623 1270 a
SDict begin H.S end
2623 1270 a 1 0 0 TeXcolorrgb
-1 x FA(65)p 1 0 0 TeXcolorrgb 2706 1213 a
SDict begin H.R end
2706 1213
a 2706 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
2706 1269 a Black 2144 1369 a FA(-prof,)p
1 0 0 TeXcolorrgb 2351 1371 a
SDict begin H.S end
2351 1371 a 1 0 0 TeXcolorrgb
-2 x FA(96)p 1 0 0 TeXcolorrgb 2434 1312 a
SDict begin H.R end
2434 1312
a 2434 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.96) cvn H.B /ANN pdfmark end
2434 1369 a Black FA(,)p 1 0 0 TeXcolorrgb
2476 1370 a
SDict begin H.S end
2476 1370 a 1 0 0 TeXcolorrgb -1 x FA(100)p
1 0 0 TeXcolorrgb 2600 1312 a
SDict begin H.R end
2600 1312 a 2600 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2600 1369 a Black FA(,)p 1 0 0 TeXcolorrgb 2642 1370
a
SDict begin H.S end
2642 1370 a 1 0 0 TeXcolorrgb -1 x FA(171)p 1 0 0 TeXcolorrgb
2766 1312 a
SDict begin H.R end
2766 1312 a 2766 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.171) cvn H.B /ANN pdfmark end
2766 1369 a Black
2144 1468 a FA(-r)2310 1568 y(R)k(TS)21 b(option,)p 1 0 0
TeXcolorrgb 2732 1569 a
SDict begin H.S end
2732 1569 a 1 0 0 TeXcolorrgb
-1 x FA(76)p 1 0 0 TeXcolorrgb 2815 1512 a
SDict begin H.R end
2815 1512
a 2815 1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
2815 1568 a Black 2144 1668 a FA(-r)f(R)-5
b(TS)21 b(option,)p 1 0 0 TeXcolorrgb 2642 1669 a
SDict begin H.S end
2642
1669 a 1 0 0 TeXcolorrgb -1 x FA(110)p 1 0 0 TeXcolorrgb
2766 1611 a
SDict begin H.R end
2766 1611 a 2766 1668 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.110) cvn H.B /ANN pdfmark end
2766 1668 a Black
2144 1767 a FA(-read-dot-ghci,)p 1 0 0 TeXcolorrgb 2660
1768 a
SDict begin H.S end
2660 1768 a 1 0 0 TeXcolorrgb -1 x FA(35)p 1 0 0
TeXcolorrgb 2743 1711 a
SDict begin H.R end
2743 1711 a 2743 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.35) cvn H.B /ANN pdfmark end
2743
1767 a Black 2144 1867 a FA(-s)2310 1966 y(R)-5 b(TS)21
b(option,)p 1 0 0 TeXcolorrgb 2732 1967 a
SDict begin H.S end
2732 1967 a
1 0 0 TeXcolorrgb -1 x FA(74)p 1 0 0 TeXcolorrgb 2815
1910 a
SDict begin H.R end
2815 1910 a 2815 1966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2815 1966 a Black 2144
2066 a FA(-shared,)p 1 0 0 TeXcolorrgb 2430 2067 a
SDict begin H.S end
2430
2067 a 1 0 0 TeXcolorrgb -1 x FA(68)p 1 0 0 TeXcolorrgb
2513 2010 a
SDict begin H.R end
2513 2010 a 2513 2066 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
2513 2066 a Black
2144 2166 a FA(-split-objs,)p 1 0 0 TeXcolorrgb 2522
2167 a
SDict begin H.S end
2522 2167 a 1 0 0 TeXcolorrgb -1 x FA(68)p 1 0 0
TeXcolorrgb 2605 2109 a
SDict begin H.R end
2605 2109 a 2605 2166 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
2605
2166 a Black 2144 2265 a FA(-static,)p 1 0 0 TeXcolorrgb
2388 2266 a
SDict begin H.S end
2388 2266 a 1 0 0 TeXcolorrgb -1 x FA(68)p
1 0 0 TeXcolorrgb 2471 2209 a
SDict begin H.R end
2471 2209 a 2471 2265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
2471 2265 a Black 2144 2365 a FA(-stubdir)m(,)p 1 0 0
TeXcolorrgb 2440 2366 a
SDict begin H.S end
2440 2366 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 2523 2309 a
SDict begin H.R end
2523 2309
a 2523 2365 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
2523 2365 a Black 2144 2465 a FA(-t)2310
2564 y(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb 2732
2565 a
SDict begin H.S end
2732 2565 a 1 0 0 TeXcolorrgb -1 x FA(74)p 1 0 0
TeXcolorrgb 2815 2508 a
SDict begin H.R end
2815 2508 a 2815 2564 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2815
2564 a Black 2144 2664 a FA(-threaded,)p 1 0 0 TeXcolorrgb
2499 2666 a
SDict begin H.S end
2499 2666 a 1 0 0 TeXcolorrgb -2 x FA(69)p
1 0 0 TeXcolorrgb 2582 2608 a
SDict begin H.R end
2582 2608 a 2582 2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
2582 2664 a Black 2144 2763 a FA(-tick)o(y)-5 b(,)p 1 0 0
TeXcolorrgb 2372 2764 a
SDict begin H.S end
2372 2764 a 1 0 0 TeXcolorrgb
-1 x FA(76)p 1 0 0 TeXcolorrgb 2455 2707 a
SDict begin H.R end
2455 2707
a 2455 2763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
2455 2763 a Black 2144 2863 a FA(-tmpdir)m(,)p
1 0 0 TeXcolorrgb 2431 2864 a
SDict begin H.S end
2431 2864 a 1 0 0 TeXcolorrgb
-1 x FA(46)p 1 0 0 TeXcolorrgb 2514 2807 a
SDict begin H.R end
2514 2807
a 2514 2863 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
2514 2863 a Black 2144 2963 a FA(-tmpdir)19
b()g(option,)p 1 0 0 TeXcolorrgb 2874 2964 a
SDict begin H.S end
2874
2964 a 1 0 0 TeXcolorrgb -1 x FA(46)p 1 0 0 TeXcolorrgb
2957 2906 a
SDict begin H.R end
2957 2906 a 2957 2963 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
2957 2963 a Black
2144 3062 a FA(-v)-5 b(,)p 1 0 0 TeXcolorrgb 2249 3062
a
SDict begin H.S end
2249 3062 a 1 0 0 TeXcolorrgb FA(42)p 1 0 0 TeXcolorrgb
2332 3006 a
SDict begin H.R end
2332 3006 a 2332 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
2332 3062 a Black
FA(,)p 1 0 0 TeXcolorrgb 2374 3062 a
SDict begin H.S end
2374 3062 a 1 0 0
TeXcolorrgb FA(112)p 1 0 0 TeXcolorrgb 2498 3006 a
SDict begin H.R end
2498
3006 a 2498 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.112) cvn H.B /ANN pdfmark end
2498 3062 a Black 2144 3162 a FA(-w)g(,)p
1 0 0 TeXcolorrgb 2267 3163 a
SDict begin H.S end
2267 3163 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 2350 3106 a
SDict begin H.R end
2350 3106
a 2350 3162 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2350 3162 a Black 2144 3262 a FA(-x,)p
1 0 0 TeXcolorrgb 2254 3262 a
SDict begin H.S end
2254 3262 a 1 0 0 TeXcolorrgb
FA(41)p 1 0 0 TeXcolorrgb 2337 3205 a
SDict begin H.R end
2337 3205 a 2337
3262 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
2337 3262 a Black 2144 3361 a FA(-xc)2310 3461
y(R)g(TS)21 b(option,)p 1 0 0 TeXcolorrgb 2732 3462 a
SDict begin H.S end
2732 3462 a 1 0 0 TeXcolorrgb -1 x FA(77)p 1 0 0 TeXcolorrgb
2815 3407 a
SDict begin H.R end
2815 3407 a 2815 3461 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2815 3461 a Black
FA(,)p 1 0 0 TeXcolorrgb 2856 3462 a
SDict begin H.S end
2856 3462 a 1 0 0
TeXcolorrgb -1 x FA(100)p 1 0 0 TeXcolorrgb 2981 3405
a
SDict begin H.R end
2981 3405 a 2981 3461 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2981 3461 a Black 2144 3560
a FA(-xm)2310 3660 y(R)-5 b(TS)21 b(option,)p 1 0 0 TeXcolorrgb
2732 3661 a
SDict begin H.S end
2732 3661 a 1 0 0 TeXcolorrgb -1 x FA(72)p
1 0 0 TeXcolorrgb 2815 3604 a
SDict begin H.R end
2815 3604 a 2815 3660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
2815 3660 a Black 2144 3760 a FA(-xt)2310 3859 y(R)-5
b(TS)21 b(option,)p 1 0 0 TeXcolorrgb 2732 3860 a
SDict begin H.S end
2732
3860 a 1 0 0 TeXcolorrgb -1 x FA(101)p 1 0 0 TeXcolorrgb
2856 3803 a
SDict begin H.R end
2856 3803 a 2856 3859 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.101) cvn H.B /ANN pdfmark end
2856 3859 a Black
2144 3959 a FA(.ghci)2310 4059 y(\002le,)p 1 0 0 TeXcolorrgb
2457 4060 a
SDict begin H.S end
2457 4060 a 1 0 0 TeXcolorrgb -1 x FA(34)p
1 0 0 TeXcolorrgb 2540 4002 a
SDict begin H.R end
2540 4002 a 2540 4059 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
2540 4059 a Black 2144 4158 a FA(.hc)f(\002les,)h(sa)n(ving,)p
1 0 0 TeXcolorrgb 2700 4159 a
SDict begin H.S end
2700 4159 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 2783 4102 a
SDict begin H.R end
2783 4102
a 2783 4158 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
2783 4158 a Black 2144 4258 a FA(.hi)f(\002les,)p
1 0 0 TeXcolorrgb 2430 4259 a
SDict begin H.S end
2430 4259 a 1 0 0 TeXcolorrgb
-1 x FA(43)p 1 0 0 TeXcolorrgb 2513 4202 a
SDict begin H.R end
2513 4202
a 2513 4258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
2513 4258 a Black 2144 4358 a FA(.o)g(\002les,)p
1 0 0 TeXcolorrgb 2407 4359 a
SDict begin H.S end
2407 4359 a 1 0 0 TeXcolorrgb
-1 x FA(43)p 1 0 0 TeXcolorrgb 2490 4301 a
SDict begin H.R end
2490 4301
a 2490 4358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
2490 4358 a Black 2144 4457 a FA(.s)h(\002les,)f(sa)n
(ving,)p 1 0 0 TeXcolorrgb 2654 4458 a
SDict begin H.S end
2654 4458 a 1 0 0
TeXcolorrgb -1 x FA(45)p 1 0 0 TeXcolorrgb 2737 4401
a
SDict begin H.R end
2737 4401 a 2737 4457 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
2737 4457 a Black 2144 4557
a FA(:,)p 1 0 0 TeXcolorrgb 2208 4558 a
SDict begin H.S end
2208 4558 a 1 0 0
TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb 2291 4500
a
SDict begin H.R end
2291 4500 a 2291 4557 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
2291 4557 a Black 2144 4656
a FA(:!,)p 1 0 0 TeXcolorrgb 2236 4657 a
SDict begin H.S end
2236 4657 a
1 0 0 TeXcolorrgb -1 x FA(33)p 1 0 0 TeXcolorrgb 2319
4600 a
SDict begin H.R end
2319 4600 a 2319 4656 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
2319 4656 a Black 2144
4756 a FA(:?,)p 1 0 0 TeXcolorrgb 2245 4757 a
SDict begin H.S end
2245 4757
a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb 2328
4700 a
SDict begin H.R end
2328 4700 a 2328 4756 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
2328 4756 a Black 2144
4856 a FA(:abandon,)p 1 0 0 TeXcolorrgb 2490 4857 a
SDict begin H.S end
2490
4857 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2573 4799 a
SDict begin H.R end
2573 4799 a 2573 4856 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2573 4856 a Black
2144 4955 a FA(:add,)p 1 0 0 TeXcolorrgb 2328 4956 a
SDict begin H.S end
2328 4956 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2411 4899 a
SDict begin H.R end
2411 4899 a 2411 4955 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2411 4955 a Black
2144 5055 a FA(:back,)p 1 0 0 TeXcolorrgb 2365 5056 a
SDict begin H.S end
2365 5056 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2448 4999 a
SDict begin H.R end
2448 4999 a 2448 5055 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2448 5055 a Black
2144 5155 a FA(:bro)n(wse,)p 1 0 0 TeXcolorrgb 2446 5156
a
SDict begin H.S end
2446 5156 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2529 5098 a
SDict begin H.R end
2529 5098 a 2529 5155 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2529 5155 a Black
2144 5254 a FA(:cd,)p 1 0 0 TeXcolorrgb 2287 5255 a
SDict begin H.S end
2287
5255 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2370 5198 a
SDict begin H.R end
2370 5198 a 2370 5254 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2370 5254 a Black
2144 5354 a FA(:cmd,)p 1 0 0 TeXcolorrgb 2351 5355 a
SDict begin H.S end
2351 5355 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2434 5297 a
SDict begin H.R end
2434 5297 a 2434 5354 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2434 5354 a Black
2144 5453 a FA(:continue,)p 1 0 0 TeXcolorrgb 2494 5454
a
SDict begin H.S end
2494 5454 a 1 0 0 TeXcolorrgb -1 x FA(30)p 1 0 0 TeXcolorrgb
2577 5397 a
SDict begin H.R end
2577 5397 a 2577 5453 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
2577 5453 a Black
2144 5553 a FA(:def,)p 1 0 0 TeXcolorrgb 2314 5554 a
SDict begin H.S end
2314 5554 a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb
2397 5497 a
SDict begin H.R end
2397 5497 a 2397 5553 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
2397 5553 a Black
2144 5653 a FA(:delete,)p 1 0 0 TeXcolorrgb 2407 5654
a
SDict begin H.S end
2407 5654 a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb
2490 5596 a
SDict begin H.R end
2490 5596 a 2490 5653 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
2490 5653 a Black
2144 5752 a FA(:edit,)p 1 0 0 TeXcolorrgb 2333 5753 a
SDict begin H.S end
2333 5753 a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb
2416 5696 a
SDict begin H.R end
2416 5696 a 2416 5752 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
2416 5752 a Black
Black -128 6084 4252 5 v Black eop end
%%Page: 220 235
TeXDict begin 220 234 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.220) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(220)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(:etags,)p 1 0 0
TeXcolorrgb 108 174 a
SDict begin H.S end
108 174 a 1 0 0 TeXcolorrgb -1
x FA(30)p 1 0 0 TeXcolorrgb 191 117 a
SDict begin H.R end
191 117 a 191 173
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.30) cvn H.B /ANN pdfmark end
191 173 a Black -128 273 a FA(:force,)p 1 0 0 TeXcolorrgb
108 274 a
SDict begin H.S end
108 274 a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0
TeXcolorrgb 191 217 a
SDict begin H.R end
191 217 a 191 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
191 273 a Black
-128 372 a FA(:forw)o(ard,)p 1 0 0 TeXcolorrgb 199 373
a
SDict begin H.S end
199 373 a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb
282 316 a
SDict begin H.R end
282 316 a 282 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
282 372 a Black -128 472
a FA(:help,)p 1 0 0 TeXcolorrgb 80 473 a
SDict begin H.S end
80 473 a 1 0 0
TeXcolorrgb -1 x FA(31)p 1 0 0 TeXcolorrgb 163 416 a
SDict begin H.R end
163 416 a 163 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
163 472 a Black -128 572 a FA(:history)-5
b(,)p 1 0 0 TeXcolorrgb 162 573 a
SDict begin H.S end
162 573 a 1 0 0 TeXcolorrgb
-1 x FA(31)p 1 0 0 TeXcolorrgb 245 515 a
SDict begin H.R end
245 515 a 245
572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
245 572 a Black -128 671 a FA(:info,)p 1 0 0 TeXcolorrgb
71 672 a
SDict begin H.S end
71 672 a 1 0 0 TeXcolorrgb -1 x FA(31)p 1 0 0
TeXcolorrgb 154 615 a
SDict begin H.R end
154 615 a 154 671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.31) cvn H.B /ANN pdfmark end
154 671 a Black
-128 771 a FA(:kind,)p 1 0 0 TeXcolorrgb 85 772 a
SDict begin H.S end
85
772 a 1 0 0 TeXcolorrgb -1 x FA(32)p 1 0 0 TeXcolorrgb
168 715 a
SDict begin H.R end
168 715 a 168 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
168 771 a Black -128 871
a FA(:load,)p 1 0 0 TeXcolorrgb 80 872 a
SDict begin H.S end
80 872 a 1 0 0
TeXcolorrgb -1 x FA(13)p 1 0 0 TeXcolorrgb 163 814 a
SDict begin H.R end
163 814 a 163 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.13) cvn H.B /ANN pdfmark end
163 871 a Black FA(,)p 1 0 0 TeXcolorrgb
205 872 a
SDict begin H.S end
205 872 a 1 0 0 TeXcolorrgb -1 x FA(32)p 1 0 0
TeXcolorrgb 288 814 a
SDict begin H.R end
288 814 a 288 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
288 871 a Black
-128 970 a FA(:main,)p 1 0 0 TeXcolorrgb 103 971 a
SDict begin H.S end
103
971 a 1 0 0 TeXcolorrgb -1 x FA(32)p 1 0 0 TeXcolorrgb
186 914 a
SDict begin H.R end
186 914 a 186 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
186 970 a Black -128 1070
a FA(:module,)p 1 0 0 TeXcolorrgb 186 1071 a
SDict begin H.S end
186 1071
a 1 0 0 TeXcolorrgb -1 x FA(32)p 1 0 0 TeXcolorrgb 269
1014 a
SDict begin H.R end
269 1014 a 269 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
269 1070 a Black -128 1169
a FA(:print,)p 1 0 0 TeXcolorrgb 94 1170 a
SDict begin H.S end
94 1170 a
1 0 0 TeXcolorrgb -1 x FA(32)p 1 0 0 TeXcolorrgb 177
1113 a
SDict begin H.R end
177 1113 a 177 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
177 1169 a Black -128 1269
a FA(:quit,)p 1 0 0 TeXcolorrgb 66 1270 a
SDict begin H.S end
66 1270 a 1 0 0
TeXcolorrgb -1 x FA(32)p 1 0 0 TeXcolorrgb 149 1213 a
SDict begin H.R end
149 1213 a 149 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
149 1269 a Black -128 1369 a FA(:reload,)p
1 0 0 TeXcolorrgb 145 1370 a
SDict begin H.S end
145 1370 a 1 0 0 TeXcolorrgb
-1 x FA(13)p 1 0 0 TeXcolorrgb 228 1312 a
SDict begin H.R end
228 1312 a
228 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.13) cvn H.B /ANN pdfmark end
228 1369 a Black FA(,)p 1 0 0 TeXcolorrgb
269 1370 a
SDict begin H.S end
269 1370 a 1 0 0 TeXcolorrgb -1 x FA(32)p
1 0 0 TeXcolorrgb 352 1312 a
SDict begin H.R end
352 1312 a 352 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.32) cvn H.B /ANN pdfmark end
352
1369 a Black -128 1468 a FA(:set,)p 1 0 0 TeXcolorrgb
29 1469 a
SDict begin H.S end
29 1469 a 1 0 0 TeXcolorrgb -1 x FA(33)p 1 0 0
TeXcolorrgb 112 1412 a
SDict begin H.R end
112 1412 a 112 1468 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
112 1468
a Black -128 1568 a FA(:set)22 b(ar)o(gs,)p 1 0 0 TeXcolorrgb
187 1569 a
SDict begin H.S end
187 1569 a 1 0 0 TeXcolorrgb -1 x FA(33)p
1 0 0 TeXcolorrgb 270 1512 a
SDict begin H.R end
270 1512 a 270 1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
270
1568 a Black -128 1668 a FA(:set)g(prog,)p 1 0 0 TeXcolorrgb
202 1669 a
SDict begin H.S end
202 1669 a 1 0 0 TeXcolorrgb -1 x FA(33)p
1 0 0 TeXcolorrgb 285 1611 a
SDict begin H.R end
285 1611 a 285 1668 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
285
1668 a Black -128 1767 a FA(:sho)n(w)-5 b(,)p 1 0 0 TeXcolorrgb
105 1768 a
SDict begin H.S end
105 1768 a 1 0 0 TeXcolorrgb -1 x FA(33)p
1 0 0 TeXcolorrgb 188 1711 a
SDict begin H.R end
188 1711 a 188 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
188
1767 a Black -128 1867 a FA(:sho)n(w)20 b(bindings,)p
1 0 0 TeXcolorrgb 417 1868 a
SDict begin H.S end
417 1868 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 500 1811 a
SDict begin H.R end
500 1811 a
500 1867 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
500 1867 a Black -128 1966 a FA(:sho)n(w)g(breaks,)p
1 0 0 TeXcolorrgb 348 1967 a
SDict begin H.S end
348 1967 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 431 1910 a
SDict begin H.R end
431 1910 a
431 1966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
431 1966 a Black -128 2066 a FA(:sho)n(w)g(conte)o(xt,)p
1 0 0 TeXcolorrgb 374 2067 a
SDict begin H.S end
374 2067 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 457 2010 a
SDict begin H.R end
457 2010 a
457 2066 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
457 2066 a Black -128 2166 a FA(:sho)n(w)g(languages,)p
1 0 0 TeXcolorrgb 463 2167 a
SDict begin H.S end
463 2167 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 546 2109 a
SDict begin H.R end
546 2109 a
546 2166 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
546 2166 a Black -128 2265 a FA(:sho)n(w)g(modules,)p
1 0 0 TeXcolorrgb 412 2266 a
SDict begin H.S end
412 2266 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 495 2209 a
SDict begin H.R end
495 2209 a
495 2265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
495 2265 a Black -128 2365 a FA(:sho)n(w)g(packages,)p
1 0 0 TeXcolorrgb 435 2366 a
SDict begin H.S end
435 2366 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 518 2309 a
SDict begin H.R end
518 2309 a
518 2365 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
518 2365 a Black -128 2465 a FA(:sprint,)p
1 0 0 TeXcolorrgb 126 2466 a
SDict begin H.S end
126 2466 a 1 0 0 TeXcolorrgb
-1 x FA(33)p 1 0 0 TeXcolorrgb 209 2408 a
SDict begin H.R end
209 2408 a
209 2465 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
209 2465 a Black -128 2564 a FA(:step,)p 1 0 0
TeXcolorrgb 71 2565 a
SDict begin H.S end
71 2565 a 1 0 0 TeXcolorrgb -1
x FA(33)p 1 0 0 TeXcolorrgb 154 2508 a
SDict begin H.R end
154 2508 a 154
2564 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
154 2564 a Black -128 2664 a FA(:trace,)p 1 0 0
TeXcolorrgb 98 2665 a
SDict begin H.S end
98 2665 a 1 0 0 TeXcolorrgb -1
x FA(33)p 1 0 0 TeXcolorrgb 181 2608 a
SDict begin H.R end
181 2608 a 181
2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
181 2664 a Black -128 2763 a FA(:type,)p 1 0 0
TeXcolorrgb 80 2764 a
SDict begin H.S end
80 2764 a 1 0 0 TeXcolorrgb -1
x FA(33)p 1 0 0 TeXcolorrgb 163 2707 a
SDict begin H.R end
163 2707 a 163
2763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
163 2763 a Black -128 2863 a FA(:undef,)p 1 0 0
TeXcolorrgb 126 2864 a
SDict begin H.S end
126 2864 a 1 0 0 TeXcolorrgb -1
x FA(33)p 1 0 0 TeXcolorrgb 209 2807 a
SDict begin H.R end
209 2807 a 209
2863 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
209 2863 a Black -128 2963 a FA(:unset,)p 1 0 0
TeXcolorrgb 112 2964 a
SDict begin H.S end
112 2964 a 1 0 0 TeXcolorrgb -1
x FA(33)p 1 0 0 TeXcolorrgb 195 2906 a
SDict begin H.R end
195 2906 a 195
2963 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
195 2963 a Black -128 3062 a FA(__CONCURRENT_HASKELL__,)p
1 0 0 TeXcolorrgb 1062 3063 a
SDict begin H.S end
1062 3063 a 1 0 0 TeXcolorrgb
-1 x FA(66)p 1 0 0 TeXcolorrgb 1145 3006 a
SDict begin H.R end
1145 3006
a 1145 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
1145 3062 a Black -128 3162 a FA(__GLASGO)m(W_HASKELL__,)
p 1 0 0 TeXcolorrgb 912 3162 a
SDict begin H.S end
912 3162 a 1 0 0 TeXcolorrgb
FA(2)p 1 0 0 TeXcolorrgb 953 3106 a
SDict begin H.R end
953 3106 a 953 3162
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.2) cvn H.B /ANN pdfmark end
953 3162 a Black FA(,)p 1 0 0 TeXcolorrgb 995 3163
a
SDict begin H.S end
995 3163 a 1 0 0 TeXcolorrgb -1 x FA(3)p 1 0 0 TeXcolorrgb
1036 3106 a
SDict begin H.R end
1036 3106 a 1036 3162 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.3) cvn H.B /ANN pdfmark end
1036 3162 a Black
FA(,)p 1 0 0 TeXcolorrgb 1078 3163 a
SDict begin H.S end
1078 3163 a 1 0 0
TeXcolorrgb -1 x FA(66)p 1 0 0 TeXcolorrgb 1161 3106
a
SDict begin H.R end
1161 3106 a 1161 3162 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
1161 3162 a Black -128 3262
a FA(__HASKELL1__,)p 1 0 0 TeXcolorrgb 500 3263 a
SDict begin H.S end
500
3263 a 1 0 0 TeXcolorrgb -1 x FA(66)p 1 0 0 TeXcolorrgb
583 3205 a
SDict begin H.R end
583 3205 a 583 3262 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
583 3262 a Black -128
3361 a FA(__HASKELL98__,)p 1 0 0 TeXcolorrgb 541 3362
a
SDict begin H.S end
541 3362 a 1 0 0 TeXcolorrgb -1 x FA(66)p 1 0 0 TeXcolorrgb
624 3305 a
SDict begin H.R end
624 3305 a 624 3361 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
624 3361 a Black -128
3461 a FA(__HASKELL__=98,)p 1 0 0 TeXcolorrgb 588 3462
a
SDict begin H.S end
588 3462 a 1 0 0 TeXcolorrgb -1 x FA(66)p 1 0 0 TeXcolorrgb
671 3405 a
SDict begin H.R end
671 3405 a 671 3461 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
671 3461 a Black -128
3560 a FA(__P)-8 b(ARALLEL_HASKELL__,)p 1 0 0 TeXcolorrgb
916 3561 a
SDict begin H.S end
916 3561 a 1 0 0 TeXcolorrgb -1 x FA(66)p
1 0 0 TeXcolorrgb 999 3504 a
SDict begin H.R end
999 3504 a 999 3560 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
999
3560 a Black -128 3660 a FA(\226\226--sho)n(w-if)o(ace,)p
1 0 0 TeXcolorrgb 414 3661 a
SDict begin H.S end
414 3661 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 497 3604 a
SDict begin H.R end
497 3604 a
497 3660 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
497 3660 a Black -128 3760 a FA(\226\226auto-ghci-libs,)p
1 0 0 TeXcolorrgb 458 3761 a
SDict begin H.S end
458 3761 a 1 0 0 TeXcolorrgb
-1 x FA(60)p 1 0 0 TeXcolorrgb 541 3703 a
SDict begin H.R end
541 3703 a
541 3760 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
541 3760 a Black -128 3859 a FA(\226\226force,)p
1 0 0 TeXcolorrgb 167 3860 a
SDict begin H.S end
167 3860 a 1 0 0 TeXcolorrgb
-1 x FA(60)p 1 0 0 TeXcolorrgb 251 3803 a
SDict begin H.R end
251 3803 a
251 3859 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
251 3859 a Black -128 3959 a FA(\226\226global,)p
1 0 0 TeXcolorrgb 205 3960 a
SDict begin H.S end
205 3960 a 1 0 0 TeXcolorrgb
-1 x FA(60)p 1 0 0 TeXcolorrgb 288 3903 a
SDict begin H.R end
288 3903 a
288 3959 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
288 3959 a Black -128 4059 a FA(\226\226help,)p
1 0 0 TeXcolorrgb 140 4060 a
SDict begin H.S end
140 4060 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 223 4002 a
SDict begin H.R end
223 4002 a
223 4059 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
223 4059 a Black FA(,)p 1 0 0 TeXcolorrgb
264 4060 a
SDict begin H.S end
264 4060 a 1 0 0 TeXcolorrgb -1 x FA(60)p
1 0 0 TeXcolorrgb 347 4002 a
SDict begin H.R end
347 4002 a 347 4059 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
347
4059 a Black -128 4158 a FA(\226\226info,)p 1 0 0 TeXcolorrgb
131 4159 a
SDict begin H.S end
131 4159 a 1 0 0 TeXcolorrgb -1 x FA(40)p
1 0 0 TeXcolorrgb 214 4102 a
SDict begin H.R end
214 4102 a 214 4158 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
214
4158 a Black -128 4258 a FA(\226\226mak)o(e,)p 1 0 0
TeXcolorrgb 176 4260 a
SDict begin H.S end
176 4260 a 1 0 0 TeXcolorrgb -2
x FA(39)p 1 0 0 TeXcolorrgb 259 4202 a
SDict begin H.R end
259 4202 a 259
4258 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
259 4258 a Black -128 4358 a FA(\226\226numeric-v)o(ersion,)p
1 0 0 TeXcolorrgb 540 4359 a
SDict begin H.S end
540 4359 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 623 4301 a
SDict begin H.R end
623 4301 a
623 4358 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
623 4358 a Black -128 4457 a FA(\226\226print-libdir)m(,)p
1 0 0 TeXcolorrgb 358 4458 a
SDict begin H.S end
358 4458 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 441 4401 a
SDict begin H.R end
441 4401 a
441 4457 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
441 4457 a Black -128 4557 a FA
(\226\226supported-languages,)p 1 0 0 TeXcolorrgb 684
4558 a
SDict begin H.S end
684 4558 a 1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0
TeXcolorrgb 767 4500 a
SDict begin H.R end
767 4500 a 767 4557 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
767 4557
a Black -128 4656 a FA(\226\226user)m(,)p 1 0 0 TeXcolorrgb
132 4657 a
SDict begin H.S end
132 4657 a 1 0 0 TeXcolorrgb -1 x FA(60)p
1 0 0 TeXcolorrgb 215 4600 a
SDict begin H.R end
215 4600 a 215 4656 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
215
4656 a Black -128 4756 a FA(\226\226v)o(ersion,)p 1 0 0
TeXcolorrgb 240 4757 a
SDict begin H.S end
240 4757 a 1 0 0 TeXcolorrgb -1
x FA(40)p 1 0 0 TeXcolorrgb 323 4700 a
SDict begin H.R end
323 4700 a 323
4756 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
323 4756 a Black FA(,)p 1 0 0 TeXcolorrgb 365
4757 a
SDict begin H.S end
365 4757 a 1 0 0 TeXcolorrgb -1 x FA(60)p 1 0 0
TeXcolorrgb 448 4700 a
SDict begin H.R end
448 4700 a 448 4756 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.60) cvn H.B /ANN pdfmark end
448 4756
a Black -128 4856 a FA(\226\226interacti)n(v)o(e,)p 1 0 0
TeXcolorrgb 344 4858 a
SDict begin H.S end
344 4858 a 1 0 0 TeXcolorrgb -2
x FA(29)p 1 0 0 TeXcolorrgb 427 4799 a
SDict begin H.R end
427 4799 a 427
4856 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.29) cvn H.B /ANN pdfmark end
427 4856 a Black -128 4955 a FA(\226\226mak)o(e,)p
1 0 0 TeXcolorrgb 176 4956 a
SDict begin H.S end
176 4956 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 259 4899 a
SDict begin H.R end
259 4899 a
259 4955 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
259 4955 a Black -128 5055 a FA(\226shared,)p
1 0 0 TeXcolorrgb 172 5057 a
SDict begin H.S end
172 5057 a 1 0 0 TeXcolorrgb
-2 x FA(209)p 1 0 0 TeXcolorrgb 297 4999 a
SDict begin H.R end
297 4999 a
297 5055 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.209) cvn H.B /ANN pdfmark end
297 5055 a Black -128 5238 a Fu(A)-128 5337
y FA(allocation)20 b(area,)f(size,)p 1 0 0 TeXcolorrgb
571 5338 a
SDict begin H.S end
571 5338 a 1 0 0 TeXcolorrgb -1 x FA(73)p
1 0 0 TeXcolorrgb 654 5281 a
SDict begin H.R end
654 5281 a 654 5337 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
654
5337 a Black -128 5437 a FA(ar)o(guments)38 5536 y(command-line,)p
1 0 0 TeXcolorrgb 560 5537 a
SDict begin H.S end
560 5537 a 1 0 0 TeXcolorrgb
-1 x FA(38)p 1 0 0 TeXcolorrgb 643 5480 a
SDict begin H.R end
643 5480 a
643 5536 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
643 5536 a Black -128 5636 a FA(ASCII,)p 1 0 0
TeXcolorrgb 131 5637 a
SDict begin H.S end
131 5637 a 1 0 0 TeXcolorrgb -1
x FA(43)p 1 0 0 TeXcolorrgb 214 5580 a
SDict begin H.R end
214 5580 a 214
5636 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
214 5636 a Black -128 5736 a FA(Assertions,)p
1 0 0 TeXcolorrgb 264 5738 a
SDict begin H.S end
264 5738 a 1 0 0 TeXcolorrgb
-2 x FA(179)p 1 0 0 TeXcolorrgb 389 5679 a
SDict begin H.R end
389 5679 a
389 5736 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.179) cvn H.B /ANN pdfmark end
389 5736 a Black Black Black 2144 173 a FA(author)2310
273 y(package)f(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 274 a
SDict begin H.S end
3064 274 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 3147 217 a
SDict begin H.R end
3147 217 a 3147 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147
273 a Black 2144 372 a FA(auto)2310 472 y(package)g(speci\002cation,)p
1 0 0 TeXcolorrgb 3064 473 a
SDict begin H.S end
3064 473 a 1 0 0 TeXcolorrgb
-1 x FA(61)p 1 0 0 TeXcolorrgb 3147 416 a
SDict begin H.R end
3147 416 a
3147 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
3147 472 a Black 2144 655 a Fu(B)2144 754
y FA(Bang)i(patterns,)p 1 0 0 TeXcolorrgb 2644 755 a
SDict begin H.S end
2644 755 a 1 0 0 TeXcolorrgb -1 x FA(177)p 1 0 0 TeXcolorrgb
2769 698 a
SDict begin H.R end
2769 698 a 2769 754 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.177) cvn H.B /ANN pdfmark end
2769 754 a Black 2144
854 a FA(binds,)f(unused,)p 1 0 0 TeXcolorrgb 2642 855
a
SDict begin H.S end
2642 855 a 1 0 0 TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb
2725 798 a
SDict begin H.R end
2725 798 a 2725 854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2725 854 a Black 2144
954 a FA(b)n(ugs)2310 1053 y(reporting,)p 1 0 0 TeXcolorrgb
2656 1053 a
SDict begin H.S end
2656 1053 a 1 0 0 TeXcolorrgb FA(2)p 1 0 0
TeXcolorrgb 2697 997 a
SDict begin H.R end
2697 997 a 2697 1053 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.2) cvn H.B /ANN pdfmark end
2697 1053
a Black 2144 1236 a Fu(C)2144 1336 y FA(C)i(calls,)g(function)d
(headers,)p 1 0 0 TeXcolorrgb 3006 1338 a
SDict begin H.S end
3006 1338 a
1 0 0 TeXcolorrgb -2 x FA(199)p 1 0 0 TeXcolorrgb 3131
1279 a
SDict begin H.R end
3131 1279 a 3131 1336 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.199) cvn H.B /ANN pdfmark end
3131 1336 a Black 2144
1435 a FA(C)j(compiler)e(options,)p 1 0 0 TeXcolorrgb
2822 1436 a
SDict begin H.S end
2822 1436 a 1 0 0 TeXcolorrgb -1 x FA(67)p
1 0 0 TeXcolorrgb 2905 1379 a
SDict begin H.R end
2905 1379 a 2905 1435 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
2905 1435 a Black 2144 1535 a FA(C)i(pre-processor)c(options,)p
1 0 0 TeXcolorrgb 2978 1536 a
SDict begin H.S end
2978 1536 a 1 0 0 TeXcolorrgb
-1 x FA(66)p 1 0 0 TeXcolorrgb 3061 1478 a
SDict begin H.R end
3061 1478
a 3061 1535 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
3061 1535 a Black 2144 1634 a FA(CAFs)2310
1734 y(in)j(GHCi,)p 1 0 0 TeXcolorrgb 2635 1735 a
SDict begin H.S end
2635
1735 a 1 0 0 TeXcolorrgb -1 x FA(34)p 1 0 0 TeXcolorrgb
2718 1678 a
SDict begin H.R end
2718 1678 a 2718 1734 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
2718 1734 a Black
2144 1834 a FA(cate)o(gory)2310 1933 y(package)e(speci\002cation,)p
1 0 0 TeXcolorrgb 3064 1934 a
SDict begin H.S end
3064 1934 a 1 0 0 TeXcolorrgb
-1 x FA(62)p 1 0 0 TeXcolorrgb 3147 1877 a
SDict begin H.R end
3147 1877
a 3147 1933 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147 1933 a Black 2144 2033 a FA(cc-options)2310
2133 y(package)g(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 2134 a
SDict begin H.S end
3064 2134 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 3147 2076 a
SDict begin H.R end
3147 2076 a 3147 2133 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147 2133 a Black 2144 2232 a FA(Char)2310 2332 y(size)j(of,)p
1 0 0 TeXcolorrgb 2570 2333 a
SDict begin H.S end
2570 2333 a 1 0 0 TeXcolorrgb
-1 x FA(215)p 1 0 0 TeXcolorrgb 2695 2275 a
SDict begin H.R end
2695 2275
a 2695 2332 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.215) cvn H.B /ANN pdfmark end
2695 2332 a Black 2144 2431 a FA(code)e(co)o(v)o(erage,)p
1 0 0 TeXcolorrgb 2660 2432 a
SDict begin H.S end
2660 2432 a 1 0 0 TeXcolorrgb
-1 x FA(106)p 1 0 0 TeXcolorrgb 2784 2375 a
SDict begin H.R end
2784 2375
a 2784 2431 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.106) cvn H.B /ANN pdfmark end
2784 2431 a Black 2144 2531 a FA(command-line)2310
2631 y(ar)o(guments,)p 1 0 0 TeXcolorrgb 2696 2632 a
SDict begin H.S end
2696 2632 a 1 0 0 TeXcolorrgb -1 x FA(38)p 1 0 0 TeXcolorrgb
2779 2574 a
SDict begin H.R end
2779 2574 a 2779 2631 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
2779 2631 a Black
2144 2730 a FA(compacting)f(garbage)g(collection,)p 1 0 0
TeXcolorrgb 3204 2731 a
SDict begin H.S end
3204 2731 a 1 0 0 TeXcolorrgb
-1 x FA(73)p 1 0 0 TeXcolorrgb 3287 2674 a
SDict begin H.R end
3287 2674
a 3287 2730 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
3287 2730 a Black 2144 2830 a FA(compiled)g(code)2310
2930 y(in)i(GHCi,)p 1 0 0 TeXcolorrgb 2635 2930 a
SDict begin H.S end
2635
2930 a 1 0 0 TeXcolorrgb FA(14)p 1 0 0 TeXcolorrgb 2718
2873 a
SDict begin H.R end
2718 2873 a 2718 2930 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.14) cvn H.B /ANN pdfmark end
2718 2930 a Black 2144
3029 a FA(compiler)f(problems,)p 1 0 0 TeXcolorrgb 2810
3030 a
SDict begin H.S end
2810 3030 a 1 0 0 TeXcolorrgb -1 x FA(201)p 1 0 0
TeXcolorrgb 2935 2973 a
SDict begin H.R end
2935 2973 a 2935 3029 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.201) cvn H.B /ANN pdfmark end
2935
3029 a Black 2144 3129 a FA(compiling)f(f)o(aster)m(,)p
1 0 0 TeXcolorrgb 2723 3129 a
SDict begin H.S end
2723 3129 a 1 0 0 TeXcolorrgb
FA(112)p 1 0 0 TeXcolorrgb 2847 3072 a
SDict begin H.R end
2847 3072 a 2847
3129 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.112) cvn H.B /ANN pdfmark end
2847 3129 a Black 2144 3228 a FA(Concurrent)g(Hask)o(ell)2310
3328 y(using,)p 1 0 0 TeXcolorrgb 2531 3329 a
SDict begin H.S end
2531 3329
a 1 0 0 TeXcolorrgb -1 x FA(70)p 1 0 0 TeXcolorrgb 2614
3272 a
SDict begin H.R end
2614 3272 a 2614 3328 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
2614 3328 a Black 2144
3428 a FA(consistenc)o(y)h(checks,)p 1 0 0 TeXcolorrgb
2818 3429 a
SDict begin H.S end
2818 3429 a 1 0 0 TeXcolorrgb -1 x FA(80)p
1 0 0 TeXcolorrgb 2901 3371 a
SDict begin H.R end
2901 3371 a 2901 3428 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
2901 3428 a Black 2144 3527 a FA(Constant)h(Applicati)n(v)o(e)f(F)o
(orm,)g Fq(see)h FA(CAFs)2144 3627 y(constructor)e(\002elds,)i(strict,)
p 1 0 0 TeXcolorrgb 2967 3628 a
SDict begin H.S end
2967 3628 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 3050 3571 a
SDict begin H.R end
3050 3571
a 3050 3627 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3050 3627 a Black 2144 3727 a FA(cop)o(yright)2310
3826 y(package)e(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 3827 a
SDict begin H.S end
3064 3827 a 1 0 0 TeXcolorrgb -1 x FA(61)p
1 0 0 TeXcolorrgb 3147 3770 a
SDict begin H.R end
3147 3770 a 3147 3826 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
3147 3826 a Black 2144 3926 a FA(CORE)j(pragma,)p 1 0 0
TeXcolorrgb 2676 3928 a
SDict begin H.S end
2676 3928 a 1 0 0 TeXcolorrgb
-2 x FA(189)p 1 0 0 TeXcolorrgb 2801 3870 a
SDict begin H.R end
2801 3870
a 2801 3926 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.189) cvn H.B /ANN pdfmark end
2801 3926 a Black 2144 4025 a FA(Core)f(syntax,)f(ho)n(w)
h(to)g(read,)p 1 0 0 TeXcolorrgb 3016 4026 a
SDict begin H.S end
3016 4026
a 1 0 0 TeXcolorrgb -1 x FA(80)p 1 0 0 TeXcolorrgb 3099
3969 a
SDict begin H.R end
3099 3969 a 3099 4025 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
3099 4025 a Black 2144
4125 a FA(core,)f(annotation,)p 1 0 0 TeXcolorrgb 2720
4127 a
SDict begin H.S end
2720 4127 a 1 0 0 TeXcolorrgb -2 x FA(189)p 1 0 0
TeXcolorrgb 2845 4069 a
SDict begin H.R end
2845 4069 a 2845 4125 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.189) cvn H.B /ANN pdfmark end
2845
4125 a Black 2144 4225 a FA(cost)h(centres)2310 4324
y(automatically)e(inserting,)p 1 0 0 TeXcolorrgb 3115
4325 a
SDict begin H.S end
3115 4325 a 1 0 0 TeXcolorrgb -1 x FA(100)p 1 0 0
TeXcolorrgb 3239 4268 a
SDict begin H.R end
3239 4268 a 3239 4324 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
3239
4324 a Black 2144 4424 a FA(cost-centre)h(pro\002ling,)p
1 0 0 TeXcolorrgb 2856 4426 a
SDict begin H.S end
2856 4426 a 1 0 0 TeXcolorrgb
-2 x FA(96)p 1 0 0 TeXcolorrgb 2939 4368 a
SDict begin H.R end
2939 4368
a 2939 4424 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.96) cvn H.B /ANN pdfmark end
2939 4424 a Black 2144 4524 a FA(cpp,)g(pre-processing)f
(with,)p 1 0 0 TeXcolorrgb 3004 4525 a
SDict begin H.S end
3004 4525 a 1 0 0
TeXcolorrgb -1 x FA(66)p 1 0 0 TeXcolorrgb 3087 4467
a
SDict begin H.R end
3087 4467 a 3087 4524 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
3087 4524 a Black 2144 4623
a FA(Creating)h(a)i(W)m(in32)e(DLL,)p 1 0 0 TeXcolorrgb
2954 4625 a
SDict begin H.S end
2954 4625 a 1 0 0 TeXcolorrgb -2 x FA(209)p
1 0 0 TeXcolorrgb 3079 4567 a
SDict begin H.R end
3079 4567 a 3079 4623 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.209) cvn H.B /ANN pdfmark end
3079 4623 a Black 2144 4723 a FA(CT)-8 b(A)m(GS)21 b(for)e(Hask)o(ell,)
p 1 0 0 TeXcolorrgb 2837 4724 a
SDict begin H.S end
2837 4724 a 1 0 0 TeXcolorrgb
-1 x FA(203)p 1 0 0 TeXcolorrgb 2962 4667 a
SDict begin H.R end
2962 4667
a 2962 4723 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
2962 4723 a Black 2144 4905 a Fu(D)2144
5005 y FA(deb)n(ugger)2310 5105 y(in)h(GHCi,)p 1 0 0
TeXcolorrgb 2635 5105 a
SDict begin H.S end
2635 5105 a 1 0 0 TeXcolorrgb
FA(21)p 1 0 0 TeXcolorrgb 2718 5048 a
SDict begin H.R end
2718 5048 a 2718
5105 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.21) cvn H.B /ANN pdfmark end
2718 5105 a Black 2144 5204 a FA(deb)n(ugging)d(options)j(\(for)
f(GHC\),)p 1 0 0 TeXcolorrgb 3168 5206 a
SDict begin H.S end
3168 5206 a
1 0 0 TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb 3251
5148 a
SDict begin H.R end
3251 5148 a 3251 5204 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
3251 5204 a Black 2144
5304 a FA(def)o(aulting)f(mechanism,)h(w)o(arning,)p
1 0 0 TeXcolorrgb 3233 5305 a
SDict begin H.S end
3233 5305 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 3316 5248 a
SDict begin H.R end
3316 5248
a 3316 5304 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3316 5304 a Black 2144 5404 a FA(dependencies)f(in)i(Mak)
o(e\002les,)p 1 0 0 TeXcolorrgb 3065 5406 a
SDict begin H.S end
3065 5406
a 1 0 0 TeXcolorrgb -2 x FA(49)p 1 0 0 TeXcolorrgb 3148
5347 a
SDict begin H.R end
3148 5347 a 3148 5404 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.49) cvn H.B /ANN pdfmark end
3148 5404 a Black 2144
5503 a FA(dependenc)o(y-generation)14 b(mode,)p 1 0 0
TeXcolorrgb 3164 5504 a
SDict begin H.S end
3164 5504 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 3247 5447 a
SDict begin H.R end
3247 5447
a 3247 5503 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
3247 5503 a Black 2144 5603 a FA(depends)2310
5702 y(package)k(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 5703 a
SDict begin H.S end
3064 5703 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 3147 5646 a
SDict begin H.R end
3147 5646 a 3147 5702 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147 5702 a Black Black -128 6084 4252 5 v Black eop
end
%%Page: 221 236
TeXDict begin 221 235 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.221) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(221)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(DEPRECA)-9 b(TED,)p
1 0 0 TeXcolorrgb 444 174 a
SDict begin H.S end
444 174 a 1 0 0 TeXcolorrgb
-1 x FA(181)p 1 0 0 TeXcolorrgb 569 117 a
SDict begin H.R end
569 117 a 569
173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.181) cvn H.B /ANN pdfmark end
569 173 a Black -128 273 a FA(deprecated-\003ags,)p
1 0 0 TeXcolorrgb 458 274 a
SDict begin H.S end
458 274 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 541 217 a
SDict begin H.R end
541 217 a 541
273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
541 273 a Black -128 372 a FA(deprecations,)p 1 0 0
TeXcolorrgb 334 373 a
SDict begin H.S end
334 373 a 1 0 0 TeXcolorrgb -1
x FA(52)p 1 0 0 TeXcolorrgb 417 316 a
SDict begin H.R end
417 316 a 417 372
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
417 372 a Black -128 472 a FA(description)38 572 y(package)19
b(speci\002cation,)p 1 0 0 TeXcolorrgb 792 573 a
SDict begin H.S end
792
573 a 1 0 0 TeXcolorrgb -1 x FA(61)p 1 0 0 TeXcolorrgb
875 515 a
SDict begin H.R end
875 515 a 875 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
875 572 a Black -128 671
a FA(DLL-creation)g(mode,)p 1 0 0 TeXcolorrgb 576 672
a
SDict begin H.S end
576 672 a 1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0 TeXcolorrgb
659 615 a
SDict begin H.R end
659 615 a 659 671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
659 671 a Black -128 771
a FA(do-notation)38 871 y(in)i(GHCi,)p 1 0 0 TeXcolorrgb
364 872 a
SDict begin H.S end
364 872 a 1 0 0 TeXcolorrgb -1 x FA(16)p 1 0 0
TeXcolorrgb 447 814 a
SDict begin H.R end
447 814 a 447 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.16) cvn H.B /ANN pdfmark end
447 871 a Black
-128 970 a FA(dumping)d(GHC)j(intermediates,)p 1 0 0
TeXcolorrgb 873 972 a
SDict begin H.S end
873 972 a 1 0 0 TeXcolorrgb -2
x FA(79)p 1 0 0 TeXcolorrgb 956 914 a
SDict begin H.R end
956 914 a 956 970
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
956 970 a Black -128 1070 a FA(duplicate)f(e)o(xports,)e(w)o(arning,)
p 1 0 0 TeXcolorrgb 795 1071 a
SDict begin H.S end
795 1071 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 878 1014 a
SDict begin H.R end
878 1014 a
878 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
878 1070 a Black -128 1169 a FA(dynamic)38
1269 y(options,)p 1 0 0 TeXcolorrgb 324 1270 a
SDict begin H.S end
324 1270
a 1 0 0 TeXcolorrgb -1 x FA(34)p 1 0 0 TeXcolorrgb 408
1213 a
SDict begin H.R end
408 1213 a 408 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
408 1269 a Black FA(,)p
1 0 0 TeXcolorrgb 449 1271 a
SDict begin H.S end
449 1271 a 1 0 0 TeXcolorrgb
-2 x FA(39)p 1 0 0 TeXcolorrgb 532 1213 a
SDict begin H.R end
532 1213 a
532 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
532 1269 a Black -128 1438 a Fu(E)-128 1537
y FA(encoding,)p 1 0 0 TeXcolorrgb 218 1538 a
SDict begin H.S end
218 1538
a 1 0 0 TeXcolorrgb -1 x FA(43)p 1 0 0 TeXcolorrgb 301
1481 a
SDict begin H.R end
301 1481 a 301 1537 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
301 1537 a Black -128 1637
a FA(En)m(vironment)f(v)n(ariable)38 1736 y(GHC_P)-8
b(A)m(CKA)m(GE_P)g(A)f(TH,)p 1 0 0 TeXcolorrgb 916 1737
a
SDict begin H.S end
916 1737 a 1 0 0 TeXcolorrgb -1 x FA(57)p 1 0 0 TeXcolorrgb
999 1680 a
SDict begin H.R end
999 1680 a 999 1736 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.57) cvn H.B /ANN pdfmark end
999 1736 a Black -128
1836 a FA(en)m(vironment)18 b(v)n(ariable)38 1936 y(for)i(setting)g(R)
-5 b(TS)21 b(options,)p 1 0 0 TeXcolorrgb 852 1937 a
SDict begin H.S end
852 1937 a 1 0 0 TeXcolorrgb -1 x FA(72)p 1 0 0 TeXcolorrgb
935 1879 a
SDict begin H.R end
935 1879 a 935 1936 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
935 1936 a Black -128
2035 a FA(e)n(v)n(al)f(mode,)p 1 0 0 TeXcolorrgb 253
2037 a
SDict begin H.S end
253 2037 a 1 0 0 TeXcolorrgb -2 x FA(39)p 1 0 0
TeXcolorrgb 336 1979 a
SDict begin H.R end
336 1979 a 336 2035 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
336 2035
a Black -128 2135 a FA(e)o(xport)f(lists,)i(duplicates,)p
1 0 0 TeXcolorrgb 658 2136 a
SDict begin H.S end
658 2136 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 741 2079 a
SDict begin H.R end
741 2079 a
741 2135 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
741 2135 a Black -128 2235 a FA(e)o(xposed)38
2334 y(package)e(speci\002cation,)p 1 0 0 TeXcolorrgb
792 2335 a
SDict begin H.S end
792 2335 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 875 2278 a
SDict begin H.R end
875 2278 a 875 2334 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875
2334 a Black -128 2434 a FA(e)o(xposed-modules)38 2533
y(package)g(speci\002cation,)p 1 0 0 TeXcolorrgb 792
2534 a
SDict begin H.S end
792 2534 a 1 0 0 TeXcolorrgb -1 x FA(62)p 1 0 0
TeXcolorrgb 875 2477 a
SDict begin H.R end
875 2477 a 875 2533 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875 2533
a Black -128 2633 a FA(e)o(xtended)g(list)i(comprehensions,)p
1 0 0 TeXcolorrgb 895 2633 a
SDict begin H.S end
895 2633 a 1 0 0 TeXcolorrgb
FA(124)p 1 0 0 TeXcolorrgb 1020 2577 a
SDict begin H.R end
1020 2577 a 1020
2633 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.124) cvn H.B /ANN pdfmark end
1020 2633 a Black -128 2733 a FA(e)o(xtensions)38
2832 y(options)f(controlling,)p 1 0 0 TeXcolorrgb 710
2833 a
SDict begin H.S end
710 2833 a 1 0 0 TeXcolorrgb -1 x FA(116)p 1 0 0
TeXcolorrgb 834 2776 a
SDict begin H.R end
834 2776 a 834 2832 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.116) cvn H.B /ANN pdfmark end
834 2832
a Black -128 2932 a FA(e)o(xtensions,)f(GHC,)p 1 0 0
TeXcolorrgb 480 2933 a
SDict begin H.S end
480 2933 a 1 0 0 TeXcolorrgb -1
x FA(116)p 1 0 0 TeXcolorrgb 605 2876 a
SDict begin H.R end
605 2876 a 605
2932 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.116) cvn H.B /ANN pdfmark end
605 2932 a Black -128 3032 a FA(e)o(xtra-libraries)38
3131 y(package)g(speci\002cation,)p 1 0 0 TeXcolorrgb
792 3132 a
SDict begin H.S end
792 3132 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 875 3075 a
SDict begin H.R end
875 3075 a 875 3131 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875
3131 a Black -128 3300 a Fu(F)-128 3399 y FA(f)o(aster)i(compiling,)p
1 0 0 TeXcolorrgb 455 3399 a
SDict begin H.S end
455 3399 a 1 0 0 TeXcolorrgb
FA(112)p 1 0 0 TeXcolorrgb 580 3343 a
SDict begin H.R end
580 3343 a 580
3399 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.112) cvn H.B /ANN pdfmark end
580 3399 a Black -128 3499 a FA(f)o(aster)g(programs,)d(ho)n(w)h
(to)i(produce,)p 1 0 0 TeXcolorrgb 988 3500 a
SDict begin H.S end
988 3500
a 1 0 0 TeXcolorrgb -1 x FA(113)p 1 0 0 TeXcolorrgb 1112
3443 a
SDict begin H.R end
1112 3443 a 1112 3499 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.113) cvn H.B /ANN pdfmark end
1112 3499 a Black -128
3598 a FA(FFI)38 3698 y(GHCi)h(support,)p 1 0 0 TeXcolorrgb
548 3698 a
SDict begin H.S end
548 3698 a 1 0 0 TeXcolorrgb FA(12)p 1 0 0
TeXcolorrgb 631 3642 a
SDict begin H.R end
631 3642 a 631 3698 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.12) cvn H.B /ANN pdfmark end
631 3698
a Black -128 3798 a FA(\002elds,)f(missing,)p 1 0 0 TeXcolorrgb
394 3799 a
SDict begin H.S end
394 3799 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 477 3741 a
SDict begin H.R end
477 3741 a 477 3798 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
477
3798 a Black -128 3897 a FA(\002le)g(suf)n(\002x)o(es)f(for)g(GHC,)p
1 0 0 TeXcolorrgb 609 3899 a
SDict begin H.S end
609 3899 a 1 0 0 TeXcolorrgb
-2 x FA(39)p 1 0 0 TeXcolorrgb 692 3841 a
SDict begin H.R end
692 3841 a
692 3897 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
692 3897 a Black -128 3997 a FA(\002lenames,)p
1 0 0 TeXcolorrgb 232 3998 a
SDict begin H.S end
232 3998 a 1 0 0 TeXcolorrgb
-1 x FA(43)p 1 0 0 TeXcolorrgb 315 3941 a
SDict begin H.R end
315 3941 a
315 3997 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
315 3997 a Black 38 4097 a FA(of)g(modules,)p
1 0 0 TeXcolorrgb 451 4098 a
SDict begin H.S end
451 4098 a 1 0 0 TeXcolorrgb
-1 x FA(13)p 1 0 0 TeXcolorrgb 534 4040 a
SDict begin H.R end
534 4040 a
534 4097 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.13) cvn H.B /ANN pdfmark end
534 4097 a Black -128 4196 a FA(\002nding)f(interf)o(ace)h
(\002les,)p 1 0 0 TeXcolorrgb 619 4196 a
SDict begin H.S end
619 4196 a 1 0 0
TeXcolorrgb FA(44)p 1 0 0 TeXcolorrgb 702 4140 a
SDict begin H.R end
702
4140 a 702 4196 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
702 4196 a Black -128 4296 a FA(\003oating-point)e(e)
o(xceptions,)p 1 0 0 TeXcolorrgb 741 4297 a
SDict begin H.S end
741 4297
a 1 0 0 TeXcolorrgb -1 x FA(215)p 1 0 0 TeXcolorrgb 865
4240 a
SDict begin H.R end
865 4240 a 865 4296 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.215) cvn H.B /ANN pdfmark end
865 4296 a Black -128 4396
a FA(forall,)p 1 0 0 TeXcolorrgb 94 4398 a
SDict begin H.S end
94 4398 a
1 0 0 TeXcolorrgb -2 x FA(129)p 1 0 0 TeXcolorrgb 218
4339 a
SDict begin H.R end
218 4339 a 218 4396 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
218 4396 a Black -128 4495
a FA(forcing)h(GHC-phase)h(options,)p 1 0 0 TeXcolorrgb
832 4496 a
SDict begin H.S end
832 4496 a 1 0 0 TeXcolorrgb -1 x FA(65)p
1 0 0 TeXcolorrgb 915 4439 a
SDict begin H.R end
915 4439 a 915 4495 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
915
4495 a Black -128 4595 a FA(foreign,)p 1 0 0 TeXcolorrgb
154 4597 a
SDict begin H.S end
154 4597 a 1 0 0 TeXcolorrgb -2 x FA(129)p
1 0 0 TeXcolorrgb 278 4538 a
SDict begin H.R end
278 4538 a 278 4595 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
278
4595 a Black -128 4694 a FA(foreign)f(e)o(xport)38 4794
y(with)i(GHC,)p 1 0 0 TeXcolorrgb 424 4796 a
SDict begin H.S end
424 4796
a 1 0 0 TeXcolorrgb -2 x FA(197)p 1 0 0 TeXcolorrgb 548
4738 a
SDict begin H.R end
548 4738 a 548 4794 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.197) cvn H.B /ANN pdfmark end
548 4794 a Black -128 4894
a FA(F)o(oreign)e(Function)g(Interf)o(ace)38 4993 y(GHCi)j(support,)p
1 0 0 TeXcolorrgb 548 4993 a
SDict begin H.S end
548 4993 a 1 0 0 TeXcolorrgb
FA(12)p 1 0 0 TeXcolorrgb 631 4937 a
SDict begin H.R end
631 4937 a 631 4993
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.12) cvn H.B /ANN pdfmark end
631 4993 a Black -128 5093 a FA(frame)n(w)o(ork-dirs)38
5193 y(package)d(speci\002cation,)p 1 0 0 TeXcolorrgb
792 5194 a
SDict begin H.S end
792 5194 a 1 0 0 TeXcolorrgb -1 x FA(63)p
1 0 0 TeXcolorrgb 875 5136 a
SDict begin H.R end
875 5136 a 875 5193 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
875
5193 a Black -128 5292 a FA(frame)n(w)o(orks)38 5392
y(package)g(speci\002cation,)p 1 0 0 TeXcolorrgb 792
5393 a
SDict begin H.S end
792 5393 a 1 0 0 TeXcolorrgb -1 x FA(63)p 1 0 0
TeXcolorrgb 875 5335 a
SDict begin H.R end
875 5335 a 875 5392 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
875 5392
a Black -128 5491 a FA(fromInte)o(ger)m(,)p 1 0 0 TeXcolorrgb
306 5492 a
SDict begin H.S end
306 5492 a 1 0 0 TeXcolorrgb -1 x FA(215)p
1 0 0 TeXcolorrgb 430 5435 a
SDict begin H.R end
430 5435 a 430 5491 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.215) cvn H.B /ANN pdfmark end
430
5491 a Black -128 5591 a FA(fromInte)o(gral,)p 1 0 0
TeXcolorrgb 332 5592 a
SDict begin H.S end
332 5592 a 1 0 0 TeXcolorrgb -1
x FA(215)p 1 0 0 TeXcolorrgb 457 5535 a
SDict begin H.R end
457 5535 a 457
5591 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.215) cvn H.B /ANN pdfmark end
457 5591 a Black -128 5759 a Fu(G)p Black Black
2144 173 a FA(garbage)f(collection)2310 273 y(compacting,)p
1 0 0 TeXcolorrgb 2739 274 a
SDict begin H.S end
2739 274 a 1 0 0 TeXcolorrgb
-1 x FA(73)p 1 0 0 TeXcolorrgb 2822 217 a
SDict begin H.R end
2822 217 a
2822 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
2822 273 a Black 2144 372 a FA(garbage)g(collector)2310
472 y(options,)p 1 0 0 TeXcolorrgb 2596 473 a
SDict begin H.S end
2596 473
a 1 0 0 TeXcolorrgb -1 x FA(72)p 1 0 0 TeXcolorrgb 2679
416 a
SDict begin H.R end
2679 416 a 2679 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
2679 472 a Black 2144 572
a FA(GCC)j(options,)p 1 0 0 TeXcolorrgb 2621 573 a
SDict begin H.S end
2621
573 a 1 0 0 TeXcolorrgb -1 x FA(67)p 1 0 0 TeXcolorrgb
2704 515 a
SDict begin H.R end
2704 515 a 2704 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
2704 572 a Black 2144
671 a FA(generations,)d(number)g(of,)p 1 0 0 TeXcolorrgb
2953 672 a
SDict begin H.S end
2953 672 a 1 0 0 TeXcolorrgb -1 x FA(73)p
1 0 0 TeXcolorrgb 3036 615 a
SDict begin H.R end
3036 615 a 3036 671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
3036
671 a Black 2144 771 a FA(getAr)o(gs,)p 1 0 0 TeXcolorrgb
2447 772 a
SDict begin H.S end
2447 772 a 1 0 0 TeXcolorrgb -1 x FA(33)p
1 0 0 TeXcolorrgb 2530 715 a
SDict begin H.R end
2530 715 a 2530 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
2530
771 a Black 2144 871 a FA(getProgName,)p 1 0 0 TeXcolorrgb
2642 872 a
SDict begin H.S end
2642 872 a 1 0 0 TeXcolorrgb -1 x FA(33)p
1 0 0 TeXcolorrgb 2725 814 a
SDict begin H.R end
2725 814 a 2725 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
2725
871 a Black 2144 970 a FA(GHC)j(vs)f(the)g(Hask)o(ell)h(98)f(language,)
p 1 0 0 TeXcolorrgb 3275 971 a
SDict begin H.S end
3275 971 a 1 0 0 TeXcolorrgb
-1 x FA(213)p 1 0 0 TeXcolorrgb 3400 914 a
SDict begin H.R end
3400 914 a
3400 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.213) cvn H.B /ANN pdfmark end
3400 970 a Black 2144 1070 a FA(GHC,)g(using,)p
1 0 0 TeXcolorrgb 2582 1071 a
SDict begin H.S end
2582 1071 a 1 0 0 TeXcolorrgb
-1 x FA(38)p 1 0 0 TeXcolorrgb 2665 1014 a
SDict begin H.R end
2665 1014
a 2665 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
2665 1070 a Black 2144 1169 a FA(GHC_P)-8
b(A)m(CKA)m(GE_P)g(A)f(TH,)p 1 0 0 TeXcolorrgb 3021 1170
a
SDict begin H.S end
3021 1170 a 1 0 0 TeXcolorrgb -1 x FA(57)p 1 0 0 TeXcolorrgb
3104 1113 a
SDict begin H.R end
3104 1113 a 3104 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.57) cvn H.B /ANN pdfmark end
3104 1169 a Black
2144 1269 a FA(ghc_rts_opts,)p 1 0 0 TeXcolorrgb 2610
1270 a
SDict begin H.S end
2610 1270 a 1 0 0 TeXcolorrgb -1 x FA(77)p 1 0 0
TeXcolorrgb 2693 1215 a
SDict begin H.R end
2693 1215 a 2693 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2693
1269 a Black 2144 1369 a FA(GHCi,)p 1 0 0 TeXcolorrgb
2384 1369 a
SDict begin H.S end
2384 1369 a 1 0 0 TeXcolorrgb FA(12)p 1 0 0
TeXcolorrgb 2467 1312 a
SDict begin H.R end
2467 1312 a 2467 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.12) cvn H.B /ANN pdfmark end
2467
1369 a Black 2144 1468 a FA(ghci,)p 1 0 0 TeXcolorrgb
2328 1470 a
SDict begin H.S end
2328 1470 a 1 0 0 TeXcolorrgb -2 x FA(39)p
1 0 0 TeXcolorrgb 2411 1412 a
SDict begin H.R end
2411 1412 a 2411 1468 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
2411 1468 a Black 2144 1568 a FA(GHCR)k(TS,)p 1 0 0 TeXcolorrgb
2508 1569 a
SDict begin H.S end
2508 1569 a 1 0 0 TeXcolorrgb -1 x FA(72)p
1 0 0 TeXcolorrgb 2591 1512 a
SDict begin H.R end
2591 1512 a 2591 1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
2591 1568 a Black 2144 1668 a FA(Glasgo)n(w)20 b(Hask)o(ell)g(mailing)g
(lists,)p 1 0 0 TeXcolorrgb 3181 1668 a
SDict begin H.S end
3181 1668 a 1 0 0
TeXcolorrgb FA(1)p 1 0 0 TeXcolorrgb 3222 1611 a
SDict begin H.R end
3222
1611 a 3222 1668 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.1) cvn H.B /ANN pdfmark end
3222 1668 a Black 2144 1767 a FA(Glasgo)n(w)g(P)o
(arallel)g(Hask)o(ell,)p 1 0 0 TeXcolorrgb 3025 1769
a
SDict begin H.S end
3025 1769 a 1 0 0 TeXcolorrgb -2 x FA(194)p 1 0 0 TeXcolorrgb
3150 1711 a
SDict begin H.R end
3150 1711 a 3150 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.194) cvn H.B /ANN pdfmark end
3150 1767 a Black
2144 1867 a FA(group,)p 1 0 0 TeXcolorrgb 2379 1867 a
SDict begin H.S end
2379 1867 a 1 0 0 TeXcolorrgb FA(124)p 1 0 0 TeXcolorrgb
2503 1811 a
SDict begin H.R end
2503 1811 a 2503 1867 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.124) cvn H.B /ANN pdfmark end
2503 1867 a Black
2144 2049 a Fu(H)2144 2149 y FA(haddock-html)2310 2249
y(package)e(speci\002cation,)p 1 0 0 TeXcolorrgb 3064
2250 a
SDict begin H.S end
3064 2250 a 1 0 0 TeXcolorrgb -1 x FA(63)p 1 0 0
TeXcolorrgb 3147 2192 a
SDict begin H.R end
3147 2192 a 3147 2249 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
3147
2249 a Black 2144 2348 a FA(haddock-interf)o(aces)2310
2448 y(package)g(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 2449 a
SDict begin H.S end
3064 2449 a 1 0 0 TeXcolorrgb -1 x FA(63)p
1 0 0 TeXcolorrgb 3147 2392 a
SDict begin H.R end
3147 2392 a 3147 2448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
3147 2448 a Black 2144 2548 a FA(Happ)o(y)-5 b(,)p 1 0 0
TeXcolorrgb 2400 2549 a
SDict begin H.S end
2400 2549 a 1 0 0 TeXcolorrgb
-1 x FA(203)p 1 0 0 TeXcolorrgb 2525 2491 a
SDict begin H.R end
2525 2491
a 2525 2548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
2525 2548 a Black 2144 2647 a FA(happ)o(y)19
b(parser)g(generator)m(,)p 1 0 0 TeXcolorrgb 2942 2648
a
SDict begin H.S end
2942 2648 a 1 0 0 TeXcolorrgb -1 x FA(203)p 1 0 0 TeXcolorrgb
3066 2591 a
SDict begin H.R end
3066 2591 a 3066 2647 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
3066 2647 a Black
2144 2747 a FA(Hask)o(ell)h(98)g(language)f(vs)h(GHC,)p
1 0 0 TeXcolorrgb 3153 2748 a
SDict begin H.S end
3153 2748 a 1 0 0 TeXcolorrgb
-1 x FA(213)p 1 0 0 TeXcolorrgb 3277 2691 a
SDict begin H.R end
3277 2691
a 3277 2747 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.213) cvn H.B /ANN pdfmark end
3277 2747 a Black 2144 2847 a FA(Hask)o(ell)g(Program)f
(Co)o(v)o(erage,)p 1 0 0 TeXcolorrgb 3081 2848 a
SDict begin H.S end
3081
2848 a 1 0 0 TeXcolorrgb -1 x FA(106)p 1 0 0 TeXcolorrgb
3206 2790 a
SDict begin H.R end
3206 2790 a 3206 2847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.106) cvn H.B /ANN pdfmark end
3206 2847 a Black
2144 2946 a FA(hasktags,)p 1 0 0 TeXcolorrgb 2471 2947
a
SDict begin H.S end
2471 2947 a 1 0 0 TeXcolorrgb -1 x FA(203)p 1 0 0 TeXcolorrgb
2596 2890 a
SDict begin H.R end
2596 2890 a 2596 2946 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
2596 2946 a Black
2144 3046 a FA(heap)g(pro\002les,)p 1 0 0 TeXcolorrgb
2612 3047 a
SDict begin H.S end
2612 3047 a 1 0 0 TeXcolorrgb -1 x FA(103)p
1 0 0 TeXcolorrgb 2736 2989 a
SDict begin H.R end
2736 2989 a 2736 3046 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.103) cvn H.B /ANN pdfmark end
2736 3046 a Black 2144 3145 a FA(heap)g(size,)i(f)o(actor)m(,)p
1 0 0 TeXcolorrgb 2723 3146 a
SDict begin H.S end
2723 3146 a 1 0 0 TeXcolorrgb
-1 x FA(73)p 1 0 0 TeXcolorrgb 2806 3089 a
SDict begin H.R end
2806 3089
a 2806 3145 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
2806 3145 a Black 2144 3245 a FA(heap)e(size,)i(maximum,)
p 1 0 0 TeXcolorrgb 2870 3246 a
SDict begin H.S end
2870 3246 a 1 0 0 TeXcolorrgb
-1 x FA(74)p 1 0 0 TeXcolorrgb 2953 3189 a
SDict begin H.R end
2953 3189
a 2953 3245 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2953 3245 a Black 2144 3345 a FA(heap)e(size,)i
(suggested,)p 1 0 0 TeXcolorrgb 2861 3346 a
SDict begin H.S end
2861 3346
a 1 0 0 TeXcolorrgb -1 x FA(73)p 1 0 0 TeXcolorrgb 2944
3288 a
SDict begin H.R end
2944 3288 a 2944 3345 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
2944 3345 a Black 2144
3444 a FA(heap)e(space,)h(using)g(less,)p 1 0 0 TeXcolorrgb
2914 3445 a
SDict begin H.S end
2914 3445 a 1 0 0 TeXcolorrgb -1 x FA(115)p
1 0 0 TeXcolorrgb 3038 3388 a
SDict begin H.R end
3038 3388 a 3038 3444 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
3038 3444 a Black 2144 3544 a FA(heap,)f(minimum)g(free,)p
1 0 0 TeXcolorrgb 2856 3545 a
SDict begin H.S end
2856 3545 a 1 0 0 TeXcolorrgb
-1 x FA(74)p 1 0 0 TeXcolorrgb 2939 3488 a
SDict begin H.R end
2939 3488
a 2939 3544 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2939 3544 a Black 2144 3644 a FA(help)g(options,)p
1 0 0 TeXcolorrgb 2593 3644 a
SDict begin H.S end
2593 3644 a 1 0 0 TeXcolorrgb
FA(42)p 1 0 0 TeXcolorrgb 2676 3587 a
SDict begin H.R end
2676 3587 a 2676
3644 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
2676 3644 a Black 2144 3743 a FA(hidden-modules)2310
3843 y(package)f(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 3844 a
SDict begin H.S end
3064 3844 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 3147 3786 a
SDict begin H.R end
3147 3786 a 3147 3843 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147 3843 a Black 2144 3942 a FA(homepage)2310 4042 y(package)g
(speci\002cation,)p 1 0 0 TeXcolorrgb 3064 4043 a
SDict begin H.S end
3064
4043 a 1 0 0 TeXcolorrgb -1 x FA(61)p 1 0 0 TeXcolorrgb
3147 3986 a
SDict begin H.R end
3147 3986 a 3147 4042 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
3147 4042 a Black
2144 4142 a FA(hooks)2310 4241 y(R)-5 b(TS,)p 1 0 0 TeXcolorrgb
2499 4242 a
SDict begin H.S end
2499 4242 a 1 0 0 TeXcolorrgb -1 x FA(77)p
1 0 0 TeXcolorrgb 2582 4187 a
SDict begin H.R end
2582 4187 a 2582 4241 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2582 4241 a Black 2144 4341 a FA(hp2ps,)p 1 0 0 TeXcolorrgb
2384 4342 a
SDict begin H.S end
2384 4342 a 1 0 0 TeXcolorrgb -1 x FA(103)p
1 0 0 TeXcolorrgb 2508 4285 a
SDict begin H.R end
2508 4285 a 2508 4341 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.103) cvn H.B /ANN pdfmark end
2508 4341 a Black 2144 4441 a FA(hp2ps)19 b(program,)p
1 0 0 TeXcolorrgb 2686 4442 a
SDict begin H.S end
2686 4442 a 1 0 0 TeXcolorrgb
-1 x FA(103)p 1 0 0 TeXcolorrgb 2810 4384 a
SDict begin H.R end
2810 4384
a 2810 4441 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.103) cvn H.B /ANN pdfmark end
2810 4441 a Black 2144 4540 a FA(hpc,)p
1 0 0 TeXcolorrgb 2305 4541 a
SDict begin H.S end
2305 4541 a 1 0 0 TeXcolorrgb
-1 x FA(106)p 1 0 0 TeXcolorrgb 2430 4484 a
SDict begin H.R end
2430 4484
a 2430 4540 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.106) cvn H.B /ANN pdfmark end
2430 4540 a Black 2144 4640 a FA(hs-boot)g(\002les,)p
1 0 0 TeXcolorrgb 2593 4641 a
SDict begin H.S end
2593 4641 a 1 0 0 TeXcolorrgb
-1 x FA(47)p 1 0 0 TeXcolorrgb 2676 4583 a
SDict begin H.R end
2676 4583
a 2676 4640 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.47) cvn H.B /ANN pdfmark end
2676 4640 a Black 2144 4739 a FA(hs-libraries)2310
4839 y(package)f(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 4840 a
SDict begin H.S end
3064 4840 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 3147 4783 a
SDict begin H.R end
3147 4783 a 3147 4839 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147 4839 a Black 2144 4939 a FA(hs_add_root,)p 1 0 0
TeXcolorrgb 2596 4941 a
SDict begin H.S end
2596 4941 a 1 0 0 TeXcolorrgb
-2 x FA(198)p 1 0 0 TeXcolorrgb 2720 4882 a
SDict begin H.R end
2720 4882
a 2720 4939 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.198) cvn H.B /ANN pdfmark end
2720 4939 a Black 2144 5038 a FA(hsc2hs,)p
1 0 0 TeXcolorrgb 2411 5039 a
SDict begin H.S end
2411 5039 a 1 0 0 TeXcolorrgb
-1 x FA(204)p 1 0 0 TeXcolorrgb 2536 4982 a
SDict begin H.R end
2536 4982
a 2536 5038 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.204) cvn H.B /ANN pdfmark end
2536 5038 a Black 2144 5138 a FA(Hugs,)p
1 0 0 TeXcolorrgb 2360 5138 a
SDict begin H.S end
2360 5138 a 1 0 0 TeXcolorrgb
FA(12)p 1 0 0 TeXcolorrgb 2444 5082 a
SDict begin H.R end
2444 5082 a 2444
5138 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.12) cvn H.B /ANN pdfmark end
2444 5138 a Black 2144 5238 a FA(hugs-options)2310
5337 y(package)g(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 5338 a
SDict begin H.S end
3064 5338 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 3147 5281 a
SDict begin H.R end
3147 5281 a 3147 5337 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
3147 5337 a Black 2144 5520 a Fu(I)2144 5619 y FA(idle)i(GC,)p
1 0 0 TeXcolorrgb 2446 5620 a
SDict begin H.S end
2446 5620 a 1 0 0 TeXcolorrgb
-1 x FA(73)p 1 0 0 TeXcolorrgb 2529 5563 a
SDict begin H.R end
2529 5563
a 2529 5619 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.73) cvn H.B /ANN pdfmark end
2529 5619 a Black 2144 5719 a FA(implicit)g(parameters,)p
1 0 0 TeXcolorrgb 2829 5721 a
SDict begin H.S end
2829 5721 a 1 0 0 TeXcolorrgb
-2 x FA(129)p 1 0 0 TeXcolorrgb 2953 5663 a
SDict begin H.R end
2953 5663
a 2953 5719 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
2953 5719 a Black Black -128 6084 4252
5 v Black eop end
%%Page: 222 237
TeXDict begin 222 236 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.222) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(222)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(implicit)h(prelude,)d(w)o
(arning,)p 1 0 0 TeXcolorrgb 755 174 a
SDict begin H.S end
755 174 a 1 0 0
TeXcolorrgb -1 x FA(53)p 1 0 0 TeXcolorrgb 838 117 a
SDict begin H.R end
838 117 a 838 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
838 173 a Black -128 273 a FA(import-dirs)38
372 y(package)h(speci\002cation,)p 1 0 0 TeXcolorrgb
792 373 a
SDict begin H.S end
792 373 a 1 0 0 TeXcolorrgb -1 x FA(62)p 1 0 0
TeXcolorrgb 875 316 a
SDict begin H.R end
875 316 a 875 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875 372 a Black
-128 472 a FA(importing,)f(hi-boot)h(\002les,)p 1 0 0
TeXcolorrgb 682 473 a
SDict begin H.S end
682 473 a 1 0 0 TeXcolorrgb -1
x FA(47)p 1 0 0 TeXcolorrgb 765 416 a
SDict begin H.R end
765 416 a 765 472
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.47) cvn H.B /ANN pdfmark end
765 472 a Black -128 572 a FA(imports,)h(unused,)p
1 0 0 TeXcolorrgb 444 573 a
SDict begin H.S end
444 573 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 527 515 a
SDict begin H.R end
527 515 a 527
572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
527 572 a Black -128 671 a FA(impro)o(v)o(ement,)d(code,)p
1 0 0 TeXcolorrgb 552 672 a
SDict begin H.S end
552 672 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 635 615 a
SDict begin H.R end
635 615 a 635
671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
635 671 a Black -128 771 a FA(include-dirs)38 871
y(package)i(speci\002cation,)p 1 0 0 TeXcolorrgb 792
872 a
SDict begin H.S end
792 872 a 1 0 0 TeXcolorrgb -1 x FA(62)p 1 0 0
TeXcolorrgb 875 814 a
SDict begin H.R end
875 814 a 875 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875 871 a Black
-128 970 a FA(include-\002le)g(options,)p 1 0 0 TeXcolorrgb
557 971 a
SDict begin H.S end
557 971 a 1 0 0 TeXcolorrgb -1 x FA(67)p 1 0 0
TeXcolorrgb 640 914 a
SDict begin H.R end
640 914 a 640 970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
640 970 a Black
-128 1070 a FA(includes)38 1169 y(package)g(speci\002cation,)p
1 0 0 TeXcolorrgb 792 1170 a
SDict begin H.S end
792 1170 a 1 0 0 TeXcolorrgb
-1 x FA(62)p 1 0 0 TeXcolorrgb 875 1113 a
SDict begin H.R end
875 1113 a
875 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875 1169 a Black -128 1269 a FA(incomplete)g(patterns,)g(w)o
(arning,)p 1 0 0 TeXcolorrgb 879 1270 a
SDict begin H.S end
879 1270 a 1 0 0
TeXcolorrgb -1 x FA(53)p 1 0 0 TeXcolorrgb 962 1213 a
SDict begin H.R end
962 1213 a 962 1269 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
962 1269 a Black -128 1369 a FA(incomplete)g
(record)g(updates,)g(w)o(arning,)p 1 0 0 TeXcolorrgb
1103 1370 a
SDict begin H.S end
1103 1370 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 1186 1312 a
SDict begin H.R end
1186 1312 a 1186 1369 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
1186 1369 a Black -128 1468 a FA(INLINE,)p 1 0 0 TeXcolorrgb
191 1469 a
SDict begin H.S end
191 1469 a 1 0 0 TeXcolorrgb -1 x FA(181)p
1 0 0 TeXcolorrgb 315 1412 a
SDict begin H.R end
315 1412 a 315 1468 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.181) cvn H.B /ANN pdfmark end
315
1468 a Black -128 1568 a FA(INLINE)h(pragma,)p 1 0 0
TeXcolorrgb 460 1569 a
SDict begin H.S end
460 1569 a 1 0 0 TeXcolorrgb -1
x FA(181)p 1 0 0 TeXcolorrgb 585 1512 a
SDict begin H.R end
585 1512 a 585
1568 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.181) cvn H.B /ANN pdfmark end
585 1568 a Black -128 1668 a FA(inlining,)f(controlling,)p
1 0 0 TeXcolorrgb 578 1669 a
SDict begin H.S end
578 1669 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 661 1611 a
SDict begin H.R end
661 1611 a
661 1668 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
661 1668 a Black -128 1767 a FA(installer)i(detection,)p
1 0 0 TeXcolorrgb 507 1769 a
SDict begin H.S end
507 1769 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 590 1711 a
SDict begin H.R end
590 1711 a
590 1767 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
590 1767 a Black -128 1867 a FA(Int)38 1966
y(size)g(of,)p 1 0 0 TeXcolorrgb 299 1967 a
SDict begin H.S end
299 1967
a 1 0 0 TeXcolorrgb -1 x FA(215)p 1 0 0 TeXcolorrgb 424
1910 a
SDict begin H.R end
424 1910 a 424 1966 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.215) cvn H.B /ANN pdfmark end
424 1966 a Black -128 2066
a FA(interacti)n(v)o(e,)e Fq(see)i FA(GHCi)-128 2166
y(interacti)n(v)o(e)e(mode,)p 1 0 0 TeXcolorrgb 466 2168
a
SDict begin H.S end
466 2168 a 1 0 0 TeXcolorrgb -2 x FA(39)p 1 0 0 TeXcolorrgb
549 2109 a
SDict begin H.R end
549 2109 a 549 2166 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
549 2166 a Black -128
2265 a FA(interf)o(ace)h(\002les,)p 1 0 0 TeXcolorrgb
363 2266 a
SDict begin H.S end
363 2266 a 1 0 0 TeXcolorrgb -1 x FA(43)p
1 0 0 TeXcolorrgb 446 2209 a
SDict begin H.R end
446 2209 a 446 2265 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
446
2265 a Black -128 2365 a FA(interf)o(ace)g(\002les,)h(\002nding)e
(them,)p 1 0 0 TeXcolorrgb 826 2365 a
SDict begin H.S end
826 2365 a 1 0 0
TeXcolorrgb FA(44)p 1 0 0 TeXcolorrgb 909 2309 a
SDict begin H.R end
909
2309 a 909 2365 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
909 2365 a Black -128 2465 a FA(interf)o(ace)h
(\002les,)h(options,)p 1 0 0 TeXcolorrgb 649 2466 a
SDict begin H.S end
649
2466 a 1 0 0 TeXcolorrgb -1 x FA(46)p 1 0 0 TeXcolorrgb
732 2408 a
SDict begin H.R end
732 2408 a 732 2465 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
732 2465 a Black -128
2564 a FA(intermediate)e(code)h(generation,)p 1 0 0 TeXcolorrgb
878 2565 a
SDict begin H.S end
878 2565 a 1 0 0 TeXcolorrgb -1 x FA(78)p
1 0 0 TeXcolorrgb 961 2508 a
SDict begin H.R end
961 2508 a 961 2564 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.78) cvn H.B /ANN pdfmark end
961
2564 a Black -128 2664 a FA(intermediate)f(\002les,)i(sa)n(ving,)p
1 0 0 TeXcolorrgb 745 2665 a
SDict begin H.S end
745 2665 a 1 0 0 TeXcolorrgb
-1 x FA(45)p 1 0 0 TeXcolorrgb 828 2608 a
SDict begin H.R end
828 2608 a
828 2664 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
828 2664 a Black -128 2763 a FA(intermediate)e(passes,)i
(output,)p 1 0 0 TeXcolorrgb 816 2765 a
SDict begin H.S end
816 2765 a 1 0 0
TeXcolorrgb -2 x FA(79)p 1 0 0 TeXcolorrgb 899 2707 a
SDict begin H.R end
899 2707 a 899 2763 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.79) cvn H.B /ANN pdfmark end
899 2763 a Black -128 2863 a FA(interpreter)m(,)d
Fq(see)j FA(GHCi)-128 2963 y(in)m(v)n(oking)38 3062 y(GHCi,)p
1 0 0 TeXcolorrgb 278 3064 a
SDict begin H.S end
278 3064 a 1 0 0 TeXcolorrgb
-2 x FA(29)p 1 0 0 TeXcolorrgb 361 3006 a
SDict begin H.R end
361 3006 a
361 3062 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.29) cvn H.B /ANN pdfmark end
361 3062 a Black -128 3162 a FA(it,)p 1 0 0
TeXcolorrgb -40 3164 a
SDict begin H.S end
-40 3164 a 1 0 0 TeXcolorrgb -2
x FA(19)p 1 0 0 TeXcolorrgb 43 3106 a
SDict begin H.R end
43 3106 a 43 3162
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.19) cvn H.B /ANN pdfmark end
43 3162 a Black -128 3345 a Fu(L)-128 3444 y FA(LANGU)m(A)m(GE)38
3544 y(pragma,)p 1 0 0 TeXcolorrgb 329 3545 a
SDict begin H.S end
329 3545
a 1 0 0 TeXcolorrgb -1 x FA(180)p 1 0 0 TeXcolorrgb 454
3488 a
SDict begin H.R end
454 3488 a 454 3544 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
454 3544 a Black -128 3644
a FA(language)38 3743 y(option,)p 1 0 0 TeXcolorrgb 292
3744 a
SDict begin H.S end
292 3744 a 1 0 0 TeXcolorrgb -1 x FA(116)p 1 0 0
TeXcolorrgb 417 3687 a
SDict begin H.R end
417 3687 a 417 3743 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.116) cvn H.B /ANN pdfmark end
417 3743
a Black -128 3843 a FA(language,)e(GHC,)p 1 0 0 TeXcolorrgb
430 3844 a
SDict begin H.S end
430 3844 a 1 0 0 TeXcolorrgb -1 x FA(116)p
1 0 0 TeXcolorrgb 555 3786 a
SDict begin H.R end
555 3786 a 555 3843 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.116) cvn H.B /ANN pdfmark end
555
3843 a Black -128 3942 a FA(Latin-1,)p 1 0 0 TeXcolorrgb
158 3943 a
SDict begin H.S end
158 3943 a 1 0 0 TeXcolorrgb -1 x FA(43)p
1 0 0 TeXcolorrgb 241 3886 a
SDict begin H.R end
241 3886 a 241 3942 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
241
3942 a Black -128 4042 a FA(ld)i(options,)p 1 0 0 TeXcolorrgb
244 4043 a
SDict begin H.S end
244 4043 a 1 0 0 TeXcolorrgb -1 x FA(68)p
1 0 0 TeXcolorrgb 327 3986 a
SDict begin H.R end
327 3986 a 327 4042 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
327
4042 a Black -128 4142 a FA(ld-options)38 4241 y(package)e
(speci\002cation,)p 1 0 0 TeXcolorrgb 792 4242 a
SDict begin H.S end
792
4242 a 1 0 0 TeXcolorrgb -1 x FA(62)p 1 0 0 TeXcolorrgb
875 4185 a
SDict begin H.R end
875 4185 a 875 4241 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875 4241 a Black -128
4341 a FA(lhs)i(suf)n(\002x,)p 1 0 0 TeXcolorrgb 219
4343 a
SDict begin H.S end
219 4343 a 1 0 0 TeXcolorrgb -2 x FA(39)p 1 0 0
TeXcolorrgb 302 4285 a
SDict begin H.R end
302 4285 a 302 4341 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
302 4341
a Black -128 4441 a FA(libdir)m(,)p 1 0 0 TeXcolorrgb
91 4442 a
SDict begin H.S end
91 4442 a 1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0
TeXcolorrgb 174 4384 a
SDict begin H.R end
174 4384 a 174 4441 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
174 4441
a Black -128 4540 a FA(libraries)38 4640 y(with)g(GHCi,)p
1 0 0 TeXcolorrgb 447 4642 a
SDict begin H.S end
447 4642 a 1 0 0 TeXcolorrgb
-2 x FA(29)p 1 0 0 TeXcolorrgb 530 4583 a
SDict begin H.R end
530 4583 a
530 4640 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.29) cvn H.B /ANN pdfmark end
530 4640 a Black -128 4739 a FA(library-dirs)38
4839 y(package)e(speci\002cation,)p 1 0 0 TeXcolorrgb
792 4840 a
SDict begin H.S end
792 4840 a 1 0 0 TeXcolorrgb -1 x FA(62)p
1 0 0 TeXcolorrgb 875 4783 a
SDict begin H.R end
875 4783 a 875 4839 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.62) cvn H.B /ANN pdfmark end
875
4839 a Black -128 4939 a FA(license-\002le)38 5038 y(package)g
(speci\002cation,)p 1 0 0 TeXcolorrgb 792 5039 a
SDict begin H.S end
792
5039 a 1 0 0 TeXcolorrgb -1 x FA(61)p 1 0 0 TeXcolorrgb
875 4982 a
SDict begin H.R end
875 4982 a 875 5038 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
875 5038 a Black -128
5138 a FA(LINE)38 5238 y(pragma,)p 1 0 0 TeXcolorrgb
329 5239 a
SDict begin H.S end
329 5239 a 1 0 0 TeXcolorrgb -1 x FA(183)p
1 0 0 TeXcolorrgb 454 5181 a
SDict begin H.R end
454 5181 a 454 5238 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.183) cvn H.B /ANN pdfmark end
454
5238 a Black -128 5337 a FA(link)o(er)h(options,)p 1 0 0
TeXcolorrgb 372 5338 a
SDict begin H.S end
372 5338 a 1 0 0 TeXcolorrgb -1
x FA(68)p 1 0 0 TeXcolorrgb 455 5281 a
SDict begin H.R end
455 5281 a 455
5337 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.68) cvn H.B /ANN pdfmark end
455 5337 a Black -128 5437 a FA(linking)f(Hask)o(ell)i
(libraries)f(with)g(foreign)f(code,)p 1 0 0 TeXcolorrgb
1322 5439 a
SDict begin H.S end
1322 5439 a 1 0 0 TeXcolorrgb -2 x FA(69)p
1 0 0 TeXcolorrgb 1405 5381 a
SDict begin H.R end
1405 5381 a 1405 5437 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
1405 5437 a Black -128 5536 a FA(lint,)p 1 0 0 TeXcolorrgb
25 5537 a
SDict begin H.S end
25 5537 a 1 0 0 TeXcolorrgb -1 x FA(80)p 1 0 0
TeXcolorrgb 108 5480 a
SDict begin H.R end
108 5480 a 108 5536 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
108 5536
a Black -128 5636 a FA(list)j(comprehensions)38 5736
y(generalised,)p 1 0 0 TeXcolorrgb 458 5736 a
SDict begin H.S end
458 5736
a 1 0 0 TeXcolorrgb FA(124)p 1 0 0 TeXcolorrgb 583 5679
a
SDict begin H.R end
583 5679 a 583 5736 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.124) cvn H.B /ANN pdfmark end
583 5736 a Black Black Black
2310 173 a FA(parallel,)p 1 0 0 TeXcolorrgb 2600 174
a
SDict begin H.S end
2600 174 a 1 0 0 TeXcolorrgb -1 x FA(123)p 1 0 0 TeXcolorrgb
2725 117 a
SDict begin H.R end
2725 117 a 2725 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.123) cvn H.B /ANN pdfmark end
2725 173 a Black 2144
356 a Fu(M)2144 455 y FA(machine-speci\002c)c(options,)p
1 0 0 TeXcolorrgb 3013 456 a
SDict begin H.S end
3013 456 a 1 0 0 TeXcolorrgb
-1 x FA(71)p 1 0 0 TeXcolorrgb 3096 399 a
SDict begin H.R end
3096 399 a
3096 455 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
3096 455 a Black 2144 555 a FA(mailing)h(lists,)j(Glasgo)n
(w)d(Hask)o(ell,)p 1 0 0 TeXcolorrgb 3202 555 a
SDict begin H.S end
3202
555 a 1 0 0 TeXcolorrgb FA(1)p 1 0 0 TeXcolorrgb 3243
499 a
SDict begin H.R end
3243 499 a 3243 555 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.1) cvn H.B /ANN pdfmark end
3243 555 a Black 2144 655
a FA(maintainer)2310 754 y(package)f(speci\002cation,)p
1 0 0 TeXcolorrgb 3064 755 a
SDict begin H.S end
3064 755 a 1 0 0 TeXcolorrgb
-1 x FA(61)p 1 0 0 TeXcolorrgb 3147 698 a
SDict begin H.R end
3147 698 a
3147 754 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
3147 754 a Black 2144 854 a FA(mak)o(e,)p
1 0 0 TeXcolorrgb 2364 855 a
SDict begin H.S end
2364 855 a 1 0 0 TeXcolorrgb
-1 x FA(48)p 1 0 0 TeXcolorrgb 2447 798 a
SDict begin H.R end
2447 798 a
2447 854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.48) cvn H.B /ANN pdfmark end
2447 854 a Black 2144 954 a FA(mak)o(e)h(and)h
(recompilation,)p 1 0 0 TeXcolorrgb 2987 954 a
SDict begin H.S end
2987 954
a 1 0 0 TeXcolorrgb FA(42)p 1 0 0 TeXcolorrgb 3070 897
a
SDict begin H.R end
3070 897 a 3070 954 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
3070 954 a Black 2144 1053 a
FA(mak)o(e)f(mode,)p 1 0 0 TeXcolorrgb 2569 1055 a
SDict begin H.S end
2569
1055 a 1 0 0 TeXcolorrgb -2 x FA(39)p 1 0 0 TeXcolorrgb
2652 997 a
SDict begin H.R end
2652 997 a 2652 1053 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
2652 1053 a Black 2144
1153 a FA(Mak)o(e\002le)h(dependencies,)p 1 0 0 TeXcolorrgb
2948 1155 a
SDict begin H.S end
2948 1155 a 1 0 0 TeXcolorrgb -2 x FA(49)p
1 0 0 TeXcolorrgb 3031 1097 a
SDict begin H.R end
3031 1097 a 3031 1153 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.49) cvn H.B /ANN pdfmark end
3031 1153 a Black 2144 1252 a FA(Mak)o(e\002les)2310
1352 y(a)n(v)n(oiding,)p 1 0 0 TeXcolorrgb 2639 1353
a
SDict begin H.S end
2639 1353 a 1 0 0 TeXcolorrgb -1 x FA(40)p 1 0 0 TeXcolorrgb
2722 1296 a
SDict begin H.R end
2722 1296 a 2722 1352 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
2722 1352 a Black
2144 1452 a FA(MallocF)o(ailHook,)p 1 0 0 TeXcolorrgb
2733 1453 a
SDict begin H.S end
2733 1453 a 1 0 0 TeXcolorrgb -1 x FA(77)p
1 0 0 TeXcolorrgb 2816 1398 a
SDict begin H.R end
2816 1398 a 2816 1452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2816 1452 a Black 2144 1551 a FA(manifest,)p 1 0 0 TeXcolorrgb
2471 1553 a
SDict begin H.S end
2471 1553 a 1 0 0 TeXcolorrgb -2 x FA(69)p
1 0 0 TeXcolorrgb 2554 1495 a
SDict begin H.R end
2554 1495 a 2554 1551 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
2554 1551 a Black 2144 1651 a FA(matches,)f(unused,)p
1 0 0 TeXcolorrgb 2734 1652 a
SDict begin H.S end
2734 1652 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 2817 1595 a
SDict begin H.R end
2817 1595
a 2817 1651 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2817 1651 a Black 2144 1751 a FA(mdo,)p
1 0 0 TeXcolorrgb 2333 1753 a
SDict begin H.S end
2333 1753 a 1 0 0 TeXcolorrgb
-2 x FA(129)p 1 0 0 TeXcolorrgb 2457 1694 a
SDict begin H.R end
2457 1694
a 2457 1751 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
2457 1751 a Black 2144 1850 a FA(memory)-5
b(,)18 b(using)h(less)i(heap,)p 1 0 0 TeXcolorrgb 3001
1851 a
SDict begin H.S end
3001 1851 a 1 0 0 TeXcolorrgb -1 x FA(115)p 1 0 0
TeXcolorrgb 3125 1794 a
SDict begin H.R end
3125 1794 a 3125 1850 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
3125
1850 a Black 2144 1950 a FA(methods,)e(missing,)p 1 0 0
TeXcolorrgb 2766 1951 a
SDict begin H.S end
2766 1951 a 1 0 0 TeXcolorrgb
-1 x FA(53)p 1 0 0 TeXcolorrgb 2849 1894 a
SDict begin H.R end
2849 1894
a 2849 1950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
2849 1950 a Black 2144 2049 a FA(missing)h(\002elds,)g(w)
o(arning,)p 1 0 0 TeXcolorrgb 2957 2050 a
SDict begin H.S end
2957 2050 a
1 0 0 TeXcolorrgb -1 x FA(53)p 1 0 0 TeXcolorrgb 3040
1993 a
SDict begin H.R end
3040 1993 a 3040 2049 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3040 2049 a Black 2144
2149 a FA(missing)g(methods,)f(w)o(arning,)p 1 0 0 TeXcolorrgb
3058 2150 a
SDict begin H.S end
3058 2150 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 3141 2093 a
SDict begin H.R end
3141 2093 a 3141 2149 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3141 2149 a Black 2144 2249 a FA(mode)2310 2348 y(options,)p
1 0 0 TeXcolorrgb 2596 2350 a
SDict begin H.S end
2596 2350 a 1 0 0 TeXcolorrgb
-2 x FA(39)p 1 0 0 TeXcolorrgb 2679 2292 a
SDict begin H.R end
2679 2292
a 2679 2348 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
2679 2348 a Black 2144 2448 a FA(module)g(system,)h
(recursion,)p 1 0 0 TeXcolorrgb 3036 2449 a
SDict begin H.S end
3036 2449
a 1 0 0 TeXcolorrgb -1 x FA(47)p 1 0 0 TeXcolorrgb 3119
2392 a
SDict begin H.R end
3119 2392 a 3119 2448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.47) cvn H.B /ANN pdfmark end
3119 2448 a Black 2144
2548 a FA(modules)2310 2647 y(and)f(\002lenames,)p 1 0 0
TeXcolorrgb 2810 2648 a
SDict begin H.S end
2810 2648 a 1 0 0 TeXcolorrgb
-1 x FA(13)p 1 0 0 TeXcolorrgb 2893 2591 a
SDict begin H.R end
2893 2591
a 2893 2647 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.13) cvn H.B /ANN pdfmark end
2893 2647 a Black 2144 2747 a FA(monomorphism)d
(restriction,)j(w)o(arning,)p 1 0 0 TeXcolorrgb 3381
2748 a
SDict begin H.S end
3381 2748 a 1 0 0 TeXcolorrgb -1 x FA(54)p 1 0 0
TeXcolorrgb 3464 2691 a
SDict begin H.R end
3464 2691 a 3464 2747 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
3464
2747 a Black 2144 2847 a FA(multicore,)p 1 0 0 TeXcolorrgb
2503 2849 a
SDict begin H.S end
2503 2849 a 1 0 0 TeXcolorrgb -2 x FA(69)p
1 0 0 TeXcolorrgb 2586 2790 a
SDict begin H.R end
2586 2790 a 2586 2847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
2586 2847 a Black 2144 2946 a FA(multiprocessor)m(,)p
1 0 0 TeXcolorrgb 2675 2948 a
SDict begin H.S end
2675 2948 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 2758 2890 a
SDict begin H.R end
2758 2890
a 2758 2946 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
2758 2946 a Black 2144 3129 a Fu(N)2144
3228 y FA(name)2310 3328 y(package)f(speci\002cation,)p
1 0 0 TeXcolorrgb 3064 3329 a
SDict begin H.S end
3064 3329 a 1 0 0 TeXcolorrgb
-1 x FA(61)p 1 0 0 TeXcolorrgb 3147 3272 a
SDict begin H.R end
3147 3272
a 3147 3328 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
3147 3328 a Black 2144 3428 a FA(nati)n(v)o(e-code)f
(generator)m(,)p 1 0 0 TeXcolorrgb 2900 3428 a
SDict begin H.S end
2900 3428
a 1 0 0 TeXcolorrgb FA(41)p 1 0 0 TeXcolorrgb 2983 3371
a
SDict begin H.R end
2983 3371 a 2983 3428 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.41) cvn H.B /ANN pdfmark end
2983 3428 a Black 2144 3527
a FA(NOINLINE,)p 1 0 0 TeXcolorrgb 2582 3528 a
SDict begin H.S end
2582 3528
a 1 0 0 TeXcolorrgb -1 x FA(182)p 1 0 0 TeXcolorrgb 2706
3471 a
SDict begin H.R end
2706 3471 a 2706 3527 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.182) cvn H.B /ANN pdfmark end
2706 3527 a Black 2144
3627 a FA(NO)m(TINLINE,)p 1 0 0 TeXcolorrgb 2629 3628
a
SDict begin H.S end
2629 3628 a 1 0 0 TeXcolorrgb -1 x FA(182)p 1 0 0 TeXcolorrgb
2754 3571 a
SDict begin H.R end
2754 3571 a 2754 3627 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.182) cvn H.B /ANN pdfmark end
2754 3627 a Black
2144 3810 a Fu(O)2144 3909 y FA(object)i(\002les,)p 1 0 0
TeXcolorrgb 2547 3910 a
SDict begin H.S end
2547 3910 a 1 0 0 TeXcolorrgb
-1 x FA(43)p 1 0 0 TeXcolorrgb 2630 3853 a
SDict begin H.R end
2630 3853
a 2630 3909 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
2630 3909 a Black 2144 4009 a FA(optimisation,)p
1 0 0 TeXcolorrgb 2600 4010 a
SDict begin H.S end
2600 4010 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 2683 3953 a
SDict begin H.R end
2683 3953
a 2683 4009 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2683 4009 a Black 2144 4108 a FA(optimise)2310
4208 y(aggressi)n(v)o(ely)-5 b(,)p 1 0 0 TeXcolorrgb
2758 4209 a
SDict begin H.S end
2758 4209 a 1 0 0 TeXcolorrgb -1 x FA(63)p
1 0 0 TeXcolorrgb 2841 4152 a
SDict begin H.R end
2841 4152 a 2841 4208 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2841 4208 a Black 2310 4308 a FA(normally)g(,)p 1 0 0
TeXcolorrgb 2646 4309 a
SDict begin H.S end
2646 4309 a 1 0 0 TeXcolorrgb
-1 x FA(63)p 1 0 0 TeXcolorrgb 2729 4251 a
SDict begin H.R end
2729 4251
a 2729 4308 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
2729 4308 a Black 2144 4407 a FA(optimising,)18
b(customised,)p 1 0 0 TeXcolorrgb 2956 4408 a
SDict begin H.S end
2956 4408
a 1 0 0 TeXcolorrgb -1 x FA(63)p 1 0 0 TeXcolorrgb 3039
4351 a
SDict begin H.R end
3039 4351 a 3039 4407 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.63) cvn H.B /ANN pdfmark end
3039 4407 a Black 2144
4507 a FA(options)2310 4607 y(for)h(pro\002ling,)p 1 0 0
TeXcolorrgb 2755 4608 a
SDict begin H.S end
2755 4608 a 1 0 0 TeXcolorrgb
-1 x FA(100)p 1 0 0 TeXcolorrgb 2879 4550 a
SDict begin H.R end
2879 4550
a 2879 4607 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2879 4607 a Black 2310 4706 a FA(GHCi,)p
1 0 0 TeXcolorrgb 2550 4707 a
SDict begin H.S end
2550 4707 a 1 0 0 TeXcolorrgb
-1 x FA(34)p 1 0 0 TeXcolorrgb 2633 4650 a
SDict begin H.R end
2633 4650
a 2633 4706 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
2633 4706 a Black 2310 4806 a FA(language,)p
1 0 0 TeXcolorrgb 2651 4807 a
SDict begin H.S end
2651 4807 a 1 0 0 TeXcolorrgb
-1 x FA(116)p 1 0 0 TeXcolorrgb 2776 4750 a
SDict begin H.R end
2776 4750
a 2776 4806 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.116) cvn H.B /ANN pdfmark end
2776 4806 a Black 2144 4905 a FA(OPTIONS_GHC,)p
1 0 0 TeXcolorrgb 2753 4906 a
SDict begin H.S end
2753 4906 a 1 0 0 TeXcolorrgb
-1 x FA(180)p 1 0 0 TeXcolorrgb 2877 4849 a
SDict begin H.R end
2877 4849
a 2877 4905 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
2877 4905 a Black 2144 5005 a FA(OPTIONS_GHC)h(pragma,)p
1 0 0 TeXcolorrgb 3022 5006 a
SDict begin H.S end
3022 5006 a 1 0 0 TeXcolorrgb
-1 x FA(38)p 1 0 0 TeXcolorrgb 3105 4949 a
SDict begin H.R end
3105 4949
a 3105 5005 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
3105 5005 a Black 2144 5105 a FA(orphan)e(instance,)p
1 0 0 TeXcolorrgb 2709 5106 a
SDict begin H.S end
2709 5106 a 1 0 0 TeXcolorrgb
-1 x FA(51)p 1 0 0 TeXcolorrgb 2792 5048 a
SDict begin H.R end
2792 5048
a 2792 5105 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.51) cvn H.B /ANN pdfmark end
2792 5105 a Black 2144 5204 a FA(orphan)g(instances,)i(w)
o(arning,)p 1 0 0 TeXcolorrgb 3054 5205 a
SDict begin H.S end
3054 5205 a
1 0 0 TeXcolorrgb -1 x FA(53)p 1 0 0 TeXcolorrgb 3137
5148 a
SDict begin H.R end
3137 5148 a 3137 5204 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
3137 5204 a Black 2144
5304 a FA(orphan)e(module,)p 1 0 0 TeXcolorrgb 2686 5305
a
SDict begin H.S end
2686 5305 a 1 0 0 TeXcolorrgb -1 x FA(51)p 1 0 0 TeXcolorrgb
2769 5248 a
SDict begin H.R end
2769 5248 a 2769 5304 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.51) cvn H.B /ANN pdfmark end
2769 5304 a Black
2144 5404 a FA(orphan)g(rule,)p 1 0 0 TeXcolorrgb 2566
5405 a
SDict begin H.S end
2566 5405 a 1 0 0 TeXcolorrgb -1 x FA(51)p 1 0 0
TeXcolorrgb 2649 5347 a
SDict begin H.R end
2649 5347 a 2649 5404 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.51) cvn H.B /ANN pdfmark end
2649
5404 a Black 2144 5503 a FA(orphan)g(rules,)i(w)o(arning,)p
1 0 0 TeXcolorrgb 2911 5504 a
SDict begin H.S end
2911 5504 a 1 0 0 TeXcolorrgb
-1 x FA(53)p 1 0 0 TeXcolorrgb 2994 5447 a
SDict begin H.R end
2994 5447
a 2994 5503 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
2994 5503 a Black 2144 5603 a FA(OutOfHeapHook,)p
1 0 0 TeXcolorrgb 2757 5604 a
SDict begin H.S end
2757 5604 a 1 0 0 TeXcolorrgb
-1 x FA(77)p 1 0 0 TeXcolorrgb 2840 5549 a
SDict begin H.R end
2840 5549
a 2840 5603 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2840 5603 a Black 2144 5702 a FA(output-directing)c
(options,)p 1 0 0 TeXcolorrgb 2985 5702 a
SDict begin H.S end
2985 5702 a
1 0 0 TeXcolorrgb FA(44)p 1 0 0 TeXcolorrgb 3068 5646
a
SDict begin H.R end
3068 5646 a 3068 5702 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
3068 5702 a Black Black -128
6084 4252 5 v Black eop end
%%Page: 223 238
TeXDict begin 223 237 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.223) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(223)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(o)o(v)o(er\003o)n(w)38
273 y(Int,)p 1 0 0 TeXcolorrgb 172 274 a
SDict begin H.S end
172 274 a 1 0 0
TeXcolorrgb -1 x FA(215)p 1 0 0 TeXcolorrgb 297 217 a
SDict begin H.R end
297 217 a 297 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.215) cvn H.B /ANN pdfmark end
297 273 a Black -128 372 a FA(o)o(v)o(erlapping)d
(patterns,)j(w)o(arning,)p 1 0 0 TeXcolorrgb 904 373
a
SDict begin H.S end
904 373 a 1 0 0 TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb
987 316 a
SDict begin H.R end
987 316 a 987 372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
987 372 a Black -128 472
a FA(o)o(v)o(erloading,)d(death)j(to,)p 1 0 0 TeXcolorrgb
615 473 a
SDict begin H.S end
615 473 a 1 0 0 TeXcolorrgb -1 x FA(113)p 1 0 0
TeXcolorrgb 739 416 a
SDict begin H.R end
739 416 a 739 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.113) cvn H.B /ANN pdfmark end
739 472 a Black
FA(,)p 1 0 0 TeXcolorrgb 781 473 a
SDict begin H.S end
781 473 a 1 0 0 TeXcolorrgb
-1 x FA(183)p 1 0 0 TeXcolorrgb 905 416 a
SDict begin H.R end
905 416 a 905
472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.183) cvn H.B /ANN pdfmark end
905 472 a Black FA(,)p 1 0 0 TeXcolorrgb 947 473
a
SDict begin H.S end
947 473 a 1 0 0 TeXcolorrgb -1 x FA(184)p 1 0 0 TeXcolorrgb
1071 416 a
SDict begin H.R end
1071 416 a 1071 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.184) cvn H.B /ANN pdfmark end
1071 472 a Black -128
655 a Fu(P)-128 754 y FA(package-url)38 854 y(package)f
(speci\002cation,)p 1 0 0 TeXcolorrgb 792 855 a
SDict begin H.S end
792 855
a 1 0 0 TeXcolorrgb -1 x FA(61)p 1 0 0 TeXcolorrgb 875
798 a
SDict begin H.R end
875 798 a 875 854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
875 854 a Black -128 954 a
FA(packages,)p 1 0 0 TeXcolorrgb 218 955 a
SDict begin H.S end
218 955 a
1 0 0 TeXcolorrgb -1 x FA(55)p 1 0 0 TeXcolorrgb 301
897 a
SDict begin H.R end
301 897 a 301 954 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.55) cvn H.B /ANN pdfmark end
301 954 a Black 38 1053 a FA(b)n(uilding,)p
1 0 0 TeXcolorrgb 355 1054 a
SDict begin H.S end
355 1054 a 1 0 0 TeXcolorrgb
-1 x FA(57)p 1 0 0 TeXcolorrgb 438 997 a
SDict begin H.R end
438 997 a 438
1053 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.57) cvn H.B /ANN pdfmark end
438 1053 a Black 38 1153 a FA(management,)p 1 0 0
TeXcolorrgb 504 1154 a
SDict begin H.S end
504 1154 a 1 0 0 TeXcolorrgb -1
x FA(58)p 1 0 0 TeXcolorrgb 587 1097 a
SDict begin H.R end
587 1097 a 587
1153 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.58) cvn H.B /ANN pdfmark end
587 1153 a Black 38 1252 a FA(using,)p 1 0 0 TeXcolorrgb
260 1253 a
SDict begin H.S end
260 1253 a 1 0 0 TeXcolorrgb -1 x FA(55)p
1 0 0 TeXcolorrgb 343 1196 a
SDict begin H.R end
343 1196 a 343 1252 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.55) cvn H.B /ANN pdfmark end
343
1252 a Black 38 1352 a FA(with)i(GHCi,)p 1 0 0 TeXcolorrgb
447 1354 a
SDict begin H.S end
447 1354 a 1 0 0 TeXcolorrgb -2 x FA(29)p
1 0 0 TeXcolorrgb 530 1296 a
SDict begin H.R end
530 1296 a 530 1352 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.29) cvn H.B /ANN pdfmark end
530
1352 a Black -128 1452 a FA(parallel)f(list)h(comprehensions,)p
1 0 0 TeXcolorrgb 846 1453 a
SDict begin H.S end
846 1453 a 1 0 0 TeXcolorrgb
-1 x FA(123)p 1 0 0 TeXcolorrgb 970 1395 a
SDict begin H.R end
970 1395 a
970 1452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.123) cvn H.B /ANN pdfmark end
970 1452 a Black -128 1551 a FA(parallelism,)p
1 0 0 TeXcolorrgb 283 1553 a
SDict begin H.S end
283 1553 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 366 1495 a
SDict begin H.R end
366 1495 a
366 1551 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
366 1551 a Black FA(,)p 1 0 0 TeXcolorrgb
407 1552 a
SDict begin H.S end
407 1552 a 1 0 0 TeXcolorrgb -1 x FA(70)p
1 0 0 TeXcolorrgb 490 1495 a
SDict begin H.R end
490 1495 a 490 1551 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
490
1551 a Black FA(,)p 1 0 0 TeXcolorrgb 532 1553 a
SDict begin H.S end
532
1553 a 1 0 0 TeXcolorrgb -2 x FA(193)p 1 0 0 TeXcolorrgb
656 1495 a
SDict begin H.R end
656 1495 a 656 1551 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.193) cvn H.B /ANN pdfmark end
656 1551 a Black -128
1651 a FA(parser)f(generator)e(for)i(Hask)o(ell,)p 1 0 0
TeXcolorrgb 842 1652 a
SDict begin H.S end
842 1652 a 1 0 0 TeXcolorrgb -1
x FA(203)p 1 0 0 TeXcolorrgb 967 1595 a
SDict begin H.R end
967 1595 a 967
1651 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
967 1651 a Black -128 1751 a FA(P)o(attern)g(guards)f(\(Glasgo)n
(w)h(e)o(xtension\),)p 1 0 0 TeXcolorrgb 1097 1752 a
SDict begin H.S end
1097 1752 a 1 0 0 TeXcolorrgb -1 x FA(120)p 1 0 0 TeXcolorrgb
1221 1694 a
SDict begin H.R end
1221 1694 a 1221 1751 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.120) cvn H.B /ANN pdfmark end
1221 1751 a Black
-128 1850 a FA(patterns,)g(incomplete,)p 1 0 0 TeXcolorrgb
587 1851 a
SDict begin H.S end
587 1851 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 670 1794 a
SDict begin H.R end
670 1794 a 670 1850 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
670
1850 a Black -128 1950 a FA(patterns,)g(o)o(v)o(erlapping,)p
1 0 0 TeXcolorrgb 612 1951 a
SDict begin H.S end
612 1951 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 695 1894 a
SDict begin H.R end
695 1894 a
695 1950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
695 1950 a Black -128 2049 a FA(phases,)g(changing,)p
1 0 0 TeXcolorrgb 481 2050 a
SDict begin H.S end
481 2050 a 1 0 0 TeXcolorrgb
-1 x FA(65)p 1 0 0 TeXcolorrgb 564 1993 a
SDict begin H.R end
564 1993 a
564 2049 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.65) cvn H.B /ANN pdfmark end
564 2049 a Black -128 2149 a FA(platform-speci\002c)e
(options,)p 1 0 0 TeXcolorrgb 746 2150 a
SDict begin H.S end
746 2150 a 1 0 0
TeXcolorrgb -1 x FA(71)p 1 0 0 TeXcolorrgb 829 2093 a
SDict begin H.R end
829 2093 a 829 2149 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
829 2149 a Black -128 2249 a FA(postscript,)i
(from)f(heap)g(pro\002les,)p 1 0 0 TeXcolorrgb 887 2250
a
SDict begin H.S end
887 2250 a 1 0 0 TeXcolorrgb -1 x FA(103)p 1 0 0 TeXcolorrgb
1012 2192 a
SDict begin H.R end
1012 2192 a 1012 2249 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.103) cvn H.B /ANN pdfmark end
1012 2249 a Black
-128 2348 a FA(pragma,)p 1 0 0 TeXcolorrgb 163 2349 a
SDict begin H.S end
163 2349 a 1 0 0 TeXcolorrgb -1 x FA(180)p 1 0 0 TeXcolorrgb
287 2292 a
SDict begin H.R end
287 2292 a 287 2348 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
287 2348 a Black 38
2448 a FA(LANGU)m(A)m(GE,)p 1 0 0 TeXcolorrgb 534 2449
a
SDict begin H.S end
534 2449 a 1 0 0 TeXcolorrgb -1 x FA(180)p 1 0 0 TeXcolorrgb
659 2392 a
SDict begin H.R end
659 2392 a 659 2448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
659 2448 a Black 38
2548 a FA(LINE,)p 1 0 0 TeXcolorrgb 269 2549 a
SDict begin H.S end
269 2549
a 1 0 0 TeXcolorrgb -1 x FA(183)p 1 0 0 TeXcolorrgb 394
2491 a
SDict begin H.R end
394 2491 a 394 2548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.183) cvn H.B /ANN pdfmark end
394 2548 a Black 38 2647
a FA(OPTIONS_GHC,)p 1 0 0 TeXcolorrgb 647 2648 a
SDict begin H.S end
647
2648 a 1 0 0 TeXcolorrgb -1 x FA(180)p 1 0 0 TeXcolorrgb
772 2591 a
SDict begin H.R end
772 2591 a 772 2647 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.180) cvn H.B /ANN pdfmark end
772 2647 a Black -128
2747 a FA(pragma,)g(CORE,)p 1 0 0 TeXcolorrgb 426 2749
a
SDict begin H.S end
426 2749 a 1 0 0 TeXcolorrgb -2 x FA(189)p 1 0 0 TeXcolorrgb
550 2691 a
SDict begin H.R end
550 2691 a 550 2747 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.189) cvn H.B /ANN pdfmark end
550 2747 a Black -128
2847 a FA(pragma,)g(R)m(ULES,)p 1 0 0 TeXcolorrgb 464
2848 a
SDict begin H.S end
464 2848 a 1 0 0 TeXcolorrgb -1 x FA(185)p 1 0 0
TeXcolorrgb 589 2790 a
SDict begin H.R end
589 2790 a 589 2847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.185) cvn H.B /ANN pdfmark end
589 2847
a Black -128 2946 a FA(pragma,)g(SPECIALIZE,)p 1 0 0
TeXcolorrgb 670 2947 a
SDict begin H.S end
670 2947 a 1 0 0 TeXcolorrgb -1
x FA(183)p 1 0 0 TeXcolorrgb 795 2890 a
SDict begin H.R end
795 2890 a 795
2946 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.183) cvn H.B /ANN pdfmark end
795 2946 a Black -128 3046 a FA(pragmas,)p 1 0 0
TeXcolorrgb 195 3047 a
SDict begin H.S end
195 3047 a 1 0 0 TeXcolorrgb -1
x FA(52)p 1 0 0 TeXcolorrgb 278 2989 a
SDict begin H.R end
278 2989 a 278
3046 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
278 3046 a Black -128 3145 a FA(pre-processing:)k(cpp,)p
1 0 0 TeXcolorrgb 571 3146 a
SDict begin H.S end
571 3146 a 1 0 0 TeXcolorrgb
-1 x FA(66)p 1 0 0 TeXcolorrgb 654 3089 a
SDict begin H.R end
654 3089 a
654 3145 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
654 3145 a Black -128 3245 a FA(pre-processing:)g(custom,)p
1 0 0 TeXcolorrgb 691 3246 a
SDict begin H.S end
691 3246 a 1 0 0 TeXcolorrgb
-1 x FA(67)p 1 0 0 TeXcolorrgb 774 3189 a
SDict begin H.R end
774 3189 a
774 3245 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
774 3245 a Black -128 3345 a FA(Pre-processor)c(options,)p
1 0 0 TeXcolorrgb 636 3346 a
SDict begin H.S end
636 3346 a 1 0 0 TeXcolorrgb
-1 x FA(67)p 1 0 0 TeXcolorrgb 719 3288 a
SDict begin H.R end
719 3288 a
719 3345 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.67) cvn H.B /ANN pdfmark end
719 3345 a Black -128 3444 a FA(problems,)p
1 0 0 TeXcolorrgb 223 3445 a
SDict begin H.S end
223 3445 a 1 0 0 TeXcolorrgb
-1 x FA(201)p 1 0 0 TeXcolorrgb 347 3388 a
SDict begin H.R end
347 3388 a
347 3444 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.201) cvn H.B /ANN pdfmark end
347 3444 a Black -128 3544 a FA(problems)g(running)f(your)h
(program,)p 1 0 0 TeXcolorrgb 977 3545 a
SDict begin H.S end
977 3545 a 1 0 0
TeXcolorrgb -1 x FA(201)p 1 0 0 TeXcolorrgb 1101 3488
a
SDict begin H.R end
1101 3488 a 1101 3544 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.201) cvn H.B /ANN pdfmark end
1101 3544 a Black -128 3644
a FA(problems)g(with)i(the)f(compiler)m(,)p 1 0 0 TeXcolorrgb
826 3645 a
SDict begin H.S end
826 3645 a 1 0 0 TeXcolorrgb -1 x FA(201)p
1 0 0 TeXcolorrgb 951 3587 a
SDict begin H.R end
951 3587 a 951 3644 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.201) cvn H.B /ANN pdfmark end
951
3644 a Black -128 3743 a FA(proc,)p 1 0 0 TeXcolorrgb
61 3745 a
SDict begin H.S end
61 3745 a 1 0 0 TeXcolorrgb -2 x FA(129)p 1 0 0
TeXcolorrgb 186 3687 a
SDict begin H.R end
186 3687 a 186 3743 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
186 3743
a Black -128 3843 a FA(pro\002ling,)p 1 0 0 TeXcolorrgb
200 3845 a
SDict begin H.S end
200 3845 a 1 0 0 TeXcolorrgb -2 x FA(96)p
1 0 0 TeXcolorrgb 283 3786 a
SDict begin H.R end
283 3786 a 283 3843 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.96) cvn H.B /ANN pdfmark end
283
3843 a Black 38 3942 a FA(options,)p 1 0 0 TeXcolorrgb
324 3943 a
SDict begin H.S end
324 3943 a 1 0 0 TeXcolorrgb -1 x FA(100)p
1 0 0 TeXcolorrgb 449 3886 a
SDict begin H.R end
449 3886 a 449 3942 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
449
3942 a Black 38 4042 a FA(tick)o(y)g(tick)o(y)-5 b(,)p
1 0 0 TeXcolorrgb 425 4043 a
SDict begin H.S end
425 4043 a 1 0 0 TeXcolorrgb
-1 x FA(76)p 1 0 0 TeXcolorrgb 508 3986 a
SDict begin H.R end
508 3986 a
508 4042 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
508 4042 a Black 38 4142 a FA(with)21 b(T)-6
b(emplate)19 b(Hask)o(ell,)p 1 0 0 TeXcolorrgb 830 4143
a
SDict begin H.S end
830 4143 a 1 0 0 TeXcolorrgb -1 x FA(171)p 1 0 0 TeXcolorrgb
954 4085 a
SDict begin H.R end
954 4085 a 954 4142 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.171) cvn H.B /ANN pdfmark end
954 4142 a Black -128
4241 a FA(pro\002ling,)g(tick)o(y-tick)o(y)-5 b(,)p 1 0 0
TeXcolorrgb 593 4242 a
SDict begin H.S end
593 4242 a 1 0 0 TeXcolorrgb -1
x FA(110)p 1 0 0 TeXcolorrgb 718 4185 a
SDict begin H.R end
718 4185 a 718
4241 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.110) cvn H.B /ANN pdfmark end
718 4241 a Black -128 4341 a FA(prompt)38 4441
y(GHCi,)p 1 0 0 TeXcolorrgb 278 4441 a
SDict begin H.S end
278 4441 a 1 0 0
TeXcolorrgb FA(12)p 1 0 0 TeXcolorrgb 361 4384 a
SDict begin H.R end
361
4384 a 361 4441 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.12) cvn H.B /ANN pdfmark end
361 4441 a Black -128 4623 a Fu(Q)-128
4723 y FA(quasi-quotation,)p 1 0 0 TeXcolorrgb 431 4725
a
SDict begin H.S end
431 4725 a 1 0 0 TeXcolorrgb -2 x FA(129)p 1 0 0 TeXcolorrgb
555 4667 a
SDict begin H.R end
555 4667 a 555 4723 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
555 4723 a Black -128
4905 a Fu(R)-128 5005 y FA(reading)19 b(Core)h(syntax,)p
1 0 0 TeXcolorrgb 583 5006 a
SDict begin H.S end
583 5006 a 1 0 0 TeXcolorrgb
-1 x FA(80)p 1 0 0 TeXcolorrgb 666 4949 a
SDict begin H.R end
666 4949 a
666 5005 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.80) cvn H.B /ANN pdfmark end
666 5005 a Black -128 5105 a FA(recompilation)e(check)o(er)m
(,)p 1 0 0 TeXcolorrgb 650 5105 a
SDict begin H.S end
650 5105 a 1 0 0 TeXcolorrgb
FA(42)p 1 0 0 TeXcolorrgb 733 5048 a
SDict begin H.R end
733 5048 a 733 5105
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
733 5105 a Black FA(,)p 1 0 0 TeXcolorrgb 774 5106
a
SDict begin H.S end
774 5106 a 1 0 0 TeXcolorrgb -1 x FA(46)p 1 0 0 TeXcolorrgb
857 5048 a
SDict begin H.R end
857 5048 a 857 5105 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
857 5105 a Black -128
5204 a FA(record)h(updates,)g(incomplete,)p 1 0 0 TeXcolorrgb
811 5205 a
SDict begin H.S end
811 5205 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 894 5148 a
SDict begin H.R end
894 5148 a 894 5204 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
894
5204 a Black -128 5304 a FA(recursion,)g(between)g(modules,)p
1 0 0 TeXcolorrgb 843 5305 a
SDict begin H.S end
843 5305 a 1 0 0 TeXcolorrgb
-1 x FA(47)p 1 0 0 TeXcolorrgb 926 5248 a
SDict begin H.R end
926 5248 a
926 5304 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.47) cvn H.B /ANN pdfmark end
926 5304 a Black -128 5404 a FA(redirecting)g(compilation)f
(output,)p 1 0 0 TeXcolorrgb 924 5404 a
SDict begin H.S end
924 5404 a 1 0 0
TeXcolorrgb FA(44)p 1 0 0 TeXcolorrgb 1007 5347 a
SDict begin H.R end
1007
5347 a 1007 5404 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
1007 5404 a Black -128 5503 a FA(reporting)h(b)n
(ugs,)p 1 0 0 TeXcolorrgb 394 5503 a
SDict begin H.S end
394 5503 a 1 0 0
TeXcolorrgb FA(2)p 1 0 0 TeXcolorrgb 436 5447 a
SDict begin H.R end
436 5447
a 436 5503 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.2) cvn H.B /ANN pdfmark end
436 5503 a Black -128 5603 a FA(re)n(write)h(rules,)p
1 0 0 TeXcolorrgb 329 5604 a
SDict begin H.S end
329 5604 a 1 0 0 TeXcolorrgb
-1 x FA(185)p 1 0 0 TeXcolorrgb 454 5547 a
SDict begin H.R end
454 5547 a
454 5603 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.185) cvn H.B /ANN pdfmark end
454 5603 a Black -128 5702 a FA(R)-5 b(TS,)p
1 0 0 TeXcolorrgb 61 5703 a
SDict begin H.S end
61 5703 a 1 0 0 TeXcolorrgb
-1 x FA(77)p 1 0 0 TeXcolorrgb 144 5648 a
SDict begin H.R end
144 5648 a
144 5702 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
144 5702 a Black Black Black 2144 173 a FA(R)g(TS)21
b(beha)n(viour)m(,)c(changing,)p 1 0 0 TeXcolorrgb 3026
174 a
SDict begin H.S end
3026 174 a 1 0 0 TeXcolorrgb -1 x FA(77)p 1 0 0
TeXcolorrgb 3109 119 a
SDict begin H.R end
3109 119 a 3109 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
3109 173
a Black 2144 273 a FA(R)-5 b(TS)21 b(hooks,)p 1 0 0 TeXcolorrgb
2552 274 a
SDict begin H.S end
2552 274 a 1 0 0 TeXcolorrgb -1 x FA(77)p
1 0 0 TeXcolorrgb 2635 219 a
SDict begin H.R end
2635 219 a 2635 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2635
273 a Black 2144 372 a FA(R)-5 b(TS)21 b(options,)p 1 0 0
TeXcolorrgb 2598 373 a
SDict begin H.S end
2598 373 a 1 0 0 TeXcolorrgb -1
x FA(71)p 1 0 0 TeXcolorrgb 2681 316 a
SDict begin H.R end
2681 316 a 2681
372 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
2681 372 a Black 2310 472 a FA(from)e(the)h(en)m(vironment,)p
1 0 0 TeXcolorrgb 3072 473 a
SDict begin H.S end
3072 473 a 1 0 0 TeXcolorrgb
-1 x FA(72)p 1 0 0 TeXcolorrgb 3155 416 a
SDict begin H.R end
3155 416 a
3155 472 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
3155 472 a Black 2310 572 a FA(garbage)e(collection,)p
1 0 0 TeXcolorrgb 2962 573 a
SDict begin H.S end
2962 573 a 1 0 0 TeXcolorrgb
-1 x FA(72)p 1 0 0 TeXcolorrgb 3045 515 a
SDict begin H.R end
3045 515 a
3045 572 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.72) cvn H.B /ANN pdfmark end
3045 572 a Black 2144 671 a FA(R)-5 b(TS)21
b(options,)e(concurrent,)p 1 0 0 TeXcolorrgb 2994 672
a
SDict begin H.S end
2994 672 a 1 0 0 TeXcolorrgb -1 x FA(70)p 1 0 0 TeXcolorrgb
3077 615 a
SDict begin H.R end
3077 615 a 3077 671 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
3077 671 a Black 2144
771 a FA(R)-5 b(TS)21 b(options,)e(hacking/deb)n(ugging,)p
1 0 0 TeXcolorrgb 3274 772 a
SDict begin H.S end
3274 772 a 1 0 0 TeXcolorrgb
-1 x FA(76)p 1 0 0 TeXcolorrgb 3357 715 a
SDict begin H.R end
3357 715 a
3357 771 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
3357 771 a Black 2144 871 a FA(R)m(ULES)h(pragma,)p
1 0 0 TeXcolorrgb 2715 872 a
SDict begin H.S end
2715 872 a 1 0 0 TeXcolorrgb
-1 x FA(185)p 1 0 0 TeXcolorrgb 2839 814 a
SDict begin H.R end
2839 814 a
2839 871 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.185) cvn H.B /ANN pdfmark end
2839 871 a Black 2144 970 a FA(runghc,)p 1 0 0
TeXcolorrgb 2416 971 a
SDict begin H.S end
2416 971 a 1 0 0 TeXcolorrgb -1
x FA(37)p 1 0 0 TeXcolorrgb 2499 914 a
SDict begin H.R end
2499 914 a 2499
970 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.37) cvn H.B /ANN pdfmark end
2499 970 a Black 2144 1070 a FA(running,)e(compiled)g(program,)p
1 0 0 TeXcolorrgb 3096 1071 a
SDict begin H.S end
3096 1071 a 1 0 0 TeXcolorrgb
-1 x FA(71)p 1 0 0 TeXcolorrgb 3179 1014 a
SDict begin H.R end
3179 1014
a 3179 1070 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
3179 1070 a Black 2144 1169 a FA(runtime)h(control)g(of)h
(Hask)o(ell)g(programs,)p 1 0 0 TeXcolorrgb 3397 1170
a
SDict begin H.S end
3397 1170 a 1 0 0 TeXcolorrgb -1 x FA(71)p 1 0 0 TeXcolorrgb
3480 1113 a
SDict begin H.R end
3480 1113 a 3480 1169 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.71) cvn H.B /ANN pdfmark end
3480 1169 a Black
2144 1352 a Fu(S)2144 1452 y FA(sanity-checking)d(options,)p
1 0 0 TeXcolorrgb 2976 1453 a
SDict begin H.S end
2976 1453 a 1 0 0 TeXcolorrgb
-1 x FA(52)p 1 0 0 TeXcolorrgb 3059 1395 a
SDict begin H.R end
3059 1395
a 3059 1452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
3059 1452 a Black 2144 1551 a FA(search)j(path,)p
1 0 0 TeXcolorrgb 2561 1551 a
SDict begin H.S end
2561 1551 a 1 0 0 TeXcolorrgb
FA(44)p 1 0 0 TeXcolorrgb 2644 1495 a
SDict begin H.R end
2644 1495 a 2644
1551 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.44) cvn H.B /ANN pdfmark end
2644 1551 a Black 2144 1651 a FA(se)o(gmentation)e(f)o(ault,)p
1 0 0 TeXcolorrgb 2799 1652 a
SDict begin H.S end
2799 1652 a 1 0 0 TeXcolorrgb
-1 x FA(202)p 1 0 0 TeXcolorrgb 2923 1595 a
SDict begin H.R end
2923 1595
a 2923 1651 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.202) cvn H.B /ANN pdfmark end
2923 1651 a Black 2144 1751 a FA(separate)h(compilation,)
p 1 0 0 TeXcolorrgb 2875 1752 a
SDict begin H.S end
2875 1752 a 1 0 0 TeXcolorrgb
-1 x FA(40)p 1 0 0 TeXcolorrgb 2958 1694 a
SDict begin H.R end
2958 1694
a 2958 1751 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.40) cvn H.B /ANN pdfmark end
2958 1751 a Black FA(,)p 1 0 0 TeXcolorrgb
2999 1751 a
SDict begin H.S end
2999 1751 a 1 0 0 TeXcolorrgb FA(42)p 1 0 0
TeXcolorrgb 3082 1694 a
SDict begin H.R end
3082 1694 a 3082 1751 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
3082
1751 a Black 2144 1850 a FA(shado)n(wing)2310 1950 y(interf)o(ace)g
(\002les,)p 1 0 0 TeXcolorrgb 2800 1951 a
SDict begin H.S end
2800 1951 a
1 0 0 TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb 2883
1894 a
SDict begin H.R end
2883 1894 a 2883 1950 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
2883 1950 a Black 2144
2049 a FA(shado)n(wing,)f(w)o(arning,)p 1 0 0 TeXcolorrgb
2856 2050 a
SDict begin H.S end
2856 2050 a 1 0 0 TeXcolorrgb -1 x FA(53)p
1 0 0 TeXcolorrgb 2939 1993 a
SDict begin H.R end
2939 1993 a 2939 2049 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
2939 2049 a Black 2144 2149 a FA(shell)i(commands)2310
2249 y(in)g(GHCi,)p 1 0 0 TeXcolorrgb 2635 2250 a
SDict begin H.S end
2635
2250 a 1 0 0 TeXcolorrgb -1 x FA(33)p 1 0 0 TeXcolorrgb
2718 2192 a
SDict begin H.R end
2718 2192 a 2718 2249 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.33) cvn H.B /ANN pdfmark end
2718 2249 a Black
2144 2348 a FA(Sho)n(w)g(class,)p 1 0 0 TeXcolorrgb 2554
2349 a
SDict begin H.S end
2554 2349 a 1 0 0 TeXcolorrgb -1 x FA(20)p 1 0 0
TeXcolorrgb 2637 2292 a
SDict begin H.R end
2637 2292 a 2637 2348 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.20) cvn H.B /ANN pdfmark end
2637
2348 a Black 2144 2448 a FA(smaller)g(programs,)e(ho)n(w)i(to)g
(produce,)p 1 0 0 TeXcolorrgb 3320 2449 a
SDict begin H.S end
3320 2449 a
1 0 0 TeXcolorrgb -1 x FA(115)p 1 0 0 TeXcolorrgb 3444
2392 a
SDict begin H.R end
3444 2392 a 3444 2448 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
3444 2448 a Black 2144
2548 a FA(SMP)-9 b(,)p 1 0 0 TeXcolorrgb 2342 2550 a
SDict begin H.S end
2342 2550 a 1 0 0 TeXcolorrgb -2 x FA(69)p 1 0 0 TeXcolorrgb
2425 2491 a
SDict begin H.R end
2425 2491 a 2425 2548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
2425 2548 a Black
FA(,)p 1 0 0 TeXcolorrgb 2467 2549 a
SDict begin H.S end
2467 2549 a 1 0 0
TeXcolorrgb -1 x FA(70)p 1 0 0 TeXcolorrgb 2550 2491
a
SDict begin H.R end
2550 2491 a 2550 2548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
2550 2548 a Black FA(,)p 1 0 0
TeXcolorrgb 2591 2550 a
SDict begin H.S end
2591 2550 a 1 0 0 TeXcolorrgb
-2 x FA(194)p 1 0 0 TeXcolorrgb 2716 2491 a
SDict begin H.R end
2716 2491
a 2716 2548 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.194) cvn H.B /ANN pdfmark end
2716 2548 a Black 2144 2647 a FA(SOURCE,)p
1 0 0 TeXcolorrgb 2513 2648 a
SDict begin H.S end
2513 2648 a 1 0 0 TeXcolorrgb
-1 x FA(185)p 1 0 0 TeXcolorrgb 2637 2591 a
SDict begin H.R end
2637 2591
a 2637 2647 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.185) cvn H.B /ANN pdfmark end
2637 2647 a Black 2144 2747 a FA(source-\002le)19
b(options,)p 1 0 0 TeXcolorrgb 2801 2748 a
SDict begin H.S end
2801 2748
a 1 0 0 TeXcolorrgb -1 x FA(38)p 1 0 0 TeXcolorrgb 2884
2691 a
SDict begin H.R end
2884 2691 a 2884 2747 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
2884 2747 a Black 2144
2847 a FA(space-leaks,)g(a)n(v)n(oiding,)p 1 0 0 TeXcolorrgb
2897 2848 a
SDict begin H.S end
2897 2848 a 1 0 0 TeXcolorrgb -1 x FA(115)p
1 0 0 TeXcolorrgb 3021 2790 a
SDict begin H.R end
3021 2790 a 3021 2847 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.115) cvn H.B /ANN pdfmark end
3021 2847 a Black 2144 2946 a FA(SPECIALIZE)g(pragma,)p
1 0 0 TeXcolorrgb 2921 2947 a
SDict begin H.S end
2921 2947 a 1 0 0 TeXcolorrgb
-1 x FA(113)p 1 0 0 TeXcolorrgb 3045 2890 a
SDict begin H.R end
3045 2890
a 3045 2946 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.113) cvn H.B /ANN pdfmark end
3045 2946 a Black FA(,)p 1 0 0 TeXcolorrgb
3087 2947 a
SDict begin H.S end
3087 2947 a 1 0 0 TeXcolorrgb -1 x FA(183)p
1 0 0 TeXcolorrgb 3211 2890 a
SDict begin H.R end
3211 2890 a 3211 2946 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.183) cvn H.B /ANN pdfmark end
3211 2946 a Black FA(,)p 1 0 0 TeXcolorrgb 3253 2947
a
SDict begin H.S end
3253 2947 a 1 0 0 TeXcolorrgb -1 x FA(184)p 1 0 0 TeXcolorrgb
3377 2890 a
SDict begin H.R end
3377 2890 a 3377 2946 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.184) cvn H.B /ANN pdfmark end
3377 2946 a Black
2144 3046 a FA(specifying)f(your)h(o)n(wn)h(main)g(function,)p
1 0 0 TeXcolorrgb 3350 3048 a
SDict begin H.S end
3350 3048 a 1 0 0 TeXcolorrgb
-2 x FA(69)p 1 0 0 TeXcolorrgb 3433 2989 a
SDict begin H.R end
3433 2989
a 3433 3046 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.69) cvn H.B /ANN pdfmark end
3433 3046 a Black 2144 3145 a FA(sql,)p
1 0 0 TeXcolorrgb 2282 3145 a
SDict begin H.S end
2282 3145 a 1 0 0 TeXcolorrgb
FA(124)p 1 0 0 TeXcolorrgb 2407 3089 a
SDict begin H.R end
2407 3089 a 2407
3145 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.124) cvn H.B /ANN pdfmark end
2407 3145 a Black 2144 3245 a FA(stability)2310
3345 y(package)e(speci\002cation,)p 1 0 0 TeXcolorrgb
3064 3346 a
SDict begin H.S end
3064 3346 a 1 0 0 TeXcolorrgb -1 x FA(61)p
1 0 0 TeXcolorrgb 3147 3288 a
SDict begin H.R end
3147 3288 a 3147 3345 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
3147 3345 a Black 2144 3444 a FA(stack,)i(maximum)e(size,)p
1 0 0 TeXcolorrgb 2884 3445 a
SDict begin H.S end
2884 3445 a 1 0 0 TeXcolorrgb
-1 x FA(74)p 1 0 0 TeXcolorrgb 2967 3388 a
SDict begin H.R end
2967 3388
a 2967 3444 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2967 3444 a Black 2144 3544 a FA(stack,)i(minimum)f
(size,)p 1 0 0 TeXcolorrgb 2870 3545 a
SDict begin H.S end
2870 3545 a 1 0 0
TeXcolorrgb -1 x FA(74)p 1 0 0 TeXcolorrgb 2953 3488
a
SDict begin H.R end
2953 3488 a 2953 3544 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.74) cvn H.B /ANN pdfmark end
2953 3544 a Black 2144 3644
a FA(StackOv)o(er\003o)n(wHook,)p 1 0 0 TeXcolorrgb 2864
3645 a
SDict begin H.S end
2864 3645 a 1 0 0 TeXcolorrgb -1 x FA(77)p 1 0 0
TeXcolorrgb 2947 3589 a
SDict begin H.R end
2947 3589 a 2947 3644 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.77) cvn H.B /ANN pdfmark end
2947
3644 a Black 2144 3743 a FA(startup)2310 3843 y(\002les,)i(GHCi,)p
1 0 0 TeXcolorrgb 2730 3844 a
SDict begin H.S end
2730 3844 a 1 0 0 TeXcolorrgb
-1 x FA(34)p 1 0 0 TeXcolorrgb 2813 3786 a
SDict begin H.R end
2813 3786
a 2813 3843 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
2813 3843 a Black 2144 3942 a FA(statements)2310
4042 y(in)f(GHCi,)p 1 0 0 TeXcolorrgb 2635 4043 a
SDict begin H.S end
2635
4043 a 1 0 0 TeXcolorrgb -1 x FA(16)p 1 0 0 TeXcolorrgb
2718 3986 a
SDict begin H.R end
2718 3986 a 2718 4042 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.16) cvn H.B /ANN pdfmark end
2718 4042 a Black
2144 4142 a FA(static)2310 4241 y(options,)p 1 0 0 TeXcolorrgb
2596 4242 a
SDict begin H.S end
2596 4242 a 1 0 0 TeXcolorrgb -1 x FA(34)p
1 0 0 TeXcolorrgb 2679 4185 a
SDict begin H.R end
2679 4185 a 2679 4241 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.34) cvn H.B /ANN pdfmark end
2679 4241 a Black FA(,)p 1 0 0 TeXcolorrgb 2720 4243
a
SDict begin H.S end
2720 4243 a 1 0 0 TeXcolorrgb -2 x FA(39)p 1 0 0 TeXcolorrgb
2803 4185 a
SDict begin H.R end
2803 4185 a 2803 4241 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
2803 4241 a Black
2144 4341 a FA(strict)h(constructor)d(\002elds,)p 1 0 0
TeXcolorrgb 2946 4342 a
SDict begin H.S end
2946 4342 a 1 0 0 TeXcolorrgb
-1 x FA(64)p 1 0 0 TeXcolorrgb 3029 4285 a
SDict begin H.R end
3029 4285
a 3029 4341 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
3029 4341 a Black 2144 4441 a FA(string)i(gaps)f(vs)i
(-cpp,)p 1 0 0 TeXcolorrgb 2810 4442 a
SDict begin H.S end
2810 4442 a 1 0 0
TeXcolorrgb -1 x FA(66)p 1 0 0 TeXcolorrgb 2893 4384
a
SDict begin H.R end
2893 4384 a 2893 4441 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.66) cvn H.B /ANN pdfmark end
2893 4441 a Black 2144 4540
a FA(structure,)e(command-line,)p 1 0 0 TeXcolorrgb 2997
4541 a
SDict begin H.S end
2997 4541 a 1 0 0 TeXcolorrgb -1 x FA(38)p 1 0 0
TeXcolorrgb 3080 4484 a
SDict begin H.R end
3080 4484 a 3080 4540 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
3080
4540 a Black 2144 4640 a FA(suf)n(\002x)o(es,)g(\002le,)p
1 0 0 TeXcolorrgb 2588 4642 a
SDict begin H.S end
2588 4642 a 1 0 0 TeXcolorrgb
-2 x FA(39)p 1 0 0 TeXcolorrgb 2671 4583 a
SDict begin H.R end
2671 4583
a 2671 4640 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.39) cvn H.B /ANN pdfmark end
2671 4640 a Black 2144 4822 a Fu(T)2144
4922 y FA(tabs,)h(w)o(arning,)p 1 0 0 TeXcolorrgb 2632
4923 a
SDict begin H.S end
2632 4923 a 1 0 0 TeXcolorrgb -1 x FA(54)p 1 0 0
TeXcolorrgb 2715 4866 a
SDict begin H.R end
2715 4866 a 2715 4922 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
2715
4922 a Black 2144 5022 a FA(T)-6 b(emplate)19 b(Hask)o(ell,)p
1 0 0 TeXcolorrgb 2767 5024 a
SDict begin H.S end
2767 5024 a 1 0 0 TeXcolorrgb
-2 x FA(129)p 1 0 0 TeXcolorrgb 2891 4965 a
SDict begin H.R end
2891 4965
a 2891 5022 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.129) cvn H.B /ANN pdfmark end
2891 5022 a Black 2144 5121 a FA(temporary)f(\002les)2310
5221 y(k)o(eeping,)p 1 0 0 TeXcolorrgb 2613 5222 a
SDict begin H.S end
2613
5222 a 1 0 0 TeXcolorrgb -1 x FA(45)p 1 0 0 TeXcolorrgb
2696 5165 a
SDict begin H.R end
2696 5165 a 2696 5221 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.45) cvn H.B /ANN pdfmark end
2696 5221 a Black
2310 5321 a FA(redirecting,)p 1 0 0 TeXcolorrgb 2711
5322 a
SDict begin H.S end
2711 5322 a 1 0 0 TeXcolorrgb -1 x FA(46)p 1 0 0
TeXcolorrgb 2794 5264 a
SDict begin H.R end
2794 5264 a 2794 5321 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
2794
5321 a Black 2144 5420 a FA(tick)o(y)h(tick)o(y)h(pro\002ling,)p
1 0 0 TeXcolorrgb 2842 5421 a
SDict begin H.S end
2842 5421 a 1 0 0 TeXcolorrgb
-1 x FA(76)p 1 0 0 TeXcolorrgb 2925 5364 a
SDict begin H.R end
2925 5364
a 2925 5420 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.76) cvn H.B /ANN pdfmark end
2925 5420 a Black 2144 5520 a FA(tick)o(y-tick)o(y)e
(pro\002ling,)p 1 0 0 TeXcolorrgb 2849 5521 a
SDict begin H.S end
2849 5521
a 1 0 0 TeXcolorrgb -1 x FA(110)p 1 0 0 TeXcolorrgb 2974
5464 a
SDict begin H.R end
2974 5464 a 2974 5520 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.110) cvn H.B /ANN pdfmark end
2974 5520 a Black 2144
5619 a FA(time)i(pro\002le,)p 1 0 0 TeXcolorrgb 2570
5620 a
SDict begin H.S end
2570 5620 a 1 0 0 TeXcolorrgb -1 x FA(100)p 1 0 0
TeXcolorrgb 2695 5563 a
SDict begin H.R end
2695 5563 a 2695 5619 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.100) cvn H.B /ANN pdfmark end
2695
5619 a Black 2144 5719 a FA(TMPDIR)g(en)m(vironment)d(v)n(ariable,)p
1 0 0 TeXcolorrgb 3222 5720 a
SDict begin H.S end
3222 5720 a 1 0 0 TeXcolorrgb
-1 x FA(46)p 1 0 0 TeXcolorrgb 3305 5663 a
SDict begin H.R end
3305 5663
a 3305 5719 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.46) cvn H.B /ANN pdfmark end
3305 5719 a Black Black -128 6084 4252
5 v Black eop end
%%Page: 224 239
TeXDict begin 224 238 bop -600 -600 a
SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end
-600 -600 a Black
0 TeXcolorgray -128 -382 a
SDict begin H.S end
-128 -382 a 0 TeXcolorgray
0 TeXcolorgray -128 -382 a
SDict begin H.R end
-128 -382 a -128 -382 a
SDict begin [ /View [/XYZ H.V] /Dest (page.224) cvn H.B /DEST pdfmark end
-128
-382 a Black -78 -412 a FA(The)20 b(Glorious)f(Glasgo)n(w)h(Hask)o(ell)
-78 -313 y(Compilation)f(System)h(User')-5 b(s)21 b(Guide,)-78
-213 y(V)-9 b(ersion)20 b(6.10.4)3371 b Fz(224)20 b(/)g(224)p
-128 -179 4252 5 v Black -128 173 a FA(T)-7 b(ype)20
b(def)o(ault,)p 1 0 0 TeXcolorrgb 328 174 a
SDict begin H.S end
328 174 a
1 0 0 TeXcolorrgb -1 x FA(20)p 1 0 0 TeXcolorrgb 411
117 a
SDict begin H.R end
411 117 a 411 173 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.20) cvn H.B /ANN pdfmark end
411 173 a Black -128 273 a
FA(type)g(signatures,)f(missing,)p 1 0 0 TeXcolorrgb
714 274 a
SDict begin H.S end
714 274 a 1 0 0 TeXcolorrgb -1 x FA(53)p 1 0 0
TeXcolorrgb 797 217 a
SDict begin H.R end
797 217 a 797 273 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.53) cvn H.B /ANN pdfmark end
797 273 a Black
-128 455 a Fu(U)-128 555 y FA(Unbox)o(ed)f(types)i(\(Glasgo)n(w)g(e)o
(xtension\),)p 1 0 0 TeXcolorrgb 1120 556 a
SDict begin H.S end
1120 556
a 1 0 0 TeXcolorrgb -1 x FA(117)p 1 0 0 TeXcolorrgb 1244
499 a
SDict begin H.R end
1244 499 a 1244 555 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.117) cvn H.B /ANN pdfmark end
1244 555 a Black -128 655
a FA(unfolding,)e(controlling,)p 1 0 0 TeXcolorrgb 643
656 a
SDict begin H.S end
643 656 a 1 0 0 TeXcolorrgb -1 x FA(64)p 1 0 0
TeXcolorrgb 726 598 a
SDict begin H.R end
726 598 a 726 655 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.64) cvn H.B /ANN pdfmark end
726 655 a Black
-128 754 a FA(unicode,)p 1 0 0 TeXcolorrgb 177 755 a
SDict begin H.S end
177 755 a 1 0 0 TeXcolorrgb -1 x FA(43)p 1 0 0 TeXcolorrgb
260 698 a
SDict begin H.R end
260 698 a 260 754 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
260 754 a Black -128 854
a FA(UNP)-8 b(A)m(CK,)p 1 0 0 TeXcolorrgb 244 855 a
SDict begin H.S end
244
855 a 1 0 0 TeXcolorrgb -1 x FA(185)p 1 0 0 TeXcolorrgb
369 798 a
SDict begin H.R end
369 798 a 369 854 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.185) cvn H.B /ANN pdfmark end
369 854 a Black -128 954
a FA(unre)o(gisterised)19 b(compilation,)p 1 0 0 TeXcolorrgb
796 955 a
SDict begin H.S end
796 955 a 1 0 0 TeXcolorrgb -1 x FA(82)p 1 0 0
TeXcolorrgb 879 897 a
SDict begin H.R end
879 897 a 879 954 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.82) cvn H.B /ANN pdfmark end
879 954 a Black
-128 1053 a FA(unused)g(binds,)h(w)o(arning,)p 1 0 0
TeXcolorrgb 663 1054 a
SDict begin H.S end
663 1054 a 1 0 0 TeXcolorrgb -1
x FA(54)p 1 0 0 TeXcolorrgb 746 997 a
SDict begin H.R end
746 997 a 746 1053
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
746 1053 a Black -128 1153 a FA(unused)f(imports,)h(w)o(arning,)p
1 0 0 TeXcolorrgb 736 1154 a
SDict begin H.S end
736 1154 a 1 0 0 TeXcolorrgb
-1 x FA(54)p 1 0 0 TeXcolorrgb 819 1097 a
SDict begin H.R end
819 1097 a
819 1153 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
819 1153 a Black -128 1252 a FA(unused)f(matches,)h(w)o
(arning,)p 1 0 0 TeXcolorrgb 755 1253 a
SDict begin H.S end
755 1253 a 1 0 0
TeXcolorrgb -1 x FA(54)p 1 0 0 TeXcolorrgb 838 1196 a
SDict begin H.R end
838 1196 a 838 1252 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.54) cvn H.B /ANN pdfmark end
838 1252 a Black -128 1352 a FA(using)g(GHC,)p
1 0 0 TeXcolorrgb 290 1353 a
SDict begin H.S end
290 1353 a 1 0 0 TeXcolorrgb
-1 x FA(38)p 1 0 0 TeXcolorrgb 373 1296 a
SDict begin H.R end
373 1296 a
373 1352 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.38) cvn H.B /ANN pdfmark end
373 1352 a Black -128 1452 a FA(UTF-8,)p 1 0 0
TeXcolorrgb 140 1453 a
SDict begin H.S end
140 1453 a 1 0 0 TeXcolorrgb -1
x FA(43)p 1 0 0 TeXcolorrgb 223 1395 a
SDict begin H.R end
223 1395 a 223
1452 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.43) cvn H.B /ANN pdfmark end
223 1452 a Black -128 1551 a FA(utilities,)h(Hask)o(ell,)p
1 0 0 TeXcolorrgb 457 1552 a
SDict begin H.S end
457 1552 a 1 0 0 TeXcolorrgb
-1 x FA(203)p 1 0 0 TeXcolorrgb 582 1495 a
SDict begin H.R end
582 1495 a
582 1551 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
582 1551 a Black -128 1734 a Fu(V)-128 1834
y FA(v)o(erbosity)e(options,)p 1 0 0 TeXcolorrgb 487
1834 a
SDict begin H.S end
487 1834 a 1 0 0 TeXcolorrgb FA(42)p 1 0 0 TeXcolorrgb
570 1777 a
SDict begin H.R end
570 1777 a 570 1834 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.42) cvn H.B /ANN pdfmark end
570 1834 a Black -128
1933 a FA(v)o(ersion)38 2033 y(package)g(speci\002cation,)p
1 0 0 TeXcolorrgb 792 2034 a
SDict begin H.S end
792 2034 a 1 0 0 TeXcolorrgb
-1 x FA(61)p 1 0 0 TeXcolorrgb 875 1977 a
SDict begin H.R end
875 1977 a
875 2033 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.61) cvn H.B /ANN pdfmark end
875 2033 a Black -128 2133 a FA(v)o(ersion,)g(of)h(ghc,)p
1 0 0 TeXcolorrgb 408 2133 a
SDict begin H.S end
408 2133 a 1 0 0 TeXcolorrgb
FA(2)p 1 0 0 TeXcolorrgb 450 2076 a
SDict begin H.R end
450 2076 a 450 2133
a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.2) cvn H.B /ANN pdfmark end
450 2133 a Black -128 2315 a Fu(W)-128 2415 y FA(W)-10
b(ARNING,)p 1 0 0 TeXcolorrgb 305 2416 a
SDict begin H.S end
305 2416 a 1 0 0
TeXcolorrgb -1 x FA(181)p 1 0 0 TeXcolorrgb 430 2359
a
SDict begin H.R end
430 2359 a 430 2415 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.181) cvn H.B /ANN pdfmark end
430 2415 a Black -128 2514 a
FA(w)o(arnings,)p 1 0 0 TeXcolorrgb 217 2515 a
SDict begin H.S end
217 2515
a 1 0 0 TeXcolorrgb -1 x FA(52)p 1 0 0 TeXcolorrgb 300
2458 a
SDict begin H.R end
300 2458 a 300 2514 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.52) cvn H.B /ANN pdfmark end
300 2514 a Black -128 2614
a FA(windres,)p 1 0 0 TeXcolorrgb 177 2615 a
SDict begin H.S end
177 2615
a 1 0 0 TeXcolorrgb -1 x FA(70)p 1 0 0 TeXcolorrgb 260
2558 a
SDict begin H.R end
260 2558 a 260 2614 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.70) cvn H.B /ANN pdfmark end
260 2614 a Black -128 2797
a Fu(Y)-128 2896 y FA(Y)i(acc)20 b(for)g(Hask)o(ell,)p
1 0 0 TeXcolorrgb 467 2897 a
SDict begin H.S end
467 2897 a 1 0 0 TeXcolorrgb
-1 x FA(203)p 1 0 0 TeXcolorrgb 592 2840 a
SDict begin H.R end
592 2840 a
592 2896 a
SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest (page.203) cvn H.B /ANN pdfmark end
592 2896 a Black Black Black Black -128 6084
4252 5 v Black eop end
%%Trailer
userdict /end-hook known{end-hook}if
%%EOF