Importing all of DRL, including ulogd and all of its files.
[distributedratelimiting.git] / doc / ulogd.a4.ps
diff --git a/doc/ulogd.a4.ps b/doc/ulogd.a4.ps
new file mode 100644 (file)
index 0000000..2e829a7
--- /dev/null
@@ -0,0 +1,4025 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
+%%Title: ulogd.a4.dvi
+%%Pages: 9
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 595 842
+%%DocumentFonts: CMSS17 CMR10 CMMI10 CMSS10 CMTT10 CMBX12 CMBX10 CMSY10
+%%+ CMTT9
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -t a4 -o ulogd.a4.ps ulogd.a4.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource:  TeX output 2006.01.25:1227
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+TeXDict begin @defspecial
+
+ /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div
+Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff
+pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
+/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF
+/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2
+sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint
+HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A {
+H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt
+sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub
+/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch
+pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict
+/pdfmark known not {userdict /pdfmark systemdict /cleartomark get put}
+if
+@fedspecial end
+%%BeginFont: CMTT9
+%!PS-AdobeFont-1.1: CMTT9 1.0
+%%CreationDate: 1991 Aug 20 16:46:24
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT9 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 53 /five put
+dup 54 /six put
+dup 61 /equal put
+dup 62 /greater put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 75 /K put
+dup 76 /L put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 84 /T put
+dup 85 /U put
+dup 87 /W put
+dup 89 /Y put
+dup 95 /underscore put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+readonly def
+/FontBBox{-6 -233 542 698}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
+2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
+650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
+F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
+D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
+F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
+4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
+438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
+BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
+A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
+AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
+D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
+CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
+082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
+9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
+4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A
+9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F
+B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
+42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
+F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
+A2C69F817061D6C60B121EEE844CA5008F23DF0ABE08642EF69D6C681B6BDCBC
+5586F5DD6A165551B7A36F3C57033B4779DB294EC54D9D576D9125C431AC5BE5
+5241C4FF4A5ACF8CC1B87C9E1E9B12865B035E5541621E77E7C007EA1C2434FA
+E4910F204C63FA83B3602F3EF982C37D976012F429230585764307E71EF4FDE7
+851CA12A82F347D852E9726A4F91F53A1B3B77F299272740CAE1A06604B087A9
+2FAB73E54F41AF6CCF640E6066CE5977A198AD0003D9AA6CF03D5309BC7FF8F1
+85D5B18AA07052830E10B2326CECC0878C49F1EF71A0EA49CABB79DC83931543
+F595CE0500E5B5AF4136F94C73A83617290AB0E8A4D194D1E72A6CF3F1C4BE77
+B6C878A6EBAB28E56F5BA4136A4B858CC44106D4F736AEE17979183A3056E5CE
+D416A9CB326AA0941344BBF74001A09F4E629F9EDFF79A5E23E1D0256FBB34EC
+FACE9C363A7FB43F841E739E325478E0C70E2978EE6458073B567501AD541C25
+F661D0D9783765CBCC8998E6F724195B5A588FA7C8CDC21008CC0AB135EEDB3C
+4829F4DB76CBCC1F750B87D2DB4C07EC182EB120A98B65FE6E1E89A2AD7D1840
+ACF467195CCACA9ABE5316E15D013251472586D623B7702D0799C2D710E84C0F
+501C7BD4AC34217EECB1D55826A3E6D7D6B86E4FC8C52693A9E05F148F51992C
+876E50903DC18D25A3B2BE7BBA526A27C4FCB22C57FCAB479FB50E49DA0D83E2
+DB64B6879F49BB4D76081EF7148DE4733FC6637F9197441CEB6EAD9EF97887B4
+31F32DEF46540CD7DBE4642BBFC4D8307B3483F6ECF42ADC172BA093A73F3C4F
+41FE73348F57F36458A477A65F8FCAECC197BC4D11AE293BD48FF249F01F7029
+E947CB00CFF75C1360B066DC5BBE7215FDF7760B8635C02E14399570651D7B38
+52880EC73CBF9DAC213B60AEC3F5AC678090A581D27E1D3FB63B42DB8963A37F
+74979320B26DC3770BDE0A56F1BE4E30785297B4736DF2BE27C1A76AFE09C793
+19D83DDCD82D388D6189F7EB025024CE405BFE9FD9F741D60CB4A2020D5F6D0D
+C73E0F59A3DF7CB710DBA902B944E1B918AB2B90010143AE5D5985C35F0394AA
+C0DF49D05043C662832240D3F09CC4C23D532A53AA556FB052789826B071737A
+F9CCF8B6629DD542E891C48AA86A8597A021C0D2D71B5D79347798BFAF91FF44
+BD1064D8D2D756D1BFF2DAA634CC50D20AC158200D04D254ED553CD12C5F8CA0
+E76C1557CBA9374A7E6D2095B104A04D45AA349C96B9F6268847EB420D71FF02
+76EC8E7974EF4B66D97A0236A0748B07E2609CE8FEBDB6DDDA05D2E79A74259D
+C6B5E566746CE0342AEF5477A80010CB482E52440841F61841FDC3250BABC727
+7FE534536815E3435F7F9C31B808779466AABBA346F7A4CDF0A3FCD5B39B7E11
+5439FD28E9B1A01B82C2BE0A3AA02809A23C41130409121EAD67C90A5D91609D
+9119077F0820286149C85D15826D67A1E60AABBF1FD3A4716D401E294013F40C
+7E0295BA7F575717A2330063FF876ED6F30D428F59B23C557DDBC24D04A32CA4
+DA8370668988E4D2407CB97BA3220DE8C71C1B65D6F6609728E137B8355ABE27
+F8D64568A56EE7CEB5314501D523F79ACBD9026A6A0C616AF611C0A49DDFD555
+315B47853AE1318257634F2F55356C234755B72984901E719476BED83B9711A6
+0511614667FC90C9DD255F9ED60828F298DE410E97A1AD69D9665EDEF4B788F7
+2F812835E25EB4C0E11D704D5D0E67F286F50566467EA97005FBFB7CB42AA873
+C9970136FCB329955BE4261D33E44E0A55A411658EB05118F7F6D56D1B404F67
+4CFDAE496F361A47FD32C23DF17C4A254B0FEC9548DE220D914F55931298B75B
+D3BAD307ED14E3CF287BE6E7BD6522FD2A162BB09C7AC93906A9312CF197DE81
+A5F097F6BCFC89E3F46401C960C0D985C6BA4281D783853DA65CB86CA24287C3
+6BECCC7AD90ACE2877CF6E20D6CB5E8774AECD16F4CF5E6AD4387C63CB4B2988
+732802AC9FA0E6E81E16EE0A133E1ED5AB5B6AF8DE17AD45EEC347FE1395E383
+E59EDD32B9484701913E9B998BF2AA10D404DB538B8D6B65C2291381F35FB794
+1F2AFC236FFFEE0C6F1032FE0919E55E8804BBA5DD683FA0C7729C1A7625EC9F
+33C8F0A537C425AA270E47ACBF35E5DE9D5B666BE8F775AD1A9255E9CC61321C
+7FA5ECB949FC1C99A3BA97F499FA98E99067AF06ED297DBCCFE264A35CA1E812
+1362F85D6F7BC124A056D5E2B81110688BBD8C28E6FEE3C2870BE852840F94E6
+B020F9B90AB09EAF34C345B3FA2BD531D79760BF52A2EB366D761F739C8FEC6F
+DE1EB216F4AFFEC742C6791903F30DAB4E946051E93D2AA6D57590E62DA1AEEA
+04539517096069A8EF7AA1CE23FA6BABC245F814BF8EA8F88D8C7886563D7602
+F71936B5733DF34999C3D565EDD0A7E53763698CD9F33B11DCB41D77991EF2E3
+86A67DAE700FEEBA6EB4BF637D06193BD029ED2D99F365825191F4D49063827D
+8F6891BF8AC7D8BC00A637E19AF9805D14D04BA158983EB1A37840B36230EA82
+FDA32C9A2FEF9E986B66DDC9DE172F7E04EEC3D68CF69FB57AB0D3D5DEAF5C2F
+54D58266B4EA42F544CE1C30B03BC3BF5C4FB40B9E6CF0EB40B4D5B1E917908A
+2B3ECA55B26A68F9DF960795C1934EC50DF29DC169C2CFA9D845FC164FB2BF9A
+283C5220D3D4C24C1554896C5FEDBF7F690BC776CDB2505479A552D3FB3F60AF
+6D9EA1A86EB148AF06F61F060143226C991511B19EDB4B491AB24BCE9269ACA7
+03D7BCE148B7E2D29711B6278643D73114EA74A7B97EE1D957FF00F09C7724A8
+5C16494D8D5EDF90A154BD75BE2209F941738ABAD2FA4FF50D0C8C7C5F52043B
+BCD40F64D211D53F5784BE91573A74E46163796F7A8A7C26C8DF58361BD0B2D4
+69A40495A6BB8D1879B168ED334177F2F3C36D0843A9862CFDA1FE11C07E5D98
+578188A287543A51B732FFCEF7D48D50302A06B1563606AF9404C8233E26F95C
+A95CE5BDC103416938307099072B405DE07409AB0BEFFB023FE3735452536CFA
+CEF7E6EB829A92ACFF641CFE56A426585D0E8F7D8E5F90F2BE9A0AAF9B9D0880
+D9643C5828BD66DCFCF1B5D1DF461635AB134121F128604CBA0265497BC411E5
+F8E7AB57B195E333CF4C4FA63CAAC974BFEB3A9D157A26F6149E986D83C1E6A2
+FA9E9836066BB0973D5B9E132086B40B1957C4DE6BAD8C06F86A8E806E9E91E9
+83D1F6A4DB3521688E2DFEB42EC80F3EEDE7E0D98DE7B48E126736A3088795BF
+AA22AE968ADDB07F13D1A68CB04C69D82A4F4244CB4861C4DCF04D1693F44CEB
+3FADC0176D5A5CD21C44F8680297653F7D6307F5C2D3A8BAEE3CDBEF18DD5F02
+FA95FFA9104A2C23303D2E27B69EE41349C2ABBCB7EC9139726BE1E017DDBA98
+B7F42EBF0E9816502D1CFC097E2CEA2B5AC756A5ACDDE218575B65C2EFD85892
+5D975F8F655BF7937B3898E4C3B8FE68B8601666A3F9DE9737823BD96119187C
+08A0EE910740ABF6DAE955BC02FDBBEE621804D43DBB83DCDD42D477EC6E895C
+C7CB698345129988F6E273AAF4538C94591C5D0479E0986DC8E64CDE1EF71122
+0D13E5C4B8EC783023B54DC4DE6D820D1618D0E9CA945B2C122DA02BAEDC74BE
+7E64A00C7132B9623E23CB5C3077462559AD713D35524B60FBB76471840E7B47
+315C10F01047A5E710EDCA3BF680C8E92EB4BE5A6B25D10E2227BB9EA1BD5673
+017F928F9A68A9F9DE20A97E7935DD660A2C965930B6E008077429D0D4967422
+E94C2DEC87DC0ECED0228E9D6DEB7B706526D464F731915E54EB3D4B9BFD2C76
+D1C6EAC4B8336B4507959E689C2DD99BE5A87103E8A4215BE167670EBDB1D819
+D4D671A9616E0F7C00FAF2981A3A56BE5E31584F049F684D30FC8D9C5A50C0A5
+8B66AB11605D38A37D3B801A14505C4C7941A8BF6B2651EDB5DD6DCA4AA1CFEF
+E8CAF445D7794FB16E52ACB714922DBC440EA357E55E7367AE02270618E84568
+2D0623BE785C66D6FE8C76969E2D104D7404ED50878D7D111330C922CA7E0683
+06F3E323755400155B959A4DF8BA32F87575630BFA7B4841A8AE978B41AC258E
+145931EF5E33AD78D57EB31E6989B4A832B1A3DAC92120B0213A075BB7E1E8A0
+A674ED7184B3353F818974611319A8388BDE2DB96FB4DE74C3901141739469EA
+E4B9154219C3089934EE042CA074F5979EC0043BF0FDAFF54568E2E113C8C56F
+7ED736D085C2E6664AB5CC15B09F780002B5DE9D488609CEA3540DBAF766E3A9
+C0EA8F59AD3681770A8471EE38D269C1F07CB4D7025CDB7F72530B0521FC9FE8
+43F896160DF271C89FB10C9EB83BC1A1E3818489BA4D86B93D17E8D6C44CFC53
+23067A61057D3408F0D76F2AC18D29E04FBEFCAB87C1A8C2F2DC25DE11A89F10
+1B4EE85384DECF7928F2E6DDA9FFEF52A7B2547672CA87B0D446121932EEF150
+6CE0DC9F752A3F39AD7D0901F242F05DA1457C82E4A809C0654B4770EFB4C202
+EC628C9691F2E503CE9EFC39120034DCFE78307A8E25E190B66E161129EADF6F
+F4CAC84B2A696846AF1551BE8538E796377919B1FB5F6BA0CA75D78AD31153A5
+D433642451FB373696DA3CBC16A44226EB65D3C0EBAE1F2DC6BEF9D04783359B
+E03B06EA1A222C7BD5F974EB282C901CA14EB5AD616FFA7A135DF96E04EDEEB5
+43BEE44FACE82107D42215F7ADFBA8C588768DE2CCA86CEFAB9F33DCBB974839
+2C8A292B9DDF2F9D92D3310112AD2D866357C23B258AA1CF1ADE47E5C318B269
+F471BEDE8AB088AF9161B88067BC141B32ABD013590E624F006B7875AF019774
+B6C07329D743B5BF4B584F0F58FCE1407895DB429BE1707885E80B632EC2F25A
+B94E1F7FA2089EECA10AF87B1CC23E0CDCE779C3B7385A2A40D5059431034F0F
+A2200915910947E4D85354DC766E5D745F51105205FD0F4673E57EE47AB916C3
+304370707065AF4FAA8BE751F6FCC8EF7F9F8C6057FB46E852D38EEA3F6947C5
+0448CCB44888463DEFF05540357A682DCC95CC60D9141DFF129073F5C9EE7C63
+1EBD82DF63F7038C7E67E4D721DE19879E8B896D805921E982711690691B930C
+50325F67F7BC581797C2BE54FE0CA69C49C233D3F5FD9CBF4E78133CE5D5E125
+6F35B7FA773957D1057656821B6E7F3310E83FFD2383D7E443DD40E517F3A58D
+CDED3AF73DAD2B33AB448662A360E3797AD97C62FB3EA5C9B91B3AF6E0A8924D
+DA93C3222CCB25EF3980F18ECBB7B232EC2865B95A7C16F5869D4469BEBA2DA8
+7A1794E88BD03584DF300475AF44A662122C9B71FF02287A7A40592EF01E4D87
+CE51B056358638B40EA28E6CC7EB1093A750C568CFFEC56A7ACD172926338FCD
+4EB3E5BBAF047F07E78EE101A857E26A19B867613CA8EE1087724D95E14CF1BC
+5CE4AD7131B50308A299F9E378EA6F75A1FD31C7C930E956ED81CD68696021A2
+A2B5EADEC2068AB2C6190F1B76E022F1115F4243C8563770C834A6CCD1D2BC77
+379EC261D16D82FB097787B9BC8C621A83BFB5FDABC8348A59384AC06BAACE2D
+861D45CBB79EC4A4A5CE9550830372D58ED335770C267227CB2E0D61EAF2D2EE
+A753731E5836D50FD703F422D942C16A09648B920199EF91349121AAB2697F53
+BEDFE1BA405D46094901754322730825708E7AF35C29D96E0D7045B1F845CC13
+F48D29F86D4E16B87D1869125E247F9F3590896D98847A547196343E2424A635
+ED134E25FD6DA3B3D7B191FE2183560A45A0BF76498A9D7FA7C0493E9B581618
+6CDD5DA669E02B75BC06E64036E1C0368C6629A3A837BE3F05FE0CA21262E5B4
+B3196B79B6F0567A5C48D5EF4CC58BF0EC765134F5748CD3B41CFD93733EC5B6
+A5EC2F8259C7708464F86CD05BA3365CC3696F4C1C6ECC0B39865970490FD685
+1EA49EFD81AA5CEB3A942018AB864FC3EA60C07584C3B68EB0C0E4BDB204C78F
+661C140C809C0370F03347E0BA874B369CCC9854503402508D78E01291AAB2F4
+696AAFF1AA468214261E259698F888EE189739E6F9D4CEDD9916705A683DE7ED
+A52E8FD6426C9849AC93E2AE350FC6E90E0D52B72ED1B844A0ED1B9344F4F7D8
+31EBB7CCAAF9B5F1156D63927C92EE390FBEB5B1F9D0B9797FF0B47078305FA0
+FA1EC1A6D0BC47C0C6E87085F43177AD0368B24B33234CDFAD69B5869C3A0229
+21BD410C597812AF5C082A64824589EBF401FB26974EEBF2575BE1F876F94518
+B219251DD0868840B67BDC7DE65AF0D7A16C5CB254F3A306AC48776DEBD0D9FE
+F613CE625ED330A0EE04E956B3C6AA7E8C480420F652794C5C1C6A9E01B39D68
+9B6E6E3C1DF8A6E9C9C3808B4E46875053362039282554C66125F9CDDCA26B9C
+1DF221AF3D74D5E762CF2CF576C085AB537968BAA6B40DE4876B7233FACF95E6
+8FC5C45CE837ED76C264F19B7D01071646C28FB55D5E2D5C8A577CED79334C5D
+4EE36C4FA1916404C42D9274885A479050BE8FF9D3874EA492A187756464FC55
+D2967B4BB0240D582CE337B74EB9989C81A8CCC591A32F5AC9C75A5C37129B81
+03C31E6526914D5AC7E87DC9086E248CEBFC5D2C3A1B94F119B1A5712A497754
+04FDA20257D37CB8B1DA8A89C717AD475486B7135065F332D48DCE841561E1B1
+4CE5B2FF8034955FD7966C070A334838EA7499C6ACC1639798DA693964E204EF
+E724DB3F02F746FD716DDD28ECF5607936CFC09FFB7A090C1E9FA14973670830
+5F809EF7C0B518344DE5ED5BFAF23FD1229B25F564ADF44177467D42F8BE61D5
+28FEB0D13B36D0CED5340D34E9C49AA4F64AE1CE533F2895E889957939070052
+1DEA3D7E287FD49EB0193C9324A169530EDB7DBC48A9A5B392023A72BEDF0463
+D87C249B9A68D42AEC778F9413D78FFB590C3BF07564F1B1316622815EB57397
+D9EFE5EA1FA8214B3BE1B53152F200F281DD79710FA38A7DDA38E54FFFD46F08
+9E8E1B8A5DE1F63937D242304B11765E3E40F47C1626D6E95C7E7DE55EF38AB5
+205E190C359CF8B87B4FA7B8DAE5012A0907E169B052545ECA9F74755F7EF618
+1DE32385DFE726D6A22B58C4D30C1FA8CFBC85AEFE32E88209DC8643B67E1AC2
+67805E0A486041ED2A8CCF37A7031246415D30BBB7B50E807FE81DEE1512CF2A
+F3A83F5C516AAE0BD194859EFE1E47CB96863F993452683E9650A70EE4AF1268
+E0CEC0242B146EDE3E35581B6CDC4F834983619DA75D1EC2758B4C96A9BA1311
+20482940818B0D397096914936737AFE3503D0C829E58501E963C36F9250A8F6
+9D6A07C8BFD116D610ABEAF9DB1E7CBE4B456B9D4D77480CFA94618B7CBCC2B4
+490D492D6121112EEED3ED9A7B23CF1B3C9323BB4C301F5CC2EF52D3E8CDEE14
+47891C633E6D4A280FABA68259C0097AEF40779D73960D17A7544ABA1FCB7770
+182671227803551668526B32FD1CCF9B3091D23EEFDD2D904F00F634999DAAD1
+B8FF8C24D40E93E315D4AEDE671A0F64F668CBD5C441C1C9EFDB4A6B7049BA40
+40C40C1F84F08DDC350C1E8202B85A2EDE66A187E4B3773C84A1BAF071353D41
+34C9CA5042674F87BE37F0E325A4D710D342B8DDF1DC13F8C857CC6EEFE6F446
+B46C8B9F100AB40C98AD5BD5B7D0335CD83EAC679E63AA5D4B480C362F11FEF9
+68092E92C987D4268524947A4F889D6C84EB73C66AD0CA74837CF9239FBA7365
+5AD74990C2767CE8B70216B5D7AC59ECFA9C78807FBD38821516F1B55AD128DA
+1B0425B8FC8ABA7E6E79FB3BFFC73182F0C86241CA63F547AE17F41DCF6C72CE
+0B5FE6C939AD52C54BDEB5DDE25A4D480CB2E33A6BC7868977F28123A5157CE0
+F8B07D333CD1E50E0778E5E6525FDEC736A7F0D5B491A014711A75A41F26EF6D
+93FE711727782735C903732BE6E2904FC0848E5322B3E9599A964853D0BC6F55
+B7EFD19014A30005C379AB3B12461F3D3784988AEBC097481C62939402DFFFFD
+53844B1709E05BBBB66F818B340DE459D722B4D64D9B68F989AB52A0859D1CF1
+E40FDAC60872408BB85EF20E060B18F92C2FE44E48EB5856DD8BB90B80B8CBC8
+BFC8D20058EA793D456B133E2033B19EB5A416E1AFD68656CA16CBEBF4A53096
+38EAE65C78D82700DB5EEB0EA015F0057697E55D11463A401397C191FF3A6DA9
+07C1ABB91133CCD457F7C7DA6DFF807A338BCC157DE074AAA49CE0BFE1B802D9
+EE2DAA8954D1500E592684FF70C72AE469EF3E5B4E291B537D8A2C4BF3670CE0
+BCA853EDC8FEA15B8ED9E618EE2EF1BC9465D49E0D9D087D4D9C1FED5481A7E5
+A3B73EB53C63B072B2A62D0C5A8B21C7AFF5CBC1706BE9062C091E31061DBCAE
+176B9E25F82517E5B55FD224CF76AC5D491F7A703A92A9C1C274EF00561505B5
+C3D6634E0FD3C563CF209F9513F2CD7816420185896ED816FA428A10EB1489E5
+1C16C6DD84C17083817201B88ED34C8F20DE311439430D049C4846269EABF339
+EC446E0CC2395D63B59CE2A6A671A536A3D366920081D55200A2B3E03967F5E0
+F4DC15D0868E5B62BB445BFBA8FE30DF922DB455ECBFC3DE9FF83086173FA2A5
+F97E09A5E04A8DE069978D07DF970DA263C82429343DB5B4DCE60CB9C638ECA3
+596D9F51CB37EA1715DB55F38A05185758B9502F36795DC9C061C19F055BC01A
+1339C8870998C98E4177431B67C74407044C4E041C706E0277B836809363B455
+5640A95A165B9FCEE97FE0834FA0229C26FB4B0FD6C903C23404D0EFBF3FB9EC
+8F92DC97ECC69B7DCCE85D5C6D24A580463BCC5497D30B76E544517DF84E28B6
+024DE6601977B81C88B764AF11AB9829C5CFF3D272B1EDFDB589EA14CECBFDE8
+C5CE0C01F61135B7332A010AFDA18EB5894CFBDC1BD88F33B253D540F02B2C16
+89168DB0FD591E0B2F9308DC21237901B2047EA8ED57B65785EBB51C118C1394
+79883A9ACD6E1EF322638D0427F93C8330D919F736979A67B3C30CFE7A2187D8
+7A9704E327B1FDAEE6E67014D68DC312E02F9B9CD6020E991A5CC5CF631DA1E9
+3884D75C5A7269D4269B75B57F8C6119F6686A5C91D94D71AA08B1B4E5DD9471
+8EC0F35F8865704656431AD79FAE61DF5A2A8E4D343E13338860F3D7616B7B60
+50BBCAEBCFEEA7ED234DEF8EA7CE794093FEF3E38E152CFAE7339E32BB1957A1
+D4F3FA6F8C586F2F0C1F87B790F40E0DD518CDFAAC1164E3FCB2A495E6E7F955
+89ABC6AF4A46D99BFB5BF646420B0DE04A3B46CA9C37F6328CD259A2FF3CB3B4
+8684077ABFBE04C126E1191298FE364FD2D13A6CA1A9A5D438E4F533D847FAAB
+08AA2CC74E023781654357CFA35DE9FB1A9D997439C8CD63704A04103E8500FF
+AABD9ECF4B6423B61FAB2C0D1844C5CE958546811D2D179B8AF68AE28FACCE36
+BB334B5F88A545E26BD84AFD889D21755091C250388B35446849BFCC89070D46
+D6421A2E4105945943548DC9F1BB99C615BA21531AFC874EECFBA16E19ABFCB0
+F430B63F190A63B584553D6A45ADD9DB7D6368BF4B137761C93ED1465200C89D
+4B93B4EF21E1727EA12107355C23302632BCE8309A8D22BB6C0049B234450AE3
+EEF3818002958980452BD3EDE3BEB1EF03A6B9AE5756B08B3CFC377370BADF78
+8582A5652D79270050828603E1B49968C6B81B62B32524CF542EE045F18D63B4
+0FD2580CF1678A5412548F5FEFA29FC896EDB2E51B6D2FB18E6C585E5E884D53
+4D2DCBC05C9B1125999B16D5D46181410FA8C82465E0573331196020C65D6758
+335DA5EF092E55C1AB65DFFEA1FFE8EEE916F2B68BA99594E1E38A7FDB1B6EA2
+DC8C8AB55AF8CDC5AF93D6940C57AFB1FBCE15EB5C5DB76F8A151986B866D616
+A5CB0223521D909B24DCA91A7AFC341082420E13808153D3965A7AE23EF998F7
+2C9A9B2E204E6C0BE8B00338504F56727DCF39AC4DF3CFF73C9D709C9D19726D
+033C3D10374D0C7C3CC783F63A56D6E4EB10FEFE62A996D515EC9041D02123EB
+3B977486CFA2CC086F7945609028C12D52C30A2ECA97D94D91AA31F0AB799ED6
+BA08675206E108AF1C166ED31524D77337FA50EAC805AC2D99CE4438E6657A21
+DB7C5AB9EB4901D99127BE024ABB20C5220EAE09B26467E2D5ECFD8BB1301F03
+9903D0BEF297F12A23F645A5FF3CDF5EF246C7546100B31002953CC15DA2B6C9
+076DF8A38D9645D3975C34D12903249E5156F0E000B8C4EA9598D5CE0FC06AC0
+53347651F29006038821194D1EF37AA669339AD0E592DDCF8D9F63CDCA592C81
+883F9841F4EF63A968F7759742579A36564834A4E7DD058A4FC06225B840DDED
+13E60DA09D38CAAF7094E5E332C49FD9E666F6158AD665F0E1D4367DEFA87BE9
+43A668F2F4582A67E732B4CE06979D3F53E15145F6C7B631E63D9350F1E5674A
+F39EA96612AF34AAC5D099D4B6556B50ADB545CCE4354CA5BE2A297EC1E34F56
+EE69B3784B43F131E4041C9F2AB00303C3FCD5F0F8F4E2EE9CD9DC086200F4F8
+8A87186DD3B79BF777286C276641D7FF9009A2142FF755B192BF9C4FEBACE5EA
+4A27BAB8094774C400FD33AC0A92EC3A711A116CA122F13DCA28F9F6CA401DEA
+37716E92DA444D40B0FBE41128040F5D9C99CA258AFC1D10441F46A503DE815B
+BB2A597CA52AD24190BD598DEDBF607F9B86515697B10F75157EC62741C31665
+E3FFBF40940CC333659F22D7D3A80621FEEB0DCD339B1FB9F4C0999590A41AD7
+518101D804207E7A07DC4E2F8AC5ED2FDA01637CE11F60E2CC22014B6E64F099
+74ED6BE1DDF33428FC5977A50F192AF5F2999B921E20501607EBB365753548B1
+4CF115E2E7F9086E47B56F34A51F53F1ED
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.1: CMSY10 1.0
+%%CreationDate: 1991 Aug 15 07:20:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSY10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 15 /bullet put
+readonly def
+/FontBBox{-29 -960 1116 775}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
+7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
+A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
+E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
+221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
+27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
+5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
+0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
+DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
+71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
+4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
+515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609
+C627A8BECD6E1FA14A3B02476E90AAD8B4700C400380BC9AFFBF7847EB28661B
+9DC3AA0F44C533F2E07DCC4DE19D367BF223E33DC321D0247A0E6EF6ABC8FA52
+15AE044094EF678A8726CD7C011F02BFF8AB6EAEEE391AD837120823BED0B5D8
+F8B15245377871A64F78378BB4330149D6941F7A86FBFFC49B93C94155F5FA7D
+F22E7214511C0A92693F4CDBF38411651540572F2DD70D924AE0F18E1CD581F3
+C871399127FF5D07A868885B5FF7CDEB50B8323B2533DEF8DC973B1AE84FA0A2
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.1: CMBX12 1.0
+%%CreationDate: 1991 Aug 20 16:34:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 65 /A put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 71 /G put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 120 /x put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
+7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
+20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
+B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
+68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
+D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
+26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
+F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
+77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
+BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
+C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
+30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
+148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
+E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7B00AD58FAF645
+1297991B5D01701E82228D0313FC7C66B263BC79ACDDF9AAC48A3CBF42B96E38
+583E1D059953076D68148DC8B6C9527B3A74CE7DEF788A11531F44120BDF0F61
+0B2F3ED94EEBCDE4ACD23834C242AA4314B9EF98E4BE72DB76EBDD0A028CEA9D
+B4C38C1F2D24B8FDE686832FE96204552C820E45B6BAF0C3308742AE2E03218F
+D1FBD73FA776E257C13AE8E592F7167AC957CE0A64DE81273E0C4492E02C45E7
+DA915CDBAB1CB1B3604C7828CB0CFD4F3E7B525EF5BBD4C99D8CAC485C56081C
+4F14E27DD44C72777AB481BBAD9355F5952144E959AE6C15DCA8406EA14AAC75
+2A8D607F0140DA31B645D9514FBF0409FADF85DF37B02C0F8BEB4B41A900BA7D
+98F84BBA101B38EF44072A53A8DC4E86AACC20855551292825AB73D5A605C335
+6C50E8D9D6D5589B8E5BCABF660BE1F9E2B25981FFA3B64426445C1DD407C126
+069D1F8A31455DF8CB5F1239785BA463E1DBA92AE81FCD0741B8C592A51DC137
+328580B7D8E7B9E097ADF9D48ABF0737595627610685B9125502A33F4ADDB177
+CABB9CB161969535E4281CD3F963A25604C29818D2BD35172C22A9044CB3B9E2
+C5DCEA9591E6ACDAC7531DA78DD11B3907638702D770B5D05AF44751A52C6CB9
+6A20D63FE74B9D5784EC3CBC6D856D366AA71CD83B947DDBF1C67BF6257E2124
+04DBF3FED2F6156C0A96D0D833A9A474B6334682CEF88503ACFB6C3A92FD326F
+383931E04E285B6406797185FC551FC94B29C5AE791234998C89A2197500D5E2
+F8CABB4CB16DDD720DEA26A72DC170BF5BD70A0A76E503D96478C35E9A7FECD3
+F08FE5D49CDE67106DD656313EAAF6FC22E2FAEC103199A761A6DF15B7E5717A
+CEC66D8E4B0A3E17E34EBC7C6907BA9A4EFD828D61195295C805FDF8BB820442
+7BCF4B548F09875CF2ECCE6BBC1A8B5E11B79453C6E0E595D21C5766896AF66E
+BD5DB066BEAA86DCBC6DCF8F125C16D4342C874CF2786BECE6273CDDBD7C5C30
+F50A44F597B788A47C1C1C9C1F6F57F718222E5A81546D7B3516F123B5B45457
+D2CC1D6B69EE0D7459A95B96351D6399F9D6F9F20A2A37989C639C1051C44480
+25B0349697392CB0CDE9D8393F4BD06D57DC0C49978B132F3E9E04BC0631FCDD
+FB2499EF53D7A84754B3ED08087AE62F4CABF923381ABE04204CF266C51D9A58
+A7F20898C8C563F6CA61FC82BD7ABB29FD8574402AC68BA4E10B1D4EBFDBBCF0
+D70F9E8A9B6D71762B7A94203EDCB9D7D914B550330F70CE022429AE06BF4638
+5E74C05BD4282CE2F01A350EA22CC2045F6A41ABC5844352E3E83236A51F3250
+33109126CC6022BCBB48E4A8D51D4D5CCFFE45642B4BB1BA8861BC052299C283
+C016DC15CE04773810ED40053617EEA6BBE379B90E675144919D56B4687D13CA
+0A0F7849696C6CAFB20F6421F03645F5E8D0B667672A56C6ECE7A4E74A1D9B99
+01AF1FF7272EAD2D16C8B827ECA05871F066507AE94A9861A5C55B23D31F20C0
+13E3819427767105BA971D57EF4BDE96DD56BE7350552209D5BD5B4E4B269C31
+6D81A89477F287CD584531551E9B8D1FA0F8AA7249704FB5BBAEF8434F03D49B
+2F51840447B74F65867980BD7EB9FEF2299A354763D566347EB6F4F8BD9BF98C
+DDEF406D7C6B8696DFC81F7319E64F848DE6BDAE294A5B7875FCA9A10FA62203
+1F4C281BE1C1306A472AD0C8173F7D4972F8F31DC31E13C592C7768AD2CC999D
+54AA69800E2DD016702FB5EFAE6377FC303A2C947D8A4DA71EAE9CE7D6B7D28D
+2EBFF86E59ABB9BA8A3E19ADD4B590B8C18BE4FA931D2998DB030A24F0825F90
+C0E81BB5E6FC94078204AF5A0E5E4C0ABE29A6284E9C1975878040D1BDD5E78B
+4B22268EDF8C1E7FFEC116AF536C769E4C22E8A8A0897E343FE147D83A3CB540
+49E0423E5F7764D62C437A2F27246177F9932A0B39DAA954DD9664649C5838B6
+6AD69111EB7576B68B367401BDA020E01832DBDDD7C1ED8FB42484B25FDCED83
+5832900B8E7B414573E49D93C290C9A4D9841CC45ACF8AE4494115EBC1233580
+02DF929FBAC4D799D83E3B8E1D4F99A815F4EF6E1C149DDDC0D1344F696E55B0
+E7A71702E7F0B691486C0A3E605C3B5E9E793C138F67DEFE329253507A038EE7
+4B41717FFFA1EC7A3F08E8952F5FA7A6F1EFABC12978F89C5C27113B61A63B70
+FF09CCF39DBAFEF07891FA5B0A4169C2BE6BFEF6E33F417E8E93AF443D3A98B6
+8983053F9108A266C4ADFBA2CF58CA4F18568876ADDD347102C971B3D9AE3BC9
+1F6E9190C83622B2B617CB3848359F66459C4CE2B592BCEC2379948FB7072DFE
+FF12F35C1CA44FB42471067AFB1348ACB5EFC53BE2D178AD98C19B1ABFC82261
+55199EDF819D6DCD3039A06042B08ED04444890F9881ADDE8AEC63E44CD60339
+B32BA295041C610382C30D48F44C58961EA4EB78A4E6006D019D288C78E53B3C
+1EFD0ACAE23A191088B575B31F173804DDE62FA57E3AC8E735ECD8E825EA5439
+58FA2D539D3299B72D54283FD35AEFE3A7684A322FB59A6E2CE290B52DBAFFD1
+A6507F2D1B77964B204C4DE65C2FC0B56675953C7CCDB781CAEBB8FCB0CCE665
+A4A5356BAFB45C85251468AC5A849F80CE6817F8E54C7D9A5D37077A6F3C882E
+0ABFD138E428AF836F46053BA580BC9DA3DBB59D4347C6AC0F647A3B2DAA6D64
+D908EDE41A104221AC6868DDF215B0BE2AD0FA23D4384A096E52FBC77893CC1B
+F0DBBB74456D2A2CEADD7D2C15B67C9E8E2A0BFF58138A19DE93AF4360135329
+0350625CCB5087F6251E5D6026A3BF4B66CEC687EB92880EA06D6FF07E092B99
+A956FD6547ED2723951C059255C6A7DE6C3B04E4DCF4C3ACA3090C593F23508D
+832D3FEB1952022EC3AD8599FAE05DD1D04757E4EF9182AEC655908BA65CA4B9
+C7469AAFE0666F50E2C12C92B38FB3B96EE6BD3CD544DE71D777B3DAF4C41901
+A00188AE55925FB556B5879A99BC8FE5F4160789DC81A673AB4D1EA44A152A54
+833BCF7DA2EDBAD60936A0AEB95AB9ABCB99A631B22ABDA9DD1F3887D7BC9A27
+8E9076F7A5B497B21633293D17324DF57D942611D3C14B16717467A46930452B
+43E0F1B4D852FE449AE78DEF75F0F2492A0BEB843E4FA7BCED98373B60F6836A
+260E6EE7279BEDC8A06DEF9DAA85B68E973437395A129AA21714CEAF3D8D7495
+805B7894DA3722FC8725A73C8ED3E944D181A0A4BB139163C7EB52423561C23B
+246313566BE9C0A10C5D224EBB5C059036F223D2AD876728E6E97E21075B997A
+66B81E30A194F833158E1BEEA85D3BAFF0184B211B282D1C41FAE75BF1018DAF
+F04F5488A36C3C5E9A2BD0C014E63D083E8D67E5930B4FEAA2884B667CEFF2B4
+7842F46D21384851C234758ABF1E16C006BB5FDC4E47659332FD3334B893838D
+E7CF74098056449B5E4497A7863C8A5AE04D438679CDC969EE8CD5D9C8B3CFA1
+C0D839BA049EDF1DE2B3B84FD745C3ABF9B97962881BFC1A26CB2FB3BC9EFD0C
+276E5E4B9AF14816B2F956DCD345223C1CC6C7EADC0A0DEE7CF39CFB9BC99E3B
+7185A9A23B3BDF2F8C76291AF09F2CB32F9CCE9283744968421066FF8E6E016B
+D201E9699337B9B7FFB8779C0D1B39141EC819010BB85E21C5389FDA571D0574
+A95469B2453E03F19178FD505896314F4FBF6EB25FB217A6E72908055A1AFD83
+4882BCF7504B429886BFBA89FF69642BEE40F139FF95B5D6F187FE9E85A8AF7C
+AA46766813E3094DE8B05FB69B85A817F7AA397839D951CED82A01992336D7FF
+D18F2BF0B652C0AD45EB0CF5A167D8B04CA8BCE7A579D2C41CCF495EB10559B2
+1DC1522E227850725BDDE0D7CC5C4782218865625F1E74892837874E4EA3D654
+45A115D129B4753BAA43F37B5B5937684A454F8ED536D637BA5950D74BECB9F1
+71C3BC5327C3F322692F16774B36C37F6D22109F0B60955AE455197908EF244B
+FA907926C85BF42040CCA53D9F4352DE14DA71223822AED1F9A90A9B40656DAF
+D10BB6C939EB45032364FBDBF9F8C8CEE91F3BAA30F5FF978B031621730A0FC0
+75AB3BAA9F2C3A584BC01F4F9E7000C3C9FF5A0F353DDE890E03959B5C0DC8DC
+570983598691770197973CD43DEDD7D13ECE1AE6DFBB554B139ACC4A5D01F6CD
+EBF15181EC3D3F0D54C6988E79213B32BBA1BD8596027B72A8D5911B83B1043B
+BFB2FBCFE8F591BB3BEB0FBE0A39B7A88257E598FFAFD97837E16FC8162F653D
+53768833844BD7CE3B3C51E7C9301173EE092B09AEA3169A14AA01C19BD32BB7
+61FE5D878ABEAF9893CB043C3DB4FE103739BED23B688B20515EC60DEAD17910
+AB3E9F949D2E5964882B5B10E6A9CDA13034EEC9C05C354CA2AE783855D9CB13
+79C4270847E736F5582245D8FD1B9410AD89FF57AB89F26AC9E8FC3CD7D1D0FF
+5D164F54C465A72E55D58D3E761AD12D51C87E2967FE2998E95DF4E3B1D82784
+F59530432701CFDBBE6491F976BE63FC73AC27EBDAFF496542B9CBF51F113D06
+CC00C8F67CEA5FADA6340A3D052668E851BCC66CA5C2F420568B81FF1AE2628C
+19F47440FE2557D6A789DEAE4C73C38918EE62D7A58054EB9952E2B4B8851D3D
+665A8B133A4E185FC622D4C23978FEFEFD4A719A0C045BE7F73D6A817A9F54C9
+7D50715C67F7926F3F5630148DE144FD1016FECFB7F4C06AD433D4BB9C726BD2
+7B25BE0B1B1AB4FFC5FBA3863BE4B665270776D53F221CC3012A87CCBFC46186
+E2216AC623337D0E27D3A873DA40CBB7FF3C1E8B67A1DF6C8684ABD43ADAA3F3
+8010D0ABD67EAEBF5E226774493376A5A4346EF4DD7DA01E9FA3FDDCAA922899
+6EE155C5A927A2C718012FAFE57B6EDA37FDBB0F810F6608E34B324B2E5D1C29
+02704C612E7470A253FA3138C992748F4E42EAD79132C5D213E952077FEE0A88
+4BC9F8BF009192E845DD4DB1315E944FDAF71CFA7A1450E42ED14A845D78BC73
+DC6660EC29BE2120C2CB367DA4AAC0E9B6D4D4B92E05C6AB743BA5ADCA509D14
+6DBDE7715EDCAA1D1420BCFBD684A4915CA82099CE6F5DAB44C8ADF9FCF9A060
+8FC40E9A82C0302BCE230CB22D82E217760D55A27CA40C58C025DF4CC1D9E5DE
+08A482FA7FE867F30F9FFCCBE7EFC36D0E2A995F8C6339FCB532F69DA58D8EFE
+657465E914C702779B626C36EEDC5A34FD32B8740235B57B6B0DEE2E3E2848DE
+078C425A78EB0F4AF4F0BC1113FFF1999B361A00637614349E23782A7D9CF57D
+C57C54985B7B782814689FA04B39DD9F5CDDFCD96D9B4DAED6036E6FF95209A3
+87B136032CAF463729DDBCF736F496B38C4CB6E701776DFAEDE48A31CF082938
+295CC90D8D862F6E1A561DF0689D1018E4D84754A840049BC462D52D7E66A0CD
+538DFBBFFDC37C32BB08725C8C00D2E10C8614638C7EEEBAB209C8868023BF3C
+8001E9166209F0259F2F964B86C635098FC987E241568E09971FC44F62F1B81E
+AC9F3656CBCAD6F929FB62062491BBA650B45D606743B92919C284BE52D8BD46
+1ADC9E4089752F7BC66A06743675B4BBBE2CDCD6DA08E3871FE16321E067A881
+DA3E9ACAB6767426BE9BFE7463C4E22F05A7F5F5A037C822711958CC5167411C
+E28BBF5CEE22DF1B41FEADA4F7BF0200E605C3FA51676BB1275E32A253F34F4B
+44CAA1EF8D26C49617536C25CDACF169EF87F1A0A491FD8118EB4DB0A6809181
+CF887941AB9B21AFDE0092AD49E7526E01BB90A59D85F0AC08E72C92123B05FF
+8B94D1A63CDB90701BE7823AA0B21B622618739FDAE5066FB2692BEB1E9D9946
+CD2B3D842BF7C012F095A6F683F9D3F6A3CA0ED35AB4650BDF3D44D94EEA5FAB
+648DD9B8324C2DAAF1D100499805BDC66497D44964FFBB311EC47B623B058709
+7727F06C1467AC260960B41EDE61C074D4A4A03D2B9B42E9D7DD4AFBA121D3A5
+140D2EDF369CD59273FDE0BBCA0BFECB7561F59FF1C444D69278AB164C699E9F
+8C544F9DD97AAAE90AF1B55B38CEEA1E57DC9A40921AFED1F5B9EC874CB0DB8F
+2C32DEBDEACAA05A465BD16CD30964E7B74A1B97E387467585AF5E8C93262D54
+1C42D2FABBA1BD4E341D899D4B95008BE831209B86CF848338C071D44AA36411
+F8184B65F5171C2CAADC46F6FCD7E1AE56B4B4C29043C0FF2998E5B704C7AD44
+B533E76D8A36463B13F8E23C0FB7F1925ED2AA3FB6B9E37C544F6149CAF7DE28
+0A1C6F605489DE91F4594F785E2C3C38E1A214D3DF66341EF1813F42D83A7C40
+92C8B8CD29ACAB9A5B102333C65F09F672C407BF119FFD34C7E9C8E4AAF63811
+7E13D9CFCCD65490DC433D3D75252539E799DAEB71FE0C5DACB9E06966318593
+52C995027950AC1A273DC4C097AA65C783391559661EF66294A51067CB68ABF2
+18E7A068DA6D67AD0392596A10C13F8135F5B197DC5D85DC5D7F376BA954EBBB
+5B08D1D43FD6BCD32DAAE14F12001DD35DAB318AA252FC99332081821F48E494
+0570E7D1076E7C27DF29D684D7D8F61DDBBEBF138177ED20F40FE68DFDEB382D
+A5511FA980BA7192CB67573E5F9649A3BF9304FE8BF46DEBAC4A81DA1E3287E0
+1FD5CE22BD1BE7E5BC2D4755FE929CFC83414B6668C98056B1B6648858945C3F
+E0F67A827D3C27C1BE54A5AFD9A890D139CDF381CDC020DA73CBF69DE7F66E8D
+2E14A3CE69D3C83E2CDFFC05AE6764C39D162CF0C303AD931FAAFDF0D9E3A5AC
+EE8D4979E615FE6597BCE9249D4359DFF5533D448888FF1BC9322C11A0C51425
+E16F32670D48D0CF5B33B00B0E0504C002A40D6B7388C4F08F2AE68FA24EB061
+F9680D5F1D53FF6EF77608626ABAA805E8A177AB00A0B45F0B143ED0108FBE3A
+80601B50211B43467584EF2EE44E5C6801D10D7F21B9D87492D4A3B559CEB364
+B2A2DD8E53FC2B11D1BB860B0C12BFD2AA94A8E2B331D6E4BDDFDD98B9140345
+AC3BB09686710F93B84143C05566C94DB4065107FC135B457AE6DE0959887927
+0A8A4EB0AAD916C1D2E65885419B7B80D2608C9157DA5E92346CC08B6ABFD713
+417B26C52058AAA83CE9266461C8C7C9C64E2C452618A1365D9A9C7DF70F46B8
+CC3FF2E35EE2B7CDE73D387231F1A4071D82A47C4B72B9F4982B62EC02BC26A4
+6F1BB23E4CC157B89BF687DD7C884569EBE64FDD89CC273D1DDBA4920E10F9D4
+AA587B3BE59BE11A56DFA4D0C3A0B71E060F27C2511FAC693CC6190874F9DB55
+42D0F9BB3F1811D6D116E10707943D9E01F9AA02AB82634A47BE76E9074A5E2D
+40584F8BF2570CF2E6A09BC377D668DAF5B9D485E19476F09D636F122AC09503
+3765785B4D9793D21B50459E242D268F1A8B80B1D34C1DA5E7F8B05676A0123C
+C9692D1007D39709937B6FB7889CDB5392FCE452E43F9A1EF57B88F381352148
+14E9A2513133B401068F9915926BF7AC51919E88EA7F704B8DB55091B41ED298
+2ABD7781B5D57818C080BA49BBC0F7C8CF3A192D72F2B190B062F8CED619CAA0
+B4865E31F62D8EC56673860F81E313BD1948147A7F6E995A75CB28D4E0552B87
+55EEC62AE5C9FAE3533AA0E8B96BCB76A8E3E15F2F12E9AD6AFB64093A50FF0C
+98E70CE56B42B5A3073608E933FE9D1EAFD5D1166913F874B1E7FD3BE6FC3114
+4E79906F89BEC10335B2D5CB87D9432624D4BA2BC3C0E1E6C4FB456E69FE4546
+9E9609A989F2A4CDC9A91877FA7818AAC8DB4F087D56876EB2C8E4E7EE9A9CF8
+15F0DBD4A8A71904D25B8C015BE299ECA2045613DD0C54F8173FEEA38F2C1CFE
+30C60F83FDFF866001347BB1861EEE72620ED0F8A8D1AE60080E4FF246C14819
+7F84845117657D5D403257FAAB31750D7D65EBD15EF09861CBC04F13FAE2019A
+9BD4C929E68C1EBBA6FE702B748B00DAA6BE91B7223D8DB1E5C642F2BBFEE372
+E5D818555338EE46502ECDA319433BBE94DF3F0C6AEADC2FF9186B0CAE4DC27B
+46B2C3A37D00C0725AF301F13BCF4B5B8AF453308F0B55D9E435138C6099B6CC
+2376D5480EA5B556425318F1FBA267DB3988C2D0DEF86F10DF8256FC0148CB09
+87D0FD9D13A82B2BC328B7F7CC7CA783F97AE3FA36B6DB42D3EF416D1535BB8C
+560906B44EDE2EA50A0351597C2A8489E43467B8436B35B2EDF91A5C572F0232
+5F20658D1B3150628A182081CA69BF0D751EB13D33F585E1BE39B6E5AE4F1062
+7B9D6D9530CE4A37400D90B000FAEC76076D989E2A83B95719F529DE0D2D2D4F
+48C9BB0C2C93CADF703326254312067792D537C4C79D7A1BCCB92229FE5BAB11
+C456FAA4626EC3861BE859A906258930A80255B3D08E5F9E4E86385C00C5C5A2
+F47CC82E7636F29737A12F8FF140D04A5A86F02F906A1AD1DC898614D3E817DF
+F29267010B7CEA70B1CD1D943E9B5AE2D5A48BE6689FB749343C4285B43BB2B0
+8B3FC1CC66A8AA7B23D90CE25279DE770224A3A165798A6B78174B90F05775D5
+BF1CC83DEB893E605542AC28D0763DF8B4BD23F7EABB4BD0DFF00DD499A89949
+7106804A4F82B49DD596C761F227DDE94405B674462CB665EAD6D97FB5DA5702
+979377470BE9AB10BC585E48A843B553A28E6BB249B7872324B870945FA1CAC6
+5D45A4D5BB8079CB19A98B91DBACAC73955D0BA8604C224942869DDEB7082F78
+CE525AB4C9F13BFA6A03D9B68C7B93C3B880EFC2AE2F7CA6CBDA2D14965293C9
+52AB492F6AD0860E2AFB95BEB49D72F6A012E7BB823F757245770FB437948D31
+9C870466A76F7B3A64B35254A1E204AC01A7E95B9474A910885D934B82D46A25
+94ECAA08EAB7A9BD981B497D330F065A8F32ED38CEE49CC553C0A01B296E756C
+9A73D70DA5E667EDBBE4A4854F05D48B76F06FA820EB4E7CB78856EA24F42DE1
+3F5FFCEC0EFF1845F72E2A9BCDEE2591826EFB765DD110855A0CAEF92C10C539
+ED4758A298F222ADED706BF6A7C91C44E314419F7EC4CFF3C3F230E6161EC992
+B0EAACD7BBD525AE205F87770EC29523C4350BE005FE17BC74F2D77EE0639060
+C2849112DF47B0D9978BFA214AF0DA01E60BF4B773DBD3BB38454C183C9DF5CE
+D25BD3A7EA206C05BC996CA11D7181D67AFEC635BF3341FB045FC02A4FB98D10
+DE4676615FF144B5BBC1044313E14AB345C753AB2123C93F8222AC713DD22F7A
+8E1B8EFBDB3007BE5B70EAFF2499C3F1D9E6CF51176B1FFBA9872B272610D5B6
+31724240D239EEA920506B99B971B047C824404E0D997F1FCF97D0F43010E762
+6BC2A96AE37228029A7507E37BE422C0DC325FE65DE05711C3F5F67EC2CA801E
+CAFDCEFA5EAD55A2BE9E8A9CCECC48C77B48BE0AEA09A3252D68899E057835E3
+EF47D31258AB9C120853DCD0094FEDFFEBF389BD4691E09CF1F14DE9F589290E
+51AA0468A61DA947C4005B49F959DE57AD89B85EBDF5FAB9219E7EB073EBB7BA
+572272D35AB8ADE64CA21B856D46073F03676A59E85A07139A0104B70F4DA3D3
+27276A84D3FCF2F02E1E8A580D1F9C20B51CF84389CFA474AE42490B0746754E
+1FF5BB0542FABE64AE8CBEBA0A2976CD88D210FA818B8A6C16AAD774D4FDB8F2
+2919FBD70473198A0F9EAA336E9942F854D2565B9F06918D2608A41B18232B45
+2EBDEF411ECF115E893F4CB1681A151960B7BB1B6231BAEDC8679BFA87B56C47
+78A5030C697DEB344B7455AA538DAD6C50F51A5D87324AC2F1B0A49586444767
+781FB7B912531461ED01518BAF23B61E7457BED5C8B564191542F3965B04A06C
+8C6A8690AF59E3CE0040DBD54DCB0D330816DCE29F245773339B8B1EEE7787D1
+44713316D303CCE52EF07CF81ECC4AD87E41F99373197835A3EA5CE46D522477
+9908FC3CD8B0DED0583DD8EE6E6B2314DFBCC27B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 57 /nine put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 89 /Y put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
+1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
+757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
+0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
+6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
+E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
+61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
+92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
+EEAF70E3B20C64D4C2B34A084B5770BAB2A974E898F62BFE90F132A37E2DCA4F
+43E13DB13C94DFA8ECE2B7374827AE168634FA007F8981ADA046CED3448BF453
+FCD9A4F194FA648F9FC0971734BB69CB73439CB0DD021D44A7C11BF295E81733
+4DFBA460FF3D654F9FB337E99E6D66FBA87A817EB9CA1536C84833870E3626DA
+55D48DE850D3E6F6B29DA0E7C9D681283586F208DB8D58042E3A7CE55BE84822
+C98237911453E479EAB65AFEBA3F61A763B40E74535BE56C9D8D06DDF9441741
+5C9D9D917439368736619717FAB4F06E2C329AE0BA411F3FD522D9C33AD8369B
+D7DCC9DF993778482F35F965973DE876FA19E109AA198A00658AB3F0D8E3DDD1
+08A573F2D525202EDF2C3F52D34947E0964D0E8E89F6043C0D2C9C394D2615D3
+5E1E123BD76D4E60AC8600305C844091278B74194D938A402F66FCF1A12B17FB
+64C1F829392A4308CA536545C02DD6D3F4EAA9260F62719F5051781F56C6C079
+9FC3AFAF5E973ED7F059ADB6655BEF2710A5A8CDC905404F26C04988D38198AD
+377F5FD879E3F511D5BBA61EF3A7313971AA8878E61C6176FEC09C92CAB6B6F7
+9D4494A95C08CC426800B049B12EA5EB668D4E321590DC69C752CFC0EBB51703
+430B1D30B335F948102D4761972FCBD77119425F375565923E68A114C25D3B5B
+4D020F90F467614A113E3F11BB1215EA2DFFE4D82E847DC7161B360AAAFB09D6
+0C505E24D1FB30F9831F1A0ABA3EC1427D7C4310523B30CCA64668329ADDD369
+BC652849083A43B1AB78567467BD8E6F9BE7BE71C0A01AC7994C36B9EAEDEA11
+15846E0E91F5207ACED1EA72EB570656B95F323B984C36A7ECA589A25CD8977E
+083D56E26973779B1EC4B757074564193231D967A978433C254A96AF9565FC1B
+E303AB1147403E4F7F86400F9913449F59ED573A530FEAD1E8834CE2899664CA
+7DAF1E1C2FAB4698E28B99F81ABDAB12E119A76AF48619DC24CB9A1A8115CF0D
+D497388553FFF051890ACEC249A364C1936C2084A70A7FFA1E46552280182DA3
+AC45F303AC495C5D85F5543B1C872FE9AA515F68E3BF50747FCCBCF1C50AAC34
+DF6C7894EC4EDB18254EE7C5039D50F5FB9B42ACAD360EA047823B7D485FA95A
+82026B58FFADFF4D4B38B1893A855B4C764552FD199CC9AD11D7A028140C77DF
+43E91706ADA1B5B7C7B719C10C5A1B5B3D52CA5666CB67B37870A6C57B2D52DF
+0E0EA39BE95F3440352F7D9A1C3E6D85E03E615A60A0C94B72B75EF14ABAEBF7
+7BECCFD65464C0535E8BA881654D023C202FE24769259E20C2DF579A8C1E5ABC
+2BC115941504778CE68399E218BDFBFE6A02944BE236A3C3B522C0CC6CBB15DA
+7FF83A5661CD26A842641D5B25876D32D2C06115DE320EC6E61FBB7439955833
+604D82E1ED89105807B9C3C17866226360EF6ADB7E7DEAAC7FDBDFDD7F14F423
+34BBA62DF1CE26C2D12814E330DFFEAAF4075574C306FDB236068AD315CE0741
+BBE9C2A588E57146BF9081C556AE1C803E7EF02287489432B3EC3376BD946A16
+9EE9ED30B223DCAA5E41F4D0D2DF54F51A18A46DC882D3F0685819E0A923F2EB
+AD5EACD7ACEFF738DDF2C69A774CFA497C0342F74E34E3AA12EC97692223965A
+B566F1C1DC629B4BEA682A9A62DD3400349AC6A08A9A85773267A17945C07758
+906A2718F530D6963BA2AD50514EA2968E2B1E1529477DBBF9D7E013220C3427
+A6169C8ADE30FDF4A1C881C37FD2C11267CEBC306CCAC7C4E357E67B27F77098
+C325A971120C3ED19C28D30548C98A69A949C4EC75D454A205EC904E8D393ECF
+5A96A4E558927840A2525000E4424770D9B8C3F70124C96041E82F0EEF66F9A0
+23BB6EAB38E3D7935C0F1E836F8182FC525C41129A493548CEA9E6550F476746
+473D419BBB710EF961EF827E3C70311BC976019FD45509594A805372D57FCA9A
+57B73AEAD5633FD305C2B2BC952F1FF592E3605FF20871B4C8A2DEF33ADAA91A
+0D6035D8350AF9071FF8F71F9BE291FEF13692F2281AF533AEC6D7F05A1CA1F6
+CD0177E68C220D3CFDCEC5D196EB0CF334AF04EBF902A491D5075C553C74BC8D
+E99B4A5631068EA237A311C09A5286386B4C41264E6F295227FFBB796EC4B8BE
+01A6D6B1D797CECCBCDE5F18210C6CCE426A13F4316D317DD427C7D7C2EC2966
+CD6D3B2AD989CC3D74A727A9A6E1CAA7CF95C3EB6B247AFAFEC59389964CBF7B
+6FAB84821FD1DF62817CBE24307242AEAF0252EA316CC0F516C4D6F83BBE8998
+EB714C412E47DFBC27243930CB2B4538946C96268E54761CA1488AFCB5585844
+FC460476975C2B31A2C1C87076A6CEA7D7E02B7C753256FFEDCE205BE4E3FF7E
+7499AD82C5BDBE95F2FFA43D45BFB7AA94CE43559B1D9B917082030893FAC3E8
+8A6BF3D8DD6B8EF3A773BE63287908CE8C429CBC50C2122D1B505CE2E8944C8C
+7C4E61E4E483A30C0445856706A20B4D7F4C02E2E4A7A5CF1E4CD5216A376A51
+76230CC41AC5F32AD189E4744E38AA5A93A6BD14D4F0745AF6052B16A33BBA57
+30369AF4FD47C26BBFD4CCEAA42B4EB9ACF34A47E61072215E23CAC5A8B1D8FF
+258A343C1DBF8E38700193A8DAE152AF4F5CA9994600886A3C460DBAA2EA46FA
+2300AD7F68A799D59D6BF481EC566FB71063A2F6D758E76CC07CA434F8444FEF
+58191D0651CBCF803805AE48A442CA880AAAA2E4C398A39CF2D920C770E6EF39
+9C28CC8DA0917506E7AB34C2DECD7D0511F429C6BA42F75DF62093750676AEC4
+F5CA35799ABCC557C5DD1233F50BC4F798056D18A35E394ACCE3391A0FC2004F
+65F157AEB3EDA0BE4B5634650C505A0249B35BC879771647C05BE3AC020D1D26
+E65DD013635CA9229C4C9362D87DCBEA4B88EA12C787DBA00D1B6050FC5A144B
+A6193A6394A654FAB40CC12C216726296FF3659D88EBE18DDD3BB16E6C976BF6
+0F01D9ADB262DAE09AD0822B042A33BB939939361F2D1247E5059766D0FA9104
+37E3183B40926E8C126C1633D71A0A4B2D4B54B2E16263C7418B3BAD891233A6
+978051A886D44343500F07C8BC6EA961E11F2BC449A78C3B5B5587D0197096AC
+FD066733FE869503D662993117CB9A61E60F353901B9AF4EC6A3C7D5B366A0A6
+772DBF8A2579302BF6D1408D0CAC1379DDC0744DCD8BCC01880969FD1869E7FE
+B76AC1475E3452530AB953B3674C5222F9A97A91E5BC5E6CF58E3F5E5E80BF6F
+C085F6A87C6E6FA510ADAF3E60BF2142CDA3C14544D0E3D4A24A975A293C4AEA
+89F0F39F226631E2A00C68748A661BA84651702ED474847F6311BD70FE580530
+28002B2FCD9BCE6E1BB4AEA57FAE770E3A8D80FC8DA4FB93186FA641CD07CDAE
+8C751DCEFD693D67B4D70B30E75B0C632E4D1404FE906053B5EB5619D3F858DC
+8CA13B5B5670DEED71787A81392D2D6FE28C4BC53D8EF7C364D52422D6E495B4
+8A1755E6D02F493C50790D6F23CFFE55303B9239F2445439527E9DD0B6469612
+B496479EFE1D12FEFFFBA7FCAD33F98BED0CF6A58A6BDC7D7E376D57C0C7DAA8
+2D7DBE6C378D0795301032AA3546391F294435EC95C71C735AEF116BE5A9B4C6
+264CBAD7921C28E1FD2F8AC50A490BF357926BFBA67319FD65918E19CE1B8E90
+FDCC36A6D568DC017D580B3A3B7EB545FB57C3EA9FD510028DB58A28EED739A9
+AA0229E8C3C60CB0589D76DE849DCB343D8A73D851784B74AFA1DA04DE613C79
+9C6A15B7DA1028387581B6C796FED3FD340BF81A3BC189A8A9B80E1731D307A1
+74B91B562264AB4456B07972A52905B7E575BC5CADF06FA463019FDB3B943E5B
+940A52D110B090777AC1A303CEF1CFC68883822C50C42160F50ED91DCC1E5978
+0A187A2AD94DCBA34D7481FC0429172B34648037787928770D1EC95C0E0E5AD7
+EE10CD012CE67FE7F9DB921165FE03F9C6C10F307EACC687E33E4E69A67C5220
+C023F8B9F0287282827A38452E1D30D947215F2969289D1DF3C67AED6C8EC488
+2AA9D8C6B49A26BBFACF50E66DC91DE5E59C79852C5247EB2D50D816AE703B54
+D252FB14BD11C750A32A3619E069F62B944584947265CBE922B5BF109BF9BE4F
+981B77EA4CBEB3E27C75CCF73A893ECB44BA310FABBA15C9517325A102E048F6
+E843E601D52F1C64CDF949405EB01A942B6D8AB2BB4396F9D53A27858F9AF4AC
+9D618A8F370C8B87ADAAB6744EB75D83CD1ADD838EF46509FD585FC3B6218C6F
+408194725373A1D95BF2C5068C895EC6A8983C167443B3F0BAA95349A45C9692
+69B662C74B84BB3C0DED37F110788DB3FB2872A961BE39B003D21ED7636E8463
+B81D6E3FD3018A8E7533C9D2E7D535EA1215E6A752C67A9B3F91F007614A8893
+874AD09425C3F12EEAFCCB99E74EFB509736DFA1CFC2DA89D4C27D15EAEFF682
+5023F658BA969E3738EBFD2A5F9CF78ECEEDA79FF9AF6E52C6FD41AE6647585E
+20132F668580B8C1AADCDDFCADDC7DF36610B6982246D36F46073CBEECCC7C6F
+599597F72D2D013F81B2BEF7009682223B0F8008FC3815722ECEC2335144D7C7
+1D8C891B2080E3A3E1D7E2F06207CA05620EDEAEEA71CDD03EE6C78582FC1306
+6B9F74DDC5061963F5C930A855286745DFFFF6D44A747776B3DB55923743CA43
+7F56E25961D5DBFEA6EF9944D694F0B253CD249A805DEA0ED29A6773E4E35C12
+C35CA856CF45B5AD965E8A37820CB9E5EF03972F0CCC5461CC2968940E3AB451
+0B7660EBE794E55F6AF1F4EE7A9D6C4F70A6D4DC66DB29C0C156462F8E4001CB
+5FD2BA4C8A1F86D0AAECE6F1C1300DC41F5EEF36D36875EDAED5C1A1B98C22D0
+F32F3D6DEEA5F122CA9FFC3897A044E1CEB9D2D3EA7F147FAAA1B6FFF7D18426
+C1CBAFFFDDD6A1692DB6F655ABCCF783046C94441DD50628A197266ECEF86636
+650466B2903187B1E916A14316071AE2857EA11AA56D610E22BA88272E3BE593
+B2D53BC9343BFB42E9FBE46AC470B53912081438E5DCBEB1C036CC59B4F39E57
+23039FEADEDD178A083E12A1137F6F3C302EDB41A202919C549C2312F780D65E
+AE8EC6D9A5D42929476889CBB2F5193158CE9F752A3FEBB3FF6CBE0489727D4C
+149E4314F22E5FD43A471233CDF9825DC10793F0E2217CA73FC62153F897E21F
+D74267C52E9CF159DC024AB37DF7D9F1144B0A3CCDD8F7211508FEC92946899B
+239E854961747E07DBAD6B8B282003F745051A77ED70E82CBB21A1BA8AD019B2
+398D69DD9ADEAA014FD1FF1DDBD66C649BB03E66A47ADAAFF92E0A2BA3D090DB
+F65B8C484B7B1D04F9B216B9FF8BF549319B6CA778DA51955B6FC472714BC86C
+C6AF14BF4BCF0A443EC718A3A9025A4EC376533E251D9A51B2924FFD25A8F01F
+864CE38F285FD50101DB9A3E75CE655B4BF51FD1DCDC69241174DF6B18BA8064
+3E5141DBBE569DE6194AEB569E450F31AFAB47FB29846FEA931D75057C7BB07F
+680026911C45B65D8197FE6D6FDDC6383CDDFB9608D23E82432C8963151E5A75
+EFDEFFE33498AAD61F549305AE02D8FECE59BEEE8DE88FE989D2E33AA53D4D08
+4F6A15DACC403C151F0B73FD2ADF835CF0886A5D99BB1E1E2E98B0EBE122F18A
+F6641509A4806D4F5C91D66EE801EA219D4B972655A7833CF72CDEABC87232A8
+3CECBA287F9034AC75C1A01DF83399E87EE416189B727DAD304E1F2BF7C6BEA7
+5FDDA4D7D4E310AEB0EB88C1F8E75A97DB494B85347E5F88F33E6EC2B4E1734D
+AF732CFA70020D6665C383F7043ED66C39A7598AA85D7F21C2803F3F4B5246ED
+B5E79A91AA885F64F401E6DFD30542324035D9C5C762FAF5C68B79EA0D38B676
+B1FBC058A3E9F1591E20B7565D0CE47C1413B74602E544E4E2A5CFFA27EF679A
+B846FD21747041807CD911FFE95792828243BB985516B637779F857346211C7D
+041957D384B7EE553D1CA18DDE4A3BEBD9534ACFAC84BC34A9AE092BB70994CA
+67D69EB96F3FB4DDFDD4D00650A76357F54270CF34F93378B1B1CE5BB8EE84D0
+19403D93204A3BE35B636BD6A47FFF0DA0C80F52DD1728F3971D6F998CD65101
+2C8A6D2212F8A3305E6FA2D61AAD342DF8C7117A81B54BFE4B620EFFB2F936BC
+FCED424305C6D391425CCDC0EDE6B8745E90F31F12C5ADC0FC7603380E9F2B38
+71B2175620A35301B1CD5C102600869261C07896A8445B7BD39F5EB7F4D4F2A9
+BE286A9A5942C11962645D82DE3C688D7DE4F94D10D9BAF9C8E391F61091EC85
+C73EC6866D701F7CC99BB0B44DBB076D6999B95251A18442DEC34D8D19ED2584
+EE2596435A8A4EF0DE46C8E4C4A07A04BF104ABFE1023D1F43192CFFFC474E2B
+94FC025C0CFC3BA69BF352B152490BD46A2805184C048BDCB02F3FD2CD307B87
+85C1DA8D2A60C82EA68925D8902C22192E384B6A5F2C6710482179BD2B3BCDAC
+F79CBF2DA3D7B51602C595948D9E1DB76B393307FE56C11E3015BF46E0B35E63
+490073854F9ACDDF89D0E3B3BB453EFC6375EA8C410F3110FF2A02178EC39777
+CF9102513DDB13DAE12CB2E0C4091C43BD903474DEDFC3BCC8843542E8CAD2E9
+6508C850713F1755BCB506A6FB3CB275E8B844E3DF6B62E6E17C0F5A88CE31F4
+D112228474E6B1AE069E0DF0DAAAF4E7E2898F6236E2A3EA4E93DB86DB863247
+2E77512BE0EB2DE0284C591FEDC21F99D24094B6AC43629D08DDBF12D0F7C4FC
+0DF8448602F7D94E8011928633A159CB6E9EFCA54A8B0056B3E931C57EDF5BFE
+871D6B772C1084B0B75F913F8752C8314093E33CAFA34BE9EF0D9B5343ACE66B
+A72BE7C3506937A146D1E5F8729904C0B3B8EB9EB0A592CE376B7FFA90FBE94D
+5F59352B8AFE3E402CFEFBF75FA1C20196222A85CC49124C982FB6894FC3AFDB
+B99895371AD3CF6944EF3F291F2B8EBF129F146AA5A279532D1BD70B7C79E9BB
+0E811911747A520C3E1BE5B7B629E2531AC3D409185871E1735F23F3BDB040AF
+4824EF7FB3E32030B2858F01CA09123E4F4FA5E05B8F57C34830E21CAF084603
+AAE93BF1AB611E59D55922C70334C79AFA0A0F4723C7729F5AB621DE1884C3FF
+56168C3C812E6B9FA4FFD98D9F1DE09D462206B90B59CD2C158FE3E6D5BA26F8
+FE0A1F14E1B4491C4F2A9221ED3E4B73CE4EE697AFF4C146E8EAE92FD271818E
+FF1330BF26D80E7B018F4DA75A28B8D1A0E5AF48B766B4C4101B84021FD14B66
+539F72EC88B932C73FF43435AE096C7D860E45FE991BF59A1FAA188CC7781DA3
+7B6BD324BC92756FA18BB67AB9FF23428FBC4B194EB5369B6F2432F5C7660ADE
+39C0E299C79F50E35FE18F436A0B5C841C3C1B5EDDE8A322BCD3763D5655A9DD
+302B689AA70F31CB4D18CA10435C499E9C2A9C25B9943924AE642AD0E92AC7AC
+A57737B9BA6A365749DFAFD5AF7BBC1B9412C73F4A8F9B8C8CD405DB48CD5E48
+FE49EE5FC8EA7CDA6A3243454F9904E3479088C4661297DADBBEF49F5EC8BF33
+4807CCC58561B84CCFE56010F75C3F91A4892911081CF2F838A8DE19DF9AC7DE
+A666490D5DB64DB20A6918F660A53B9047EDA49A0C8F67FAC05183406EA60711
+DC91F2EFE67787BCBDC3150A5D6DEC73B5EB50FEEC33AAD6B08B22F231B12CF6
+1EF09B63640F3FC0527C54179E49355C991AD1A1A453623EE56F5D578BF628C3
+39F638BBD17C905D31FC46509EA428153D6FFB4D029AAB5A28623E9F6DDCD20E
+9553A3C754B3C2F518C12993703E4FD08044630522BC2719721C6E8457F6300A
+5DFC2C84E9F45F9A98AB2C9ACF75BB857357D9490F9ED4FA5BC3C57E020AC381
+A79D572201415245936F0A5A736C0BEBEADDB770CAEE53378352B2874897C58E
+DF88076F73EC8965526AF9CDDF2836107AB0A10A11B2DC3A09FFE53453665105
+C4F77195DAE486867B47DAD79C37B6677A3F346375B6CB049B759459BA9A8F1E
+B157788173DEBC3D4979B7C0C55ECC442DDF6C33DA0D83B2FC21101A7799430C
+8C300090400ABAAA081A2FB34D75EEE19C91BFC2481086C364757C2C1B9D5178
+7D395738A48BD22023CB29425E6D809FA0EEC510DED243691A5FF62DC665E9FB
+6B1CB03A404F56821A19FD4C813A26423B1418E324155B5E0FD66A364F7916FE
+8DA49435E596403761EE8D1DBDA2330030EFA532B9E3ACCEDD9B0F879753B74C
+60916D3647271CB2DB327A9B076D58EB84FBC4B405E4C4C2A8E0020839E58CE8
+985D6C7664886A4DCA581D67F06FAB46653AAF06F3FA43E66EC63E05F8B94FC0
+73B16252D57B007B88B6D815FA97C7B2E2F2FAE3ADF4B2B93ACD81376C369A42
+CF09D43BC0869C245C3F04AD6BA9167BD14D778C8AD2853FF8B5824A64033BC9
+7F9C84B8CC4F7D998421C5795947FACFC78F7EC7B4CBC12A6F395751CBA4CAD0
+BD92A096E5F76B2500658D0B01017CC20F0F4BB628117297D67A2304AFC38EFA
+26E11A78C968BA4FA933123D2B6926BDC466BA3A9398D7AD6A420917038693B8
+8EBEFC7774E994F4B6C746FF40E2337AD2E045753CA003CCC118FB541A5CA386
+C34F0DE2B57A815914874EA88E426F6DEB0D20DAF055E9696EEB29CF74F14FE9
+15FC6B82C17C96900D382AE9656C823CE3EE7CF64E08613A308FDDD046E7D6AD
+CC73028E734AB6A0CF0733EDCC50C1EA9D041F26528514427DE2F52AD91FB0CE
+BE1FA00385752D3AC025DC27310364925DC54E000E8A488CB634FBCE4B6A959C
+7F95965A6B028F546B65FF42E0CADD92DFAF55C23EDC6F083E0B373564701250
+5ABA7171FA8258B2EEFF62F0FCE3DA03C0EE0B0192C4E32CF0FD956768252F5D
+0C8E9FED353314C26F3C8F220F969ADA76D4301177CA719B8F304BEEA2717E56
+C4FCEE82FE15FAC8477173925CF145104D9BB6B60BF962D16E522E67E792B3AD
+CBDD1F19C0AAACAF613AA1FD18FC1783272150FDE3919583BC6CF13C62B75CE5
+90363EBF98C6B236824ADF29A6D6120A83AA402FC206C1B53AC3E56FF54E4072
+992B96B15EB3C09EEE64544C96B80F433E95B9DB53732CDF9079DE3E46108EC3
+A532B1FD301C10E9CFA5E1350477E1B802CB4694A86B1958BF77AF0440BDEA47
+7575534688505F2E695CE7E2266A3912D0704CE2540271801F66CAB5CF27F719
+B4D54AEBA9AD6CEB10A8C1F8385AC32F026F15471CF0C292200015CEB8836955
+B0CA14A5BEC504D0C05C3515B7D0C4FB0265F1087A0F56A6AF954E316902584A
+E2F0499F48015C1BE0AD119B2ADE3D462EAD7FC6035963D37789929E16093D6E
+EF8A5FD83D5841F89B68BD8C8F787DFE1122453CA22E8B596FB38E0C05CE4023
+21B7F755724506CBAC19414F1E3B7E1CCFCC20C5CEEB65C1E49742D13B946FBF
+C4E98599B69B74B36C0B7FCACFC63EEC6BD9779F9783DF293EB77F57D89324F2
+FA76F4F4AD5A7F6B65421385F46C40544D530D32F43229BFC83580213A3D6128
+D0CE68CBA2EA766153BC10AA324589DA09F7DB7C766B8D91CCDF1FC4EBAECA13
+75714EDB323B7A91A0A716072ADB9F4A992D7BB51F0E033A408B137281119D31
+451523575C63154C32CA49B4BC97E80614A4A60FC55AFF3820B6795290A438CD
+ACF562AE94A6502FB3F259EBCB6189C34F1BF74DCA2DA8D9C750E18224B7E332
+461A3A41B16C9ACC1D7A90353C104BA26821FC6A3BBA18221D06AEEC2C69E7CD
+88961F18A48F6C215A61CCA7EED56E7D948BCFDC87187001275AAF88FF5E41BD
+0C3E9302B362B5D21CA18DF6B3E7C776488F5B27637DBE9E547832AC91360853
+4D42B60BD7F7FEFDF6DB5F4C0AD2F9CE0769274645AF7D07A9E015738A9F2869
+7A610F927D024A2F3A2182B2D16F4A177BE44F118F758CD53682E5B1BF60D74E
+48C56E41DC7B170CBC4DEBC07528983F5BA6852D8611FEB55F4E5969BC3EFCAA
+039D388947052F0B6F54862F25F82E60F8AF4EC65F922252A711DEE0AA8C101E
+6C6CD29AFB07374747DB5D1F1AF70C82078835E67F5950A72464D9D05DBF0BD2
+874C7E2AECC5AC0C5EEA58ED9C9828A1C3955AD17F71990C9F4200C428E35792
+4F6F7A7B9E185DFF52C637BC873636B4D856F86A67DF309130D0CF455762A680
+483842515002EE52ACCE89168E6FF5D88092653977519970076434149231E197
+630CEB24061CF7BBA8FA4295DDCCAE6685FE869FB10998005268C7A35902BC6E
+89A40936A7054C38446BE0172055CCE7A0C3817AA070288809EF40919236F26A
+3A606A14F1B079647935A3B459166436ED4342118FEF4FAD8318DFDEE22A2E3A
+930D69FCF953431FBEC18CBC1328DD7B0CFEC72C5A4594F38EBDB43B86B97DB1
+056625DB04E9FE49B79031A7E2D0702E3FDB458274EF7EC3B868FB5382998224
+4CBDA54CE2F2D68CE0381C50BB31FD871C8B3104EAF67E3550A4FC4A54789B77
+FC7F4D29A447456516EE75FE871A43445E6D47E1FB99F4BB838CD37F69EC6DEB
+B39FBD458556A1D1CE56B5166F0A5BCE6581C3836185ABC5C8D4E8944B47D52E
+EDD6A0A8055AEDFEF129A3F276152DEDD63C26CE00F68F3EFA16231EF33E8B22
+B35391E8612AB035F6E97C0E376AD81242C3E6ED5D2B5254F109A281CDC798B1
+0D61F3C877FBE9A4C8CED3EAAE461094AEDC3C6D81EFA599FA7F860FEEAC1464
+5307041576ED8DFDD09006924DF4E643E8923092BC7B5AC0F37DE03C882BE95F
+60AD328BF44181C9C44B32F960EEFB8704EE3AA6E00ACEBD641D20C35ABE3BDE
+961B752AE234EFDF35B34C313BF01B2DCE32B890DA1A811EF64A3E4F1337AA2A
+622D2D242447160B1D761918E2A19006CDE5F6D7E7BE383B8D33AF5F4BB4AD7B
+815BB472CA170237D1EA6330558AF4F0F4CBEF6C7D4A3AD68932E169D98C9B35
+151F9DD5A09DB1CB5185EC69A330B97B95B2EA027C5D250112207127CD9678AC
+4D9460AFA630A20C8E3CD0E155AB690ECECC8D6265FB4842C7C244EDDA8E592D
+C22CAB1BE287E4A390CFAE9DB02A7B877708FD9F3AEC76E4161E12864FFF8CEE
+87228B5F7CE98D1E3CB77F68E3E37733A8D01EE3CDE1721F564B412494BCF021
+F2D9D8CE81E51BEFC9FD3C5B4C94FC27357AB1FB51A388406003A6EF975C0C01
+9767CE1B316830BF07496CE2FA100CB2DB417FE471CC29114EBF3B5B7FFECE8A
+6FA000B38866D128C46FE3186FCAC5DDC837E65503C326BF7AB96B712DC289F7
+D6A670801D01D350A280296458DF268513E06A31E7B155A7529547302D194EC3
+E29D9E3A0CA5A1395C514E15564C1B9E5A1F80D005D6AAC30D7839DEFFE6E1A4
+0567D9C85EEA0E47016E97FCFE1F21AD2C32A5D87EF3B7D8AA763214CD42DF94
+0E0B552A6D5F3D7D7BC83E1C63C525931CDBEC2A373F02346373C673A7E464AA
+82E648E75A7590A8DC398ECC6FA238238B2140D06EE227930E77B63D783F4691
+578C48C9C64B68937AEACD175F6FE505E74DE11C28F040BAEAC6167E115C12F1
+F62CCC8AFED705606D8F3584F8C100E84F7956DDD10A2E825FB7093B0AB53B5E
+96F9FF9F49B0EAABCA8F85D686B15B939E487F756E6F46807EAC75A0023C886B
+1C281E8DF070302BF5F49F165F0A8613400043CE8B0FCCDC83E5440873F3F775
+F84A1B6D5F53DB87F84832CFABCAEBD33D6F9CA6756B8F56E5BEE0C1F913E6A9
+6EB98C00FD70C65AB1189DE34F06071434F83F9C15C5C0F629807B29C36F03BB
+8FD47F0B29A40DFE87B52ED24BC875CA6A038102EDAED255529D7FDFB50B22DE
+B7C71347FB6C17FF43C71B6CC14D7F25D8F67A8877997838FEE5BC7CFC017894
+FF5A969E95370BF5C2E2523C930F5A7946CE63B89991E6C254006899FB73407C
+E07CD066B320AD7E9390CB44A75732DB4507184C6FD216F4FED2B469645D71F9
+F8D310DC4D70AF3D2769421AA75148BA2B77028BCECECD20F0579C8613B90B33
+CB23D86582B012A2BC8B349DE55718F2D515995A66B93E4C9F68BAECD89ECC7F
+FB6E516C2E70EC2D7B65524AD62B037ED3C614ADEEF6DCA8DAD18E8E3F6D5BF5
+0993AC3BCC98B305F1E0F7FAD03AE98CE39701608E0E706FC245585756B98E9F
+7F5F9EE137AB25C6883D3764AA83831136F30E64AAB04163467F2C1836EDB4D5
+7725C14DBD1EDE2DA32F1AC55C72505E6290184D3598FF67410BD4B39C02A093
+48082CB1A2776D06E4EC0F6D9C703AA4059B6F2235276898FDC5818907900C4C
+B1E849A39457DA827B07E505A4F298158399281F0B533D64874D8D2D7DDC9002
+9ACC5C03BD2388171D9B54FB6CFC60A6F58717D5B5E83E02A755C81A52FF0F4B
+C0C4137A8EDC8D197A1B1B504471ACDCADB79F1D535843157697204A079061FC
+6490133FB731E0E2DD597D0C4E018004CF775E0CF062B3CA9538A8F60A5E6396
+7F213875EA3161F0CC9AB19B7E13E389E9A566A03C65AA55FED61161123B8DD9
+4B0B9750BE4DAEA26FB82D324063E301C1800B3F08CE96F07290B818C5006851
+DCE19CB3CF7ED0E6E9B2EFDC2750880C578FFF977457FF8F98901E84FC3136EB
+854BE53FF8E19C47E64EF87F45D86E4AFDAF2941496DD9720D6F334B759ED5D4
+EE49E7947D287118040B7F7228D6610D674474C4E4BDA5B10FEB8FA9392AAD37
+8FCC373158184E0CB3814CD91B93DEB14DAED0FBFD0D38061737A3B5F74ABD08
+C3FB0D4BD1BF7DCC4DD76428E2E0010C80983E0AC9F15E1A44C4AF49FCC44FF1
+1BE9844FDEB3E1DEBB012C6EC9EC2EA62AF434A98814C88AF04FDF703DB2A350
+46FB2EBA5CB44B0B298F18FBC50A77CD6D63A514EEF2A29C9E9CDC6CC3A5D533
+D6305E4886B710D78F2F2A2EF68EA6252E7235BBC0B499D684F9E1ABA28F9B8C
+61A8B0996481C7853AA2EFFE6065DD288A0F4326C9177F718BF52CBDC601D8B2
+8F29CCED61CE524C311F5536A72E996C76DB9150B55FA6C717F8DEE1C3735C50
+6F881D7D91345D497467E77804E3CCFEF6A927AC925CA0847647E68A5BA8D056
+512B56ECBA6256D736582665AFBD22BCFEDF44785D989429CD2D46F2A4966A2D
+0739BBA782053A0A0D6C234B4CBDC18D610E061812D5EAE87735BF7F08CA6A49
+CBE1E5065ACAA55A3DCBD9B9729E55B5CA96B864F5AD718DB6F2AE405F43C6B9
+BA570DFEAE69109E9F487C9B33A7A9DC2420229F6919EB461F622749A39FE971
+CA4BF8CDDFFC5EBA03F9D8B0A4872C8C35B21CD5D9C250167C82B5715D4D3A02
+3E473DF48E1C19E55CEEB97C49DBF2E084CFCCF130236B42F0EB10E5235EF00B
+4E3FDCD3655A710F27326F7F6D0FCB440CB1D44FC621871C350F9E38D31EFB49
+2032271C1D99DE190B0D0E262D8C02E93449F5726DA9D8BF2EB14DA3E41CEAB9
+8402D14D60864416397B57BE2528AECAF4458E33EA016064C56816740179E514
+43810A6EBAF32854B30D184FEB3E364EE24B040E5FF9ED88DBD489BFDBCFA144
+C12C57D461DE7C5CC3ACC91B4C3E5D0AC512336C03361FB00F36F0E811EFFAC2
+447D6905E927EC8C51A6B9F508702BE34BB38BE818F4CBF1CEC2D8FDE053B31F
+A0E573414A2855362ABFA3B5D16A6EACD7BE01D8143E645C37BFCF6F0404D569
+116B8E6469D7A2FCAFA8469267E9C3788BC002E07C4C314FB92514D791C8D445
+805427E60F3FD027B6B82EFB4CE3DE73378141B0A74F5ADC8FE1BF6842EF2DB3
+D59490C6DDD2CF825696971BDBB10CEA02DB63C53EFDCB49D713C6D6702B5A5C
+C6B5F60B938B14B509C1EE7B32982BCAAC30E3F8D89E86CFDD0CCB9BD9CA35D0
+3722E1D135E540942BE585104591FAAFC074740C3324FDF478E88386D7A6BB73
+633A5F145AAD9C6AA0DB75303830CF8CEA51952EFEF34D11B0A1FA8ACCD1BD59
+3BC32B72139ECDFF51EEBE28E00AFBD90DB90F5721EA8915725D554AF0A014E5
+512EC137086A9900BD7509C9B27D76BB3F2FE7B66AE2A03537FCC932B5B221B8
+3FD01FF4EA87315E2B6EA4059AD6A7E525298DBEA4C2DFB36F7897A688A5D21A
+17D1136E759AD00425FB21D68213FA197FE325649D67C2D83AAD5FC2B24F2935
+8F4374574E76245D873A5ED05D6ED7B65F5FA9FF7FBE9C83603A263018D87FB8
+FD61B064632C4E61557633A67D5C7C37463E13A5817E76524D169A58DB9CF325
+05AB14E05C2819C0577EF13FAAB5737BC418C9F2B946A14464162346A982C125
+B46B6DD3F89DA5289E72E27FEF3E5F5C8BFE5DA84AFCDE1B4B3138837110FAA9
+80D613C871C3B2EAFE4246DC1CB2F543836C5EB30002D39A393DF22C9201285B
+2D6A02D20BA3801F4CC7CD99CCF356D95956CAFF9F72EA9B37AF87332133317F
+833E4C8AEBFE403586AB2FD7E09B6385AEBEDAACBF738EB3C42A86AE20347F37
+DF04AF34B1074ADE3B81941A12C520E5EC42D775C7936B6E459E5B187D8282B6
+76DDA4B18ED89B9E98507CA86E385C6682D1F58FCE0F416FC7E396A3A68BF8C7
+1D9828FB2E9BDF2BC75B77EA3B851A32F78DAE822B3C0EDA0C29C41B4113CA22
+D17D33E3629C0D27E45185A0D922D3D4010D2FA25A425E3281ECE836BB0E9A7C
+AA922A37EF2F710CC6A127568F4EBAFF31EA79C6478554E580A2D11F1ACDFE73
+CBD4C4376B4D2B1483A6FAC2970ACC2B91F38AA06BEF2274D8DCDC7E1002490F
+FCDB981491917EBE4DE74329B551E6B396B63160F6476FCAB5915F31F6C5B8A8
+9137A8D98AB025179C423A2E259E844632AE44295039BCA809B1EC15221843CC
+CBE82C31E9C2B8276A1507C6ADCAB40055716270F0062DC4B5957804DA8531DB
+BC396FA5322412F0ACAD812068078454D3789EB3BC930A1CCA3DD08C8D4CBD4F
+BF6D47846524608D21CFA4E52D0E147950BAD05FDC8432EFF01F5EF703F3C0A1
+90776A942EA49CC4096B9875CCDEFF4EB4049A1E7F2EA5D44F23C00F7A44DD3C
+001378EA1FCDBECCB58259DC08D688FD64E31C27E5D9034BD334779BC0A90234
+92BAAE62A3A89B9026F15DF984BF1B79A12A7C569B4513A26B74F8F4FCCF2A23
+E9F786610BFE9CDCE0BB37BD902B56950E3F7ECD983BF397BCA5C32FE333223C
+58B128C005DC5ED3934ED782C177CEB711D2287FD6C9C42C3D7A099FFD04F5E1
+52B704
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.1: CMTT10 1.00B
+%%CreationDate: 1992 Apr 26 10:42:42
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 51 /three put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 103 /g put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 121 /y put
+readonly def
+/FontBBox{-4 -235 731 800}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
+38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
+D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
+EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
+A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
+F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
+4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
+6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
+A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
+E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
+1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
+452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
+8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
+5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
+DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
+BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
+741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
+E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
+E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
+D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
+C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DC
+FF798F2ABFC4F3539392985C4CB324B00072295FC160818BB0355FDC4F12E39B
+984826450553E3D271F03D8DC2D12A92A4D32034FD16DA13B876DF448467B625
+2BA3AEEEC60550844F5300D7FDCBE636D5951411C6F46CF31F03D3517A96309E
+02D0DDC6DFB8FFBAAE1AB34DAAFD32AA716301301AF68F407CFAC4FF8CAF758C
+C62A6765AB1CD0F3EDD3C556A10E94426AEF2D5B015C5196CE77FA94318AC24F
+D38FC825E8B2EFB8E2803754084084CF308B047CD43A736A72A30B92E1D6E1AE
+BF4510C724AB326DD8B68C7B7DB16730051EDAFC10D2A983B5A2CE0505CD251F
+E4B70FD350F75749950CD2F08701DED9BE9D6B06CF91BBD050A90079CA5DBECD
+860FB92423ED0D24E60CE6D68DBD92BAB91FD4037117237F22BC030569DD7C79
+37C75CCC592F27B2B3D2CEAF2F0769DC82008E6D9F7E290C92BC10481409D1DD
+8F2063EAF595B35F19B964E824CBCCE67DC66158348600AC510E7F30DE6D2781
+052AE66E5867DF3636C4F5C22250225BDFD3B89455E4ED9C46B241E6C9F5C635
+81EB4508FA80382BB91FDED03C2B966920A3764B754ECDC9238EB07CAAD29591
+559E5FB21A90DE77A6D1E42662BFDB8AF468B380EFA3807EADD0305BBF875D70
+87C2D6146FDE82B9FABCA9A986683FF9CB2E1937937AFA1B58AC92D62648244C
+1B9AB63C41D6B7D3F6E707A89C9FE74B1C4444D059D70D9AAE0959BE049D2276
+2EE335051B39B658BB0BD12DFC322AA7F265ED2D5BD45A93A198B5AB6BDE34A6
+0974D8A02E3CC04D07147DAE41F663C6AA84626DD9470582E82C117BC35CE294
+8F7714047C77564EF036E91DB262963B00A87EC1DD570E0ACDF45494A172062A
+EE8342A39331E3B5AB44B19509D77E319498517FB3E40E2B18A116878F50F7F2
+141D64C4AF7468EB5A3E0C2E638247855460167B9068FDE724EBD1572542E086
+6388A23B95F02FA1F51FD3134B1A5BB39EF20F8B5307E881A66EA939D57E40B5
+AC68571A62BB4F037146B48189FFC12ADE46DF242351C62FC7E04FF0FBE1C810
+FEBFD22BF70F556E136A227D9876F84D072F6F08F76F7B9C230CF9D843E510CE
+75B2C6E45EE5623654891F6EFE237714256AEABA8B042D874E9E3AD42191C13B
+8375D2ADB6037A3872340BA5F937BE74F535B57EADC58706D2218D3AA4D234B5
+BF459FFA1CD806A1647F4A2F3B5630575F64877B8367914CBEFF6BFACE449879
+AFC8349F56DDF2078C9457DF12CC19E4BC8F550B609E1FDE8A6FEE2585D01DDF
+FF1F5BDFCDC27B0D9042FFC02E8F1905B65AA106C45760BC34184C1324AAFCDD
+6BB874553DACBFF970CBDA0BD37AAF1B50C6F031AA9A6E297AFE238B9CE4EC6D
+1981E846B631AFB1B732DA6D9177F6C37070F27A8428F256E2E1AEDEE3F6CB34
+12E4E33501E6D83008A6A366FA939A157ABA070953F605A1B5A5B6983CD58B74
+9EFDA0EA6D6275C77E42EF365E4B32E1C0CA49EB81AEFCCB0941CA5D3A4A3168
+6A8AD651989BFCDC6D7B1667D7275BD595D0FC41F5AE16DAEA552F3F17832AD3
+9C7E879195B5862CB6CD121DEB792856CA96AA9EA11B9570B6989DF44BBA1A0E
+37FBB1765D20382433D46C0293E5A52906D602F8F3C0F4A4B8CE0282E3AB25B3
+02EC67ECD502611113E08638F982F095977BA363990FD17A3A58134E79E338DD
+F79AFFF5E720D63E25F99825583559B6A6FE69B7B3C2932D7E026C4EF648DAA2
+19A7A89F6B370A257694CDCAD0DE05920BD521EF2C6335B4BBE32EA8D768E115
+2F631C12A2212CF31060C945ACEBD460C5465D33F1FBBF89AE0DC39D3EA407B4
+02E51F4E3714FE2BDB390A4006879AB370669701B4C81E9783EE296DB1911002
+1FA8B3E2312C472FDCF41D0AC827F15526EC91B8C357BA663A33487A53E235DF
+967F366936879103F2A642016DB43BCC045D9A24C3A40009EA801A9C44E8634B
+C98040E9F7AA465825AEA42F8B67F47A236F6C46A20DA5F342F1797119CD8D4E
+CD92A64C54E1D1D8A88B3BD43B03D84EE751B9C408370263D6EF7C392165F9BB
+C0AFE915ACD5D2BBACFA03CAD5D21A1BA4E6A220D295A263A8D70610A5A0DE99
+02D63964221A85BE09918A6A4B83A0C9C707558192CEE5A8DB04628F506C03CC
+2C3394A7214C8043C1FDE4EC1BB23A974FA4C547E4911BAFE68792A76D45F26C
+E940CD76993932A7CF6CD245571F8C1FE8E52ED16AEB006B104245AC011E421D
+B3E480FBB806C76A0832F2CB44086C736077D14E99B5E36009B5B438F53C8861
+0634656E49B1C7C3C9AF1BABED78506EF07B2EE65103C82F7F91B37F0C687642
+93AE306EFE2B233B9F0FE5E20FC5781C56655D060E34EFAAB4A39EBA9917D13D
+FA7A8C196BA4B6E8B1CFCB56D215BD88EE9DD795696D4490D483732B92CDB1D4
+4069C2FF53F9E548A8F329B3670726A98F3F631731EB6B2AB685190AE4FF0618
+6763C5D890CD5BB611E24AE8E5BDE30999E37D2AED81D193E41621E69D862F27
+92F072C6792492363A02DC88AF0A3DAA142AAE47B4C17B0B2FC45DF2AF393E7A
+F96CC968AD097DEF82B3EAE17DB2EFD5173B0836DAC315A525C9741DF3EE3DCC
+8354BA35DBE9F05D490AF7708F69873BE003679D1B183955617276883030F271
+ECF4448879942BF2CB4E9A46B0D996AE6DBEF3CCC8901CE222CFFB509134229A
+1C45861DC64333A6DF19CFB35A9C81CA43F292B7ACBEF028F73E0674A748DA46
+3402590D9615B502899CDEA02D4D781CF293238175097CF710C42524F2458CEF
+1675174539291F8C16AF08FF339F4E007EC9B5960B362CF02E299A04B215D677
+AAA0CB7355CB26A82F29387BD4688CFAC7D8EDDCC4CCACC2D3300150766CF57A
+D9E631E76E37B66B24CD9A9F5B34E5E798BF7DAEFFA985930F938FE7A749247C
+280961211A12FA83AD620FFFE317F111A298DD8027B45FC937035FE917CC5BB7
+976C0FE5E4EDD10AE838BA74E926E35C2F72BC759F34BCCB5FCDC254D14A88F3
+57A1098713177EB7D25E98F0B43CA792812B5280365B17CF98854F312344391C
+52B5B9FFF2B937925759DC183C69D2685D1688B50EA69AF7E6AD8994DE0838C6
+CA7938B336C2A576BF07339A7259FD3BFC4E3185C5E17F27F5D6406639961717
+DF883E01B6B18B764C1EE150B9176C3074976FE446CE98AA8EF1F5DCD77DC561
+D65BA4693AEC307E2ED5B22E604589F194EF35582C7141C7BC583711DE66862B
+41CE5CE458A940280B14C60ECC1E522869824D8E67DF2101E4B4E55618C52219
+6F2CF1F018FAD677E5295B180068A9F89D55B5B7597CDD6A57716AB45FA70A6E
+8EC6D2924353E639F75D8EEFD8ACFB390F42F50361F2E03DA648AE0CF255F0DE
+48DC5A539A5189C5A596C29A0B05AE8624F3361370DC17AD30024635F6757694
+BF920BDA58DBE1C1ED06BA61119B564A57DAD212019ED36F97554547E50278C2
+4D16D1537DFEC8DB97C4EACB1FF3F244AEEEC016E07FF3BDE5F1220D90C7E8B4
+0A151A130528E551FE31E3ECC9B6C3CB78C26A8D2611FF071E2C4B90662434F6
+4BF4F10ADC87CC5A61E61B9F6F630C5682B09DD6251FA40C9B09A4C2F7B48FD9
+4228961EE52CA9F7ECC7E6034BCA172EF44BAD843530CA1B3F7AE17BC6AB4B58
+16A3C87E8839B0C3A6935E6475B9B03FEC51E012A780094A82CEE377C8F24CF0
+97B7EEBA0F341918253160887CA4758E3F32CA58FAC27A27B5B661149B93AD88
+2C7047E67605B95C00E39CC270CF8406D1BAE3E1AACC9A48F839D89BF0AA31BA
+D559892AF03CD3F5C3B25FEB5AC97E637CF56E00731599ABAE5FE0692CCFA46F
+03F1DA110916CE7333BAFA1543EC4A1EF6F497EA5BADF79DAE6B05770F398A21
+5DD6FADD305DE9C1E1D129BF7ACB3E158A4C6B7BB647E3DA791A2F3AF4453E9E
+7201AF72B3E69DA1E5718E56CBCA82F8D7ABE1B2C4E47607E160D03EEF957659
+11098030C4D8FB4B8B054F33DF237A678EA8D555571B4746B823637D64B43EEA
+C4C57B40B81C3068587DC666A6A78AB696B58A37027183C22CF0491EF2910DAC
+064A959A94F510B0C154283762E194FD7ACA1C15CF9624EAB2790A70F5206E4D
+5F5F0715E7DA8D7D37C4A9F6122D8D73DDB2BD6AD51D6611D38548F4D23F8A75
+98A5113CF81A228F90D613D416D6BDAF67C2CD792C5E6CEA9A975EFA0E643CB3
+D54BA56ACBE0B558D816E0FD45B422F651688AEC32AD63D18CE9A24061B27744
+E2A9DCD6D9F6CB4A67B93778C80535E51C0E12533FBAC4392B0B04D5F448C511
+6DA6E0C513CC4019550F9ED46612BA51B068E1E3345251B37BE71B7D76BAADF9
+1E0FD6158E7241D8231800CA4258EB0ACBCE7CF6EA276634CEABC8A72A34BD15
+FFECF5795F0BF342D00A3070DB2DEE66E7185B707C52463B8A6602202BD2E845
+2343F15913A1C444553723C57C3C6BFC4C5BF3EE324806289DE33908F811827F
+54346E441E51E0B1DB2E3EC2705F5005640187863F38908570EB9BA819F02494
+F1EB39795300F6F806AC50FD3E027A18B5ADDEE0415F17979E8BA9B2EC293182
+127E43C6DC0EB839749D195C4F5B87A7D0BF22DB663190CAA40FCA8474AED7BF
+73CBBF240A0082FE3BCEF2D7C659AC3E27591C59E433592A8440C6EF987D0BE6
+057B3ABA379CE1ACC80A526FE4F85DAFCCA8EE55EBDF0BD512D319A8E8335DE9
+BA2A4BDE294E4033547605C3E0D43A89C7CF9BE09391ACC16891F472E72A31D7
+D405A7A506AE94251A9C7D36B0704B876160CF332F18BB51A1D9B0C5995F5E13
+EA4CA6C0D07B4D39A23DE03A10965429E58F7A99E883D778A776777D86F4B6F6
+0DF21CEE265091D3297A70BAA796DA12F91A5CCC7851F1038A43B3D726D85B00
+F0ABE7A655F66F53A01A34F6E2FF11F1AEA9C35EF212B69389D0273EE546F6BC
+79A0C53701212FF5669ACF2DC8693B2544C52530F29E319B39FBDB73C759B3C2
+DADEEA42048F48CF5508E7694FFD62B423C0D3A0DECBB87E27666A8DC9650ABD
+9C53C3121160962D5FBE94C7495992BEC729A00B47E27A9A17C4826516724D11
+438ACDD5BF5C2B2104FAB5279058CF43278F4F2D572A200FBC20A338F2FF0EBD
+12B9D8E87D699F679BDBA6CF30121DFA188042FF84D720DCF711A8F198B7CD57
+C2D79989A9A208A1583EB72E93499AEC46661A75F38C9A603B6CCEB3BBD28A6C
+C7CACB5E74292F1BAF7BC7C8C3C6CA23FF02D7C9C3A6818F9A26748AE1AB4451
+D78E328353610ED344ECC5E1553FFC00A95DD397347839CA3421CD7C63560B8E
+38DA27AD84A1135ED4B9F54CB94BF8FEE834A5C1A4C2E023B831AE5067E136E2
+E3F22594210540EDBA97E15C457691E7862FE68AAE12533D711457BEE18D2366
+BC58301669F343DDAD8807B20F2BC3884766422EEA2BAD08CB0DD5DD927E802A
+08C93ACC21AB251746EC88366B149E97DCBFE9B7291656DE495AF1F2031B260F
+CBAAFC0D3BE835EF99AC2C546E8D4C7137E91EBAF8B2898A77C27C61D4D6198A
+2650550CB4B55B882282E1453C29CC98EC408F5F58D8DA0955866166CE62F33F
+4D1514D55407AD1E341F6D74F9CACF511EE7DC35E9AE732C7863BEB3E0F2F162
+54306B39095EDE63C24493985B8661A878F6E4406AE96F7518219BC0D0CEB8CF
+EF2E9EF481C5964680EE1032D5D31815E889A4CE197F192701BEA3F4894459FF
+D6082B7E3AA12778F49456F505E39496B54EB85FB6364006AEB9969B97359769
+581E03BC89EAD1A44ED1EDD7CD602B8967F3F9F501F3444C2829F2038AAFDC57
+C825D41C01D32D28A8EBB7B31B625EA0BB332F20EE567F6185657A5911590EA0
+9F9A21E90AC4831833BAB7E86DF8B6EE16D549464399A630CFF115678BC6C6A8
+0567E70FB756EC185986F302714892F64FFEB34B69F2E3243ADD9F4F3DDF9230
+D261A79B239BDCF8A5A64B4EFEC55F3D78EA1A84F114FE87B4F753B6B3535938
+81
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMSS10
+%!PS-AdobeFont-1.1: CMSS10 1.0
+%%CreationDate: 1991 Aug 20 17:33:34
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSS10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSS10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 46 /period put
+dup 50 /two put
+dup 52 /four put
+dup 61 /equal put
+dup 71 /G put
+dup 76 /L put
+dup 79 /O put
+dup 84 /T put
+dup 85 /U put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 120 /x put
+dup 121 /y put
+readonly def
+/FontBBox{-61 -250 999 759}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9
+D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858
+D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723
+3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6
+0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348
+44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8
+46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13
+6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5
+6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3
+16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4
+1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED
+286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872
+A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477
+713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C
+3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE
+3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5
+034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185
+9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A
+12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA
+901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAD08E203981
+91143E0EF9FDB372272A29A1AB5CD93D06357312C5B22D1429B25CA37ED5C4ED
+6DED836928CA720EF466398095918C1C628876B98A35ECC3CB00AED9E939566B
+D2D979B965A5C1AD47C68947273EAFEDCE538901C4155C7D112B5AD4939C0813
+C6FA7D0C841F35278A8D4BE1408A3DC0A8AC604B6761CDD563554AEC1E0ADE56
+5137BF4297C87F1A79A9E6B81674DCEE3C0FDE403E4CA14145B5B341559D16FC
+E9B547D91237B737EB0268BA1428943D0067E7FD7B7E994118DF1A39ED5BA3F0
+27E2CF8C70E6E437842CFA59EDC921A744637843F4993A0ED6E399F22DAB798F
+EC1B89BAFE9D3DC8B5380BB4A4B3439921996A6EB049F858E44B3CC9AE8431CE
+E5255538A0E3C211A8FF625F66D9B8C2127AEA2EC8A556C9A32016E1B8626847
+6A689F4EEFE3449A9FF7F584DBBA2A62F22C4177FDE1531C0BC9FD0C83D113DD
+54BCC1585EE89C8D426DB3E48057E39774575871631AD1082CFDA31032A6813C
+D948B260E0582F39D248B172F609DDBBB69CC40B5CD8B3D127BD99A539B52347
+FE0A4791C8278DADA8D43AE4FDA9BFB6CAFC37E848D666A188AE291FE3ED09DB
+735DCDB656D6BB72D0837D5C612B44DA7CE779DA6F96B36C461D527FDADB79D1
+F2A2ADD34DDCAB83126C69F1547A588C8FF5250BDE4D02B72BFD3C106B8006CF
+96B0312F65010428F866B947EC79AC79184467F426D6603C80B46BA8EDD8932B
+03AEF0497C14F751D4730AAABA7FDBC329642013B6B6AC3BDD19031BB5EEDC5F
+CF41564C50A1DA21879CB849E4B929DF99B84DFE590E9755AB90581AD79BEED0
+69389990A120DEA5A12E25907305F4FA1468D3F131D299EA305F9BCE0A81E05E
+C9A0099A46ADF6F3BCE3C0C72B9D7E83D5FC5364068BCA430B4D0E599FA941D5
+32A647D2037FEC35A3193A16DA038D63C40881C6916DD6F7FC0B8569893D3D6F
+AD0F461D13C5A43055FCCC1079C5D0AD3FACC5B6A9F74C2F6EB9EDC12FF2BFB0
+6CC9DF55E045AE298E03C0AD3D403EDBDF1557592606F07FCA5C05936DBA400D
+83D45D56152F95572A890DB93D04F0AF62D2888721F0DAC5A79C86A7B8C9DB66
+F3C8F8090D43C7E17DCB31E3D03430CD8C010584B322D89EA69EA8EA95A5FA17
+3B2F166FA8F3F5AC3D19039390E271C809FF350C737FA62837EB395AF54463DD
+8B2D9917347A436DD20CD78A0765E76B99CB422441356C4B2F8DBA7FDCCCEE4E
+6313A1B451E94605EDFEEEDACCEF1699487FD102659990472019FA352792E441
+6D792157D19F87BB59A2D03EDE7041F019C67071845B51B02996DF9933261D5F
+D17E3EB088A9B5587D9CF0D6E0F701CA552DC2B80A51A86A59334BD1AEF39637
+B0ECDAD2D441632DF7404E8DB7EF9AB0EEF2A38BE850FD5E96F97600F3819E4A
+08F4BA59200BE755055DF84FF7E23789F7880B91BB6FD046FEF467F56AF8CF8A
+DAAD98822F73ABF97521A2C1CAF87579033A3DEEE8E936E7C9B066C8D86F0FB4
+AA0A3F4522AE0C87FAB7B0EDF79BA0E920AB2E07111D0DDA88C20BCE54A75571
+EB92965857A3FB2B1A8970250F7AC841F9A169B01AE2BA30D11B78CA3925E9A2
+CD453AEB31FA3D6495A98CEAFC5D98A813C2467771BEB55C153E5391DEF30154
+8CB364D0D42578F27CE4DB0A82F31360BE5A66159B20448F4DB13BB630F3EE52
+2D03B87C67CC8BAC0C85D7234A89ED437F574451D01E0876679B746DD23608A4
+A5CB6750294C2BB67BA8814F93D5EDC13B3C79A7112DBC6877E13F012183C0C5
+AE1474919E2C09034450514DC3C98D6D1B03093E3CD318768713D82C88EE559E
+4EB9092A63D9A8575AB7FE3A59F74E09124CDF7CDC0E243E43AC4220198A3F70
+6817AC4304B5529CE3D5567720A4E4E1896F94B33D0591808BDEC081A430CC06
+6CDE221418C30F3600661FBC6ABAB61608A4AFFC68C7069CBDFEE1F3F208437D
+EB8CC23A02154E37C7033E544B675D7D56E01DA19609FB83601611A17C2550CF
+CA248EBF7ADB0237BCA87047DDEB68DE39DF29A440118DC58FF9C9FC67C27E26
+67B7F8DA80ACF45F3887A2926424865424A572B4745200C1E5862B7E5A3ECA56
+2BE28DDCF307123AE11FF21D454C3F0DDEBA97990E42D9551E057AF445303873
+8F0884375C676613330D5C70EA193781C7131C81D40EAB9CDC02925B9E23A451
+AC03EE98C498BD8D9CCFB18095202FE92A1D0A98AB3EA027F283B3FD93E62534
+85EF92F6370ABE7FAC6B71053A2A770DF0315F13A9F3B49BFF60F3D2A07ECC17
+6119082BF58BBC233F3A778898DA5B09841AF2E677D2E91B3EBBCF3FE438461D
+10087E3EC6365DCEE9CACFF0D70F83F13152F79CB9DD8BFA2FCFC3B7397E3C59
+AA8DB80A542C3D15468687925170EE9D39E62176C7FBED64212309DEAA6ECB29
+F4894A3E4EA963C9D3D4AADCCEC0F1E1453E9B1DC0BAE4BC9034D90E712F2435
+7ADE0BFE4B18D4D2221DB6DD52EDABB5117D733F0AB35F6FAC8E6B84BA5A3FD3
+7638DC29DBCCB6CF35F2E0600A7A3AFBBC180EF267D2B7AAFD33919FABA6E4F4
+0C6E383FC41FB6E7F743937B2C7F9F0ECE5A44418477CDCF5380745A43DCF54C
+7012D14583E9DB1CF6FAF23C1F46D34F3E3477E8F548D990559AC157E78FF289
+F0A5BA9DE4B8E2C8A3FECAA94BCF5206CB66568267B501AAD1A42213A55659E0
+82D080A46BE07D5926E17A875DCB1FB4018A7514323238E1DDFE28EF6A3E0D2B
+51A6C635395CA25FFECF751394E915995E6EBAB6065241D3DB40CCAE45A6AFE6
+474242B14C20497DFCEF9817F046D4A4C6E674AF6493373F69C5B96B71FBD7CB
+108F13F1C213E0426B0E67B8FE593496D72954468DE2866AACD6D5A2CBFD438A
+D2316C8F1124C2D5CA4554EFFF5BD0FD3244BA8F4ED21C86190317DED92A95F7
+3F7B6E3613E16E6C31AC5FBFF063B0882111E6F13DB2673D3ED519E8CD322A3F
+67FBA217F062038F41C981FA3C4FA389F33B2B973532A1A24A8AACA011E29A1A
+24D1AD021B756FD486B8E1D8050E991C52601FD8E8B347B4A34D17AE48DD5E95
+8F4FA1BFE9141EC0FDCA20FCFE9C93DFD366766DDDBC281AE6C34C9137AD4559
+6E89F75CF20C629C9F977C32B3C021843E7B0ED59B7C1355F4C2C276DE1131B7
+3010D2742D2EEAEE96974311610E4023F67560B92E354DBAD3BAC9F4E9768F69
+76EE1FCF959FCAD9F23D090BB5F0DFD6D84F1ABA1EC906D9F251FDACF85958B6
+FAB6E1987DD9E8D3B33014BDFCEF349A952EBBD8A5CB72B15BF31A7841CAF39E
+02B75F72A2DD250FD5BF628B707BF717551B43CACB6FD8BBF9CF0FD42CF4B52F
+0D2FB66A47DA2CCE9513D51715DAE4E078E74F70734494390C47CC2E8E29CD5D
+26C727615DA35F7C4A9E74B9DD97A774AF2CDF3D4E47DEF1FF8B89F65D3D918A
+D971248BA4186606262F65DA7FC695B188DB7EC982956AF1D52543EACB1F7637
+E2194996278F21D772524517A051C8776085254DBF6C97AEDC0B53C17B3182E0
+AEFB665924E4AD61F36FD1AF3AD0C0E3B575A634A73C89291C073376830A107D
+47B61292D05CE54D40BBEAC9E1EC7E51A1A18459B9172D60CDCA7D8CC5399DD7
+BFF99EAC58A7C12D7F6FD3531ED49264BB54651B46135F83F1D838FB49C2CAC9
+1E0D43C1EE427B2A09B063E8C6C8C837B78ACD823044C569B558E629069BD679
+4D0CBF5C8E58B1BEE121223851B62F479F3FD2A99AE6EA88B9954B3592F1A38E
+D831BEFA92A9B91F7BA08D0C999ACEB1B86BC0A8F90D55B80C0A14D940C1E84C
+D1A0CF8F38AB79811BC5745B9ED93026190984904FB938FEC6E28633E4AB179C
+5097517C1CE2AA889BA06DE9C4C465BD3465CD7DB8456DAF1B0BA7EF3CAD279F
+25A171F32BF4668BD606C70660207093FF58C26E7BA32E7F4ECEE1A4177047F2
+1A1B64AF0CF1BC01C9AD73B9D6FF0C0D2C075DC5ED5CEBBA9DF43953AE510BAC
+C7B120AF1426AFECF0F058143E84DB89B024202BC8E15C9B593B8AF449BE3D41
+D72A82F64F4915E3B77D0280E6F326264F6123870AD27EEAA5C1061F5C1AB7D2
+46A383ED44399CFF26124DA18FCA8C917D6C41660AD3976CC2499914BB0DE761
+9FB186CFDC29EF5B7918D8F314754750AF2BE33428C21561E883B45F6AE9FD11
+F78F949561B9D12D3707D6AC2937BA4FAB200E7677D6C47EA1554CA406047BBC
+5597B2BE02590F94BE17DEA5582B7F7866D87EBA14B1AF2E6DE81F26FA6CD64E
+F1EA10743CC8999EB3A43408C6F14B39F2D5A4EA291BC8857E69170480BED992
+98E8CBB19F22F89830FB626BEC68772786A3C210AF8EA524217371C88EC9E3EC
+E2E4B4582C837C349BFA1452364BD4863FE4BDB7A37C31A7B57F208ADD5BE237
+19D6AEF576EFF1BCA86F0D874FDA320670B38CE306A96604D36DC98A94DB5715
+A026444DC003852CF82DCB6B1BF6DFE3A25982531BDEB5E6B941A4ECAE8BC947
+604B845258B83CE9E723069171FCB8C95CE4862B429B1AAB319FF6CEC21592E4
+733E6F778E4C8C6993DD546BDF6F84C23928EF996092E8630DDEACB3D36BCDC6
+6D7F2B45BAAE296888EB203A425409C7785AD6D565D1F3D4EAA5869FDB2CA737
+046FBBDB028A16CC4F2E00842F45E432E9319BD4A532DEEF69D54D80D6612F4D
+39650882404A2C3830B9AB4C327B4B54A6ADFEBA95ED677C910F8969F227D815
+97EDC221AA142ABA4C762DD35D43454927517EF0D45EED5DEBD177316138F98B
+638F3F765F54EA4E5B068BB94172B756BA24AE8ACF60C8257FAB88C5D35AE24C
+4BDA455EE820F02682C069F3511AE807628F51068F80B5CF6B5378B2A6E389F2
+5201C75AC54571C6D1C69E9DA9A950D47051D6C8BDEB9108087B5D417A90CA72
+E1B82630183FC0E343BB26675BB6FAF559DA339ADC0340BD6148C5DFC3967880
+6AC4013B609B441154BD97663A5C663CED743530E90ECCF2A19371DBA1CA3626
+899F88938E1AECE40D7B866580BC07F724FA44AFAC36490E3918292815EB639D
+EEEC79557F5A281DA428BAEAB9D7CA15E88A953E0CF5F3B3AD5677601BD65F86
+EF01AB99334A0B59215EB4407AD0B4E4AAFBA14AD03427E916749251EEB119AD
+85274205FE66B6892B0DE83E6FED65592D777818CD7CD334B42BCA431658DE70
+6605C5C08F1D0096F021718758A1E4F181F53BD0723B41EF657EA858AC73C88A
+7EBDBF9D958B9AEC90103B7DC14FFC64AE5F
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 60 /less put
+dup 62 /greater put
+readonly def
+/FontBBox{-32 -250 1048 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+95601766777978D01677B8D19E1B10A078432D2884BB4F7B8C3293B68BB78100
+16724E495064BA0168CC86D413CB48560D6D318357397832F7A858CD82030C7D
+8A4A1919716E8B26AFF8789AAF489EE4E0A88DC477551A87C7DF2856189E4596
+FE015956AFE5CC019F5CA6323A12B763B7B08B92C1A2940D3C566C43729E5482
+63C6DC5E834AEB4DAFB5AE8F0B8931A4687C94D11587B9071C8D81DA14F12776
+53A1985A3EBE37827656BD4635E03F09C3231F906874645E7DB3E59045A59D67
+E745D8487CF73FC50F64060544F624F357BC998A87FBE468DEBB38A09449EBCA
+D041D7C29225ACD16CB8A59E87924D15A9125F064710A6CCCA3AD3103D8FCC94
+CC3571C6F9192774FCFE5BB42A14B27960903144D28BF047BF4C77646EA7BF6F
+440D4EDEB712C63F2E8080419E42D1D58EED685EB5CDD49F80DB6E5553B519FA
+C6A39A093155802F3EC607721F390307E91ECB597ABA60A537E3F8C045BF5DD3
+D88CF6518D37FCD95D2F295D902D617440D23516D962F47750A682A319ACE1
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 33 /exclam put
+dup 34 /quotedblright put
+dup 36 /dollar put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 64 /at put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 89 /Y put
+dup 92 /quotedblleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
+F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
+3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
+A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
+5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
+2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
+0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60
+E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2
+E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857
+DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F
+739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94
+02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6
+E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F
+957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A
+45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F
+8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF3FE09037D981E9E7FFB
+BC3F896535D0DCF53F4C85A1DA5D0B632484D1F25460E3EB38E251D2AA17817E
+F3B25A2A49C0AEDE0B89E277F52CBF744EF0243C409FD71FB0C574640CF11599
+117A4F42F27D8D282D34485AD116F7E753A8DEBFDF7C552A1179C02B7A37782B
+743D0DF85C15A333BE9EE82C13DBC9CB007DEB5900954AD9309902E08B3D5BB4
+E8414211B971CE8B9F05A61C15F400D9297745F606C6419E8A8A9ADCBDC39243
+617EFABFDCF9F836D14411BD72EE19D0BDE89234BF7D52E7A68ECC952FB74FE3
+33E1A87DA39AEEE9E90406E2B1CF3799C63E9BA858D54F38918B814C0DF0B696
+839C820C26FB473ACC5C08E2056457A74123A398806EECDB427BB183F5458105
+2B66D7E1FC3529025D3243A045625E9DD9417FA089B3C7C394D2B65C0367FF73
+79F17ADEC6B5D27A5D3D3E244A0839E38267ACF07B2D994C2B4E7F30A416EEE2
+D1688F167D1641A72A795B1F4DA3350F75AD6D546AA118B5F8A5085F5794E6E5
+28256CD31D250D8328C9620B8ACAB03E4A33DB4595E959F4D0FB1C8CE85A710E
+22F1940067C036A7DCED7EA48F1EB81AC4735FB26A249A32AC2E3E7636B32D31
+7D76FBEBA106D6C67C94A3BD4256B786B71C6EF8D191CA90CAD8D2EEAD42C6DD
+8BB4BEA7DAD4ECB6E002F3B71C2955A5A401E34D55F755BED68178C270109BAB
+FA0AD848347EB977325530B27180661A59447D7DB55A62D65309DE24B6638986
+1D3A539BD37E74C2C00DFED3336B5C6B28D915AB7188FFBCE3ADB3CB903944DF
+1BA5923A1C053D4682BB8616F44E81E18DB2B58298F4B1A6289CA993DF3E7C73
+B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF
+AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C
+20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3
+C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD
+87117AAF5B799864CF87936D8C1D8F229F9A360B4723A4F6E6CFC14D8D081A57
+61BCC5204486AA325A1D0702B4FFC27565B56069E5CAF5FBC39BB735032DAAA5
+5103891B89076B5ADC49AC614DB9D0F82A2ACE4CCC9892759B5AFDC2BE3E63FF
+2103FB503BAB18D54C04E3AF3A1E9C199905484BBEBD53D8FB22BE2919C0B9AE
+3C5AAF0F5940C2AA57AC3532C0B547B2E1B3BF6484FA2866F37CD143CFAC6417
+AA7FF279DB13B39E844BE6DA2DB80BC0F4BA660C8EC6457E43019808EC06940A
+BDBECA7AFAEE948593FE4C5AD741E38CC1D23CB349B929CF104AFB819B1F89F9
+DA0E0A9D8EBFC19279F0D9846761EE2B61F23490C1BFD26C8AD8DB799677ACD6
+51AD83D4DBC62B0FE18C7804BC707AFBD4F2669A99BED67ECD214CC6217CCCE4
+DDE2E149D4A466A3138039BA0C8F4C9F1F7BD0086A4CA77615B50B1DB2A80F4E
+391C6861133308ADCD02190D53C890BE3D0368CC736CDF757C73AC104B58EBA1
+0F4D8C46B0400AA8503B38A5CF1D6B54F70BE766EBDE7362FA8ACCF5FE9A538E
+2EB2658A12734DE9426077CD13729DA8AF109ABEAA64D17887D925ED72ED9F58
+D089E9D50102F9DED3B8F858B9CCE4FD04CA1BA7864870EBF916808B2A68AE0B
+C2F547FACA828AEEDFDFA3D7FCA3338ECCBE2CDCC0BCDBAC1D91AF4EE4012904
+F1D4D2C9A15FC42F6DE869BF3094F8DE2F6C336B9977C397DEB5BEEB83E105A3
+FC477FB6BD0E727B3F89474CDC2404A66592A55011DED59423489118F62DB8F1
+4760C507A86705D5E9E4E0606B64758F7DD0793A45567AC8D0F99EE9A88137C1
+E7500DDFC30591DAA9C94A74B2FD65D859504D75FA3901C678FF05CF5A035C2D
+C740B3E6B815D03E8F6A9D6DADA9AFB6656EB9895374C53073BCEFB216A01CC6
+E87D16C8CB0EC74AC58027A5B4F73CF56CBFF6CEFE6DEF59A5E54D0C6765F00A
+D33C1218863327F2F14E1F08861FC023063709F63A76F9C862ACA8584F8FAC3B
+F6798B2AE45213FADFE5C32571DA3405743626DC54EF027F91587D94A42A2B2C
+41AC5BB2693C322848EF44ED3C70E9E4988C1C054E4E27CBB3BBE9A4BD7D9290
+2E0DF32D31B02CE7A7153741A9769ABA61A44C02038FC185882EA1F27A9EFC2F
+5FFBE76F216A814D3C72591AFFD3253AD067D7AA837837C90017DB16664BE608
+D6D8F7F1BA7DE941C7664CC5B4470642854F11E65C165F74D1C0BCB35E127784
+DF635A049A3618ED205588AAC1C7C46EBCBB96B620F97FBC9AE717FB32491CC3
+D7141F8C9F6D886EC55BA1D57A32CC92B7ECDD4EA5A63F70FBB6BBA8D6E52F7C
+DA8FBE1C18F252FC30E1883401A741A8C3CD7DE0A91AF9C6783C7BBCE46551C6
+8907EB1831C25597A35984136B1A99B2AC7952720435930ACEA7E2F8DFA44058
+FF9C466FEB38D913DED70ADAD6327B17527652EAE28AAF7AE33EBFDE248E7CE9
+D89C70C005184FC31BCD4016E16FEA997EC2006160627DB17ECBAB0466D01EFD
+530482183B346E55E79087BD569B6AE159EDC50176BF355A6635EADF1F85A6A8
+CA8D7AA991D53536BFCE1E94B9CA424AB0DE5AA1B0E9DB2B708B411421C1D4D8
+BDD2F922B044A541A98857EEE0F21DB7C61932F999364F4FE5D92A55DA2A7DE9
+F628F15971B5EA91CE95B0619BE4F6D2461435176FCC692E0E8BA17C240F37F6
+A9C8BF9351B320836DF118D00BDDEAEA9F4CDF06710C0D35E173E68A7E1D9A1C
+40B2076142ED236E393589B012FC209CB5A75B98899D90E187A168DF20A011F3
+6FFD0DA23D5D7832A63E9E2EE79138DF9AA7EFC4ED6804216B0B6CE04FBEBECD
+BD298E24BE7C6DCE310505C3819D83A8A250C1AF89FA54261A49B73AA9D1F15B
+D2CCB0ECC6439270F0078180985DDAAF23A9AB9C024B0E5C0EC41C174EBE6209
+5D988CF1AEC859D008B723C9E40B0B245E58770177B144A997E393875EC59856
+968380D9B9BEF2E2675098DC40D01ADB674968FDDFCF71971F8608A56337A3E7
+694A317A001784FA29B66380DA0D46B0531FC5EDE3A0987498EE42F65C854024
+408331338C211319B05C5F0188F0F5E9C6210D714107E9E7F0A51C20467F4ABD
+EC77903905C5695D3BB6672687B155532357D2F4CC7146037D8A564210442D18
+678F8C21AD784B056D3A1450B760FF35C7A5E273A2BF5DAFB5CE37A099875C97
+D7339151F556A8759090C8724EB78E18066939B4732DBCDDA2C703866DBCC5D2
+D5B55E0799D9323ED6DC9120197EF9AA1040D31BA72C308AF99C7A7517C7EBA0
+23D509B658A403094A29CC925F3E4F20D2FA22D4E3D4DADE685354574990CBF8
+F709267377DFC1770516286D2F8000924002248F009CA007511B4F2C6528AFF9
+BF214191ED2445B06697196FBD92801E760CEFA9E04778A8FFC673846ED02564
+7D5E1AC5C743F5901A0CABD59CD3B17ADF721716272F6931E362CFF87B13DD9B
+469F8BF603050D72D6828BB83C85368C065A65671A6BF67D6834B2553C5A6B09
+61001B69A71888E196805075304B0A4ACB39BEE94EEF2D7D4CD109313BB4126B
+8C39D06B0091618267BCBF89B80E3D2832F0FFBC87542439F6B2735F0BB7E33B
+FA43FD59EB2591C87AD3FF107518284E5EC09DD0447E10BCC62AE1AA655AAE5F
+3BA089B4D50CD4B1E409DDD19B8EC08BFC199CA6AF9713EDB24394FA1E506F29
+59B336939853B33976977FCE4BB6DB0D8812CCC2404248D54C17EBB131A050F5
+E7D6A39743F427C18165F47E96F89347A779A0BE44F954F80E264DE749B8D169
+965714DE9D6F336879FE9B9BB1B7D56BE831F4E1AE480E242541482E02A76BE6
+2BA4A4F6FFD1C43B3E52ACA1339E1327A04DD6934B6436870A6CA3269256DF7B
+903665FED76B5714DEF8EAD253420CFEBCD02E55622C6C1C6B9364F2A670BC38
+18CF833E7B27A6875D827D9F726C7838C91FBE26372E7A1AE903717E56EE9074
+7E5ACA2816121E9FC03F5533BD01F0C56FA3D4C4CBDA69CD48659D91E45E7089
+9DDE6CCFE6557472FA36B1ADF1A84CD5F6324B586E5505BE43640481473FDEE3
+65F6E2623FD9EBA7E33CCE5287084C86EFC44FF047D2C2AF879A6D2DF969C5B5
+71A8AC59EED48559A994442460A4A11A924544C3E732B5EF1AEAA50E69CA0A51
+9FB58785B9ED758C6EB259CEE8E33D7C07764719A586994070F5B521AE8E1653
+476B413DA42AF6A60A085EB76B1548383B9E316FFC2889676415512E05226547
+A611B0FDC256DDF3005DA01AC335803E2B2D4B6138C050E3F06BDFDDD47FC345
+4147FFE0C5DA4408903E503A86D136E4EB13613F4BCA7E466EE5CD0306176554
+722D2C491CBC2BEDF5A69E80501E9CB867C6BACCFCC1C8AF0FFD9D32F6C28C63
+544ED2BEE12B044943EA20447D66DD9968847CEF4A157286D12F3D86AB600625
+44812C1B6B5F646A3A3A3948E7E9A01A49F304E23FDCD0F876B91421462E8D41
+280F26E4782D447C6206015A9D98DFE23C3AF2CDDB8A1C6306E9A148963A3533
+39D1D75B1D7DD5F6B08DDF5C37CD45AF61BC7F0DD0FBCCD6EC579F73DEE39081
+57E8998E8D01EA4EBE5D8640B56C3DA9092A5211C683E6FFD13EA44FC8661FDA
+A2CEC234AA27339EAFC5583F43FDEBA1BE88415F17979E8D51AD1AD75B072322
+BF86B7DFC4BB2E771E2535FA00C727D9B7ACC3421FFF2807DA514A8D519FB740
+599F5EC37EB344BB51348C613117AD29BAA70F9191CF9FA9F4E8B4AD13E37990
+952FB2008912059DD9227BD39B835A3470A49A70C0415BA43B6C9663AA43AA8A
+CE594D8D204843A71ECC110C7283E2213A1524B99E7F0AEDCC4FAC27F6120ADB
+650BDB994724B03916DC8B043B42D119ABBA1A232F1E3414E23C844A460B0665
+AF8A038A492D3B3C354190437A50332874683C67977944E9635A54E96A6B8595
+FE850CE288D9B226DE8B1EE040E38834CF559EDD6DBDD2A351058F9614F1B600
+90E0A0C18603771C5906B10783F6A876BF3B3706C6159D9DD4FBC416D4B704ED
+A006B29E7582CB506FC4606F135FB5CB56AE51D18FA9C375D39D82853DB7F9B0
+882212F094B990683982616088A272F840671B57AD563AB660F2B0CFDB4B8C36
+25380A35069C0E825E26DD54E1AB48B8A96EAE24F859E7D83716664884CDAB3D
+D3F6D2405E3A73D159EF2813E3E88AC20654996676189703A2BB369B3E4B568C
+207094278DF62688422A20813C88D7D8F35B8A327E8A1AE1F7D4A8DF782F2E6A
+0D18EA6F726352EBFAFA20D77BA3C2258AB1D54DCA238AB0E693260D2471AFD8
+F7D20457AF5600818335D3470F785F2F8E57897FA182909616256786D1256D97
+E184D6C6600C35694DA9403B6F89E54A30DB491CEA717225D15B87366F09171C
+EE79EC088C9CA7A879323DB4FB108973BFF9075AD9301F9C118376CC1541BBBF
+F7E6B3A76ED609A5C4562FEFA5B5CB62FB3F1E7371077B51D73F11B1F71DD466
+8EF424D0FE2104B62E544DDE157392C20CBFD6173A00EA14A093ABC28B43E26D
+399034D9DFE946C96A116FC068304606D5035A17CCAA3150D7D6224179E51C0A
+73B15950EB0AB4E62E46989C5AAA58E79B0FC40FA0EA56B77DD595A2F9A9A616
+131B37EF1B8CF002DB02D6FA9B6ECA7957ECCF7EA8CF07ACBA10AFDA8E636F85
+60F418178553B100DDD39C8830CAA492C88C8784C8EF46DD265F8D9764E03AE8
+305AD1F3C9883B5FF01B5AD8805FA869A0D51837294C164BACB0E9AE1E718829
+2E8409F14B5973189FDF3D3BBC33063B3237D1820E5FF5A193156E94811D3CEA
+A1812AA843550BFE568E58CBCFB2909F80DD71156E26C690942A92DDDEB74829
+E33AA756B843765F8A6637C1057C3D7930BC2B2A9B98222455183240AD225B77
+0D07BCFEB9A512534A8F03086ABB19AF0AE2DFA4E176F4BD6E727083B7CA0DA8
+89CF99D477C7974CD09C7F65E2B61F7D5BEC3B0BCC5EE1C28CC1FCB063030851
+E8DD245DE4C5EA00FD4955D19D72A8DF72540BB845C12013FC2526525B8008FD
+012D222AD5973422B1BB061EC495A3F49302EAC9662E1738AF548BBA17C9FC23
+63E61D7DB5996A2C034BA859C41F56804D26F459B72D6E5B66D869D7AA17A71B
+DF54F932F20A8AA564402C4FD6A94202CAC921F6F7AD7A7FE2B09C54BC4FD7BD
+2986E7476A793759A9893BB09F2C5F1B33293F0EB0D03C5F153E53F8E4CC1431
+B406B754684079D3AB96BB93873E610C4E59A25B4E8B18AF291172765E11E025
+D55B90E9DACEBE97048A5CE9CD79FF4ECBF575BBA968C5B9393EE8CA465B1AE3
+9BB58AF608331D9BA6F82D9BDAC77DC4CFE3BC4B1E4180E1EA0ED503B52D394F
+2EA5750F365BDF580D902AE8E257D51A2B7E62115EC33F962DF2179BA6CF28A8
+C54C737C5CC5F7D7ED533D45D25F7817154816EF089CC3A9A08688E9E5DE4D49
+56197CD7A026D9E51731E4A5AC940ACCCC225A2169C415AA3E70FDDD37508837
+6DF9CC8CA759792A1E821AEAD40DEDF15E511F7DA04535C2DCBA4BD2D29E0318
+B7F8EBE99BB004091343FC911DE65A91F12D6176E545BC3DFD315EBD5FB7E4BA
+9C258361E1CA7282050709DC83F3C65A7D180A6F236A3BA775B81FB8BB944AAD
+9A7CDD1E68C6317B0A5AAB473640F7643152F980E6A55AA2DD648A7212F876D1
+7A12A91639DBFD5C4252E8CD18974E4B73D40E87350634C53405B2371EB28D31
+9E1A50186DB774062E5C4B2CB62F29DA8AD87714998398D069E8BB122B2EDA75
+BC7BE20D51FDCDF7B462FC1D54C2FBD436589D06422BB5F998BB443B2C9242F6
+07A6F63178247D90BEA95D2366683ED790819A3B83A48CF0F949D2159468F42A
+66494476D3539115553197A6F4987D24806FE6B8A1A2A77ADA3D032BC3BD8150
+9A82E967AA51A0247CBDBE6B9270C165C4FF95B419161569BDC07F0872C40408
+8CEA68275621E4811928C15AB1F2FBEEC2BAC2050D2037DB0A502EF055199110
+96E4291413CF40CEFAD61ADA078CAE6F66D899FF08BCD9B5666D83C0C6D6FAF5
+1FAB8293A278E059E3E60CBCD9C33DAE7370A258FD8C7F082DA7E1CBCE8D5126
+61C9352B3BAAAB3BB707B575B0376738754E9A48216092E211AED43EB5CEC4E4
+9453241CE8A8F9B0177CE62C7766058D2B51F7E3F7B14A55E4088B3439304496
+E76A698022AC902CFB69E0CF7D0AA41A3ADB1F5303C43BA4C1F8EAB2860C0D90
+1EFA40D964B4131397D47EB43681BE7C4D4FBED162F2EF12898AF86044563F18
+4F9758F5D7FD7F00B8383FD49EE983704BE7D27978EF522D3F753EDDD66CF16C
+801649B107DC2C59FEBE36AC87FD44D13861A384CA0F83D60B217C30C2872921
+AA4B10F2D50FD6607F6512259A4733D451B7ABC4EE20D754A876E3CC75232138
+B8331CC4FFCB9E6A54C863522E348398BCF299EC5882BEA2057C4E82FE5BC8B0
+FCFAC22AF8311CD9F60A2BB79C794A8B545E54DB04441A78868D012C1174777A
+9EA8715DDF3D1B3A5C21D2CC73E640F5E6D80E8F59DB16F41F0D213CA5DB9744
+5EE4D2544B542E6BC2EB706BB4AFBDB1FD7C53ADF3046419EE28D18B85079C25
+15A287BA17BE49DC02274837BEB76960CD445F8CCA9DB8C10E1881157A59749A
+1BC36D60F20EDFD3C81C03D9C2CFA56F7A6FDB1673B0EF6F02967246D1AF7A82
+CFE0C19DF0CCED0FEF53DFDA9E2222FF564D68978479279DE87A09F8BC44079C
+AB58599DB3B44D1BEDF276F71D45DBF5248D28A91249B4CFAF9D5335109D4D14
+07C9E403468F0A6EF430F0F5F5D27912F18E634CE711744773562F3B39A74D49
+CD0082DE935ACE54F297762A2CF153DF4A1822EF2E154C6A9BF89F0BC9918D49
+3332D5CBF0D2B47831B32327A2200983D9211C1FF825B3859E0D2BF847BFE94E
+6B241B26874458D90F7A0DF6E31EF515916AD63F784CDE8AA4421C7114D1B579
+4350511DEE1697BAAD53C10483B0B21D41A42E0614F18033542D3AF3E8C9F4CD
+B181EE1CEE588278A44240CD360D2376555ABC6C9FDB266A29AAF1E201DA1246
+7660CE02E03F12933E53A51368B2C03F91725D47DF5AE460E27BA173ED86222A
+2DE9D82EFDD1E60FE94125E322ECB2D45158D2CC4E2B6971DF637CCA67172070
+1A52AE7FDAEB7C851AF96C4176062DB218054E6D54864A955112D9248D27CF1C
+D824ECDF2363B50751DF5519D041319E32D146694510288D8AD8DEC248782978
+E85352191D4FFFBFF962F80E4AA3CF83EB6BB993114E24CB1D2AADC6C24D540D
+302A3A8B3BED5B83A7A7E5D49DEC968AC92FF84C54634808EEEA382B017C8D35
+8B6C0BC2E0302BEA473B9EF4352ED1D270D5454D422718668C5C723CD46FB700
+CCB796D5FAB9ADD52818BD2CC32EE962160329B4B3E665C1FD125954DA22718A
+C7B6AA9A7B989F7B7676D649610840615383CA2C7E22FC47B96830ACC93AF4DA
+9E3CC26E6C440E157A39E3AEB46413C2A34E00F51CB4E688815AF9403D78ED27
+02A5747FD9881DD48FD4B7244B57C3D641C57D4F8DD821F237B3F96E41E9D9D1
+C614DFD804340CB7762F8EE6D42DC52F9227CDDF964CE3107D707D0BD887A242
+D5DFBDB527AE23C39123634D0AB0CDFB7458C47D6E0F6A7CFEEAE2F349208B0F
+E3DBF18E57C4B509E3B43DF44FA34C5ED174995280EE2BF975FD8BECEF64463A
+8A2A6D8F248FBA2036DEEF8C416EDD6588717E5AAF2A6A33361A41DB916D6D39
+ECBB218CBFB3508D8B79DE1E09FC7E78FDB8BBCE9073B07E679C2CD32D6A8441
+40556D5723E1B6EB3745418677BF0B36EE379CB9DC0B30FADCE3723A42A628B1
+EFE1B566607908F19E0EA0CCBE94CD74A14E6EAD55E28BFEC848CCD0D6380ACD
+5FF3EC2FBD1EE4B096D4BB4BBB6DA254ADA2BBE0F17EE44B91B70BAB4E7BB33C
+52DF702FE333761D7C93EDA68F6293B633A4B56F956EFE03C04AACA2C9CE99B1
+4346FC24C9522F7F02B10509B1841DF7737307F458ABBF7C6020CA4D1D2EAF02
+AA4BD629533E15693B5FF63FCF0962315DA2EE5A81A0969F6531BF3ECCBDEEB6
+10D2912C87F711FF7B89CEF50ACC2FBDCBA7263B9F45C98549ABE4CFC4952C7A
+12F799FBDA0678D9FEB0115BF8FEEC34D765B4C523F952694A62F8F5B1F777CD
+4BAA37AAEFF0E85EA76214EAFB36E4901C28A21FA167766FA5F7FEC66D1AB9AF
+F301FD16C490DADC372578C2F78E0319A96E7E6CCAFD3E10E5B2128A895C05A0
+3EFDDFFC7925B298434B3AC5DE258F72413F6C360A62DDC17858D06FE8155CA9
+1AC8B05577ADC56CAFEF46CB8307D48BA2F85E01235D32D6FFF63147949F1623
+6284CB613541CB23AEB78D1829F8319DE59CB537266CD095F8A5D413844A9883
+2102DE6972D49511E798982BBA9A80A3BBAB5073A9676AFC39CC1C9719894981
+014372D8161D2988DC9248D98ABF4F20BB82AC7F63BA824B4B60D3AEECDC9554
+803218464B392CB0CDE9E6BBA3BD830A186733CCB458D23BF42FF8CE22EDC03B
+1ED45E98EDD497E64F32212CAEFFA1A6CB1C6AA5A5EC774C924A699EFB1D73A7
+9A0C8C2157FC3E675C1FD6E97E5CDFA81B206D96C091B4D43EE2F2903B1CCE69
+7FA7C4C3BC69D7C31AE62A9B1FF7F0C229BABFB582A2E9E0205B0804481629DB
+F6DB901BEE12766CB079B430A21C8B075F806EBCFDD07CC5EDAA22DD73B58BF3
+520611A09D30127BAB6534EB0E8153F5BB415B15C429B0C7C8A1B13F06B82316
+9E0DA96A1719ECAA4925C794852971BA9AA92607342BF4CEB8129745320124DA
+041180276F4E1B24F9EF6CFE34E59F1FD71FE6604C7815EEA94B054C0F676C64
+5BE01902FBD94B2008F813F650B2CB87A4E6EC36F052B61B9BA890D63C07CB5D
+B9B59C6074FCC78FFA9AAF977E88A1C9E31F731D8A4B205FD0EFD75F66BF92C6
+BBA470E0D392F752FF6C4C9177EF8A271A15B4725A00140D4E18CBAB8BB9CE25
+38FDE189A81FAB1E17684151DF7D3B0EA3ECB14F5B78AE98FAE563246B4FAF3D
+594683B0F7A6170561BA0567D00AB2A6A1F144F7C4082A3CE3BFBF5A2D9F229A
+C805B3493CC68E44D29D64E0A4EA9A42E3B30BE011D9E8B59B5D51272FFB4DB7
+CA9D4DBA93EE852EF01B0512FEDA64453F6D7CA7C9A8BF0391DB6474729C9D4E
+462CEC7A24B7903D11AC9DE578E6F93BAD261BB6EFD346AA8E849BE5FE38BF36
+ED482886C844B747D6DE5A5F5DE4C69E2F29998474B04438BECF9AA37444E73F
+03707D9C96E560A4F1955E559D2A9EC1341D16847EF32B687128B7E5A4BFB67A
+DBF85EA6AB23B01C68D4AA21DCD51FCD7BD086E61454B232EB1F65602FCB5C30
+A5044ACC5A571092F381508E86C623B64D50B5403AD390B14B0A4092E486C941
+D72C86EAE3218A93717E11ACE322038ACD091A1D949EC366D62219D635113F7F
+0D6ED7977F6BEBE3B41946B0779BDA719811484D8AC8F46341E40C8D6B319A40
+105215CB1F1456E6E17B4960D65B5E1B36DCC11A166015654BE726CA6C577775
+32A7344EA7EC4D5A831B00CD0602EB8FC6A14E09B14E6ECC19CCD2E62BEDF56D
+A408361B92D81862304991D50431E12F8A2AC01C84CD10BA3039D129051D2F39
+0147B799E0701E5553B7EE077BAB0641CD20B0B9595B68F9BA304FB4995782C7
+A013C8F1E2A894B2E250A576972E75D9E11F41F42172EBD1C2172C8C98707A16
+8BA6BC35BFF113DAED71F37FB3013050382E084A8296680FCD5923309652BFC4
+457D7175D7C409DDB37B93372606AAA50AF81C447AEDA05469D7A9E7A17E54E4
+DEA417A68CF9858BAE1C513522EC43FACD973D5257A459EF317497E669B9C192
+EABC1FD052F67FE686958404B7F59CD4E1101CD6F7FADB53C8A89BF56A164AD2
+2A258D9403782314AD0C1F88854F82DDDAAFA5676FF045E7C486136199C9E69B
+58D1923048023B3BAB8B9FECE8F29F5EFCC97AF5268ACE49AB4046879D6BE232
+553A37B62537D2FECA5546AF9D1DFF254F589296BE5BD83E2D330B6F0346E8EF
+D30A2F6C0C95F3CC29C627EFE3F5859885A1C8175638EE5C492425FA18DFEB0E
+0C8611A973C89F89659CDCADE24F74E125634341399044C127E15964040049E4
+D45D258DA4B24EC2583F4E6F11312E3509B79F63D48FBA24EDC0953319FBB422
+1A11DE672665565935C352D053BD41E89C636D298538BB936DB40837BE605FFD
+F34C6C7276032AE06DC45D20D0F90B005B7BC933E31FC30A85EF36DF57BF4907
+60E7961EA6704A211DA5E7C942A341ED855CE1AF9952C07EE8C69420E8F9D206
+0F449663002546D4F577E541B9F2F4EFC3709BEB795C74DCE1478EEB9969092C
+5DE3201955463A8A5B8E1B01066BEB0E7B632722B7C2282BBB1F6A3D00C2CB8B
+3EAFBFD3F21A91A283EA4005221AEFC214921C0804D8ADB421F7AA02088A7FB5
+868B0C9F6FB6FDCFB6A086EC96F1B87713A92FD0388686473211F41C21E67495
+2251C93C9047DA84C5331C43D12B9F1CBCB57A2FEA713AB3C60F156FD90CCFFD
+F6273168E66C02F571CF8F577731706E37961F80E2EBD0716B8DA97561289E16
+A3867372D086AA7109E40B7E4082464B95F7CF509513359DBB881763863A78C3
+4CF0F4D15AAA18F1D32E3BF65015419F773E6C438C1A3B8D82DB0737BB6630C2
+92B04938B0D982F072030D54A8C4DA9C0ED7EDDEB5AC355F42095C07C312DAD6
+37C5593CA81CF1D44BE2EA00B573D1228466CC7B30BFDD73366FDBB661CFFF17
+BD300F02B7447C47B068ACCDFCEFEF156E0A724765249A8866BCF1B28DFCA692
+128004A0DFEB6AF5307B6E269F21B8B83FE499722B8C603BBE21743EB6A32348
+1C4489D42C20BDA06C78F9641F0415AC8601EC4ADD6C5B25E38A4EF89D38EEE7
+37C352074075331CD7B7FC6E26A6EB9F912476F1C997D5807FAEC16E3B8BFFD4
+0577F117CA4E9CA784CFECE15BA18D8855F08CF47ABEF7CAD33E7107C7AFA833
+D1368167D4B080EA93B8A8BD9D98522E65EDB622B79EB428BA1C1B1550E109D9
+17982884605F47D524FF901C6AFF1A6C578E716B0EEC5FBD54C7FE7A03BD7DBE
+78924A1790FC3842D2C5ABB5E4A53F1E2E53F7441D353B1B6BA36D821867E938
+9B977B374594D863362C81DEB4F003230EE5A4D1C135D67EA04595B412885A5C
+C02F5F80F6DABA797442D7A3C6E0BD0B9EA1695F9EE4D6A9EC63D8625C922E5C
+05C87FF4EFAC2F53E1960541ACDD2B8D8514EE9D0431ADA84804175296A01C38
+9D780A8D571884855011EBB8A945CE92950DC7671E40D1E6D148E219C2D8AFAC
+83A382674547E4922C306BAE3B3F8E5136D02DE01C76546165AF18BF7329761E
+22AE7215256ECC0AE80B1161CB5F51F41A2357492B682BEEC02191D0F9BFE958
+A390749438FF3609515118205720975F8DC1165AEA56B832DE08A63ADB469A72
+8C3E0E285F31F58074CB451A43F99EFB50DAC1F40DF9C1FBECEEB328BEF931C2
+5EB0F41E12989CE28660EBEC4D5575A7C42D78C7C78EB886D2681044F33D635F
+E04C867193AC75B2A3CF3BEB18E260BBFE9CC7960F8F2A89ECBA0365B5EEFC25
+29ABA3DAA181502BBE90CAD148D139B61BB1A0F807FC41C1968B179DE235B20B
+4688F425E1BC6818120039346FB10B52C72E203FBFE4065EBFA763E90C8E4F59
+E5659866E552A011CED8EBE468EE2A1F58924C51ED4243B70103A3DD0340C33A
+D51B945ECA8EA610F74A87A7877646DCF008C93AA558C73896B79B9386566D49
+3BC3E3E74E1110DDCB894E5F74B9D8B52C8AE5CB744DBB38FA9821CABC213605
+69D9167962F2B93DABBBDFFE2F10E7528F7CA30382011465FFF1F286F749F3F8
+39D2096EA755B9BF025E561758A853769DD7D2B51F39571F8C1A51E846B4C4D1
+F3F43416F8A2004CFA688E4D40F664455F98763B2F2F84E82408FDB1A650E4F9
+7F854C752A912D60D7086D69282E60030B1EF3C6F32F703427223E7FCF648971
+96EC4BE43AE16882F0C2271D5E57262C0E79FDA84A01F6EBF5163E466F0308A5
+9C43CC2E0839772784DB682C4E6DD62052CE8098DFA722EB30EDE5A1C5CF4A6C
+1BBFE14F1D4A6BC68EC3DA0A6AE03A6803048A55AB86678D461CC807D225098D
+978AD63B468C616B82FA0A5C84BBFCE980AE8FF6BDCC066E8A9DC791B450B05E
+85D1AA94D6AB09E56503A79BDCDB9ED26021F31125ED07250AF92431414D657D
+E2356639BF4BBF2DC9BEBE1DE14D61F953DC81024CB56D9D3413423C2C2594AB
+ECA5E3AF1400062FA185E522B7CB1D05BF1D4773CDD1630346EFE1982F401DC0
+75FB0A78F6328C00F1E5EA792A595C54C84D02258493633F211292AE84F5311F
+B03E7E4C71B75482608797918D9B2B07069730C384D4503D899DDFCB47E1D5CD
+F9E54F929DCEA224E651B51EDDE86D97243FDC2210E75328118D0043FC102BEC
+36755DE5B061733C8D6CB00F8EB03C41AD2CE61C2F2B9B1FB6C8A658E9A1D6BD
+6789379DF39FEB4F03F5D939293935DF9130E7D725DBA6D72D4A88E840934B28
+A489E10A0EE8642DC4DA73BB17E03823E851BD203C38CB3D3DC10280C582ACB8
+A11F4AC995153D370E41CC1BB7515285E1E8025C0C30F3F4130F6890DE6AC897
+35A1ADBE867EE4C460D3DD18BDB5F92D30F1901A62E78EECB18F25F3FC464A93
+AF5E8342DCFF912189EAD3D38CB1C619C2F3D9A7F3DC1D9E3B53873CE1DEFE9F
+7D345CAA69F4B271FEA990ADD027EF8377F38F4003C5DB62A23BA2BB18D24FAE
+2089EC9B8E6E0546D224BE593216EF00D0A20B22329E883F4548AA2F0A66D1A0
+C8187E75DB813DEAC2D9E3BDFBBE0F6DD8ACD387D868C03F79196792A7C66400
+3FECBB78EE9C29F66D0E29D7A781F69A1C5D2795DFDCE2DEB08FC4660C2BFC5E
+7D1682086CCE9EC679A6B27F0242A02645B90AB23DE1B36247FB408A33B29023
+C8B07255C9A2A13F968BC5E23A066661ECE811CA0200046E61CE6F4055327439
+5EB675F192A22B3D2E0C04405E7697A18801CAC1E7F7B8F05558A5835E54A53B
+F63688948F9513768233F602DF848C83915B4142C5FD5A303A1064A4C9F884F7
+3EEE1168BB2E7A9A2256B8937E055DC1A201D5D98FAB39B4DD9888B469D475A3
+7C0FF690D8222882C898DA750F263896740662E7FB849DBA27F0C94DBA3223AE
+A9E9BCFDBCCE48B51EB2A347DE6B9A3242EE1F7A77B8C31F8C99699CCFF7CF1E
+6DA4302C9142A4647687ECE65E8067423DDE14E2606D2A6C5AB5D6C16917F5CD
+6946B900F96A3D0E991F4BF6C0F74134F27A1299FBEA46D13A615577013E1F08
+DF2266D1137F8476A06A2A8380066629271AC7278FC9B8E1E92FBB4A615DD4EB
+EEE929EE3A9CA13FDBF004CCDC31CFDC3197F88242BB76A611027DB2712FE3D3
+60EE112EC4422C432F29B5434497DB1C28E56983EBC5D718E402CE282B9DB9FE
+8AD9596763D086EC098592840E0CB3736BB5D2BC69850553A885E7D5D83A5B77
+62D8C951FC13101D437A5706C1C365E4A39BEB40BE402D0802381141E0862F91
+3007D3CD64143D49F183228F5915A00CD8E0874B2B1869E4F1A05AFAFA684B95
+36B75DCD7AF5ED0E80A7AB8AB1BCF3DDD0AAAB5B0B8C57AE451B10F30BE1D36C
+98B3B8B5C309A2F29841F539CFCBAA9E87F4A5BD65A5CFCE2FD87683561DC95F
+19556BE0F8A556E63395572A8592C24C5A69D2F70E9DDB4C02DED809CEEF7800
+CD756F30BFAC8FDAE0D043673EAEDEE8203E390FBCCB13DE4E5ECEE4D2493038
+ABBBDC41DE941215108FD9B8863F19561A89F2E6E12D6353144FDC78A95D0547
+87946A3F272829C4F55C36631410C680C9464D3C1769A182BB2146ED8DB95CBB
+BE74D54F9024C5992756E87EAB1B200EB50BC6AF9EFF7C01CC445FF697B723F1
+9CE092A221983499D6B1EF19BDE38E1841CA3258993EB9A4F790DEA6E8138088
+2802A1C56741B9780F7CD26D76A7AC0EF1D67A78804896BA2B11A85AF9262520
+4306484ED9CBAC01BD2355507FF24572B4A5F63B1E72BA6EB51D5A83397551CD
+3AB93CA1E49EE0CF12FA3FD3F17529819976861DCFB4D095D8448CB60F71C445
+F5682A603D32C59ED871740E2876C04A7B74B46BB22AC8C1322192FAAD2998BA
+30AD8841D5CE4078CBBA1A2F0F4DB82E860B486445BEC1DF832D57AC7EA5DCF7
+EDFAC8E629BBE7992073255B64F1E3D7D1D09F5EFF73862148A4F5B4037C4D3C
+38FD939ED0D5A2FC75C4B83D49610A1419E7ECFE36B318C3E0F515F8D8AF1781
+0C41C44310EF5D5A8C2CD75672F01CE0D63D401190698CB2B6DA89F8913387A1
+072F6D35750E97C6D9134B5D05A7FC599FF7D01664081CADA6EB741CF6FB5D7E
+FBCF327894E5D67C91A6B0E73DD0E40F34A93F0D43A41AC0CF474817B3AFE7A6
+31442E9B9285E0C86A9CF99F72735F22B33B4EFBAAC0FE3BC02A8978D11D0388
+9EDCDD617D04F304B13C886D94482F6639AE9BC810A69F878B82994DF45EF7D5
+D23E22DEAFC4A812D1AE50B8E72016FC3DD8DE3325EF26D18E0193668B32CEB6
+ABE21B71D884BF782BE606EF3B1BB22840FC0750B561377E76CA7920304C3CCB
+61974A06B1F5E7D2385304B35932D00C132C3BD51FE442CA198D23809647E532
+269298BA0BC1F94CE51E1105BB26004551D262F1E223BA421F1AE001A3FDC499
+EAD790F01EB439099233B69B1260940BF4C6B5FEBCB49009FE7BBEC1FFBA5B18
+78181D018EFB2BBD2901ED1030BECB017BA70933946E002C68C66ED2E748C4D4
+CADE1C95B8B08F21E621CAB1F4E868C4CA460B8A0236DA3A6DBFB4F1552831E0
+5588A85CD3D88123B6D7E7A8F425C5FED306D439DC5D7656D80B8AAE7FA616A6
+00757AA72D14B712D32C6FC905678BEEDB15A967E287197BDB4C8DC8D4861757
+9A7DD89041983D3C74523206C046043A0583A0FAEC4E5CEF814205F7B5616BF0
+7BD55505AAA8FE85324F6CBA930F6B3D421416446B7AA6BD4035A216CB307B13
+1B64EF720D572A90C2D21CC8746BAA178190D9CF7CC3CD04261A55E1E8A4925E
+6F429610947CD4C64FCC6F8AFC6EEB42FC91CD4BEDCD3079891375DC26EA3312
+834DFEC5DB8268F970761CCBFC41F279528B793E60331A1491D4240E94064170
+137B1F979183FD082D80D3D762CBEEE1EC7C5A8C720499AB90F454EDEEF0D975
+0D552ED55EA27BF77E2EF0323C07B9AF8D66BF4B3C7A004162B1CEBC81264FDC
+34610D8D409A5C6682BCDCCEAFD7660551D9BE3E3F6BE832269898C29C50ADB1
+B606782DD652B6A6D292D62DA70D1CD18F3350A9494541906AF3D5A23E67089C
+D824916288704B2B8AB253D14704603F88E574E7F23D00B80CEA20E32B385AA9
+B8BE4A4EBC0F9E2976B0EE79B45E50F002BC88EE6DE5BD53B477FAC1F21CBEE3
+43F2C09120CC7E969A3A15366906F02CD872AC233C823C3D158751E04E4C731A
+A1553858F728693AB7796DBA03078AF0DB3D22A42E98266AEC03C85B482CAD9A
+DFED9A85E80E1CE1D4E0E0B5FED748191BB04538E2E34811BFC2345DF34ACB00
+E7850406D64F7A02C1103A52CFC3390A59982C2FB773A8F2762F71A85B1C5B81
+73B4F49B50AA38DCE230FD475877156E51CFB60943295C1A0BAA2C43BBA36596
+13512623B4FF8B06DE20769CAB1F0CBFC8F67B8EF3E790E6B3BF1B52B7987B2C
+7E9860C2A39E9F306A843703CE76E10349284505ED0C8CDAE2C749CD79551B32
+BD3B0E989A2017172CD382C10A2D508BC3212860F188FE84C209CC56D35BB431
+F06294DB71F1769F77B8F361CA3A8E21882D8D01CD15CB84A4295AD0890A436E
+B16A995AEAABC00E5B7F5B00E8E6F912C986297388E4D6FF6966E2F20544C0FB
+C1BE4A837B1D97AF94622520D1E73C1DA7887D0005CD8362877E19981DA135F3
+2F327E3F35D0F268DC51D680C2D88CC0DDEA82BE6CAC6D04C9CF1757179CB387
+510CAEF5BF49D87043854F52C311C0C8C9CEDDE928573F0EF48616EF1453A6F0
+D1E63B51E8E24565C6D2459AAB1696BFD08E9A01D5F5DDE8DEF51EEC635180A6
+DB18475445B3F3D3A04BD1B32F6FD9E2770E03D5029D8EBF1AEA5BE7C5F77DFA
+4218B0D9F0D0DAC426EBCAE07D55DE8BBF6C5B7E31E866FE00BF36A4B8FDB9A1
+8780F19EB690F6F40CF696C1ABA4D268A79A17A276F3DC006882047A0CEB774C
+D6C83F8477221BC91F20E5F220568B81E61F5A5AA7C8F235E28A3CDB5BFF12CE
+D150895572B01B78576E5B6F097D73A76FE35F19692AF7A01164AC849B48BD5B
+10C2BF53090D8D68A707F2FE7B0F5AE909D03E839E1570FBCDA154D4DCD17440
+512144A6D5F395286158CDBCA3F38D25D571D92E9BA44BCEAB6BB3857D2CF452
+C6FE8E7EA13E1A44E8AF0ED9E676FC54D9C69C9C0B1D6916E19A077E1408CC66
+2BC79EB80F1F79E35F423BA66641E04B314CEA3F7DBF9671C7C29DBC49BBCABE
+43B1C309D17093C8DC0EB4AC9ED4FA714A42AD53B1B9D736B91E3A6B611181F6
+7323795CC325FAC8AB2C9C61A522155F81094F13E956A0249B8F758DCFF095DC
+529675156F1901001835E5D4F493FF6EA5FDAB257C9C40C6D670B100947517BE
+06A1C281A0FB02C3A39CF61AF93D1C374C3BF28CE1E4A96C81BB0E6ABE4025E8
+9C7C206B3876AB9FB380006D6E73FE0BF40F4E9BAB3EDA3C4D2291A170086916
+54DD82E8A6FA0491AAE56EF41D04B88993D94E3525B60800C3817E5864083AB9
+DE3634043328C0B1FEDD8D8BFAB353309F1A3D2EE0C6723588A37B92DE734815
+30485E14B3CE5BB833605551770BA60CEC13C99A45F88A2D084F99DF57F3AD17
+3055D9B8C0F25838283429F26E9F1B03808B3FC3AB19D34308AC0F5EC3C13844
+B8C3BDD50B235002A6606B6293CFE82018CA6961A5127BADB01E33B5D21B42D4
+84ED4B6A31FBAFA3595D4919CDF092A9E582C73D5E4E1CA7BE0866496F793DB3
+B933AE410AF93E5F50A532F05CFC2D1BCCA47A57BD840EB4E2227301DD3D6EC6
+0D07EF015A80BF1F43722D5516BE277993446A7CAF044175255CC9545DB7912B
+C937FB5FC9A6A8E506C73FEAABFB6E0B4BD45C3CDAE23FC91A141C4A0AED99EC
+CDF184769E6279B1D62628F82A33E4FD0B9640F6DAB5A1C73E67C080E9D6C06E
+267791494AEFF512E674A8F4072CB399C5CE0949835D29E5D215B5A811C0D8EA
+DA6C73556553B06B9220E6B4A69D43B1417A2777494C08C440E1830F2EB2EE5A
+D60D22CBE2F8B1D3BFEAA18E7041A4C00856E1EE214A3E16FAA7239D707D471B
+6688E7FE83B3CD6F564A40CC01831F087B112CE22B8F9F56F4BC1B49CA0E3B79
+B7BBABCA8ED6F1D48F70753339ABC9B1E9AF5EAAD342F7BF63E16A579ECB04F5
+19E51F41CA50AAF079A0FDEA1B2A6AECE65DEA7827B169C7FEDF3115E5392F40
+9A95E752D0EC737F96EE2947BEBFBB6D41584C7603C1917BDB7E54DD519AD614
+C4F4041EF03FBF107C16596A6D1659DD8734C3E73BB4A9AE7E0B5399DA417A74
+1E16673F694D68AA658C066A75DB80F090D1E5685DF79E578D031481D25E2594
+D559EDB938A0AD499AAD94BF5F0B24F78A5EAA47AAE4BDADB44F9F05A3F6FF05
+0161C7F9727D2C2D35722E6658006D2E76796CB81558269018E0E5F8CC8721D6
+1C8FD93089CB16DD3C74881A55529E4BBDA2D295D054A3CF5C3B1DBD49B7FF2D
+45DE932732A655AECA4E13219E72CA6CA226F16E554C091CD7EE0413A0644264
+C28F40661EC51EBD8FC3FF5333F76B429B9E7A4DA5DF9AD23DC69AF9EB83646D
+1282A1086F10F821319A4CC50778EDB44AD993B23F38FDDF1234EE7EF605BC98
+0A48FE6639E76A5F1C694B24DEDC10D4D564EA4CAF6DE86F5D0CB85332F040BB
+8E5A4FB85BF69D2C14A0B50A1E8BC8317945802DBBB88B10304A7F562A00FB0D
+5CBD1D16C44B2D162A118629421E59A25BD11299421988C05BEA153CD63062B6
+00595D6B74698C6E5A80F18619738AE9035F9E3BBD450A34B7EE494260BF6A91
+4B6D7E57BD408DFE45D9BD7A0141410C701ED97E7880A30CAE564ED0FCE45E0C
+5A973F2D1840095FE7814E870BBC481AF098771BDBB1AA3BA12B05CEDC1618D5
+A4BE996306FFB4A82B4A9B8219B6FDD1A862A7271D1D1778226791B1522F4636
+060D74FFCE49FDF8E8334358DDD9D44CD22CC91EE6B8B34808D3EE5CEB29606B
+69298085303942DD9AD17FBED4BD5F879ECA6B01513CADF7EB3CF6A6F90AD4E8
+49D97FF4D2CA0B4DBF3E2D7D190F801443BF5B64BB18F45B6449A21E6F4E13A0
+25476AC1BB74C165D5158181E53989A68882912FFB9D0A3296D1993B78D6A66C
+A67F4D3E2A9862A341610C56339F440CC582219A628A3DD8A8AA66D2C9EFD995
+5B1B0CA2D5BB79D7A82B9E44786816C32EE51EA8F9251067AAE67AF57D949739
+ECB3A0F79F40DBA21EBE2350217DFCE154B82A4A533F3EA1FB5AF46004A71700
+BB0AE56FF21E7B4D28DD2CA9467E846FA69C6A7C0FCC7C6ADD7D9A43AB523349
+344A909CAADE967183ADB67D36F2B44963C7F2ED730C6723898C84CBEC15A3C0
+FAA838679BA20F676E40BF8D61752231123B45E530EA8B32A7271ABD0BEB01BC
+AE011B8CAFE69E71D5C07CED148ABC12FACA5CA0842F5B3F7B9A059984DEC18A
+A8712CC17D6B8E5BA0564F58179C668ED6C444FC9EE53E655634F8F641656CAE
+63FDD89CAA88B477736AF141C71E5579566E70CEB1565D91D69AD2E3CB91B064
+B93F11F873F88AA055EA8B0A001C8A1F518113CF19EBA1A31A7CA0CB9E7C7426
+214FA748C9934A1682CF9E2DDCB8D499BC
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMSS17
+%!PS-AdobeFont-1.1: CMSS17 1.0
+%%CreationDate: 1991 Aug 20 17:33:59
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSS17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSS17 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /hyphen put
+dup 68 /D put
+dup 71 /G put
+dup 76 /L put
+dup 79 /O put
+dup 85 /U put
+dup 97 /a put
+dup 99 /c put
+dup 101 /e put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+readonly def
+/FontBBox{-58 -250 939 758}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F075EA0A10A14816D516A63DE166FBCFEA932
+BF000C3B84394CB6E6A446D37717CF8AF9A27241D89E3EC12BBAA36A87DA0A50
+B96DE87FD2565D6BB4225E150CDC8FBE654B16102FE8DF3BB5EB869ECD8E521D
+74ADF974252C93C4FA50311485350B2EC0A92EAB44C9A8BB11852B3666C5F393
+6BA5AE3D742F26EE549A603EC810A7528CDFC7D3A1580528936A7C291404D23C
+A573D08407861ED401CA26626B04DC86EBB4547870BA7A03E49CAE3D0CA7BCD7
+6C28C3A89BF4182CB84BBBDC9DDAA541448456EAEE89E87C488851D1235F3326
+D866CED01587D10C2464C07E3DFB71E49317FCBCE83A4B85F2B7E544BFB398B8
+5BD9355CCF9088DB5108E011959AC68F9A3773B17656F85521618D608D9F6450
+BC4EA327B03E999BA05A16CFC2234F388EE7463AACF02EA3A45D5E65805C7ED9
+4618D5A8669FF3ABAF8B41D76D11F4AC0DB848BA8A5D51CCD6D85EB6BEA99A54
+80CA3DD9B7E9832296073E66AA9697E86758256A063934E0B30425BEB569D9A7
+C37604DF22CD0A369EE007F67CFF5A930B5F77EA030E547DC635869BE5905270
+09C91AEB22772C01412D78965DD2B489B4C4DF35FADD130DF1FCD2C59D0974E1
+4C161E5FF72F790700E0439032D0240542B702A7520469411C6809C27B3AA535
+A5ECD235FB90601C6492C6C3D2D38AB999445474D7E788097E247DE495BAF83A
+7F1C70DD205967B579F69E764F4DDDE56AAC3D87CB837EADF755DB85B88EF041
+AC4F754DE77B66B0471384EFEBF9D67DF6626338DE3D4C65A1831032D36C0B8D
+C60513EA65E9AD53E4F1F1AE4F6DB85E249AC53396FF5DB2189F37D359DF0AC5
+9369E07ACC443314B1A13CBCDC48DC2F95896CE74E346E7E94D94E7FE6AC0C24
+2C491FEF52CBE382F428BB27C7D751EF448A283714D3A85D77648FD98DD4C09D
+7275D7A9CDC64DC3BFBFBC19EA6B3ECD7B4441979E9C6BE0EE0B191D05F3B08F
+7AD88563EB0445D2A6AFFB1268EDE41195BA18F3537727141A362DD0D32FD850
+74EF73DE82DE616C6A857858E6B75B9EC028CED08EBE473D2C0CAF3C3B05AF8A
+B7788CA9CDA433EC55AF0DC5EA62D7AE4CD374267ED41D48033977FA3CE1AAF3
+C88DBA924D2DC1DC83A2DC5A9EFB036361E35B29BB2A6A7067395C5E070358A2
+57C28AA79B3BF2B747A330E2FDEC73F346CBD60DA71A4935728E724A27ED1BD5
+C349544A8B5BD31C3AE9B6A9DEE98A0DD5783639CB0F6E6690888E1C4B7E2092
+AB0DE200E57FDEDBDCF9E98843A94BA7FB261E097894B95BE80D03DC6AD422FE
+25D92302F39B7ED78522B339D8950B758F096CF1CE01100D5C33F72F6DAE1425
+5706786C20894F832EEDB26A9058940184638D4F3F3EAF9D167C829AFC82E310
+D35F581577D1498B88D9642DD82F572AE4906D81B130E4F0F3286F6CDBE67320
+6E96791D05619938D358EAAE0B59397B2DD87B2279FDE6FB05B5D1D68115D9B3
+3FEF948E1292E9553F5C856D4FF6948F158E244EAA6808782A0BBECDE7D0D7B7
+0B43539810320899786D9743CFA7583F3234194960FF5229B9BB2B747BC5DAE6
+7671D8A71EC3DFB3F0CFAFBEA76AF3382C35BBDE2DDC359DEC6317CE55EB73FA
+3DD0FA9DBD94C5D84901141F94292C0F08582862E5602CDF98507CD6C4FDDF14
+D76A56CEF1ACAF336B6556018A8985AB4E48CF86EAEBAEA33B2C4E96BAE39EDB
+53061A10D51BFA05B1936B2478FA04D9053ED8D3B1E88F55F363F74F7B2C4F34
+2643604BB48DD5BA126D39EA9DB5763BDD094B741C5362297D621ADA26C99DDA
+91BBD641922C01ED31DB9E4A917553D291D54BDFB1E13019A6D3326F949ED9C9
+23E6702BE8E9B2156633566C211251F46A741CEE8B19C37FC53260A83FB2C39A
+96A957284DB5D5E2DFC75C6252C7E40C560D2813A99116B4A532ED9627949F97
+613C109FA91936594FEB8977D4B7C40C50347545B625490EE21CC777135E772F
+BB08F9B8538F14C4A0F9A9ABDCC0A0BB5DB6130B20DD2FAD74C43F4D3FD387A3
+7D94E29DBBDE3A7510BC296BD2BB5899E3801354D66338DEB7DC3283400E47D0
+61FD3428EF03F36F4422892D4C13701B2F2A7DF8F7BE090EF54F3A14A1C9BA50
+B49373045F704E3A2FC277E9059D9756D816A4B33C141334B3D458340412CB9B
+C96086E681ECBF3EE0491D4ADB8B7FF3777AA8A502A04FF82A5F4DFF484902B1
+25A2B73B2FBA01FBF1D1F2AD5EFA88CE66E490149E41D2993933FD3778221D0A
+6455FFA69B7EB0D72B68620DAD47F9BB2D93769645E60449BD295661DBA9D3AA
+CDECF642BAA3A01EB895C43127DBBF4C0B3D4383EA415FE82584F08C34376494
+3EEBFFCEF6B07E6DC2609D18892D6D31A44ECB15166EC5FF01FD12066F136732
+9CEE55AE637C5B709DA27F00B2DA860045A14BF00C98A3034629F0BDB8ADACAB
+1DEAD1CC85893544BAB61DF3582D75DD6030206809100BD1D36DC8F742549EC4
+C94B432F974DD085B60B9FF5304F700EA4071031138CF8ED9F9D570DCD8DBA71
+D6737EFF6F6A1D8425C8700580E402BE792E76A4959BA3ACF852D379FE6C788F
+CAD9149D515178BAD197B7E7DC1C53A7A999AC2B9851425D7C07A04D1B73274C
+42A80F0A16B9F5B91C04180BD34A8C5B33A1E7499BC70C4BCBA76EDD0608CE49
+A1C19CB666B4AABC8097EB08A86345783B2DE7376987C56259EE447EF10A4732
+BC2F2C133831273A23F23085B9232ED63A022B9A312B7E851D43C47AB249E132
+B73583A9C7D6B41ED3ACE394FA54214185EE97A5EB3472FA87AC53C6B8223DEA
+C4A5D086066EC09E9E05E6D46EE9F84AD0175B316E520D840FB1A1172CAC6A17
+AEAEEE9A63EC81A0B8580C55866BE6A8543DA124C9828839686AD79FA4517116
+7B9F34B772890B6519772D520846EA247028F859C262F80A2A6F07B54F30BC87
+C8DBBD1C18EACC17C479FB48BB42D6208CB7B7009077EBBC4CDCEC3F39BBBDD7
+FD584A2AA0B2DCC8B65292774C7F5C0C77FF503B5E8B10EF5263FFDD06D6A91E
+CCD5BDE548F4AEA0265411B25883EC8B720B18ED9430BB8319E355175979B428
+1ECA438F93BD2B9E2588D0D0ECF9DE3500BC5F5E395D6124799E5E9C76054253
+784B416E2C62D4093955DDFEDBB10048B9157F6D0D96503B36595295038CB4BA
+03633999FD239D859EA487992FF28A199ACA0275B36D27A3ED33CC84BDC06E84
+03F3713DE11CB453A08F526F857F4A2AFDD3AD3F063D6CFE942C261D1DC83415
+031355C0F7663CB752D05EEF4D31F87B29F9144EFB29C2E99D9D92B290DE8F93
+F9C9008773540E04B234992EE9DA710A2297801B8E690F3F21B2958A4842007F
+9EA92AD6AB2DE5BD6B8BEEFE739DEFEB345E5FFBCC9D1F9689FA8004DE6D2D7A
+0504EADB42AFF43D061EB3AE68BC4F245A39A7FD0178CC44E401CF37D0E31942
+5BE8E81F0A0CB653C7CF6F3854B63675D2C2A1D6DC834DCA757398CFA1871050
+C2F2A290B966ED5A3E2582B83B6016DCFF34C1D6D574804808C3ADFA57FC1F06
+CA9211C33369CBC67A3BE7994B8297EF8683DB9EA40B20A30226E9B13877992F
+0D8EBE451B03E63E48884409E67F48E40B625B13E5AED1D4D7377931DA14BE85
+3457164CCA843456405EF69DB4E89B889E5ACD70F8D754292A30B0076DDE0FAC
+16FEBA9272EAAE9BB8F64B8424D73E41611B9EB91816146FDFA8EB1BC73731DD
+DBAA08C8287EAFA0B9A918E2F6C6A37514674B0B01A7733B50740AFF18A62328
+385F1ACF603B7FC049F9B78A62EF63919F46CBE71F99433422DE4227E91A592A
+79207BF5F7F09E18DF8DC3EDB7D322F24EEEE6307F11EAE07DC9CD0710907F29
+399E6D4BDFBAB769BA0DABE016F38C423551672C3E516E4E9B846BC18524DB13
+2F04D6E8D66E876160C33F497E9B016A62065003521E8E3C20A64FB64DAC93B4
+C6F79EBF0AFEB6553994E6F8D459206B3A06E59277229978F269BE38DEB189DE
+637BA95E39908D19F873C769CB1F2487BD7ABD7B1A6DC506B7FF6B86F310BA02
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+TeXDict begin 39158280 55380996 1000 600 600 (ulogd.a4.dvi)
+@start /Fa 133[39 39 39 1[39 39 39 39 39 39 39 39 39
+39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 5[39 1[39
+1[39 39 1[39 1[39 39 39 1[39 39 3[39 39 39 39 39 39 39
+2[39 39 6[39 39 1[39 39 39 39 1[39 39 45[{}53 74.7198
+/CMTT9 rf /Fb 240[42 15[{}1 83.022 /CMSY10 rf /Fc 135[59
+2[62 44 44 46 1[62 56 62 93 31 59 1[31 62 56 34 51 62
+50 62 54 11[86 78 62 2[77 84 88 1[67 2[42 1[88 1[74 86
+81 1[85 12[56 56 56 56 1[56 31 37 32[62 12[{}41 99.6264
+/CMBX12 rf /Fd 132[48 42 50 50 1[50 53 37 38 39 50 53
+48 53 80 27 50 1[27 53 48 29 44 53 42 53 46 7[72 1[99
+72 73 66 53 72 72 65 72 75 91 57 2[36 1[75 60 63 73 69
+68 72 7[48 1[48 48 48 48 48 48 48 1[48 27 32 31[53 53
+56 11[{}60 83.022 /CMBX10 rf /Fe 137[71 75 52 53 55 1[75
+67 75 1[37 2[37 1[67 1[61 2[75 65 11[103 94 75 1[101
+1[101 105 128 81 2[50 1[106 1[88 103 97 1[102 11[67 67
+67 67 67 1[67 34[75 12[{}35 119.552 /CMBX12 rf /Ff 134[44
+2[44 44 44 44 44 44 44 44 1[44 44 44 1[44 1[44 1[44 44
+44 44 44 45[44 1[44 44 44 44 46[{}24 83.022 /CMTT10 rf
+/Fg 134[38 38 2[43 30 32 28 1[43 42 43 66 20 41 1[20
+43 42 25 37 43 37 43 40 11[57 57 4[61 2[45 4[55 9[65
+8[42 1[42 3[23 1[23 2[32 32 27[45 12[{}34 83.022 /CMSS10
+rf /Fh 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Fi 132[42
+37 44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23
+46 42 25 37 46 37 46 42 4[42 2[62 1[85 62 62 60 46 61
+65 57 65 62 76 52 65 43 30 62 65 54 57 63 60 59 62 65
+2[65 1[23 23 42 42 42 42 42 42 42 42 42 42 42 23 28 23
+65 1[32 32 23 2[42 1[42 23 18[69 46 46 48 11[{}81 83.022
+/CMR10 rf /Fj 139[58 62 55 1[83 81 83 128 3[38 83 81
+1[72 1[72 1[78 11[111 5[119 2[88 4[108 2[117 22[54 45[{}19
+172.188 /CMSS17 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+a4
+%%EndPaperSize
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a 0 0 a
+SDict begin [ /Title () /Subject () /Creator (LaTeX with hyperref package)
+/Author () /Producer (dvips + Distiller) /Keywords () /DOCINFO pdfmark
+end
+ 0 0 a Black 0
+TeXcolorgray 0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray
+0 -200 a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black Black 0 162
+a
+SDict begin H.S end
+ 0 162 a 0 162 a
+SDict begin H.R end
+ 0 162 a 0 162 a
+SDict begin [ H.B  pdfmark end
+ 0 162 a 28 162 a
+SDict begin H.S end
+ 28
+162 a 28 162 a
+SDict begin H.R end
+ 28 162 a 28 162 a
+SDict begin [ H.B  pdfmark end
+ 28 162 a 55 162 a
+SDict begin H.S end
+ 55
+162 a 55 162 a
+SDict begin H.R end
+ 55 162 a 55 162 a
+SDict begin [ H.B  pdfmark end
+ 55 162 a 83 162 a
+SDict begin H.S end
+ 83
+162 a 83 162 a
+SDict begin H.R end
+ 83 162 a 83 162 a
+SDict begin [ H.B  pdfmark end
+ 83 162 a 111 162 a
+SDict begin H.S end
+ 111
+162 a 111 162 a
+SDict begin H.R end
+ 111 162 a 111 162 a
+SDict begin [ H.B  pdfmark end
+ 111 162 a 0 162 a
+SDict begin [ /Count -2 /Dest (section.1) cvn /Title (DESIGN) /OUT
+pdfmark end
+
+0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsection.1.1) cvn /Title (CONCEPT)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsection.1.2) cvn /Title (DETAILS)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -3 /Dest (section.2) cvn /Title (INSTALLATION)
+/OUT pdfmark end
+ 0 162
+a 0 162 a
+SDict begin [ /Count -0 /Dest (subsection.2.1) cvn /Title (Linux kernel)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsection.2.2) cvn /Title (ipt\137ULOG from netfilter/iptables patch-o-matic)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -2 /Dest (subsection.2.3) cvn /Title (ulogd) /OUT
+pdfmark end
+ 0 162 a 0 162
+a
+SDict begin [ /Count -0 /Dest (subsubsection.2.3.1) cvn /Title (Recompiling the source)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.2.3.2) cvn /Title (Using a precompiled package)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -2 /Dest (section.3) cvn /Title (Configuration)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -3 /Dest (subsection.3.1) cvn /Title (iptables ULOG target)
+/OUT pdfmark end
+ 0 162
+a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.3.1.1) cvn /Title (Quick Setup)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.3.1.2) cvn /Title (ULOG target reference)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.3.1.3) cvn /Title (ipt\137ULOG module parameters)
+/OUT pdfmark end
+ 0 162 a 0 162
+a
+SDict begin [ /Count -2 /Dest (subsection.3.2) cvn /Title (ulogd) /OUT
+pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.3.2.1) cvn /Title (ulogd configfile syntax reference)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.3.2.2) cvn /Title (ulogd commandline option reference)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -2 /Dest (section.4) cvn /Title (Available plugins)
+/OUT pdfmark end
+ 0 162
+a 0 162 a
+SDict begin [ /Count -3 /Dest (subsection.4.1) cvn /Title (Interpreter plugins)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.1.1) cvn /Title (ulogd\137BASE.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.1.2) cvn /Title (ulogd\137PWSNIFF.so)
+/OUT pdfmark end
+ 0 162 a 0 162
+a
+SDict begin [ /Count -0 /Dest (subsubsection.4.1.3) cvn /Title (ulogd\137LOCAL.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -7 /Dest (subsection.4.2) cvn /Title (Output plugins)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.1) cvn /Title (ulogd\137OPRINT.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.2) cvn /Title (ulogd\137LOGEMU.so)
+/OUT pdfmark end
+ 0 162
+a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.3) cvn /Title (ulogd\137MYSQL.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.4) cvn /Title (ulogd\137PGSQL.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.5) cvn /Title (ulogd\137PCAP.so)
+/OUT pdfmark end
+ 0 162 a 0 162
+a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.6) cvn /Title (ulogd\137SQLITE3.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (subsubsection.4.2.7) cvn /Title (ulogd\137SYSLOG.so)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Count -0 /Dest (section.5) cvn /Title (QUESTIONS / COMMENTS)
+/OUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines  /DOCVIEW
+pdfmark end
+ 0 162
+a 0 162 a
+SDict begin [ {Catalog} << >> /PUT pdfmark end
+ 0 162 a 0 162 a
+SDict begin H.S end
+ 0 162 a 0 162 a
+SDict begin 13.68 H.A end
+ 0 162 a 0 162
+a
+SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark
+end
+ 0 162 a 170 x Fj(ULOGD)53 b(-)h(the)h(Userspace)f(Logging)g(Daemon)p
+0 446 3900 24 v 0 560 a Fi(Harald)27 b(W)-7 b(elte)28
+b Fh(<)p Fi(laforge@gn)n(umonks.org)p Fh(>)169 b Fi(Revision)27
+b($Revision:)36 b(5846)26 b($,)h($Date:)36 b(2005-07-12)24
+b(17:33:23)g(+0200)0 673 y(\(T)-7 b(ue,)28 b(12)f(Jul)g(2005\))f($)0
+979 y Fg(This)31 b(is)h(the)g(do)r(cumentation)f(fo)n(r)h
+Ff(ulogd)p Fg(,)f(the)h(Userspace)g(logging)e(daemon.)50
+b(ulogd)31 b(mak)n(es)g(use)h(of)g(the)g(Linux)g Fh(>)p
+Fg(=)g(2.4.x)0 1093 y(pack)n(et)27 b(\014lter)g(subsystem)g
+(\(iptables\))g(and)h(the)f(ULOG)h(ta)n(rget)f(fo)n(r)h(iptables.)0
+1424 y Fe(Con)l(ten)l(ts)0 1506 y
+SDict begin H.S end
+ 0 1506 a 0 1506 a
+SDict begin 13.68 H.A end
+ 0
+1506 a 0 1506 a
+SDict begin [ /View [/XYZ H.V] /Dest (section*.1) cvn H.B /DEST pdfmark
+end
+ 0 1506 a 0 0 1 TeXcolorrgb 0 1663 a
+SDict begin H.S end
+ 0
+1663 a Fd(1)77 b(DESIGN)500 1663 y
+SDict begin 13.68 H.L end
+ 500 1663 a 500 1663
+a
+SDict begin [ /Subtype /Link /Dest (section.1) cvn /H /I /Border [0
+0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 500 1663 a Black 3352 w Fd(1)p 0 0 1 TeXcolorrgb 125
+1820 a
+SDict begin H.S end
+ 125 1820 a Fi(1.1)83 b(CONCEPT)736 1820 y
+SDict begin 13.68 H.L end
+ 736
+1820 a 736 1820 a
+SDict begin [ /Subtype /Link /Dest (subsection.1.1) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 736 1820 a Black 60 w Fi(.)41 b(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)p Black 134 w(1)p Black 0 0 1 TeXcolorrgb
+125 1976 a
+SDict begin H.S end
+ 125 1976 a Fi(1.2)83 b(DET)-7 b(AILS)678 1976
+y
+SDict begin 13.68 H.L end
+ 678 1976 a 678 1976 a
+SDict begin [ /Subtype /Link /Dest (subsection.1.2) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 678 1976 a Black 53 w Fi(.)42
+b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134
+w(2)p Black 0 0 1 TeXcolorrgb 0 2216 a
+SDict begin H.S end
+ 0 2216 a Fd(2)77
+b(INST)-8 b(ALLA)g(TION)846 2216 y
+SDict begin 13.68 H.L end
+ 846 2216 a 846 2216
+a
+SDict begin [ /Subtype /Link /Dest (section.2) cvn /H /I /Border [0
+0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 846 2216 a Black 3006 w Fd(2)p 0 0 1 TeXcolorrgb 125
+2372 a
+SDict begin H.S end
+ 125 2372 a Fi(2.1)83 b(Lin)n(ux)28 b(k)n(ernel)770
+2372 y
+SDict begin 13.68 H.L end
+ 770 2372 a 770 2372 a
+SDict begin [ /Subtype /Link /Dest (subsection.2.1) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 770 2372 a Black 26 w Fi(.)41
+b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134 w(2)p
+Black 0 0 1 TeXcolorrgb 125 2529 a
+SDict begin H.S end
+ 125 2529 a Fi(2.2)83
+b(ipt)p 421 2529 25 4 v 31 w(ULOG)27 b(from)h(net\014lter/iptables)f
+(patc)n(h-o-matic)2054 2529 y
+SDict begin 13.68 H.L end
+ 2054 2529 a 2054 2529 a
+SDict begin [ /Subtype /Link /Dest (subsection.2.2) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+
+2054 2529 a Black 33 w Fi(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(2)p Black 0 0 1 TeXcolorrgb 125 2685 a
+SDict begin H.S end
+ 125
+2685 a Fi(2.3)83 b(ulogd)514 2685 y
+SDict begin 13.68 H.L end
+ 514 2685 a 514 2685
+a
+SDict begin [ /Subtype /Link /Dest (subsection.2.3) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 514 2685 a Black 23 w Fi(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)p Black 134 w(2)p Black 0 0 1 TeXcolorrgb
+315 2842 a
+SDict begin H.S end
+ 315 2842 a Fi(2.3.1)94 b(Recompiling)27 b(the)h(source)1428
+2842 y
+SDict begin 13.68 H.L end
+ 1428 2842 a 1428 2842 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.2.3.1) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1428 2842 a Black 78 w
+Fi(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)p Black 134 w(2)p Black 0 0 1 TeXcolorrgb 315 2998
+a
+SDict begin H.S end
+ 315 2998 a Fi(2.3.2)94 b(Using)28 b(a)f(precompiled)g(pac)n(k)-5
+b(age)1633 2998 y
+SDict begin 13.68 H.L end
+ 1633 2998 a 1633 2998 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.2.3.2) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1633 2998 a
+Black 67 w Fi(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)p Black 134 w(3)p Black 0 0 1 TeXcolorrgb 0 3238 a
+SDict begin H.S end
+
+0 3238 a Fd(3)77 b(Con\014guration)699 3238 y
+SDict begin 13.68 H.L end
+ 699 3238
+a 699 3238 a
+SDict begin [ /Subtype /Link /Dest (section.3) cvn /H /I /Border [0
+0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 699 3238 a Black 3153 w Fd(3)p 0 0 1 TeXcolorrgb
+125 3394 a
+SDict begin H.S end
+ 125 3394 a Fi(3.1)83 b(iptables)28 b(ULOG)g(target)1115
+3394 y
+SDict begin 13.68 H.L end
+ 1115 3394 a 1115 3394 a
+SDict begin [ /Subtype /Link /Dest (subsection.3.1) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1115 3394 a Black 68 w
+Fi(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)g(.)f(.)h(.)f(.)p Black 134 w(3)p Black 0 0 1
+TeXcolorrgb 315 3550 a
+SDict begin H.S end
+ 315 3550 a Fi(3.1.1)94 b(Quic)n(k)27
+b(Setup)1028 3550 y
+SDict begin 13.68 H.L end
+ 1028 3550 a 1028 3550 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.3.1.1) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1028 3550
+a Black 26 w Fi(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134
+w(3)p Black 0 0 1 TeXcolorrgb 315 3707 a
+SDict begin H.S end
+ 315 3707 a Fi(3.1.2)94
+b(ULOG)28 b(target)e(reference)1419 3707 y
+SDict begin 13.68 H.L end
+ 1419 3707
+a 1419 3707 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.3.1.2) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1419 3707 a Black 22 w Fi(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134
+w(3)p Black 0 0 1 TeXcolorrgb 315 3863 a
+SDict begin H.S end
+ 315 3863 a Fi(3.1.3)94
+b(ipt)p 687 3863 25 4 v 31 w(ULOG)27 b(mo)r(dule)h(parameters)1681
+3863 y
+SDict begin 13.68 H.L end
+ 1681 3863 a 1681 3863 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.3.1.3) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1681 3863 a Black 83 w
+Fi(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(4)p Black 0 0 1 TeXcolorrgb 125 4020 a
+SDict begin H.S end
+ 125
+4020 a Fi(3.2)83 b(ulogd)514 4020 y
+SDict begin 13.68 H.L end
+ 514 4020 a 514 4020
+a
+SDict begin [ /Subtype /Link /Dest (subsection.3.2) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 514 4020 a Black 23 w Fi(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)p Black 134 w(4)p Black 0 0 1 TeXcolorrgb
+315 4176 a
+SDict begin H.S end
+ 315 4176 a Fi(3.2.1)94 b(ulogd)27 b(con\014g\014le)g(syn)n
+(tax)g(reference)1741 4176 y
+SDict begin 13.68 H.L end
+ 1741 4176 a 1741 4176 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.3.2.1) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+
+1741 4176 a Black 23 w Fi(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)p Black 134 w(4)p Black 0 0 1 TeXcolorrgb
+315 4333 a
+SDict begin H.S end
+ 315 4333 a Fi(3.2.2)94 b(ulogd)27 b(commandline)h(option)f
+(reference)1895 4333 y
+SDict begin 13.68 H.L end
+ 1895 4333 a 1895 4333 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.3.2.2) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1895 4333
+a Black 63 w Fi(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(5)p Black 0 0 1 TeXcolorrgb 0 4572 a
+SDict begin H.S end
+ 0 4572
+a Fd(4)77 b(Av)-5 b(ailable)31 b(plugins)842 4572 y
+SDict begin 13.68 H.L end
+ 842
+4572 a 842 4572 a
+SDict begin [ /Subtype /Link /Dest (section.4) cvn /H /I /Border [0
+0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 842 4572 a Black 3010 w Fd(5)p 0 0 1
+TeXcolorrgb 125 4729 a
+SDict begin H.S end
+ 125 4729 a Fi(4.1)83 b(In)n(terpreter)27
+b(plugins)995 4729 y
+SDict begin 13.68 H.L end
+ 995 4729 a 995 4729 a
+SDict begin [ /Subtype /Link /Dest (subsection.4.1) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 995 4729 a
+Black 59 w Fi(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134
+w(5)p Black 0 0 1 TeXcolorrgb 315 4885 a
+SDict begin H.S end
+ 315 4885 a Fi(4.1.1)94
+b(ulogd)p 785 4885 25 4 v 29 w(BASE.so)1131 4885 y
+SDict begin 13.68 H.L end
+ 1131
+4885 a 1131 4885 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.1.1) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1131 4885 a Black 52 w Fi(.)42 b(.)f(.)h(.)f(.)h(.)f
+(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(5)p Black 0 0 1 TeXcolorrgb 315 5042 a
+SDict begin H.S end
+ 315
+5042 a Fi(4.1.2)94 b(ulogd)p 785 5042 25 4 v 29 w(PWSNIFF.so)1295
+5042 y
+SDict begin 13.68 H.L end
+ 1295 5042 a 1295 5042 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.1.2) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1295 5042 a Black 82 w
+Fi(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)p Black 134 w(5)p Black 0 0 1 TeXcolorrgb
+315 5198 a
+SDict begin H.S end
+ 315 5198 a Fi(4.1.3)94 b(ulogd)p 785 5198
+25 4 v 29 w(LOCAL.so)1198 5198 y
+SDict begin 13.68 H.L end
+ 1198 5198 a 1198 5198
+a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.1.3) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1198 5198 a Black 50 w Fi(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134
+w(6)p Black 0 0 1 TeXcolorrgb 125 5355 a
+SDict begin H.S end
+ 125 5355 a Fi(4.2)83
+b(Output)29 b(plugins)870 5355 y
+SDict begin 13.68 H.L end
+ 870 5355 a 870 5355
+a
+SDict begin [ /Subtype /Link /Dest (subsection.4.2) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 870 5355 a Black 55 w Fi(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
+(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(6)p Black 0 0 1 TeXcolorrgb 315 5511 a
+SDict begin H.S end
+ 315
+5511 a Fi(4.2.1)94 b(ulogd)p 785 5511 25 4 v 29 w(OPRINT.so)1242
+5511 y
+SDict begin 13.68 H.L end
+ 1242 5511 a 1242 5511 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.1) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1242 5511 a Black 70 w
+Fi(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)p Black 134 w(6)p Black 0 0 1 TeXcolorrgb
+315 5668 a
+SDict begin H.S end
+ 315 5668 a Fi(4.2.2)94 b(ulogd)p 785 5668
+25 4 v 29 w(LOGEMU.so)1284 5668 y
+SDict begin 13.68 H.L end
+ 1284 5668 a 1284 5668
+a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.2) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1284 5668 a Black 28 w Fi(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134 w(6)p
+Black 0 0 1 TeXcolorrgb 315 5824 a
+SDict begin H.S end
+ 315 5824 a Fi(4.2.3)94
+b(ulogd)p 785 5824 25 4 v 29 w(MYSQL.so)1208 5824 y
+SDict begin 13.68 H.L end
+ 1208
+5824 a 1208 5824 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.3) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1208 5824 a Black 40 w Fi(.)41 b(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(6)p Black 0 0 1 TeXcolorrgb 315 5981 a
+SDict begin H.S end
+ 315
+5981 a Fi(4.2.4)94 b(ulogd)p 785 5981 25 4 v 29 w(PGSQL.so)1192
+5981 y
+SDict begin 13.68 H.L end
+ 1192 5981 a 1192 5981 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.4) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1192 5981 a Black 56 w
+Fi(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
+(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
+h(.)g(.)f(.)h(.)f(.)p Black 134 w(7)p Black 0 0 1 TeXcolorrgb
+315 6137 a
+SDict begin H.S end
+ 315 6137 a Fi(4.2.5)94 b(ulogd)p 785 6137
+25 4 v 29 w(PCAP)-7 b(.so)1136 6137 y
+SDict begin 13.68 H.L end
+ 1136 6137 a 1136
+6137 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.5) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1136 6137 a Black 47 w Fi(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p
+Black 134 w(8)p Black 0 0 1 TeXcolorrgb 315 6293 a
+SDict begin H.S end
+ 315
+6293 a Fi(4.2.6)94 b(ulogd)p 785 6293 25 4 v 29 w(SQLITE3.so)1259
+6293 y
+SDict begin 13.68 H.L end
+ 1259 6293 a 1259 6293 a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.6) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1259 6293 a Black 53 w
+Fi(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)p Black 134 w(8)p Black 0 0 1 TeXcolorrgb
+315 6450 a
+SDict begin H.S end
+ 315 6450 a Fi(4.2.7)94 b(ulogd)p 785 6450
+25 4 v 29 w(SYSLOG.so)1243 6450 y
+SDict begin 13.68 H.L end
+ 1243 6450 a 1243 6450
+a
+SDict begin [ /Subtype /Link /Dest (subsubsection.4.2.7) cvn /H /I
+/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1243 6450 a Black 69 w Fi(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)p Black 134 w(8)p
+Black 0 0 1 TeXcolorrgb 0 6689 a
+SDict begin H.S end
+ 0 6689 a Fd(5)77 b(QUESTIONS)31
+b(/)h(COMMENTS)1379 6689 y
+SDict begin 13.68 H.L end
+ 1379 6689 a 1379 6689 a
+SDict begin [ /Subtype /Link /Dest (section.5) cvn /H /I /Border [0
+0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1379
+6689 a Black 2473 w Fd(9)0 6828 y
+SDict begin H.S end
+ 0 6828 a 0 6828 a
+SDict begin 13.68 H.A end
+ 0
+6828 a 0 6828 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1) cvn H.B /DEST pdfmark
+end
+ 0 6828 a 193 x Fe(1)135 b(DESIGN)0 7103
+y
+SDict begin H.S end
+ 0 7103 a 0 7103 a
+SDict begin 13.68 H.A end
+ 0 7103 a 0 7103 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.1) cvn H.B /DEST
+pdfmark end
+ 0 7103 a 175 x
+Fc(1.1)112 b(CONCEPT)0 7488 y Fi(I)40 b(w)n(an)n(t)f(to)g(pro)n(vide)g
+(a)g(\015exible,)j(almost)d(univ)n(ersal)g(logging)f(daemon)h(for)g(m)n
+(y)g(net\014lter)h(ULOG)g(target.)72 b(It)40 b(is)f(not)0
+7602 y(optimized)e(in)g(an)n(y)f(w)n(a)n(y)-7 b(,)37
+b(the)h(goal)d(is)h(to)h(k)n(eep)f(as)g(simple)h(as)f(p)r(ossible.)64
+b(These)36 b(are)g(m)n(y)g(though)n(ts)g(ab)r(out)h(ho)n(w)f(the)0
+7715 y(arc)n(hitecture)26 b(whic)n(h)i(is)f(most)h(capable)f(of)g
+(doing)g(that:)p Black 0 7913 a Fd(In)m(terpreter)33
+b(plugins)p Black 208 8052 a Fi(It)40 b(should)f(b)r(e)i(p)r(ossible)e
+(to)h(add)g(plugins)f(/)h(run)n(time)g(mo)r(dules)f(for)h(new)g(proto)r
+(cols,)h(etc.)74 b(F)-7 b(or)39 b(example)h(the)208 8165
+y(standard)30 b(logging)f(daemon)h(pro)n(vides)g(source-ip,)g(dest-ip,)
+i(source-p)r(ort,)e(dest-p)r(ort,)i(etc.)47 b(Logging)29
+b(for)h(v)-5 b(arious)208 8279 y(other)27 b(proto)r(cols)f(\(GRE,)i
+(IPsec,)e(...\))38 b(ma)n(y)27 b(b)r(e)h(implemen)n(ted)g(as)f(mo)r
+(dules.)p Black Black eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(2.)74
+b(INST)-8 b(ALLA)g(TION)2988 b Fi(2)p Black Black 0 162
+a Fd(Output)32 b(plugins)p Black 208 308 a Fi(...)51
+b(describ)r(e)32 b(ho)n(w)g(and)g(where)g(to)g(put)h(the)g(information)
+f(gained)g(b)n(y)g(logging)e(plugins.)52 b(The)32 b(easiest)g(w)n(a)n
+(y)f(is)h(to)208 422 y(build)d(a)g(line)g(p)r(er)g(pac)n(k)n(et)e(and)i
+(fprin)n(t)g(it)h(to)e(a)h(\014le.)41 b(Some)29 b(p)r(eople)g(migh)n(t)
+f(w)n(an)n(t)h(to)f(log)h(in)n(to)f(a)h(SQL)f(database)g(or)208
+536 y(w)n(an)n(t)e(an)i(output)g(conforming)e(to)i(the)g(in)n(trusion)f
+(detection)h(systems)f(comm)n(unication)g(draft)g(from)g(the)h(IETF.)0
+668 y
+SDict begin H.S end
+ 0 668 a 0 668 a
+SDict begin 13.68 H.A end
+ 0 668 a 0 668 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2) cvn H.B /DEST
+pdfmark end
+ 0 668 a 159 x Fc(1.2)112
+b(DET)-9 b(AILS)0 1037 y Fi(The)39 b(ma)5 b(jor)37 b(clue)i(is)f(pro)n
+(viding)f(a)i(framew)n(ork)d(whic)n(h)j(is)f(as)g(\015exible)h(as)f(p)r
+(ossible.)70 b(Nob)r(o)r(dy)38 b(kno)n(ws)g(what)g(strange)0
+1151 y(net)n(w)n(ork)d(proto)r(cols)f(are)h(out)h(there)g(:\))53
+b(Flexibilit)n(y)37 b(dep)r(ends)f(on)g(the)g(comm)n(unication)f(b)r
+(et)n(w)n(een)h(the)g(output)h(of)f(the)0 1264 y(logging)26
+b(plugins)h(and)h(input)g(of)g(the)g(output)g(plugins.)0
+1421 y(Rust)n(y)f(advised)g(me)h(to)g(use)f(some)g(kind)h(of)f(t)n(yp)r
+(e-k)n(ey-v)-5 b(alue)27 b(triples,)g(whic)n(h)h(is)f(in)h(fact)g(what)
+f(I)h(implemen)n(ted.)0 1577 y(One)h(issue)h(is,)g(of)f(course,)g(p)r
+(erformance.)42 b(Up)30 b(to)g(ulogd)f(0.3,)g(ulogd)g(did)h(sev)n(eral)
+e(link)n(ed)h(list)h(iterations)f(and)g(ab)r(out)h(30)0
+1691 y(mallo)r(c\(\))e(calls)p 520 1691 25 4 v 57 w(p)r(er)f(pac)n(k)n
+(et)p 929 1691 V 29 w(.)37 b(This)27 b(c)n(hanged)g(with)h(the)g(new)g
+Fh(>)p Fi(=)f(0.9)f(revisions:)p Black 125 1914 a Fb(\017)p
+Black 41 w Fi(Not)34 b(a)g(single)g(dynamic)g(allo)r(cation)g(in)g(the)
+h(core)f(during)f(run)n(time.)58 b(Ev)n(erything)33 b(is)h(pre-allo)r
+(cated)f(at)h(start)g(of)208 2027 y(ulogd)27 b(to)g(pro)n(vide)f(the)i
+(highest)g(p)r(ossible)f(throughput.)p Black 125 2207
+a Fb(\017)p Black 41 w Fi(Hash)i(tables)h(in)h(addition)f(to)g(the)g
+(link)n(ed)h(lists.)44 b(Link)n(ed)30 b(lists)g(are)f(only)h(tra)n(v)n
+(ersed)e(if)j(w)n(e)f(really)f(w)n(an)n(t)g(to)h(access)208
+2321 y(eac)n(h)c(elemen)n(t)i(of)g(the)g(list.)0 2446
+y
+SDict begin H.S end
+ 0 2446 a 0 2446 a
+SDict begin 13.68 H.A end
+ 0 2446 a 0 2446 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.2) cvn H.B /DEST pdfmark
+end
+ 0 2446 a 213 x
+Fe(2)135 b(INST)-11 b(ALLA)g(TION)0 2742 y
+SDict begin H.S end
+ 0 2742 a 0
+2742 a
+SDict begin 13.68 H.A end
+ 0 2742 a 0 2742 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.1) cvn H.B /DEST
+pdfmark end
+ 0 2742 a 175 x Fc(2.1)112 b(Lin)m(ux)39
+b(k)m(ernel)0 3127 y Fi(First)c(y)n(ou)g(will)g(need)g(a)g(recen)n(t)g
+(2.4.x)f(k)n(ernel.)59 b(If)36 b(y)n(ou)e(ha)n(v)n(e)g(a)h(k)n(ernel)g
+Fh(>)p Fi(=)f(2.4.18-pre8,)g(it)i(already)e(has)g(the)i(k)n(ernel)0
+3241 y(supp)r(ort)27 b(for)g(ULOG)h(\(ipt)p 844 3241
+25 4 v 31 w(ULOG.o\).)0 3397 y(If)j(y)n(ou)g(ha)n(v)n(e)e(an)i(older)f
+(k)n(ernel)g(v)n(ersion)g(\(b)r(et)n(w)n(een)h(2.4.0)f(and)h
+(2.4.18-pre6\),)e(y)n(ou)h(can)h(use)f(the)i(patc)n(h-o-matic)d(system)
+0 3511 y(of)f(net\014lter/iptables,)f(as)g(describ)r(ed)g(in)h(the)g
+(follo)n(wing)e(section.)0 3648 y
+SDict begin H.S end
+ 0 3648 a 0 3648 a
+SDict begin 13.68 H.A end
+ 0
+3648 a 0 3648 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2) cvn H.B /DEST
+pdfmark end
+ 0 3648 a 154 x Fc(2.2)112 b(ipt)p 399
+3802 34 4 v 41 w(ULOG)38 b(from)g(net\014lter/iptables)g(patc)m
+(h-o-matic)0 4012 y Fi(Y)-7 b(ou)28 b(only)f(need)h(to)f(read)g(this)h
+(c)n(hapter)e(if)i(y)n(ou)f(ha)n(v)n(e)g(a)g(2.4.x)g(k)n(ernel)f
+Fh(<)p Fi(=)h(2.4.18-pre6.)0 4169 y(In)h(order)f(to)h(put)h(the)f(ipt)p
+826 4169 25 4 v 31 w(ULOG)g(mo)r(dule)g(in)n(to)g(y)n(our)f(k)n(ernel)g
+(source,y)n(ou)g(need)h(the)g(latest)g(iptables)h(pac)n(k)-5
+b(age,)26 b(or)i(ev)n(en)0 4282 y(b)r(etter:)37 b(the)28
+b(latest)g(CVS)g(snapshot.)36 b(A)28 b(description)f(ho)n(w)g(to)g
+(obtain)h(this)f(is)h(pro)n(vided)e(on)i(the)g(net\014lter)g(homepage)
+81 b(.)0 4439 y(T)-7 b(o)27 b(run)h(patc)n(h-o-matic,)e(just)i(t)n(yp)r
+(e)p Black Black Black Black 208 4652 a Fa(make)40 b(patch-o-matic)0
+4875 y Fi(in)28 b(the)g(userspace)e(directory)g(of)i(net\014lter)g
+(CVS.)0 5007 y
+SDict begin H.S end
+ 0 5007 a 0 5007 a
+SDict begin 13.68 H.A end
+ 0 5007 a 0 5007 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.3) cvn H.B /DEST
+pdfmark end
+ 0
+5007 a 160 x Fc(2.3)112 b(ulogd)0 5240 y
+SDict begin H.S end
+ 0 5240 a 0 5240
+a
+SDict begin 13.68 H.A end
+ 0 5240 a 0 5240 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.3.1) cvn H.B
+/DEST pdfmark end
+ 0 5240 a 137 x Fd(2.3.1)94 b(Recompiling)29
+b(the)j(source)0 5587 y Fi(Do)n(wnload)27 b(the)h(ulogd)f(pac)n(k)-5
+b(age)26 b(from)82 b(and)28 b(un)n(tar)f(it.)p Black
+Black eop end
+%%Page: 3 3
+TeXDict begin 3 2 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(3.)74
+b(Con\014guration)3135 b Fi(3)p Black 0 162 a(If)36 b(y)n(ou)f(w)n(an)n
+(t)h(to)g(build)g(ulogd)f(with)i(MySQL)e(supp)r(ort,)j(t)n(yp)r(e)e
+('./con\014gure)f({with-m)n(ysql'.)60 b(Y)-7 b(ou)36
+b(ma)n(y)g(also)e(ha)n(v)n(e)h(to)0 275 y(sp)r(ecify)29
+b(the)g(path)g(of)f(the)h(m)n(ysql)f(libraries)f(using)i('{with-m)n
+(ysql=path'.)38 b(T)-7 b(o)29 b(build)g(ulogd)f(without)h(MySQL)f(supp)
+r(ort,)0 389 y(just)g(use)g('./con\014gure'.)0 545 y(T)-7
+b(o)27 b(compile)h(and)f(install)h(the)g(program,)d(call)i('mak)n(e)g
+(install'.)0 673 y
+SDict begin H.S end
+ 0 673 a 0 673 a
+SDict begin 13.68 H.A end
+ 0 673 a 0 673 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.2.3.2) cvn H.B
+/DEST pdfmark end
+ 0
+673 a 140 x Fd(2.3.2)94 b(Using)31 b(a)h(precompiled)f(pac)m(k)-5
+b(age)0 1023 y Fi(I)28 b(also)e(pro)n(vide)h(a)g(SRPM,)g(whic)n(h)h
+(should)f(compile)h(on)f(almost)g(an)n(y)g(rpm-based)f(distribution.)37
+b(It)28 b(is)g(a)n(v)-5 b(ailable)26 b(at)0 1180 y(Just)h(do)n(wnload)g
+(the)h(pac)n(k)-5 b(age)26 b(and)h(do)h(the)g(usual)f('rpm)g({rebuild)g
+Fh(<)p Fi(\014le)p Fh(>)p Fi('.)0 1317 y
+SDict begin H.S end
+ 0 1317 a 0 1317
+a
+SDict begin 13.68 H.A end
+ 0 1317 a 0 1317 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.3) cvn H.B /DEST pdfmark
+end
+ 0 1317 a 197 x Fe(3)135 b(Con\014guration)0
+1619 y
+SDict begin H.S end
+ 0 1619 a 0 1619 a
+SDict begin 13.68 H.A end
+ 0 1619 a 0 1619 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.1) cvn H.B /DEST
+pdfmark end
+ 0 1619 a 152
+x Fc(3.1)112 b(iptables)39 b(ULOG)f(target)0 1844 y
+SDict begin H.S end
+ 0
+1844 a 0 1844 a
+SDict begin 13.68 H.A end
+ 0 1844 a 0 1844 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.1.1) cvn H.B
+/DEST pdfmark end
+ 0 1844 a 137 x Fd(3.1.1)94
+b(Quic)m(k)32 b(Setup)0 2191 y Fi(Just)27 b(add)h(rules)f(using)g(the)h
+(ULOG)g(target)e(to)i(y)n(our)e(\014rew)n(alling)g(c)n(hain.)37
+b(A)28 b(v)n(ery)e(basic)h(example:)p Black Black Black
+Black 208 2383 a Fa(iptables)41 b(-A)e(FORWARD)i(-j)f(ULOG)g
+(--ulog-nlgroup)i(32)e(--ulog-prefix)i(foo)0 2585 y Fi(T)-7
+b(o)27 b(increase)g(logging)f(p)r(erformance,)g(try)h(to)h(use)f(the)p
+Black Black Black Black 208 2777 a Fa(--ulog-qthreshold)43
+b(N)0 2978 y Fi(option)32 b(\(where)h(1)f Fh(<)g Fi(N)h
+Fh(<)p Fi(=)f(50\).)51 b(The)32 b(n)n(um)n(b)r(er)h(y)n(ou)f(sp)r
+(ecify)g(is)h(the)g(amoun)n(t)f(of)g(pac)n(k)n(ets)g(batc)n(hed)g
+(together)g(in)g(one)0 3092 y(m)n(ultipart)c(netlink)h(message.)38
+b(If)29 b(y)n(ou)f(set)g(this)h(to)g(20,)e(the)i(k)n(ernel)f(sc)n
+(hedules)g(ulogd)g(only)g(once)g(ev)n(ery)f(20)g(pac)n(k)n(ets.)39
+b(All)0 3205 y(20)31 b(pac)n(k)n(ets)g(are)f(then)j(pro)r(cessed)d(b)n
+(y)i(ulogd.)49 b(This)32 b(reduces)f(the)h(n)n(um)n(b)r(er)g(of)g(con)n
+(text)f(switc)n(hes)g(b)r(et)n(w)n(een)h(k)n(ernel)f(and)0
+3319 y(userspace.)0 3475 y(Of)24 b(course)f(y)n(ou)g(can)g(com)n(bine)h
+(the)g(ULOG)g(target)f(with)h(the)h(di\013eren)n(t)f(net\014lter)g
+(matc)n(h)f(mo)r(dules.)36 b(F)-7 b(or)23 b(a)h(more)f(detailed)0
+3589 y(description,)k(ha)n(v)n(e)g(a)g(lo)r(ok)g(at)g(the)h
+(net\014lter)g(HO)n(WTO's,)f(a)n(v)-5 b(ailable)26 b(on)h(the)h
+(net\014lter)g(homepage.)0 3717 y
+SDict begin H.S end
+ 0 3717 a 0 3717 a
+SDict begin 13.68 H.A end
+ 0
+3717 a 0 3717 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.1.2) cvn H.B
+/DEST pdfmark end
+ 0 3717 a 140 x Fd(3.1.2)94 b(ULOG)32
+b(target)h(reference)p Black 0 4052 a({ulog-nlgroup)d(N)p
+Black 208 4193 a Fi(The)e(n)n(um)n(b)r(er)g(of)g(the)h(netlink)g(m)n
+(ulticast)f(group)f(to)i(whic)n(h)f(ULOG'ed)g(pac)n(k)n(ets)f(are)h
+(sen)n(t.)39 b(Y)-7 b(ou)28 b(will)h(ha)n(v)n(e)e(to)h(use)208
+4307 y(the)g(same)f(group)f(n)n(um)n(b)r(er)h(in)h(the)g(ULOG)g(target)
+e(and)i(ulogd)f(in)h(order)e(to)h(mak)n(e)g(logging)f(w)n(ork.)p
+Black 0 4476 a Fd({ulog-cprange)31 b(N)p Black 208 4618
+a Fi(Cop)n(yrange.)42 b(This)30 b(w)n(orks)e(lik)n(e)i(the)g('snaplen')
+g(parameter)f(of)h(tcp)r(dump.)46 b(Y)-7 b(ou)30 b(can)f(sp)r(ecify)i
+(a)f(n)n(um)n(b)r(er)f(of)h(b)n(ytes)208 4731 y(up)25
+b(to)h(whic)n(h)f(the)h(pac)n(k)n(et)e(is)h(copied.)36
+b(If)26 b(y)n(ou)f(sa)n(y)f('40',)h(y)n(ou)g(will)g(receiv)n(e)g(the)g
+(\014rst)h(fourt)n(y)e(b)n(ytes)i(of)f(ev)n(ery)f(pac)n(k)n(et.)208
+4845 y(Lea)n(v)n(e)i(it)i(to)f Ff(0)p Black 0 5014 a
+Fd({ulog-qthreshold)j(N)p Black 208 5155 a Fi(Queue)d(threshold.)36
+b(If)28 b(a)f(pac)n(k)n(et)g(is)g(matc)n(hed)h(b)n(y)f(the)h(iptables)g
+(rule,)f(and)g(already)f(N)i(pac)n(k)n(ets)f(are)f(in)i(the)g(queue,)
+208 5269 y(the)34 b(queue)f(is)h(\015ushed)g(to)f(userspace.)54
+b(Y)-7 b(ou)33 b(can)h(use)f(this)h(to)f(implemen)n(t)i(a)e(p)r(olicy)g
+(lik)n(e:)49 b(Use)34 b(a)f(big)g(queue)h(in)208 5383
+y(order)26 b(to)h(gain)g(high)h(p)r(erformance,)e(but)i(still)g(ha)n(v)
+n(e)f(certain)g(pac)n(k)n(ets)f(logged)g(immediately)i(to)g(userspace.)
+p Black 0 5552 a Fd({ulog-pre\014x)j(STRING)p Black 208
+5693 a Fi(A)d(string)f(that)h(is)g(asso)r(ciated)f(with)h(ev)n(ery)f
+(pac)n(k)n(et)g(logged)g(b)n(y)g(this)i(rule.)37 b(Y)-7
+b(ou)28 b(can)g(use)g(this)g(option)g(to)f(later)h(tell)208
+5807 y(from)f(whic)n(h)g(rule)h(the)g(pac)n(k)n(et)e(w)n(as)h(logged.)p
+Black Black eop end
+%%Page: 4 4
+TeXDict begin 4 3 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(3.)74
+b(Con\014guration)3135 b Fi(4)p Black 0 79 a
+SDict begin H.S end
+ 0 79 a 0
+79 a
+SDict begin 13.68 H.A end
+ 0 79 a 0 79 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.1.3) cvn H.B
+/DEST pdfmark end
+ 0 79 a 83 x Fd(3.1.3)94 b(ipt)p 415
+162 29 4 v 34 w(ULOG)32 b(mo)s(dule)e(parameters)0 372
+y Fi(The)25 b(ipt)p 274 372 25 4 v 30 w(ULOG)g(k)n(ernel)f(mo)r(dule)h
+(has)f(a)h(couple)f(of)h(mo)r(dule)g(loadtime)f(parameters)f(whic)n(h)i
+(can)g(\(and)f(should\))h(b)r(e)g(tuned)0 485 y(to)i(accomo)r(date)g
+(the)h(needs)f(of)h(the)g(application:)p Black 0 708
+a Fd(nlbufsiz)j(N)p Black 208 855 a Fi(Netlink)h(bu\013er)f(size.)48
+b(A)32 b(bu\013er)g(of)f(the)h(sp)r(eci\014ed)g(size)f(N)h(is)f(allo)r
+(cated)g(for)g(ev)n(ery)f(netlink)i(group)e(that)i(is)f(used.)208
+969 y(Please)h(note)h(that)h(due)f(to)g(restrictions)g(of)g(the)h(k)n
+(ernel)e(memory)h(allo)r(cator,)g(w)n(e)g(cannot)g(ha)n(v)n(e)f(a)h
+(bu\013er)g(size)g Fh(>)208 1082 y Fi(128kBytes.)42 b(Larger)28
+b(bu\013er)i(sizes)f(increase)g(the)i(p)r(erformance,)e(since)h(less)g
+(k)n(ernel/userspace)d(con)n(text)j(switc)n(hes)208 1196
+y(are)j(needed)h(for)g(the)g(same)g(amoun)n(t)g(of)g(pac)n(k)n(ets.)56
+b(The)34 b(bac)n(kside)f(of)h(this)h(p)r(erformance)e(gain)g(is)h(a)g
+(p)r(oten)n(tially)208 1309 y(larger)25 b(dela)n(y)-7
+b(.)36 b(The)28 b(default)g(v)-5 b(alue)28 b(is)f(4096)f(b)n(ytes,)h
+(whic)n(h)h(is)f(quite)h(small.)p Black 0 1489 a Fd(\015ush)m(timeout)j
+(N)p Black 208 1636 a Fi(The)38 b(\015ush)n(timeout)h(determines,)h
+(after)e(ho)n(w)g(man)n(y)g(clo)r(c)n(k)f(tic)n(ks)h(\(on)h(alpha:)57
+b(1ms,)41 b(on)d(x86)f(and)i(most)f(other)208 1750 y(platforms:)h(10ms)
+29 b(time)g(units\))h(the)g(bu\013er/queue)f(is)g(to)g(b)r(e)h
+(\015ushed,)g(ev)n(en)f(if)g(it)h(is)f(not)h(full.)42
+b(This)30 b(can)e(b)r(e)i(used)208 1863 y(to)24 b(ha)n(v)n(e)g(the)h
+(adv)-5 b(an)n(tage)23 b(of)h(a)h(large)e(bu\013er,)i(but)h(still)f(a)f
+(\014nite)h(maxim)n(um)g(dela)n(y)f(in)n(tro)r(duced.)35
+b(The)25 b(default)g(v)-5 b(alue)208 1977 y(is)27 b(set)h(to)f(10)g
+(seconds.)0 2200 y(Example:)p Black Black Black Black
+208 2413 a Fa(modprobe)41 b(ipt_ULOG)g(nlbufsiz=65535)h
+(flushtimeout=100)0 2636 y Fi(This)28 b(w)n(ould)f(use)g(a)g(bu\013er)h
+(size)f(of)h(64k)e(and)i(a)f(\015ush)n(timeout)h(of)f(100)g(clo)r(c)n
+(ktic)n(ks)f(\(1)i(second)e(on)i(x86\).)0 2773 y
+SDict begin H.S end
+ 0 2773
+a 0 2773 a
+SDict begin 13.68 H.A end
+ 0 2773 a 0 2773 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.2) cvn H.B /DEST
+pdfmark end
+ 0 2773 a 155 x Fc(3.2)112
+b(ulogd)0 3138 y Fi(ulogd)27 b(is)g(what)h(this)g(is)f(all)h(ab)r(out,)
+f(so)g(let's)h(describ)r(e)f(it's)h(con\014guration...)0
+3270 y
+SDict begin H.S end
+ 0 3270 a 0 3270 a
+SDict begin 13.68 H.A end
+ 0 3270 a 0 3270 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.2.1) cvn H.B
+/DEST pdfmark end
+ 0 3270 a 140
+x Fd(3.2.1)94 b(ulogd)31 b(con\014g\014le)g(syn)m(tax)i(reference)0
+3620 y Fi(All)28 b(con\014gurable)e(parameters)g(of)i(ulogd)f(are)f(in)
+i(the)g(con\014g\014le,)f(t)n(ypically)g(lo)r(cated)g(at)h
+('/etc/ulogd.conf)6 b('.)0 3777 y(The)28 b(follo)n(wing)e
+(con\014guration)g(parameters)g(are)h(a)n(v)-5 b(ailable:)p
+Black 0 4000 a Fd(nlgroup)p Black 208 4147 a Fi(The)28
+b(netlink)g(m)n(ulticast)h(group,)e(whic)n(h)h(ulgogd)f(should)h(bind)h
+(to.)38 b(This)28 b(is)g(the)h(same)e(as)h(giv)n(en)f(with)i(the)g
+('{ulog-)208 4260 y(nlgroup')d(option)i(to)f(iptables.)p
+Black 0 4440 a Fd(log\014le)p Black 208 4587 a Fi(The)32
+b(main)g(log\014le,)h(where)f(ulogd)g(rep)r(orts)f(an)n(y)h(errors,)g
+(w)n(arnings)e(and)j(other)e(unexp)r(ected)i(conditions.)51
+b(Apart)208 4700 y(from)24 b(a)h(regular)e(\014lename,)i(the)h(follo)n
+(wing)e(sp)r(ecial)g(v)-5 b(alues)25 b(can)g(b)r(e)g(used;)h(\\syslog")
+c(to)j(log)f(via)h(the)g(unix)h(syslog\(3\))208 4814
+y(mec)n(hanism.)36 b(\\stdout")27 b(to)g(log)g(to)g(stdout.)p
+Black 0 4994 a Fd(loglev)m(el)p Black 208 5141 a Fi(This)32
+b(sp)r(eci\014es,)j(ho)n(w)d(v)n(erb)r(ose)f(the)i(logging)f(to)g
+(log\014le)h(is.)52 b(Curren)n(tly)32 b(de\014ned)h(loglev)n(els)f
+(are:)46 b(1=debug)32 b(infor-)208 5254 y(mation,)37
+b(3=informational)d(messages,)j(5=noticable)e(exceptional)g
+(conditions,)i(7=error)d(conditions,)j(8=fatal)208 5368
+y(errors,)25 b(program)h(ab)r(ort.)p Black 0 5548 a Fd(plugin)p
+Black 208 5695 a Fi(This)34 b(option)g(is)h(follo)n(w)n(ed)e(b)n(y)h(a)
+g(\014lename)h(of)f(a)g(ulogd)g(plugin,)i(whic)n(h)f(ulogd)f(shold)g
+(load)g(up)r(on)g(initialization.)208 5808 y(This)27
+b(option)g(ma)n(y)g(app)r(ear)g(more)g(than)g(once.)p
+Black Black eop end
+%%Page: 5 5
+TeXDict begin 5 4 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(4.)74
+b(Av)-5 b(ailable)31 b(plugins)2992 b Fi(5)p Black Black
+0 162 a Fd(rmem)p Black 208 308 a Fi(Size)40 b(of)h(the)g(netlink)g(so)
+r(c)n(k)n(et)e(receiv)n(e)h(memory)-7 b(.)75 b(Y)-7 b(ou)40
+b(should)h(set)f(this)h(to)g(at)f(least)g(the)h(size)f(of)h(the)g(k)n
+(ernel)208 422 y(bu\013er)32 b(\(nlbufsiz)h(parameter)e(of)h(the)h(ipt)
+p 1549 422 25 4 v 30 w(ULOG)g(mo)r(dule\).)51 b(Please)31
+b(note)i(that)f(there)g(is)h(a)f(maxim)n(um)g(limit)h(in)208
+536 y(/pro)r(c/sys/net/core/rmem)p 1165 536 V 25 w(max)f(whic)n(h)h(y)n
+(ou)f(cannot)h(exceed)f(b)n(y)h(increasing)e(the)j(\\rmem")e
+(parameter.)51 b(Y)-7 b(ou)208 649 y(ma)n(y)26 b(need)i(to)g(raise)e
+(the)i(system-wide)f(maxim)n(um)h(limit)g(b)r(efore.)p
+Black 0 829 a Fd(bufsize)p Black 208 976 a Fi(Size)f(of)h(the)g(receiv)
+n(e)e(bu\013er.)37 b(Y)-7 b(ou)28 b(should)f(set)h(this)g(to)f(at)h
+(least)f(the)h(so)r(c)n(k)n(et)e(receiv)n(e)h(bu\013er)g(\(rmem\).)0
+1113 y
+SDict begin H.S end
+ 0 1113 a 0 1113 a
+SDict begin 13.68 H.A end
+ 0 1113 a 0 1113 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.2.2) cvn H.B
+/DEST pdfmark end
+ 0 1113 a 136
+x Fd(3.2.2)94 b(ulogd)31 b(commandline)f(option)h(reference)0
+1459 y Fi(Apart)c(from)h(the)g(con\014g\014le,)f(there)g(are)g(a)g
+(couple)g(of)h(commandline)f(options)g(to)h(ulogd:)p
+Black 0 1682 a Fd(-h)k({help)p Black 208 1828 a Fi(Prin)n(t)26
+b(a)i(help)f(message)g(ab)r(out)g(the)h(commandline)g(options.)p
+Black 0 2008 a Fd(-V)k({v)m(ersion)p Black 208 2155 a
+Fi(Prin)n(t)26 b(v)n(ersion)g(information)h(ab)r(out)h(ulogd.)p
+Black 0 2335 a Fd(-d)k({daemon)p Black 208 2482 a Fi(F)-7
+b(or)27 b(o\013)g(in)n(to)g(daemon)h(mo)r(de.)37 b(Unless)27
+b(y)n(ou)g(are)f(debugging,)h(y)n(ou)g(will)h(w)n(an)n(t)f(to)g(use)h
+(this)g(most)f(of)h(the)g(time.)p Black 0 2662 a Fd(-c)k
+({con\014g\014le)p Black 208 2809 a Fi(Using)j(this)h(commandline)g
+(option,)i(an)d(alternate)g(con\014g)g(\014le)i(can)e(b)r(e)h(used.)62
+b(This)36 b(is)g(imp)r(ortan)n(t)f(if)i(m)n(ultiple)208
+2922 y(instances)27 b(of)g(ulogd)g(are)g(to)g(b)r(e)h(run)g(on)f(a)g
+(single)g(mac)n(hine.)0 3064 y
+SDict begin H.S end
+ 0 3064 a 0 3064 a
+SDict begin 13.68 H.A end
+ 0 3064
+a 0 3064 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.4) cvn H.B /DEST pdfmark
+end
+ 0 3064 a 197 x Fe(4)135 b(Av)-7 b(ailable)46
+b(plugins)0 3499 y Fi(It)38 b(is)g(imp)r(ortan)n(t)g(to)g(understand)f
+(that)h(ulogd)g(without)g(plugins)g(do)r(es)f(nothing.)68
+b(It)38 b(will)h(receiv)n(e)d(pac)n(k)n(ets,)k(and)d(do)0
+3613 y(nothing)27 b(with)i(them.)0 3769 y(There)d(are)f(t)n(w)n(o)g
+(kinds)h(of)g(plugins,)h(in)n(terpreter)e(and)h(output)g(plugins.)37
+b(In)n(terpreter)25 b(plugins)h(parse)f(the)h(pac)n(k)n(et,)g(output)0
+3883 y(plugins)h(write)h(the)g(in)n(terpreted)f(information)g(to)g
+(some)g(log\014le/database/...)0 4020 y
+SDict begin H.S end
+ 0 4020 a 0 4020
+a
+SDict begin 13.68 H.A end
+ 0 4020 a 0 4020 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1) cvn H.B /DEST
+pdfmark end
+ 0 4020 a 155 x Fc(4.1)112 b(In)m(terpreter)37
+b(plugins)0 4385 y Fi(ulogd)27 b(comes)g(with)h(the)g(follo)n(wing)f
+(in)n(terpreter)f(plugins:)0 4517 y
+SDict begin H.S end
+ 0 4517 a 0 4517 a
+SDict begin 13.68 H.A end
+
+0 4517 a 0 4517 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.1.1) cvn H.B
+/DEST pdfmark end
+ 0 4517 a 140 x Fd(4.1.1)94 b(ulogd)p
+527 4657 29 4 v 33 w(BASE.so)0 4867 y Fi(Basic)20 b(in)n(terpreter)f
+(plugin)i(for)f(nfmark,)h(timestamp,)i(mac)d(address,)h(ip)g(header,)g
+(tcp)g(header,)g(udp)g(header,)g(icmp)g(header,)0 4981
+y(ah/esp)27 b(header...)36 b(Most)27 b(p)r(eople)h(will)f(w)n(an)n(t)g
+(to)h(load)f(this)h(v)n(ery)e(imp)r(ortan)n(t)h(plugin.)0
+5118 y
+SDict begin H.S end
+ 0 5118 a 0 5118 a
+SDict begin 13.68 H.A end
+ 0 5118 a 0 5118 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.1.2) cvn H.B
+/DEST pdfmark end
+ 0 5118 a 136
+x Fd(4.1.2)94 b(ulogd)p 527 5254 29 4 v 33 w(PWSNIFF.so)0
+5464 y Fi(Example)31 b(in)n(terpreter)g(plugin)h(to)g(log)f(plain)n
+(text)h(passw)n(ords)e(as)h(used)h(with)h(FTP)f(and)g(POP3.)48
+b(Don't)33 b(blame)e(me)i(for)0 5577 y(writing)i(this)i(plugin!)62
+b(The)35 b(proto)r(cols)g(are)g(inheren)n(tly)g(insecure,)j(and)d
+(there)h(are)f(a)h(lot)f(of)h(other)f(to)r(ols)h(for)f(sni\016ng)0
+5691 y(passw)n(ords...)g(it's)28 b(just)g(an)f(example.)p
+Black Black eop end
+%%Page: 6 6
+TeXDict begin 6 5 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(4.)74
+b(Av)-5 b(ailable)31 b(plugins)2992 b Fi(6)p Black 0
+79 a
+SDict begin H.S end
+ 0 79 a 0 79 a
+SDict begin 13.68 H.A end
+ 0 79 a 0 79 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.1.3) cvn H.B
+/DEST pdfmark end
+ 0 79 a 83 x Fd(4.1.3)94
+b(ulogd)p 527 162 29 4 v 33 w(LOCAL.so)0 372 y Fi(This)29
+b(is)g(a)f('virtual)g(in)n(terpreter'.)40 b(It)29 b(do)r(esn't)g
+(really)f(return)g(an)n(y)g(information)g(on)h(the)g(pac)n(k)n(et)f
+(itself,)i(rather)d(the)j(lo)r(cal)0 485 y(system)i(time)i(and)e
+(hostname.)51 b(Please)32 b(note)g(that)h(the)g(time)g(is)g(the)g(time)
+g(at)g(the)g(time)g(of)f(logging,)h(not)f(the)h(pac)n(k)n(ets)0
+599 y(receiv)n(e)26 b(time.)0 715 y
+SDict begin H.S end
+ 0 715 a 0 715 a
+SDict begin 13.68 H.A end
+ 0
+715 a 0 715 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.2) cvn H.B /DEST
+pdfmark end
+ 0 715 a 175 x Fc(4.2)112 b(Output)38 b(plugins)0
+1101 y Fi(ulogd)27 b(comes)g(with)h(the)g(follo)n(wing)f(output)h
+(plugins:)0 1233 y
+SDict begin H.S end
+ 0 1233 a 0 1233 a
+SDict begin 13.68 H.A end
+ 0 1233 a 0 1233
+a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.1) cvn H.B
+/DEST pdfmark end
+ 0 1233 a 140 x Fd(4.2.1)94 b(ulogd)p 527 1373 29 4
+v 33 w(OPRINT.so)0 1583 y Fi(A)28 b(v)n(ery)e(simple)i(output)g(mo)r
+(dule,)g(dumping)g(all)f(pac)n(k)n(ets)g(in)h(the)g(format)p
+Black Black Black Black 208 1797 a Fa(===>PACKET)41 b(BOUNDARY)208
+1901 y(key=value)208 2005 y(key=value)208 2109 y(...)208
+2213 y(===>PACKET)g(BOUNDARY)208 2317 y(...)0 2540 y
+Fi(to)27 b(a)h(\014le.)37 b(The)27 b(only)h(useful)g(application)e(is)i
+(debugging.)0 2697 y(The)g(mo)r(dule)g(de\014nes)f(the)h(follo)n(wing)f
+(con\014guration)f(directiv)n(es:)p Black 0 2920 a Fd(dump\014le)p
+Black 208 3066 a Fi(The)h(\014lename)h(where)f(it)h(should)f(log)g(to.)
+37 b(The)27 b(default)h(is)g Ff(/var/log/ulogd.p)o(kt)o(log)0
+3201 y
+SDict begin H.S end
+ 0 3201 a 0 3201 a
+SDict begin 13.68 H.A end
+ 0 3201 a 0 3201 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.2) cvn H.B
+/DEST pdfmark end
+ 0 3201 a 138
+x Fd(4.2.2)94 b(ulogd)p 527 3339 29 4 v 33 w(LOGEMU.so)0
+3549 y Fi(An)33 b(output)g(mo)r(dule)g(whic)n(h)f(tries)h(to)f(em)n
+(ulate)g(the)h(old)f(syslog-based)f(LOG)h(targed)f(as)h(far)g(as)g(p)r
+(ossible.)51 b(Logging)31 b(is)0 3663 y(done)c(to)h(a)f(sep)r(erate)g
+(text\014le)h(instead)f(of)h(syslog,)e(though.)0 3819
+y(The)i(mo)r(dule)g(de\014nes)f(the)h(follo)n(wing)f(con\014guration)f
+(directiv)n(es:)p Black 0 4042 a Fd(\014le)p Black 208
+4189 a Fi(The)h(\014lename)h(where)f(it)h(should)f(log)g(to.)37
+b(The)27 b(default)h(is)g Ff(/var/log/ulogd.s)o(ys)o(log)o(em)o(u)p
+Black 0 4369 a Fd(sync)p Black 208 4516 a Fi(Set)c(this)h(to)f(1)g(if)h
+(y)n(ou)f(w)n(an)n(t)g(to)g(ha)n(v)n(e)f(y)n(our)g(log\014le)h(written)
+h(sync)n(hronously)-7 b(.)33 b(This)25 b(ma)n(y)e(reduce)h(p)r
+(erformance,)g(but)208 4629 y(mak)n(es)i(y)n(our)g(log-lines)h(app)r
+(ear)f(immediately)-7 b(.)38 b(The)27 b(default)h(is)g
+Ff(0)0 4761 y
+SDict begin H.S end
+ 0 4761 a 0 4761 a
+SDict begin 13.68 H.A end
+ 0 4761 a 0 4761 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.3) cvn H.B
+/DEST pdfmark end
+ 0 4761
+a 141 x Fd(4.2.3)94 b(ulogd)p 527 4902 29 4 v 33 w(MYSQL.so)0
+5112 y Fi(An)31 b(output)h(plugin)f(for)g(logging)e(in)n(to)i(a)f(m)n
+(ysql)h(database.)46 b(This)31 b(is)g(only)f(compiled)h(if)h(y)n(ou)e
+(ha)n(v)n(e)g(the)h(m)n(ysql)f(libraries)0 5225 y(installed,)21
+b(and)e(the)h(con\014gure)e(script)i(w)n(as)e(able)h(to)h(detect)f
+(them.)35 b(\(that)20 b(is:)33 b({with-m)n(ysql)18 b(w)n(as)h(sp)r
+(eci\014ed)h(for)e(./con\014gure\))0 5382 y(The)26 b(plugin)f
+(automagically)f(inserts)h(the)h(data)f(in)n(to)g(the)h(con\014gured)e
+(table;)i(It)g(connects)f(to)h(m)n(ysql)e(during)i(the)f(startup)0
+5495 y(phase)33 b(of)g(ulogd)g(and)g(obtains)g(a)g(list)h(of)f(the)h
+(columns)f(in)h(the)g(table.)54 b(Then)34 b(it)f(tries)g(to)h(resolv)n
+(e)d(the)j(column)g(names)0 5609 y(against)27 b(k)n(eys)g(of)h(in)n
+(terpreter)f(plugins.)38 b(This)27 b(w)n(a)n(y)g(y)n(ou)g(can)h(easily)
+f(select)h(whic)n(h)g(information)f(y)n(ou)g(w)n(an)n(t)h(to)g(log)f(-)
+g(just)0 5723 y(b)n(y)g(the)h(la)n(y)n(out)f(of)g(the)h(table.)p
+Black Black eop end
+%%Page: 7 7
+TeXDict begin 7 6 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(4.)74
+b(Av)-5 b(ailable)31 b(plugins)2992 b Fi(7)p Black 0
+162 a(If,)27 b(for)f(example,)h(y)n(our)e(table)h(con)n(tains)g(a)g
+(\014eld)h(called)f('ip)p 1876 162 25 4 v 30 w(saddr',)g(ulogd)g(will)h
+(resolv)n(e)e(this)h(against)g(the)h(k)n(ey)f('ip.saddr')0
+275 y(and)h(put)i(the)f(ip)f(address)g(as)g(32bit)g(unsigned)g(in)n
+(teger)g(in)n(to)g(the)h(table.)0 432 y(Y)-7 b(ou)30
+b(ma)n(y)g(w)n(an)n(t)g(to)g(ha)n(v)n(e)f(a)h(lo)r(ok)g(at)g(the)h
+(\014le)g(')p Ff(doc/mysql.table)p Fi(')24 b(as)30 b(an)g(example)g
+(table)g(including)h(\014elds)f(to)h(log)e(all)0 545
+y(k)n(eys)e(from)g(ulogd)p 583 545 V 29 w(BASE.so.)36
+b(Just)28 b(delete)f(the)h(\014elds)g(y)n(ou)f(are)f(not)i(in)n
+(terested)f(in,)h(and)g(create)e(the)i(table.)0 702 y(The)g(mo)r(dule)g
+(de\014nes)f(the)h(follo)n(wing)f(con\014guration)f(directiv)n(es:)p
+Black 0 922 a Fd(table)p Black 208 1068 a Fi(Name)h(of)h(the)g(table)f
+(to)h(whic)n(h)f(ulogd)g(should)h(log.)p Black 0 1247
+a Fd(ldb)p Black 208 1393 a Fi(Name)f(of)h(the)g(m)n(ysql)f(database.)p
+Black 0 1572 a Fd(host)p Black 208 1718 a Fi(Name)g(of)h(the)g(m)n
+(ysql)f(database)f(host.)p Black 0 1897 a Fd(p)s(ort)p
+Black 208 2043 a Fi(TCP)h(p)r(ort)g(n)n(um)n(b)r(er)g(of)h(m)n(ysql)f
+(database)f(serv)n(er.)p Black 0 2221 a Fd(user)p Black
+208 2368 a Fi(Name)h(of)h(the)g(m)n(ysql)f(user.)p Black
+0 2546 a Fd(pass)p Black 208 2692 a Fi(P)n(assw)n(ord)d(for)j(m)n
+(ysql.)0 2824 y
+SDict begin H.S end
+ 0 2824 a 0 2824 a
+SDict begin 13.68 H.A end
+ 0 2824 a 0 2824 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.4) cvn H.B
+/DEST pdfmark end
+ 0
+2824 a 141 x Fd(4.2.4)94 b(ulogd)p 527 2965 29 4 v 33
+w(PGSQL.so)0 3175 y Fi(An)23 b(output)g(plugin)g(for)f(logging)f(in)n
+(to)h(a)g(p)r(ostgresql)g(database.)34 b(This)22 b(is)h(only)f
+(compiled)g(if)h(y)n(ou)f(ha)n(v)n(e)g(the)h(m)n(ysql)e(libraries)0
+3288 y(installed,)h(and)f(the)h(con\014gure)d(script)i(w)n(as)f(able)h
+(to)g(detect)g(them.)36 b(\(that)21 b(is:)34 b({with-pgsql)20
+b(w)n(as)g(sp)r(eci\014ed)h(for)f(./con\014gure\))0 3445
+y(The)27 b(plugin)g(automagically)e(inserts)i(the)g(data)f(in)n(to)h
+(the)g(con\014gured)f(table;)i(It)f(connects)f(to)h(pgsql)g(during)f
+(the)h(startup)0 3558 y(phase)33 b(of)g(ulogd)g(and)g(obtains)g(a)g
+(list)h(of)f(the)h(columns)f(in)h(the)g(table.)54 b(Then)34
+b(it)f(tries)g(to)h(resolv)n(e)d(the)j(column)g(names)0
+3672 y(against)27 b(k)n(eys)g(of)h(in)n(terpreter)f(plugins.)38
+b(This)27 b(w)n(a)n(y)g(y)n(ou)g(can)h(easily)f(select)h(whic)n(h)g
+(information)f(y)n(ou)g(w)n(an)n(t)h(to)g(log)f(-)g(just)0
+3785 y(b)n(y)g(the)h(la)n(y)n(out)f(of)g(the)h(table.)0
+3942 y(If,)f(for)f(example,)h(y)n(our)e(table)h(con)n(tains)g(a)g
+(\014eld)h(called)f('ip)p 1876 3942 25 4 v 30 w(saddr',)g(ulogd)g(will)
+h(resolv)n(e)e(this)h(against)g(the)h(k)n(ey)f('ip.saddr')0
+4055 y(and)h(put)i(the)f(ip)f(address)g(as)g(32bit)g(unsigned)g(in)n
+(teger)g(in)n(to)g(the)h(table.)0 4212 y(Y)-7 b(ou)30
+b(ma)n(y)g(w)n(an)n(t)g(to)g(ha)n(v)n(e)f(a)h(lo)r(ok)g(at)g(the)h
+(\014le)g(')p Ff(doc/mysql.table)p Fi(')24 b(as)30 b(an)g(example)g
+(table)g(including)h(\014elds)f(to)h(log)e(all)0 4325
+y(k)n(eys)e(from)g(ulogd)p 583 4325 V 29 w(BASE.so.)36
+b(Just)28 b(delete)f(the)h(\014elds)g(y)n(ou)f(are)f(not)i(in)n
+(terested)f(in,)h(and)g(create)e(the)i(table.)0 4482
+y(The)g(mo)r(dule)g(de\014nes)f(the)h(follo)n(wing)f(con\014guration)f
+(directiv)n(es:)p Black 0 4702 a Fd(table)p Black 208
+4848 a Fi(Name)h(of)h(the)g(table)f(to)h(whic)n(h)f(ulogd)g(should)h
+(log.)p Black 0 5027 a Fd(db)p Black 208 5173 a Fi(Name)f(of)h(the)g
+(database.)p Black 0 5352 a Fd(host)p Black 208 5498
+a Fi(Name)f(of)h(the)g(m)n(ysql)f(database)f(host.)p
+Black 0 5677 a Fd(p)s(ort)p Black 208 5823 a Fi(TCP)h(p)r(ort)g(n)n(um)
+n(b)r(er)g(of)h(database)e(serv)n(er.)p Black Black eop
+end
+%%Page: 8 8
+TeXDict begin 8 7 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(4.)74
+b(Av)-5 b(ailable)31 b(plugins)2992 b Fi(8)p Black Black
+0 162 a Fd(user)p Black 208 306 a Fi(Name)27 b(of)h(the)g(sql)f(user.)p
+Black 0 482 a Fd(pass)p Black 208 627 a Fi(P)n(assw)n(ord)d(for)j(sql)h
+(user.)0 757 y
+SDict begin H.S end
+ 0 757 a 0 757 a
+SDict begin 13.68 H.A end
+ 0 757 a 0 757 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.5) cvn H.B
+/DEST pdfmark end
+ 0 757
+a 140 x Fd(4.2.5)94 b(ulogd)p 527 897 29 4 v 33 w(PCAP)-8
+b(.so)0 1108 y Fi(An)35 b(output)g(plugin)g(that)f(can)g(b)r(e)h(used)g
+(to)f(generate)f(libp)r(cap-st)n(yle)h(pac)n(k)n(et)g(log\014les.)56
+b(This)35 b(can)f(b)r(e)h(useful)g(for)f(later)0 1221
+y(analysing)26 b(the)i(pac)n(k)n(et)f(log)f(with)j(to)r(ols)e(lik)n(e)g
+(tcp)r(dump)i(or)d(ethereal.)0 1378 y(The)i(mo)r(dule)g(de\014nes)f
+(the)h(follo)n(wing)f(con\014guration)f(directiv)n(es:)p
+Black 0 1592 a Fd(\014le)p Black 208 1737 a Fi(The)h(\014lename)h
+(where)f(it)h(should)f(log)g(to.)37 b(The)27 b(default)h(is:)37
+b Ff(/var/log/ulogd.pc)o(ap)p Black 0 1912 a Fd(sync)p
+Black 208 2057 a Fi(Set)21 b(this)h(to)f Ff(1)g Fi(if)h(y)n(ou)f(w)n
+(an)n(t)f(to)i(ha)n(v)n(e)e(y)n(our)g(p)r(cap)h(log\014le)g(written)g
+(sync)n(hronously)-7 b(.)33 b(This)22 b(ma)n(y)e(reduce)h(p)r
+(erformance,)208 2171 y(but)28 b(mak)n(es)e(y)n(our)h(pac)n(k)n(ets)f
+(app)r(ear)h(immediately)g(in)h(the)g(\014le)g(on)f(disk.)37
+b(The)28 b(default)g(is)f Ff(0)0 2301 y
+SDict begin H.S end
+ 0 2301 a 0 2301
+a
+SDict begin 13.68 H.A end
+ 0 2301 a 0 2301 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.6) cvn H.B
+/DEST pdfmark end
+ 0 2301 a 140 x Fd(4.2.6)94 b(ulogd)p
+527 2441 29 4 v 33 w(SQLITE3.so)0 2651 y Fi(An)38 b(output)g(plugin)f
+(for)g(logging)e(in)n(to)j(a)e(SQLITE)h(v3)g(database.)64
+b(This)38 b(is)f(only)g(compiled)g(if)h(y)n(ou)e(ha)n(v)n(e)g(the)i
+(sqlite)0 2765 y(libraries)26 b(installed,)h(and)f(the)i(con\014gure)e
+(script)g(w)n(as)g(able)h(to)g(detect)g(them.)37 b(\(that)28
+b(is:)36 b({with-sqlite3)26 b(w)n(as)g(sp)r(eci\014ed)i(for)0
+2879 y(./con\014gure\))0 3035 y(The)23 b(plugin)h(automagically)d
+(inserts)i(the)g(data)g(in)n(to)g(the)h(con\014gured)e(table;)j(It)e
+(op)r(ens)g(the)h(sqlite)f(db)h(during)f(the)g(startup)0
+3149 y(phase)33 b(of)g(ulogd)g(and)g(obtains)g(a)g(list)h(of)f(the)h
+(columns)f(in)h(the)g(table.)54 b(Then)34 b(it)f(tries)g(to)h(resolv)n
+(e)d(the)j(column)g(names)0 3262 y(against)27 b(k)n(eys)g(of)h(in)n
+(terpreter)f(plugins.)38 b(This)27 b(w)n(a)n(y)g(y)n(ou)g(can)h(easily)
+f(select)h(whic)n(h)g(information)f(y)n(ou)g(w)n(an)n(t)h(to)g(log)f(-)
+g(just)0 3376 y(b)n(y)g(the)h(la)n(y)n(out)f(of)g(the)h(table.)0
+3532 y(If,)f(for)f(example,)h(y)n(our)e(table)h(con)n(tains)g(a)g
+(\014eld)h(called)f('ip)p 1876 3532 25 4 v 30 w(saddr',)g(ulogd)g(will)
+h(resolv)n(e)e(this)h(against)g(the)h(k)n(ey)f('ip.saddr')0
+3646 y(and)h(put)i(the)f(ip)f(address)g(as)g(32bit)g(unsigned)g(in)n
+(teger)g(in)n(to)g(the)h(table.)0 3802 y(Y)-7 b(ou)26
+b(ma)n(y)f(w)n(an)n(t)g(to)h(ha)n(v)n(e)f(a)g(lo)r(ok)g(at)h(the)g
+(\014le)g(')p Ff(doc/sqlite3.tabl)o(e)p Fi(')20 b(as)25
+b(an)h(example)f(table)h(including)g(\014elds)g(to)f(log)g(all)0
+3916 y(k)n(eys)i(from)g(ulogd)p 583 3916 V 29 w(BASE.so.)36
+b(Just)28 b(delete)f(the)h(\014elds)g(y)n(ou)f(are)f(not)i(in)n
+(terested)f(in,)h(and)g(create)e(the)i(table.)0 4072
+y(The)g(mo)r(dule)g(de\014nes)f(the)h(follo)n(wing)f(con\014guration)f
+(directiv)n(es:)p Black 0 4287 a Fd(table)p Black 208
+4431 a Fi(Name)h(of)h(the)g(table)f(to)h(whic)n(h)f(ulogd)g(should)h
+(log.)p Black 0 4607 a Fd(db)p Black 208 4752 a Fi(Name)f(of)h(the)g
+(database.)p Black 0 4927 a Fd(bu\013er)p Black 208 5072
+a Fi(Size)f(of)h(the)g(sqlite)f(bu\013er.)0 5202 y
+SDict begin H.S end
+ 0
+5202 a 0 5202 a
+SDict begin 13.68 H.A end
+ 0 5202 a 0 5202 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.2.7) cvn H.B
+/DEST pdfmark end
+ 0 5202 a 141 x Fd(4.2.7)94
+b(ulogd)p 527 5343 29 4 v 33 w(SYSLOG.so)0 5553 y Fi(An)36
+b(output)g(plugin)g(that)f(really)g(logs)f(via)h(syslogd.)59
+b(Lines)36 b(will)g(lo)r(ok)e(exactly)h(lik)n(e)g(prin)n(ted)h(with)g
+(traditional)e(LOG)0 5666 y(target.)0 5823 y(The)28 b(mo)r(dule)g
+(de\014nes)f(the)h(follo)n(wing)f(con\014guration)f(directiv)n(es:)p
+Black Black eop end
+%%Page: 9 9
+TeXDict begin 9 8 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 -200 a
+SDict begin H.S end
+ 0 -200 a 0 TeXcolorgray 0 TeXcolorgray 0 -200
+a
+SDict begin H.R end
+ 0 -200 a 0 -200 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
+end
+ 0 -200 a Black 0 -167 3900 5 v Fd(5.)74
+b(QUESTIONS)31 b(/)h(COMMENTS)2455 b Fi(9)p Black Black
+0 162 a Fd(facilit)m(y)p Black 208 308 a Fi(The)27 b(syslog)f(facilit)n
+(y)i(\(LOG)p 1115 308 25 4 v 30 w(D)n(AEMON,)f(LOG)p
+1760 308 V 30 w(KERN,)g(LOG)p 2267 308 V 29 w(LOCAL0)g(..)37
+b(LOG)p 2921 308 V 30 w(LOCAL7,)26 b(LOG)p 3515 308 V
+30 w(USER\))p Black 0 488 a Fd(lev)m(el)p Black 208 635
+a Fi(The)80 b(syslog)e(lev)n(el)i(\(LOG)p 1187 635 V
+29 w(EMER)n(G,)g(LOG)p 1815 635 V 29 w(ALER)-7 b(T,)80
+b(LOG)p 2414 635 V 30 w(CRIT,)g(LOG)p 2940 635 V 29 w(ERR,)g(LOG)p
+3433 635 V 30 w(W)-9 b(ARNING,)208 749 y(LOG)p 395 749
+V 29 w(NOTICE,)27 b(LOG)p 990 749 V 30 w(INF)n(O,)g(LOG)p
+1461 749 V 29 w(DEBUG\))0 895 y
+SDict begin H.S end
+ 0 895 a 0 895 a
+SDict begin 13.68 H.A end
+ 0 895
+a 0 895 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.5) cvn H.B /DEST pdfmark
+end
+ 0 895 a 192 x Fe(5)135 b(QUESTIONS)44 b(/)i(COMMENTS)0
+1326 y Fi(All)28 b(commen)n(ts)f(/)g(questions)g(/)h(...)37
+b(are)26 b(appreciated.)0 1482 y(Just)h(drop)g(me)h(a)f(note)h(to)f
+(laforge@gn)n(umonks.org)0 1639 y(Please)f(note)i(also)e(that)i(there)g
+(is)f(no)n(w)g(a)g(mailinglist,)h(ulogd@lists.gn)n(umonks.org.)33
+b(Y)-7 b(ou)28 b(can)f(subscrib)r(e)g(at)0 1795 y(.)0
+1952 y(The)h(preferred)e(metho)r(d)i(for)f(rep)r(orting)g(bugs)g(is)h
+(the)g(net\014lter)f(bugzilla)g(system,)h(a)n(v)-5 b(ailable)26
+b(at)83 b(.)p Black Black eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF