aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.rootkeys6
-rw-r--r--docs/Makefile35
-rw-r--r--docs/eps/xenlogo.eps1479
-rw-r--r--docs/figs/dummy0
-rw-r--r--docs/interface.tex62
-rw-r--r--docs/style.tex393
-rw-r--r--docs/xenstyle.cls676
7 files changed, 2651 insertions, 0 deletions
diff --git a/.rootkeys b/.rootkeys
index 7df150b81b..5af61ab301 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -6,6 +6,12 @@
3f5ef5a24IaQasQE2tyMxrfxskMmvw README
3f5ef5a2l4kfBYSQTUaOyyD76WROZQ README.CD
3f69d8abYB1vMyD_QVDvzxy5Zscf1A TODO
+3f9e7d53iC47UnlfORp9iC1vai6kWw docs/Makefile
+3f9e7d60PWZJeVh5xdnk0nLUdxlqEA docs/eps/xenlogo.eps
+3f9e7d63lTwQbp2fnx7yY93epWS-eQ docs/figs/dummy
+3f9e7d564bWFB-Czjv1qdmE6o0GqNg docs/interface.tex
+3f9e7d58t7N6hjjBMxSn-NMxBphchA docs/style.tex
+3f9e7d5bz8BwYkNuwyiPVu7JJG441A docs/xenstyle.cls
3f815144d1vI2777JI-dO4wk49Iw7g extras/mini-os/Makefile
3f815144zTnCV5591ulIJQrpe5b-5Q extras/mini-os/README
3f815144wiiDekmfMl9LIPIvhR83Uw extras/mini-os/entry.S
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000000..94e84ef877
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,35 @@
+
+# Generic LaTeX makefile.
+#
+# Xfig and tgif diagrams should be in the fig/ subdirectory.
+# DOCUMENTS should be a list of the target Postscript files.
+
+DOCUMENTS = interface.ps
+
+GFX = $(patsubst %.obj, %.eps, $(wildcard figs/*.obj))
+GFX += $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
+
+all: $(DOCUMENTS)
+
+pristine: clean
+ rm -f $(DOCUMENTS)
+
+clean:
+ rm -f .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
+ rm -f *.ilg *.log *.ind *.toc *.bak core
+ rm -f figs/*.eps
+
+%.ps: %.dvi $(GFX)
+ dvips -o $@ $<
+
+%.dvi: %.tex
+ latex $*
+ if [ -e $*.toc ] ; then latex $* ; fi
+
+%.eps: %.fig
+ fig2dev -L eps $< $@
+
+%.eps: %.obj
+ tgif -print -color -eps $<
+
+
diff --git a/docs/eps/xenlogo.eps b/docs/eps/xenlogo.eps
new file mode 100644
index 0000000000..aa5f2f99dc
--- /dev/null
+++ b/docs/eps/xenlogo.eps
@@ -0,0 +1,1479 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (/homes/kaf24/xenlogo.eps)
+%%CreationDate: (Tue Oct 28 13:52:11 2003)
+%%BoundingBox: 155 324 445 461
+%%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: 155 324 445 461
+userdict begin
+DisplayImage
+155 324
+289.992 137.145
+12.000000
+302 143
+1
+1
+1
+8
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e6
+d4cec2b6b6aa9e9e9e9e9e9e9e9eb6b6b6c8cee0e6ffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffff2e0c8b6a49e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+aabccee6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffff8e0c2aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6ceecffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8dabc9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+aac8ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffe0bc9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaac8f2ffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffff8ceaa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6e0
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffffffffff2c29e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffff2c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaadaffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffff8c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffcea49e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6e6ffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffe6aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9ec2f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffff8c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4e0ffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6aa9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1acb6bac4c8c8d6d6d6d6d6d6
+d6cfc8c8bdbaafa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9ebcf8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea8b6c4
+cfd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8bdafa19e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaaecffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffff8b09e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9ea1afc1d2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6cbbaa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ed4ffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca49e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eafc1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfbaa59e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9ec2f8ffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1bacfd6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6c8af9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfb39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cf
+b39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1bdd6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfaf9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4
+daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9eb3d2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9edaffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d2b69e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9edaffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb3d2d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9ea1c4d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d2af9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffda9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea8cbd6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6bd9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9ea4f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffe09e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eafd2
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+c8a19e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca49e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9eb3d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cba89e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2ffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffff8b09e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec1d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d2a89e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9ed4ffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9ec1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d2a89e9e9e9e9e9e9e9e9e9e9e9e9e9e9eecffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda9e
+9e9e8027272727272727272727272b353535353535353535353535353535353535353535
+353535353535add6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c85035353535353535322727272727272727272727
+272727272d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f5fefffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffff2a49e9e9e9e45000000000000000000000000000000000000
+00000000000000000000000000000000000000001ac8d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad28000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00003fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffb69e9e9e9e9e9e27000000
+000000000000000000000000000000000000000000000000000000000000000000000050
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6930d0000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffd49e9e9e9e9e9e9e9413000000000000000000000000000000000000000000000000
+000000000000000000000000000085d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d66b0000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000fbfffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffff8a49e9e9e9e9e9e9e9e8009000000000000000000
+000000000000000000000000000000000000000000000000000000000dadd6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c83500000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000002fdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e
+9e9e9e9e6200000000000000000000000000000000000000000000000000000000000000
+0000000000000028c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6ad1a000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000006fffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9e4500000000000000000000000000000000
+0000000000000000000000000000000000000000000050d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6850d0000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000fafffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9e9e9e2b00
+000000000000000000000000000000000000000000000000000000000000000000000000
+0085d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65d0000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000002fcfffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09e9e
+9e9e9e9e9e9e9e9e9e9e9ea8c81a00000000000000000000000000000000000000000000
+0000000000000000000000000000000dadd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6c83500000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000005fefffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffaa9e9e9e9e9e9e9e9e9e9e9e9e9ecbd6ad0d00000000000000
+00000000000000000000000000000000000000000000000000000000000028d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad1a000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000009fffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e
+9e9ebad6d6d6850000000000000000000000000000000000000000000000000000000000
+0000000000000000005dd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d685
+0d0000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000001fcfffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffaa9e9e9e9e9e9e9e9e9e9e9e9ea5d6d6d6d6d65d0000000000000000000000000000
+00000000000000000000000000000000000000000000000093d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d65d0000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000049efffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6
+350000000000000000000000000000000000000000000000000000000000000000000000
+00000dbbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c83500000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000004faa
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb69e9e9e9e9e9e
+9e9e9e9e9e9eacd6d6d6d6d6d6d6c81a0000000000000000000000000000000000000000
+000000000000000000000000000000000028d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6ad1a000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000009769e9ee0ffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffff29e9e9e9e9e9e9e9e9e9e9e9e9ecbd6d6d6d6d6d6d6d6ad0d0000000000
+00000000000000000000000000000000000000000000000000000000000000005dd6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6850d0000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000001d949e9e9eb6ffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9eb3d6d6
+d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000000000000000
+000000000000000000000093d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65d0000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+459e9e9e9e9e9ef2ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa49e
+9e9e9e9e9e9e9e9e9e9e9ecfd6d6d6d6d6d6d6d6d6d6d65d000000000000000000000000
+000000000000000000000000000000000000000000000000000dbbd6d6d6d6d6d6d6d6d6
+d6d6d6c83500000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000096c9e9e9e9e9e9e9ec8ffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6
+d6d635000000000000000000000000000000000000000000000000000000000000000000
+0000000035d6d6d6d6d6d6d6d6d6d6d6ad1a000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000001d8a9e9e9e9e9e9e9e9eaa
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e
+9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6c81a000000000000000000000000000000000000
+000000000000000000000000000000000000006bd6d6d6d6d6d6d6d6d6850d0000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00003b949e9e9e9e9e9e9e9e9e9ee0ffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffff89e9e9e9e9e9e9e9e9e9e9e9ea5d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad0d000000
+00000000000000000000000000000000000000000000000000000000000000000000a0d6
+d6d6d6d6d6d65d0000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000d7b9e9e9e9e9e9e9e9e9e9e9e9ec2ffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9ebdd6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d68500000000000000000000000000000000000000000000000000
+0000000000000000000000000dc8d6d6d6d6c83500000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000001aadd6a59e9e9e9e9e
+9e9e9e9e9e9ea4ffffffffffffffdfbf8f7f5f3f3f1f0000000000000000000000000000
+001f3f3f5f7f8fbfcfffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc9e9e9e9e9e
+9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65000000000000000000000
+00000000000000000000000000000000000000000000000000000035d6d6d6ad0d000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000042c8d6d6bd9e9e9e9e9e9e9e9e9e9e9e9ee6ffcf9f5f3f000000000000000000
+0000000000000000000000000000000000000000000000002f5f8fcfffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf8f7f
+3f3f0f000000000000000000003f3f7f9fdfffffffffffffffffffffffffffffffffffff
+ffffffffffffffffa49e9e9e9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d62800000000000000000000000000000000000000000000000000000000000000
+0000000000006bd685000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000078d6d6d6d6cf9e9e9e9e9e9e9e9e9e9e9e6c47
+1f0000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000f4f9fdfffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffbf3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fefffffffffff
+ffffffffffffffaf6f2f000000000000000000000000000000000000000000001f6fcfff
+ffffffffffffffffffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ec1d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d00000000000000000000000000000000
+000000000000000000000000000000000000000000350000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000da0d6d6d6d6d6
+d6a89e9e9e9e9e9e9e763b09000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000004f9fffffffffffffffffffff
+ffffffffffffffffffffffffffffff6f0000000000000000000000000000000000000000
+000000000000001fffffffffffffffffffff9f4f00000000000000000000000000000000
+000000000000000000000000003fafffffffffffffffffffffffffffffffffffffffffce
+9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad0000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000035c8d6d6d6d6d6d6d6bd9e9e9e9e94621300000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000f7fefffffffffffffffffffffffffffffffffffffffffffff3f000000000000
+0000000000000000000000000000000000000000004fffffffffffffffdf6f0f00000000
+00000000000000000000000000000000000000000000000000000000003fdfffffffffff
+ffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6850000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000005dd6d6d6d6d6d6d6d6d6cf9e9e944f0900
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000f8fffffffffffffffffffffffffffff
+ffffffffffffff000000000000000000000000000000000000000000000000000000008f
+ffffffffffdf5f0000000000000000000000000000000000000000000000000000000000
+00000000000000000f9fffffffffffffffffffffffffffffffffff9e9e9e9e9e9e9e9e9e
+9e9e9ebdd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6500000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000d93d6d6d6
+d6d6d6d6d6d6d6d69b4f0900000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+2fcfffffffffffffffffffffffffffffffffffffbf000000000000000000000000000000
+00000000000000000000000000bfffffffef5f0000000000000000000000000000000000
+0000000000000000000000000000000000000000000000009fffffffffffffffffffffff
+ffffffffe69e9e9e9e9e9e9e9e9e9e9e9ecbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6280000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000028bbd6d6d6d6d6d6d6d6d6d6d6850d00000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000f9fffffffffffffffffffffffffffffffffff8f00
+000000000000000000000000000000000000000000000000000000ffffff8f0f00000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000009fffffffffffffffffffffffffffffd49e9e9e9e9e9e9e9e9e9e9ea1d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d0000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000050c8d6d6d6d6d6d6d6d6d6d6ad3500
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000006fffffffff
+ffffffffffffffffffffffff5f0000000000000000000000000000000000000000000000
+000000003fffef3f00000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000bfffffffffffffffffffffffffffc89e9e9e
+9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000d85d6
+d6d6d6d6d6d6d6d6d6d66b00000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000005fffffffffffffffffffffffffffffff1f000000000000000000
+0000000000000000000000000000000000006fbf0f000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000001fffffff
+ffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000028add6d6d6d6d6d6d6d6d6d6c835000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000005fffffffffffffffffffff
+ffffffef000000000000000000000000000000000000000000000000000000003f000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000009fffffffffffffffffffffffffa49e9e9e9e9e9e9e9e9e9e9e
+c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d650000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000042c8d6d6d6d6d6d6d6d6d6d6ad
+0d0000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000007fffffffffffffffffffffffffaf000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000002fffffffffffffffffffff
+ffff9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d628000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+78d6d6d6d6d6d6d6d6d6d6d6850000000000000000000000000000000000000000000000
+000000000000000000000000001f3f3f3f3f3f3f00000000000000000000000000000000
+00000000000000000000000000000000000000bfffffffffffffffffffffff7f00000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000dfffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ed6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000dadd6d6d6d6d6d6d6d6d6d6d68500000000000000000000
+00000000000000000000000000000000000000000000000f5fafefffffffffffffffffcf
+8f2f000000000000000000000000000000000000000000000000000000000000001fefff
+ffffffffffffffffff3f0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000bfffffffffffffffffffffe69e9e9e9e9e9e
+9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6ad00000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000035c8d6d6d6d6d6d6d6d6d6
+d6d68500000000000000000000000000000000000000000000000000000000000000001f
+9fffffffffffffffffffffffffffffffbf3f000000000000000000000000000000000000
+0000000000000000000000007fffffffffffffffffffff0f000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000009fffffff
+ffffffffffffffce9e9e9e9e9e9e9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d68500000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00006bd6d6d6d6d6d6d6d6d6d6d6d6930000000000000000000000000000000000000000
+00000000000000000000000f8fffffffffffffffffffffffffffffffffffffff8f000000
+00000000000000000000000000000000000000000000000000000fefffffffffffffffff
+cf0000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000008fffffffffffffffffffffce9e9e9e9e9e9e9e9e9e9e9ebad6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000d93d6d6d6d6d6d6d6d6d6d6d6d6ad0d000000000000
+0000000000000000000000000000000000000000000000002fdfffffffffffffffffffff
+ffffffffffffffffffffff9f000000000000000000000000000000000000000000000000
+00000000008fffffffffffffffff9f000000000000000000000000000000000000000000
+00000000000000000000000000000000000000003f3f3f3f3f0f00000000000000000000
+000000000000000000000000000000000000000000000000bfffffffffffffffffffffce
+9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d62800000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000028bbd6d6d6d6d6d6d6
+d6d6d6d6d6c81a0000000000000000000000000000000000000000000000000000000000
+005fefffffffffffffffffffffffffffffffffffffffffffffff3f000000000000000000
+000000000000000000000000000000000000002fffffffffffffffff5f00000000000000
+0000000000000000000000000000000000000000000000000000000000001f6fcfffffff
+ffffffffaf2f000000000000000000000000000000000000000000000000000000000000
+0000bfffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d00000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000050d6d6d6d6d6d6d6d6d6d6d6d6d6d64200000000000000000000000000000000
+00000000000000000000000000005fffffffffffffffffffffffffffffffffffffffffff
+ffffffffaf0000000000000000000000000000000000000000000000000000000000efff
+ffffffffffff2f0000000000000000000000000000000000000000000000000000000000
+0000000000000f9fffffffffffffffffffffffef2f000000000000000000000000000000
+00000000000000000000000000000000cfffffffffffffffffffffb69e9e9e9e9e9e9e9e
+9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6ad0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000d85d6d6d6d6d6d6d6d6d6d6d6d6d6d693000000
+0000000000000000000000000000000000000000000000000000002fefffffffffffffff
+ffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000
+000000000000000000000000bfffffffffffffff00000000000000000000000000000000
+000000000000000000000000000000000000004fefffffffffffffffffffffffffffaf00
+000000000000000000000000000000000000000000000000000000000000ffffffffffff
+ffffffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6780000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000028add6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d61a00000000000000000000000000000000000000000000000000
+000000000fcfffffffffffffffffffffffffffffffffffffffffffffffffffffff1f0000
+00000000000000000000000000000000000000000000000000007fffffffffffffbf0000
+00000000000000000000000000000000000000000000000000000000000000008fffffff
+ffffffffffffffffffffffffff0000000000000000000000000000000000000000000000
+000000000000001fffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad1a000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000042c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d66b000000000000000000000000
+0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffff1f000000000000000000000000000000000000000000000000
+000000007fffffffffffff7f000000000000000000000000000000000000000000000000
+0000000000000000009fffffffffffffffffffffffffffffffffff000000000000000000
+0000000000000000000000000000000000000000003fffffffffffffffffffffffb69e9e
+9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000078d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d60d00000000000000000000000000000000000000000000000000000000001fffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000
+0000000000000000000000000000000000004fffffffffffff4f00000000000000000000
+000000000000000000000000000000000000000000006fffffffffffffffffffffffffff
+ffffffffff0000000000000000000000000000000000000000000000000000000000007f
+ffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8500000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000001aadd6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000
+0000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffbf00000000000000000000000000000000000000000000000000000000003fffffff
+ffffff0f000000000000000000000000000000000000000000000000000000000000003f
+ffffffffffffffffffffffffffffffffffffcf0000000000000000000000000000000000
+00000000000000000000000000afffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e
+9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad2800
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000001ac8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d62800000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000007fffffffffffdf00000000000000000000000000000000000000
+0000000000000000000000000fdfffffffffffffffffffffffffffffffffffffaf000000
+000000000000000000000000000000000000000000000000000000cfffffffffffffffff
+ffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6930d000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000a0d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6bb000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000007fffffffffffaf0000000000
+00000000000000000000000000000000000000000000000000007fffffffffffffffffff
+ffffffffffffffffffff7f00000000000000000000000000000000000000000000000000
+0000000000ffffffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65d000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000dc8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d68500000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000afffffffffff6f000000000000000000000000000000000000000000000000000000
+0000000fefffffffffffffffffffffffffffffffffffffff3f0000000000000000000000
+0000000000000000000000000000000000003fffffffffffffffffffffffffce9e9e9e9e
+9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8
+280000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000028d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6500000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000cfffffffffff3f00000000000000000000000000
+00000000000000000000000000000000007fffffffffffffffffffffffffffffffffffff
+ffff0f00000000000000000000000000000000000000000000000000000000007fffffff
+ffffffffffffffffffce9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6a00d00000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000005dd6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d635000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000ffffffffffff
+00000000000000000000000000000000000000000000000000000000000000dfffffffff
+ffffffffffffffffffffffffffffffdf0000000000000000000000000000000000000000
+00000000000000000000afffffffffffffffffffffffffce9e9e9e9e9e9e9e9e9e9e9eac
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d66b00000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000093d6d6d6d6d6d6d6d6d6d6d6d6d6d60000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000003fffffffffffbf00000000000000000000000000000000000000000000
+00000000000000004fffffffffffffffffffffffffffffffffffffffffaf000000000000
+000000000000000000000000000000000000000000000000dfffffffffffffffffffffff
+ffe69e9e9e9e9e9e9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6c835000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000dbbd6d6d6d6d6d6d6d6d6d6
+d6d6d6000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000006fffffffffff8f0000000000000000
+000000000000000000000000000000000000000000009fffffffffffffffffffffffffff
+ffffffffffffff7f00000000000000000000000000000000000000000000000000000000
+000fffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ed6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad1a0000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000028c8d6d6d6d6d6d6d6d6d6d6d6d600000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000af
+ffffffffff5f000000000000000000000000000000000000000000000000000000000000
+efffffffffffffffffffffffffffffffffffffffff3f0000000000000000000000000000
+0000000000000000000000000000004fffffffffffffffffffffffffffff9e9e9e9e9e9e
+9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6780000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000050d6d6d6d6d6d6d6d6d6d6d6d60000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000dfffffffffff1f00000000000000000000000000000000
+000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffff0f
+00000000000000000000000000000000000000000000000000000000007fffffffffffff
+ffffffffffffffffa49e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6c85000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000085d6d6
+d6d6d6d6d6d6d6d6d6000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000001fffffffffffef000000
+0000000000000000000000000000000000000000000000000000006fffffffffffffffff
+ffffffffffffffffffffffffdf0000000000000000000000000000000000000000000000
+00000000000000bfffffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ebad6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad28000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000dadd6d6d6d6d6d6d6d6d6d600000000000000000000000000
+0000000000000000000000000000000027737f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f
+7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f
+7f7f7f7f9fffffffffffaf00000000000000000000000000000000000000000000000000
+00000000009fffffffffffffffffffffffffffffffffffffffff9f000000000000000000
+000000000000000000000000000000000000000000efffffffffffffffffffffffffffff
+c89e9e9e9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6850d0000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000028c8d6d6d6d6d6d6d6d6
+d60d000000000000000000000000000000000000000000000000000000003becffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000
+00000000000000000000000000000000000000cfffffffffffffffffffffffffffffffff
+ffffffff6f00000000000000000000000000000000000000000000000000000000002fff
+ffffffffffffffffffffffffffffd49e9e9e9e9e9e9e9e9e9e9ea1d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d65d0000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000050d6d6d6d6d6d6d6d6d6350000000000000000000000000000000000000000
+00000000000000001dffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffff3f00000000000000000000000000000000000000000000000000000000000fffffff
+ffffffffffffffffffffffffffffffffffff3f0000000000000000000000000000000000
+0000000000000000000000005fffffffffffffffffffffffffffffffe69e9e9e9e9e9e9e
+9e9e9e9e9ecbd6d6d6d6d6d6d6d6d6d6d6d6bb2800000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000078d6d6d6d6d6d6d6d66b000000000000
+0000000000000000000000000000000000000000000000dfffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff0f00000000000000000000000000000000000000
+000000000000000000003fffffffffffffffffffffffffffffffffffffffffff00000000
+00000000000000000000000000000000000000000000000000008fffffffffffffffffff
+ffffffffffffff9e9e9e9e9e9e9e9e9e9e9e9ebdd6d6d6d6d6d6d6d6d6d6d6a00d000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000ad
+d6d6d6d6d6d6d6a000000000000000000000000000000000000000000000000000000000
+006fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf000000000000
+0000000000000000000000000000000000000000000000007fffffffffffffffffffffff
+ffffffffffffffffffbf0000000000000000000000000000000000000000000000000000
+00000000cfffffffffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9eafd6d6
+d6d6d6d6d6d6d6d66b000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000001ac8d6d6d6d6d6d6d60d00000000000000000000000000
+0000000000000000000000000000000fdfffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffff9f00000000000000000000000000000000000000000000000000000000
+0000bfffffffffffffffffffffffffffffffffffffffff8f000000000000000000000000
+000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffce
+9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6c8350000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000042d6d6d6d6d6d6d6
+6b00000000000000000000000000000000000000000000000000000000003fffffffffff
+ffffffffffffffffffffffffffffffffffffffcf3f3f3f3f5f7f7f7fafbfbfbfffffffff
+ffffffffffffffffffffffffffffffffffffffffff5f0000000000000000000000000000
+00000000000000000000000000000000efffffffffffffffffffffffffffffffffffffff
+ff5f00000000000000000000000000000000000000000000000000000000003fffffffff
+ffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ec1d6d6d6d6d6d6ad0d00
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000006bd6d6d6d6d6d6bb000000000000000000000000000000000000000000
+0000000000000000005fffffffffffffffffffffffffffffffffffffffffffffaf0f0000
+000000000000000000000000000f3f3f3f5f7f7f7fafbfbfbfffffffffffffffffffff2f
+00000000000000000000000000000000000000000000000000000000001fffffffffffff
+ffffffffffffffffffffffffffffff1f0000000000000000000000000000000000000000
+0000000000000000006fffffffffffffffffffffffffffffffffffffa49e9e9e9e9e9e9e
+9e9e9e9eafd6d6d6d6d67800000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000005d35000000000000000000000000000000
+00000000000000000000000000000000000000000000a0d6d6d6d6d6d65d000000000000
+0000000000000000000000000000000000000000000000004fefffffffffffffffffffff
+ffffffffffffffffdf4f0000000000000000000000000000000000000000000000000000
+00000000003fffffffffffffff0000000000000000000000000000000000000000000000
+000000000000005fffffffffffffffffffffffffffffffffffffffffef00000000000000
+0000000000000000000000000000000000000000000000afffffffffffffffffffffffff
+ffffffffffffbc9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6c842000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000085d6c80d
+000000000000000000000000000000000000000000000000000000000000000000000000
+0dc8d6d6d6d6d6c80d000000000000000000000000000000000000000000000000000000
+0000000f7fefffffffffffffffffffffffffffffcf5f0000000000000000000000000000
+0000000000000000000000000000000000002fefffffffffffffbf000000000000000000
+0000000000000000000000000000000000000000008fffffffffffffffffffffffffffff
+ffffffffffffbf0000000000000000000000000000000000000000000000000000000000
+00dfffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9ebdd6ad
+280000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000dadd6d6d69300000000000000000000000000000000000000000000
+00000000000000000000000000000035d6d6d6d6d6d69300000000000000000000000000
+000000000000000000000000000000000000000f4f8fbfffffffffffffffbf9f6f1f0000
+000000000000000000000000000000000000000000000000000000000000000fefffffff
+ffffffff7f000000000000000000000000000000000000000000000000000000000000cf
+ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000
+00000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff89e
+9e9e9e9e9e9e9e9e9e9e9ea5850d00000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000028c8d6d6d6d6d64200000000000000
+0000000000000000000000000000000000000000000000000000000000005dd6d6d6d6d6
+d65d00000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000fcfffffffffffffffff4f0000000000000000000000000000000000
+00000000000000000000000000ffffffffffffffffffffffffffffffffffffffffff3f00
+000000000000000000000000000000000000000000000000000000004fffffffffffffff
+ffffffffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e9e3b00000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000050d6
+d6d6d6d6d6d6c81a00000000000000000000000000000000000000000000000000000000
+00000000000000000093d6d6d6d6d6d65000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000002fdfffffffffffffffffff0f000000
+00000000000000000000000000000000000000000000000000003fffffffffffffffffff
+ffffffffffffffffffffffff0f0000000000000000000000000000000000000000000000
+0000000000007fffffffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e
+9e8a1d000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000078d6d6d6d6d6d6d6d6d6a00000000000000000000000000000
+00000000000000000000000000000000000000000000000dbbd6d6d6d6d6c82800000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000003fef
+ffffffffffffffffffdf0000000000000000000000000000000000000000000000000000
+000000006fffffffffffffffffffffffffffffffffffffffffdf00000000000000000000
+0000000000000000000000000000000000000000bfffffffffffffffffffffffffffffff
+ffffffffffffa49e9e9e9e9e9e9e6c090000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000da0d6d6d6d6d6d6d6d6d6d6d6
+5d0000000000000000000000000000000000000000000000000000000000000000000000
+000028d6d6d6d6d6d6c85000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000006fffffffffffffffffffffffaf000000000000000000000000
+000000000000000000000000000000000000afffffffffffffffffffffffffffffffffff
+ffffff9f000000000000000000000000000000000000000000000000000000000000efff
+ffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e450000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+28add6d6d6d6d6d6d6d6d6d6d6d6d6280000000000000000000000000000000000000000
+00000000000000000000000000000000005dd6d6d6d6d6d6d65d00000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000fbfffffffffffffffffffffff
+ff6f000000000000000000000000000000000000000000000000000000000000dfffffff
+ffffffffffffffffffffffffffffffffff6f000000000000000000000000000000000000
+00000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffff29e
+9e9e9e942700000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000042c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad000000000000
+000000000000000000000000000000000000000000000000000000000000000085d6d6d6
+d6d6d6d6850d000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+6fefffffffffffffffffffffffffff3f0000000000000000000000000000000000000000
+0000000000000000001fffffffffffffffffffffffffffffffffffffffffff3f00000000
+000000000000000000000000000000000000000000000000005fffffffffffffffffffff
+ffffffffffffffffffffffffffb69e9e7609000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000006bd6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d678000000000000000000000000000000000000000000000000000000
+000000000000000000000dadd6d6d6d6d6d6d6bb35000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000003fcfffffffffffffffffffffffffffffff00000000000000
+00000000000000000000000000000000000000000000004fffffffffffffffffffffffff
+ffffffffffffffffff000000000000000000000000000000000000000000000000000000
+0000008fffffffffffffffffffffffffffffffffffffffffffffffe69e58000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000d85d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d635000000000000000000000000
+0000000000000000000000000000000000000000000000000028c8d6d6d6d6d6d6d6ac6c
+130000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000003fbfffffffffffffffffffff
+ffffffffffffbf0000000000000000000000000000000000000000000000000000000000
+007fffffffffffffffffffffffffffffffffffffffffbf00000000000000000000000000
+0000000000000000000000000000000000bfffffffffffffffffffffffffffffffffffff
+ffffffffffef310000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000001aadd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6bb0d000000000000000000000000000000000000000000000000000000000000000000
+0000000050d6d6d6d6d6d6c49e9e9e6c2700000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000f
+6fdfffffffffffffffffffffffffffffffffffff8f000000000000000000000000000000
+000000000000000000000000000000bfffffffffffffffffffffffffffffffffffffffff
+8f000000000000000000000000000000000000000000000000000000000000ffffffffff
+ffffffffffffffffffffffffffffffffffffcf1f00000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000028c8d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d69300000000000000000000000000000000000000
+0000000000000000000000000000000000000085d6d6d6d6d2a59e9e9e9e9e8a45130000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000f5fafffffffffffffffffffffffffffffffffffffffffff5f00
+0000000000000000000000000000000000000000000000000000000000ffffffffffffff
+ffffffffffffffffffffffffffff5f000000000000000000000000000000000000000000
+00000000000000003fffffffffffffffffffffffffffffffffffffffffffff9f0f000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000050d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d64200000000
+00000000000000000000000000000000000000000000000000000000000000000000add6
+d6d6b69e9e9e9e9e9e9e9e9e805831090000000000000000000000000000000000000000
+00000000000000000000000000000000000000000f4f8fcfffffffffffffffffffffffff
+ffffffffffffffffffffffff1f0000000000000000000000000000000000000000000000
+0000000000002fffffffffffffffffffffffffffffffffffffffffff1f00000000000000
+000000000000000000000000000000000000000000006fffffffffffffffffffffffffff
+ffffffffffffffef5f000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000085d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6c81a00000000000000000000000000000000000000000000000000
+0000000000000000000000001ac8d6c89e9e9e9e9e9e9e9e9e9e9e9e9eaacf9f7f3f1f00
+00000000000000000000000000000000000000000000000000000000002f3f7fafcfffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffef00000000000000000000
+00000000000000000000000000000000000000006fffffffffffffffffffffffffffffff
+ffffffffffef000000000000000000000000000000000000000000000000000000000000
+9fffffffffffffffffffffffffffffffffffffffdf2f0000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000da0d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6a00000000000000000000000
+00000000000000000000000000000000000000000000000000000042d2a59e9e9e9e9e9e
+9e9e9e9e9e9e9edaffffffffffffcfbf9f7f7f6f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f
+7f7f7fafbfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffdf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7fbfff
+ffffffffffffffffffffffffffffffffffffffdf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f
+7f7f7f7f7f7f7f7f7f7f7f7f7f7fdfffffffffffffffffffffffffffffffffffffaf0f00
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000028bbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d65d0000000000000000000000000000000000000000000000000000000000000000
+0000000000005f9e9e9e9e9e9e9e9e9e9e9e9e9eb6ffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffff6f00000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000050c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6280000000000000000000000000000000000
+000000000000000000000000000000000000000000809e9e9e9e9e9e9e9e9e9e9e9eecff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffef2f000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000006bd6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad000000
+000000000000000000000000000000000000000000000000000000000000000000000009
+949e9e9e9e9e9e9e9e9e9ec8ffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf
+0f0000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000d93d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d678000000000000000000000000000000000000000000000000
+0000000000000000000000000000279e9e9e9e9e9e9e9e9ea4f8ffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000001aadd6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d635000000000000000000
+00000000000000000000000000000000000000000000000000000000004f9e9e9e9e9e9e
+9e9ee0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffef4f00000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000035
+c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6bb0d000000000000000000000000000000000000000000000000000000000000
+0000000000000000769e9e9e9e9e9ec2ffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffcf1f000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000005dd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d69300000000000000000000000000000000
+00000000000000000000000000000000000000000000098a9e9e9e9eaaf8ffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffff9f000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000085d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d64200
+000000000000000000000000000000000000000000000000000000000000000000000000
+001d9e9e9e9eecffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffdf7f7f7f7f7f7f7f7f
+7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f614f4f4f4f4f4f4f4f4f4f4f4f4f4f4f566b6b6b
+6b6badd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6c86b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b
+6b6b674f4f4f4f4f4f4f4f4f4f4f4f4f8a9e9ed4ffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca49e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9eb3d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cba89e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2ffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffe09e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eafd2d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a19e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9ea8cbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6bd9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4f8ffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1c4d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d2af9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4
+ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+b3d2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d2b69e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9edaffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb3d2d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9edaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9ea1bad6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfac9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4daffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6cfb39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfb39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+da9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1bacfd6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8af9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffeca49e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9eafc1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6cfbaa59e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2f8ffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8b09e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1afc1d2d6d6d6d6d6d6d6d6d6d6d6d6d6
+d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cbbaa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9ed4ffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9ea8b6c4cfd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8bdafa19e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaaecffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffe6aa9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1acb3bac4c8c8d6d6d6d6d6d6d6cfc8c8
+bdbaafa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ebcf8ff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffff8c89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9ea4e0ffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffe6aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2f8ffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+cea49e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6e6
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffff8c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2c29e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffff2c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaada
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffffffffff8ceaa9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9eb6e0ffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffe0bc9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaac8f2ffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffffff8dabc9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaac8ecff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffff8e0c2aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9eb6d4ecffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffffffffffffffffffffffffffffffff2e0c8b6a49e9e9e9e9e9e9e9e
+9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaabccee6ffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffff8e6d4cec2b6b6aa9e9e9e9e9e9e9e9eb6b6b6c8cee0e6ffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffff
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/docs/figs/dummy b/docs/figs/dummy
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/docs/figs/dummy
diff --git a/docs/interface.tex b/docs/interface.tex
new file mode 100644
index 0000000000..acfc32df9e
--- /dev/null
+++ b/docs/interface.tex
@@ -0,0 +1,62 @@
+\documentclass[11pt,twoside,final,openright]{xenstyle}
+\usepackage{a4,graphicx,setspace}
+\setstretch{1.15}
+\input{style.tex}
+
+\begin{document}
+
+% TITLE PAGE
+\pagestyle{empty}
+\begin{center}
+\vspace*{\fill}
+\includegraphics{eps/xenlogo.eps}
+\vfill
+\vfill
+\vfill
+\begin{tabular}{l}
+{\Huge \bf Interface manual} \\[4mm]
+{\huge Xen v1.1 for x86} \\[80mm]
+{\Large Copyright (c) 2003, The Xen Team} \\[3mm]
+{\Large University of Cambridge, UK} \\[20mm]
+{\large Last updated on 28th October, 2003}
+\end{tabular}
+\vfill
+\end{center}
+\cleardoublepage
+
+% TABLE OF CONTENTS
+\pagestyle{plain}
+\pagenumbering{roman}
+{ \parskip 0pt plus 1pt
+ \tableofcontents }
+\cleardoublepage
+
+% PREPARE FOR MAIN TEXT
+\pagenumbering{arabic}
+\raggedbottom
+\widowpenalty=10000
+\clubpenalty=10000
+\parindent=0pt
+\renewcommand{\topfraction}{.8}
+\renewcommand{\bottomfraction}{.8}
+\renewcommand{\textfraction}{.2}
+\renewcommand{\floatpagefraction}{.8}
+\setstretch{1.15}
+
+\chapter{Introduction}
+
+\chapter{CPU state}
+
+\chapter{Exceptions}
+
+\chapter{Interrupts and events}
+
+\chapter{Time}
+
+\chapter{Memory}
+
+\chapter{I/O}
+
+\chapter{Privileged operations}
+
+\end{document}
diff --git a/docs/style.tex b/docs/style.tex
new file mode 100644
index 0000000000..de59d9a912
--- /dev/null
+++ b/docs/style.tex
@@ -0,0 +1,393 @@
+
+\usepackage{parskip,fancyheadings}
+
+\setcounter{secnumdepth}{10}
+\setcounter{tocdepth}{2}
+
+\usepackage{sabon}
+\def\textos#1{#1}
+
+%
+% From PRB: Use FancyPlain style -- set up to produce draft
+% information and disable rules and section headings in headers and
+% footers.
+%
+
+% \filename
+
+\def\filename{thesis.tex}
+\let\savedinclude\include
+\def\include#1{\def\filename{#1.tex}\savedinclude{#1}}
+
+% \prtinttime
+
+\newcounter{hours}\newcounter{mins}
+\newcommand{\printtime}{%
+ \setcounter{hours}{\time/60}%
+ \setcounter{mins}{\time-\value{hours}*60}%
+ \ifthenelse{\value{hours}<10}{0}{}\thehours:%
+ \ifthenelse{\value{mins}<10}{0}{}\themins}
+
+
+% Final tweaks to the layout -- PRB/SMH/TLH
+
+\newcommand{\verylongpage}{\enlargethispage{2.5\baselineskip}}
+\newcommand{\longpage}{\enlargethispage{2\baselineskip}}
+\newcommand{\shortpage}{\enlargethispage{-2\baselineskip}}
+\newcommand{\quitelongpage}{\enlargethispage{1\baselineskip}}
+\newcommand{\quiteshortpage}{\enlargethispage{-1\baselineskip}}
+
+% Use instead of / to allow hyphenation -- PRB/SMH
+
+\def\slash{/\penalty 0\hskip 0pt\relax}
+
+%
+% Header/Footer
+%
+
+\pagestyle{fancyplain}
+\headrulewidth=0pt
+\footrulewidth=0pt
+\plainheadrulewidth=0pt
+\plainfootrulewidth=0pt
+
+\lhead[]{}
+\chead[]{}
+\rhead[]{}
+
+\lfoot[\sl\thepage]{}
+\cfoot[]{}
+\rfoot[]{\sl\thepage}
+
+%
+% Captions (from RF: make captions hang properly)
+%
+
+\makeatletter
+\long\def\@makecaption#1#2{%
+ \vskip 10\p@
+ \setbox\@tempboxa\hbox{\small #1: #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ \@hangfrom{\small #1: }{\small #2}\par
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi}
+\makeatother
+
+\makeatletter
+
+%
+% Keep mpars on the same side (we use them for hanging section
+% numbers).
+%
+
+\@mparswitchfalse
+\marginparsep=1ex
+
+%
+% Abandon ugly vertical justification
+%
+
+\raggedbottom
+
+%
+% Poor-mans small caps
+%
+
+%\font \psc = ptmr8t scaled 800
+%\renewcommand{\scdefault}{psc}
+
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+
+%
+% Let footnotes fall right to the bottom of the page
+%
+
+\renewcommand\footnoterule{\vfill\hrule\vspace{6pt}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Headings
+
+%
+% Fonts
+%
+
+% \font\sectionfont = phvr8t scaled 1400
+% \font\subsectionfont = phvr8t scaled 1200
+% \font\subsubsectionfont = phvr8t scaled 1000
+
+%
+% Chapter/Section names
+%
+
+\def\chaptermark#1{%
+ \markboth {{\ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ \fi
+ #1}}{}
+ }
+
+\def\sectionmark#1{%
+ \markright {{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi
+ #1}}
+ }
+
+%
+% Chapter heading components
+%
+
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi
+ }
+
+\def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \reset@font
+ \ifnum \c@secnumdepth >\m@ne
+ \LARGE \@chapapp{} \thechapter
+ \par
+ \vskip 10\p@
+ \fi
+ \Huge #1\par
+ \nobreak
+ \vskip 20\p@
+ }}
+
+\def\@schapter#1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+
+\def\@makeschapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \reset@font
+ \Huge #1\par
+ \nobreak
+ \vskip 40\p@
+ }}
+
+%
+% *Section heading components
+%
+
+\def\@startsection#1#2#3#4#5#6{%
+ \if@noskipsec \leavevmode \fi
+ \par
+ \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@
+ \@tempskipa -\@tempskipa \@afterindentfalse
+ \fi
+ \if@nobreak
+ \everypar{}%
+ \else
+ \addpenalty\@secpenalty\addvspace\@tempskipa
+ \fi
+ \@ifstar
+ {\@ssect{#3}{#4}{#5}{#6}}%
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{\interlinepenalty \@M #8\@@par}%
+ \reversemarginpar{\marginpar{{\rightline{\@svsec}}}}
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}%
+ \else
+ \def\@svsechd{%
+ #6{\hskip #3\relax
+ \@svsec #8}%
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}}%
+ \fi
+ \@xsect{#5}
+ }
+
+%
+% Table of contents
+%
+
+\renewcommand\contentsname{Table of contents}
+\renewcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\contentsname
+ \@mkboth{\contentsname}{}}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ }
+
+%
+% List of Figures
+%
+
+\renewcommand\listfigurename{List of figures}
+\renewcommand\listoffigures{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfigurename
+ \@mkboth{\listfigurename}{}}%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+ }
+
+%
+% List of Tables
+%
+
+\renewcommand\listtablename{List of tables}
+\renewcommand\listoftables{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listtablename
+ \@mkboth{\listtablename}{}}%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+ }
+
+%
+% Glossary
+%
+
+\newcommand\gloname{Glossary}
+\newcommand\gloss{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\gloname
+ \@mkboth{\gloname}{}}%
+ \input{glossary}
+ \vfill
+ \if@restonecol\twocolumn\fi
+ }
+
+%
+% Bibliography
+%
+
+\renewenvironment{thebibliography}[1]
+ {\chapter*{\bibname
+ \@mkboth{\bibname}{}}%
+ \list{\@biblabel{\arabic{enumiv}}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+% \if@openbib
+% \advance\leftmargin\bibindent
+% \itemindent -\bibindent
+% \listparindent \itemindent
+% \parsep \z@
+% \fi
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\arabic{enumiv}}}%
+% \if@openbib
+% \renewcommand\newblock{\par}
+% \else
+ \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
+% \fi
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.=\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+%
+% Chapter
+%
+
+\renewcommand\chapter{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter
+ }
+
+%
+% *Sections
+%
+
+% \z@ -- zero?
+
+% \@startsection{name}{depth}
+% {indent}
+% {beforeskip \@plus foo \@minus bar}
+% foo: ... ; bar: jitter back up page?
+% {afterskip}
+% {style}
+
+\renewcommand\section{%
+ \@startsection{section}{1}
+ {\z@}%
+ {-5ex \@plus 5ex \@minus -.5ex}%
+ {2.5ex \@minus .5ex}%
+ {\reset@font\Large}%
+ }
+
+\renewcommand\subsection{%
+ \@startsection{subsection}{2}
+ {\z@}%
+ {-3ex \@plus 3ex \@minus -.5ex}%
+ {1.5ex \@minus .5ex}%
+ {\reset@font\large}%
+ }
+
+\renewcommand\subsubsection{%
+ \@startsection{subsubsection}{3}
+ {\z@}%
+ {-1ex \@plus 1ex \@minus -.5ex}%
+ {1ex \@minus .5ex}%
+ {\reset@font\normalsize\sl}%
+ }
+
+\makeatother
+\endinput
+
diff --git a/docs/xenstyle.cls b/docs/xenstyle.cls
new file mode 100644
index 0000000000..8c4bcbbd5d
--- /dev/null
+++ b/docs/xenstyle.cls
@@ -0,0 +1,676 @@
+%%
+%% xenstyle.cls
+%%
+%% A modified version of 'report.cls':
+%%
+%% This is file `report.cls', generated
+%% on <1994/9/30> with the docstrip utility (2.2h).
+%%
+%% The original source files were:
+%%
+%% classes.dtx (with options: `report')
+%%
+%% Copyright 1994 the LaTeX3 project and the individual authors.
+%% All rights reserved. For further copyright information see the file
+%% legal.txt, and any other copyright indicated in this file.
+%%
+%% This file is part of the LaTeX2e system.
+%% ----------------------------------------
+%%
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For error reports in case of UNCHANGED versions see bugs.txt.
+%%
+%% Please do not request updates from us directly. Distribution is
+%% done through Mail-Servers and TeX organizations.
+%%
+%% You are not allowed to change this file.
+%%
+%% You are allowed to distribute this file under the condition that
+%% it is distributed together with all files mentioned in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{xenstyle}[]
+\newcommand\@ptsize{}
+\newif\if@restonecol
+\newif\if@titlepage
+\@titlepagetrue
+\newif\if@openright
+\newif\if@openbib
+\@openbibfalse
+\DeclareOption{a4paper}
+ {\setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5paper}
+ {\setlength\paperheight {210mm}%
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b5paper}
+ {\setlength\paperheight {250mm}%
+ \setlength\paperwidth {176mm}}
+\DeclareOption{letterpaper}
+ {\setlength\paperheight {11in}%
+ \setlength\paperwidth {8.5in}}
+\DeclareOption{legalpaper}
+ {\setlength\paperheight {14in}%
+ \setlength\paperwidth {8.5in}}
+\DeclareOption{executivepaper}
+ {\setlength\paperheight {10.5in}%
+ \setlength\paperwidth {7.25in}}
+\DeclareOption{landscape}
+ {\setlength\@tempdima {\paperheight}%
+ \setlength\paperheight {\paperwidth}%
+ \setlength\paperwidth {\@tempdima}}
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\DeclareOption{titlepage}{\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{openany}{\@openrightfalse}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+\DeclareOption{openbib}{\@openbibtrue}
+\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final,openany}
+\ProcessOptions
+\input{size1\@ptsize.clo}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+\renewcommand\baselinestretch{}
+\setlength\parskip{0\p@ \@plus \p@}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\setcounter{topnumber}{2}
+\renewcommand\topfraction{.7}
+\setcounter{bottomnumber}{1}
+\renewcommand\bottomfraction{.3}
+\setcounter{totalnumber}{3}
+\renewcommand\textfraction{.2}
+\renewcommand\floatpagefraction{.5}
+\setcounter{dbltopnumber}{2}
+\renewcommand\dbltopfraction{.7}
+\renewcommand\dblfloatpagefraction{.5}
+\if@twoside
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ \fi
+ ##1}}{}}%
+ \def\sectionmark##1{%
+ \markright {\uppercase{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi
+ ##1}}}}
+\else
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ \fi
+ ##1}}}}
+\fi
+\def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+ }
+\if@titlepage
+ \newcommand\maketitle{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 3em%
+ {\large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \let\thanks\relax\let\maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}}
+\else
+\newcommand\maketitle{\par
+ \begingroup
+ \renewcommand\thefootnote{\fnsymbol{footnote}}%
+ \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@maketitle
+ \else
+ \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \let\thanks\relax
+ \let\maketitle\relax\let\@maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}}
+\def\@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par
+ \vskip 1.5em}
+\fi
+\newcommand\chaptermark[1]{}
+\setcounter{secnumdepth}{2}
+\newcounter {part}
+\newcounter {chapter}
+\newcounter {section}[chapter]
+\newcounter {subsection}[section]
+\newcounter {subsubsection}[subsection]
+\newcounter {paragraph}[subsubsection]
+\newcounter {subparagraph}[paragraph]
+\renewcommand\thepart {\Roman{part}}
+\renewcommand\thechapter {\arabic{chapter}}
+\renewcommand\thesection {\thechapter.\arabic{section}}
+\renewcommand\thesubsection {\thesection.\arabic{subsection}}
+\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}}
+\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}}
+\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}}
+\newcommand\@chapapp{\chaptername}
+\newcommand\part{\cleardoublepage
+ \thispagestyle{plain}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \hbox{}\vfil
+ \secdef\@part\@spart}
+
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}
+ {\centering
+ \interlinepenalty \@M
+ \reset@font
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname~\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries #2\par}%
+ \@endpart}
+\def\@spart#1{%
+ {\centering
+ \interlinepenalty \@M
+ \reset@font
+ \Huge \bfseries #1\par}%
+ \@endpart}
+\def\@endpart{\vfil\newpage
+ \if@twoside
+ \hbox{}%
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+\def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \reset@font
+ \ifnum \c@secnumdepth >\m@ne
+ \huge\bfseries \@chapapp{} \thechapter
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries #1\par
+ \nobreak
+ \vskip 40\p@
+ }}
+\def\@schapter#1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+\def\@makeschapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \reset@font
+ \Huge \bfseries #1\par
+ \nobreak
+ \vskip 40\p@
+ }}
+\newcommand\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\reset@font\Large\bfseries}}
+\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\large\bfseries}}
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi {.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi {1em}
+\fi
+\setlength\leftmargin {\leftmargini}
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\renewcommand\theenumi{\arabic{enumi}}
+\renewcommand\theenumii{\alph{enumii}}
+\renewcommand\theenumiii{\roman{enumiii}}
+\renewcommand\theenumiv{\Alph{enumiv}}
+\newcommand\labelenumi{\theenumi.}
+\newcommand\labelenumii{(\theenumii)}
+\newcommand\labelenumiii{\theenumiii.}
+\newcommand\labelenumiv{\theenumiv.}
+\renewcommand\p@enumii{\theenumi}
+\renewcommand\p@enumiii{\theenumi(\theenumii)}
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}
+\newcommand\labelitemi{$\m@th\bullet$}
+\newcommand\labelitemii{\normalfont\bfseries --}
+\newcommand\labelitemiii{$\m@th\ast$}
+\newcommand\labelitemiv{$\m@th\cdot$}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+\newcommand\descriptionlabel[1]{\hspace\labelsep
+ \normalfont\bfseries #1}
+\if@titlepage
+ \newenvironment{abstract}{%
+ \titlepage
+ \null\vfil
+ \begin{center}
+ \bfseries \abstractname
+ \end{center}}
+ {\par\vfil\null\endtitlepage}
+\else
+ \newenvironment{abstract}{%
+ \if@twocolumn
+ \section*{\abstractname}%
+ \else
+ \small
+ \begin{center}%
+ {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \quotation
+ \fi}
+ {\if@twocolumn\else\endquotation\fi}
+\fi
+\newenvironment{verse}
+ {\let\\=\@centercr
+ \list{}{\itemsep \z@
+ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin \leftmargin
+ \advance\leftmargin 1.5em}%
+ \item[]}
+ {\endlist}
+\newenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \item[]}
+ {\endlist}
+\newenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \item[]}
+ {\endlist}
+\newenvironment{titlepage}
+ {%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}%
+ \if@compatibility
+ \setcounter{page}{0}
+ \else
+ \setcounter{page}{1}%
+ \fi}%
+ {\if@restonecol\twocolumn \else \newpage \fi
+ \setcounter{page}{1}%
+ }
+\newcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\Alph{chapter}}}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\@addtoreset{equation}{chapter}
+\renewcommand\theequation{\thechapter.\arabic{equation}}
+\newcounter{figure}[chapter]
+\renewcommand\thefigure{\thechapter.\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename~\thefigure}
+\newenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\newenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+\newcounter{table}[chapter]
+\renewcommand\thetable{\thechapter.\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename~\thetable}
+\newenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\newenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1: #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1: #2\par
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+%\renewcommand{\cal}{\protect\pcal}
+%\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}}
+%\renewcommand{\mit}{\protect\pmit}
+%\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}}
+\newcommand\@pnumwidth{1.55em}
+\newcommand\@tocrmarg {2.55em}
+\newcommand\@dotsep{4.5}
+\setcounter{tocdepth}{2}
+\newcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\contentsname
+ \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ }
+\newcommand\l@part[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \setlength\@tempdima{3em}%
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ {\leavevmode
+ \large \bfseries #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}
+ \endgroup
+ \fi}
+\newcommand\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\newcommand\l@section {\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\l@subsection {\@dottedtocline{2}{3.8em}{3.2em}}
+\newcommand\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\newcommand\l@paragraph {\@dottedtocline{4}{10em}{5em}}
+\newcommand\l@subparagraph {\@dottedtocline{5}{12em}{6em}}
+\newcommand\listoffigures{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfigurename
+ \@mkboth{\uppercase{\listfigurename}}%
+ {\uppercase{\listfigurename}}}%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+ }
+\newcommand\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\listoftables{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listtablename
+ \@mkboth{\uppercase{\listtablename}}{\uppercase{\listtablename}}}%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+ }
+\let\l@table\l@figure
+\newdimen\bibindent
+\bibindent=1.5em
+\newenvironment{thebibliography}[1]
+ {\chapter*{\bibname
+ \@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}%
+ \list{\@biblabel{\arabic{enumiv}}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \if@openbib
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ \fi
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\arabic{enumiv}}}%
+ \if@openbib
+ \renewcommand\newblock{\par}
+ \else
+ \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
+ \fi
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.=\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\newcommand\newblock{}
+\newenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\uppercase{\indexname}}%
+ {\uppercase{\indexname}}%
+ \thispagestyle{plain}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand\@idxitem {\par\hangindent 40\p@}
+\newcommand\subitem {\par\hangindent 40\p@ \hspace*{20\p@}}
+\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand\footnoterule{%
+ \kern-3\p@
+ \hrule width .4\columnwidth
+ \kern 2.6\p@}
+\@addtoreset{footnote}{chapter}
+\long\def\@makefntext#1{%
+ \parindent 1em%
+ \noindent
+ \hbox to 1.8em{\hss\@makefnmark}#1}
+\newcommand\contentsname{Contents}
+\newcommand\listfigurename{List of Figures}
+\newcommand\listtablename{List of Tables}
+\newcommand\bibname{Bibliography}
+\newcommand\indexname{Index}
+\newcommand\figurename{Figure}
+\newcommand\tablename{Table}
+\newcommand\partname{Part}
+\newcommand\chaptername{Chapter}
+\newcommand\appendixname{Appendix}
+\newcommand\abstractname{Abstract}
+\newcommand\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\setlength\columnsep{10\p@}
+\setlength\columnseprule{0\p@}
+\pagestyle{plain}
+\pagenumbering{arabic} % Arabic page numbers
+\if@twoside
+\else
+ \raggedbottom
+\fi
+\if@twocolumn
+ \twocolumn
+ \sloppy
+ \flushbottom
+\else
+ \onecolumn
+\fi
+\endinput