%!PS-Adobe-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: main.dvi %%Pages: 80 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: Palatino-Bold Palatino-Roman Courier Palatino-Italic %%+ PazoMath-Italic CMSY10 CMR12 CMR8 CMTI12 CMMI8 PazoMath CMR10 CMMI10 %%+ CMEX10 PazoMath-Bold Helvetica Palatino-BoldItalic CMSY7 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips main.dvi -o heurika.ps %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2004.01.16:1205 %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: fplmri.pfb %!PS-AdobeFont-1.0: PazoMath-Italic 001.003 %%CreationDate: Fri May 17 11:17:28 2002 %%VMusage: 120000 150000 11 dict begin /FontInfo 14 dict dup begin /version (001.003) readonly def /Copyright ((c) Diego Puga, 2000, 2002.) readonly def /Notice (Copyright (c) Diego Puga, 2000, 2002. Distributed under the GNU General Public License (http://www.gnu.org/copyleft/gpl.txt). As a special exception, permission is granted to include this font program in a PostScript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def /FullName (Pazo Math Italic) readonly def /FamilyName (PazoMath) readonly def /ItalicAngle -9.50 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def /Weight (Regular) readonly def end readonly def /FontName /PazoMath-Italic def /Encoding 256 array 0 1 255 {1 index exch /.notdef put } for dup 32 /space put dup 35 /epsilon put dup 36 /rho1 put dup 68 /Delta put dup 70 /Phi put dup 71 /Gamma put dup 74 /theta1 put dup 76 /Lambda put dup 80 /Pi put dup 81 /Theta put dup 83 /Sigma put dup 85 /Upsilon put dup 86 /sigma1 put dup 87 /Omega put dup 88 /Xi put dup 89 /Psi put dup 97 /alpha put dup 98 /beta put dup 99 /chi put dup 100 /delta put dup 101 /epsilon1 put dup 102 /phi put dup 103 /gamma put dup 104 /eta put dup 105 /iota put dup 106 /phi1 put dup 107 /kappa put dup 108 /lambda put dup 109 /mu put dup 110 /nu put dup 112 /pi put dup 113 /theta put dup 114 /rho put dup 115 /sigma put dup 116 /tau put dup 117 /upsilon put dup 118 /pi1 put dup 119 /omega put dup 120 /xi put dup 121 /psi put dup 122 /zeta put dup 160 /Euro put dup 182 /partialdiff put dup 224 /tie put dup 226 /dotlessj put readonly def /PaintType 0 def /FontType 1 def /FontMatrix [0.00100 0 0 0.00100 0 0] readonly def /UniqueID 5116634 def /FontBBox {-70 -277 902 733} readonly def currentdict end currentfile eexec E8DC61728071ABD4D5BCD230C4E186DCE095A0CA84FFC476ADFAA82124268E60D2CC570C5F52 C10ED4A85A71CE8E5BCF26AA13B27D7FCE1CC0C72C3B848DD5FFB2D56D06A1920FADE4FFA3B3 5336627E9ED1622C1F9652956D4A424488B4C4FFDA9936442BBE0CA749700AE98A2BF964FAD0 88F0CC64B7C1D76742F25E90E759ACA624A321402B1D20863FAF5E04B86C1AE66F450B158604 1815E52F13D2AE539F1725D11489898A83A05FE04D6D14BCE66E2CB855496EC301A39F6BA632 F50529AA3B78775D3D91CCB4D102B46A69D1DF890262339E9A285C8646B828AEA9F5A39DDACF 3471C89A1E8E1854607F0C92E5B4C57298709CE53154E86CEE699124E189164F9043D47594EC 3DE3FBF7928EC354910CC2DF2E2008DF11C1A4FFE5B19699A541DC9930FBC2545D9DB875D037 608DF1556FFC4A154E03169C432F62456B734954C1FE791822949C0EBCF37C0238F99D21A90A B8F60FC1A61C1D0EA563BE1AACBC9F97105BF94D8E17A26E456950A2C7FFA1ADDB399D76C11F 16BAC7ABB7838E85BECCBC1431BA6601C9C34BF665F9C42298CFC2E785B2774546F05173BD03 6B624B2BAADDC7390BB6CECB5B74821F01C1DDC3DE6FC29EE374F82101E0EECCFD32F3D1F976 13C10A2C9C5C328F27E9BBC441CD921C86AAAB7F266F811CE9DE9FB73EEE132D1CD4F24B0708 07BB2684B92186EC79C2EF8CF3C2E523A985469F310790D55145E602EFFF48E490E6D17A919E 42D57EBC9B07067F53DE5B2BFF8C5AE40ED2B48DBF789F5C65C13ABB3F72CE81B593C8FB0E89 268F918CD05A88D2529267503D338C57CDC53AFD1A55949E6B8B7D8DDC79656A33A0A7F28273 0BC4EA351DB9939A3E6704D30BE16CEA1188541CB222CD5BBEC47D91CB7905F79C8BC33A1C3A B5AC784C132ED348403641E55131572E52531DBCBFEC84619D9253A8C9E496A3A9F5BA322892 BB28B8F1C09A5A3376E0D318994777A82B2831430B7CB81F935AA6685AA43E6A95CE963709BC EA9CBB5F9BB04A120358BF7BED8DADCDF8D57775C282537AB67E62CF33CB1CA7E45D3147F587 0458337040B336AC654992B0A13A1837489014015198679D395CEC4A2DB02B144A2D4527E260 4C07AEACE062FB0C3DBB96BE3DEDBB58E8C394928D259F7E671F439F079D2B510ADADE3C7BED 74CD24EC603C5DC2677E7D6C0D3EDE4BAE7778E2001149D5C4D5646199D6468EC7B317B63517 FCC5F79F121B3DC36228462C959A594B22871357F0065351D94B219CABEA3BAD30D05F83E6E7 865CF70CF9C96E4FEAA76F3FA5F7EBE18B4ECA5639647F67F08B0D4E3A175143C845F92DDD08 5996AD1D215B6606EBC170AF8B65507206FBAFA796258B227B66059660B2CD8405423E3197AE 6920D931844F6568DBC6035013D121FE71F05690A1A2DF694982806BDBC521404C2C9F5C93E4 44F84DC02052D067F17659594B2AE8904FF7B2472686D17A8587E98F805F161C41EE58546137 EBB3AA0CB078CB59C450DE732521E3430AF40A753A7779008BE9C8927F4984AA81E42FD32517 1DF60602663D4FE808DF325FC31ABD7DC2332333B1C433BB30B5EE3DC433BECA00E987D58912 ECD759876BA9C62CC9C838000C7D04F28817F9DC8A858F6F4AB69D21AD26EBF22A8E6A0B44BF 63150F0D5C79FC3285BD551596E847861188639DB86760DAC71081A26E717F22A0540BD693E7 5D1DFB6E0F40DE50381249134C0E60CFE8B21BB8C80A012D7F31FF585EA33546BAFCD57CDADC FEF529C433B96CD7B63591C98C371344F17C38B0A1C14397A11062B76E09A589EA81894089B4 257EA086AD84C2E23840D23EC1FC8DEF99B588F2755DB7C02F942B3336B8B85DAA38F9FC91ED B892CAC3597D71112BE48FD7ADEE58C83E252B7FC8D9A199832A4185A1B6CAC2B15853B9F559 CA680BDDF7A52FA9544264BA626AC2D71CCF6EA3DE3D093F4BD84ED4DB9C5DDE975705B5A435 9288A59CEB3EE5A5426AD60EAA443FAC4E5B43B1B6FCA4B53BC374EB01CAC782699B529F2529 744CC3B65836C9A46A5D77B4E3259A0B8A4F5BA6806F82D76A241AA945A4B0CB64B3CD0D962E F743AFC1E4197A9ED6410573BE335884B356DB2B35FE1AD1ED5492B6CE42FE914BFB0EB00C3C 917AA3170CAEFB9D7A6627B11492D5F17B525521CDF8AD1DCAFCFE8AC4FADDAAB5D4D26DCF05 305A58C58CADC2EF853234DC86FE536AB3A4F6631E20C97393C6F302BD6CF3DE7D2AD9CB0C0B B89EF064FD58511D3A1636F54A86D4AA0ED764A87FDF97BA0934A5426738E7C96165F1EC6BDD 8D474CF500520EE5951D10C2108D997C4BA8B3A8AC9C071EA7F9A8B8EFE338772CA0E249AF6F ABA5FD25AECB06398C47219635D2853045E4730A3027ABAE59D7971E769AEA2381C523C36EE2 4DA27C5D2C93E5C549F729108AF18A797F60D67C1F1E3DAF4B0C80BAD3B551395EAA49D31634 8135E38D907AF5545A5DDDF04C95198DF860C8E70B5015C15420878D559EDD05447A5B76F043 EFE8085573A08D1B165EAC76197F695BCDC33ECEF9926ECE50003A2010F68827E29E3DBAD61C 11EEC66927C08FEF6DEEFB2E9229C1757C735833101F198B41F838A45647D51DC42EF54A479F 82444C28BE20BD2B11D0FA1CD85DC63F952FBDD3D7BEC722ABE74AEDF9B4FF5FE035E134B5C0 694645B4C86E304FE1367FA202FD81AEDF92FF4193F3ACBF2D577B8EC20C144C275EE980E766 B665ED555A7CE372801F3237188787C4F6A0115738E7C1A3458F7A4AE83B8ED0C12DBF2D9AB5 F0EB05E7C450F48705EEFB5E6E07B6DFAFCA614CA415168A88352DE4040F65151341F6EA21F9 57CAFF563EA7B529D180188350F976602B7E436DFB6EFFB65E7CAAF07361794D5F9337220D85 D603B5AD53B67DF871488951B154842FB6EEAB1893B771161701BF8CB7C831C28E0DF1205A79 C554DFEF336051D9EF2210E81DD00C4F3425EC42A109E05D95996420BFCE0089EA21F8E50971 199954B4327CAD91AC7760431476E01B5308CCE2B4A6180328C2913F6D46FB83B76B7E029611 E12FEC86C9DAFE99D98F334556AA3456BA3FF199FACB632473943374694577B5AD3F3C03A939 3B02D851F27DA5D65AEB721A758D8C883A519905265D3C71599729E9DECFF3EF7FC960A3382D 7C9A24F4664AC1A9AA1897B7E3A446EC850780B103496F2066C4951219A700618A38F2803A75 3C802EB81F61BD060AC6CF93C48A606670E9653BE6B91AE9FAF960EE62D198AC875390F185E2 0B4874A4344FD295BACD1AEC8136302DC4BAA23A51891305705993DAFBC413C3893137FEF900 229AF26DEDB6CC025373125C2ABC53EA8E652E0E5E0C37D6EC3E552F266EA75E9626B5A2CC89 C7B5DDF3DD23DAF6A47AFE6218E0A1F4340A60BCEBF5A6516020A3B850C1484EA746A1AF04BB E012E41DD43F2C7687215D371BC2CC3110311A3D6416870961CC748B39B502A3663B64811022 BE5113A989266B5A9C8F9FB6B96D47AA4CC090721A83036D5046047DDC69E1AC5993F661B76E 511E9ABAEC20EAF002F7D3F00AABC6E566AEC4312BF1BE9965A3FD87B119E576E7603F68BFF4 EE8A25AA36DFF8411B1B713988053143048625FC498C1719C8BE7A5008468562AD8CAD9755F4 55CDB3547CC15C1CC77D21BBD629D76F3AF1C5BE49CDD56BB876A4F946F974F02C6915A38A5F D15810CAE466B209CE20628F3D549B536256B227BDA455CF1DD85F456F6AA0BB22F9D97770F5 D6EFDF6673CF7A550C2AF9F5F81FBA73454602EA4A347EB9DA27B84227ACD2BC17B7933C5A24 F7475CFFCFE296E2D5B2C32C494CCDCA30D936CAD6DBCFCD14545E130035EBAC0A4A4BBA672B E8EC07EF38EA766FAE215890544F61A37BC030FC8017C774A2646421E6A54914E3F381AE2855 605840877EB1F3A1AE1EBCF55F7F5D8B92C9833B0F8A82090B6D8E8C5635B09B539319DA21DC D05AE6B0D64AD5A9AE10085DE5376EBFD7134125FD82438AC650AE7A8D1C36997C355A24FC2D 2F9C6D3515A5A5B77501380CD5E20DA34D204FEAC08B0E0F9173ECE1388F2B622CC3E103C8B8 A6BF246BF6A78E1D3D76EE0F8E366C102AD8FA96B386882901B6359F2231EDD3CDCB06C79012 64162BCE85403DFB243F6CBE7DF783D31861DB53086FCD4C632692394E26AF9953E0A159A33F 58D81139FA447353A65A01878A2F96B59F9DCF6FC7D7889C4F87B7542A5CFD69079CF77DE08A 42119C52E02A5E20807B6186F76DCD35EBA937EF3B3F2663283EEB4BE58DFB3D1247F681B962 10CE5A6EB119D53413DDBF27445BAA6BA904B30E1F6C724DF757886F3E3ACCA226ADF6FB325A 2CC887788D0AB9787C975627D0A4EF8A1B0DDCA77D943AE39EC90D5DC3434321066327A3147D D197731B2D8DCBA91AD3E6C70FD91C37407725F81997C652499F04CC0AAB719F6BB5A45A5011 6588C546470BB9D5262744736A60992D41648EF7DF7E09797FBEE52AD810C2AFB51FAE3E5ED7 9CE0E881F114D55054FEBDF6776CEFF1F63ACE35A6BC61414612EEDDF82D984FA1AFBE75A701 33887B7220B040B2B7F01F7B22A0A6DA1C9CD5813982D459E2F12DA53833124B63BAE23DAFA1 2ACD4E74A6E5DC2FBFCAC29B1F1FD3BF22997B88E2E35903F91BA6C7D9FBAA2E320790CD2948 9E745ED51AE977C628535EEBB656CDB3549312C0178D348873A626842970D5DD8DF4E0FC6360 41F4F6F68C8D9C88A8811AC67F2A41E10A348B16BBDB5ADE5BD2119EAD7941AE274314216BE0 F43244CF316CF500A6FF44A5D35ADA5154E82E59AD152C9DA43ECB8B49BE0F99934586E533B6 D8388A6AD5701B5C2EE7781B264F8CF0F93CEDC7533D94D1FA1CCFFE1C46780F7CFDD4679CAD FB0857137E21664B8A6093E6979B4BDCE91CBE0AAC78916C59534500E78529B47339670D8490 1161D3CC7E1893B8DDFDCC2D6872B91954DE9888727CD296E02B535FCD0B99DF0731E20DAF38 B8F1680B78C40D68821128E5F4EA49729102214AE4605EE2AB360F0B6693A12250523B10F764 C0898354C4B71A46E041695E7A8D3F9C07879AEA45A7B108D2B4513456EBFAA3E694E4D3DF57 19AD316B4F7DB133A81D706AF84EA93CA6E7C7CA8FCC36791BB77A8981F44982A57A8956E3B0 064138E673A909FF498777055497A7231561DF6B568285B0682F8FE73A800BFA5892A37FB960 3FCA8A1B99AEEC8579FFBE37C585340EC3F22F596AB2EA9394CBC097156A2F761BB60A615DD2 D054FA67CCB88EC7787F771EAB9010B307C742FA02312C62B340D8CBE7E70D9CD39A910B83FB 29EB03C6C94EB20717DCA8E206D2947E93B290ECC6631D5413373085BCE1F4E3BEF5E8658B6F 6E4EEF101972CD7FF78D9057484FFD92D63032EF8697CF051F1979DBFE2FE56588AC6CF245E0 95A58D9B7ACC8DFBD9BAC9FA4B6D17DB9B80F509F9C1D0724B6CCA9FE1D07C8E697FA18A6314 8865EF1B428E6D41A063694B1EE18BCB6B3235FD943C1EBE21188B2EFC142CCD4EB2D7E2B482 F0DED5E11AF10859F802D1ED57631EE3C771F2F00EFF975047979BD3A44EC29CCD4D30FD7E1F 8982E1EA76C0C7108F772389B340C54052E7F48125C7F21522954137BFEE56C694A8C947B774 9D2839AA711E6179871FB518D84C8035B21FD53F9DAE762C0CD42E40EBA66510E4011A950707 46312968D778E43337888AE6A628C027888A1045ABC148659A5C3883259127E01E74557CA466 1718E6D194416DF4F91F35D9A40346EFC6220347D9F66DF6C1AEDB50A3FA9B60BFF69F8B5D83 83616BCEE82C1978B65600A80013710FE4AACE7E0E84D652A066B18FB43B3CB7E3F60182A97C 0DBC3DC89A136A0A55E5FF84BBB2BC8AEFE21CB1468365F2EF344B2F9D8F318328F1FAE096AA BE33C7430364277C846230C4570CD8E65D6B45C0652738BAE04F99F50976B5A093C50FC5E9F0 E68AE4C2450DF3B83299DB19B2A62F6E284CE4F37E9EE550B449B01D68E64F3131D5ACEEF889 BB563BD9A111D7FC0D39A6E55E5908E1530AFABDB5E0F7E6D92AB986B455D274F68A48C88F70 C4B258A8B4D8BC4AC0D4881B461B617B451522A0120B54DAE349DE45540B1C17FFC13AA38365 7E33D4AD97D5A599C081B3570BA3F7B2D8936BC5A8CB22068136A06CA504FB0840E65AFBBB22 C8E1F6311DA0D7ABBA488284D93848A2AED28C9B69BCFEBC7B25D8308A4BA03A830A9E26C162 C1E0ACF3827E4DF3EF06A01DFEE2C9252983A96CFA1BC60F91357403E80781CCC33D1F6E4776 993A169B0F976CA4162AD68F25CABF3A7D740FB71B976758A20F6D5205F28A1C5829B097B65D DF8FD48FF66543C73A566468641F174CBC55F7DEEB452A845345E11DDA879F04D904B80306B7 EAF43B809D1C8AAE7F17847B28A7E3F6F352D31802FD7096E42DFA2B74CA86F98F6DA7250422 89C7B107B0A4FD8EA25E8C79C919526F2BDEB8AC5E575781874E75F9CADB34C5A359CE07762E 7146BEA274BDDCB748A9F9998FB6904A216A0EA0C9A19C8FDB37BB13A08E49704E8F481E7C7F EF50B55152C92FC6681527E1C0626BADDFE42F406ECF7877A05282C5190E62FBF7C7481569AB 7E9949F502759FDAF62DCFD47876E92322C47C01C29A99C993E08522EB472264805D6E627E52 D240E1272E513DDDF2A03C9611D7D4BEAC3A7701BFD6871B57EAE6A60DF28C60ACF1DB3362CA 371ECE8D9072ED4EE1A320380F800B0715C4E0513A6A894325F406628086B323957ADEF46A62 4EA2670FB3E6042FE99A5CC034439803C9DFEB71848D2E4DC5A557F96C823D803CA1A342F4E5 E44BED9CFA98EB5ABCCA91AA58CD0103FFD1CA007A95508F5118B9CACD09ED12DCB5F5AB1785 5AB76ECEE4D31811B719E7A0742FBF716D1852DDA87FC41048FCB5963B0855448EB6D19D590A 333D6BD2AA661E1C775952445E6A47826147CDA90448CB0D04B7D50A74692FB91A6CCF7D57F8 525D72304AC32C11B34F6BBE5B4EA9B6AD9243CFFF7BEF881B0E8D95CC8E953DF39F03D608AC 080423F05F9FA76022DC1921BE039AF977EAFEAF25B8915D326F10F8C3DA2BE6D64CE31D1D6E F014770E45878958B1EEAF212F84048C47F387879C3AF94E74767B578B5E25615939A0A6AA36 7068F7299A7CE42DFAF0CE3C4356F3F011D20D8CD0924EA526E574703634B51C97355566BBD2 B3DFFE3DF6BD94586105773A6E34489EDB0722290FBBA325AD2AFB54947C5ADC022AA46F151F 974FF1F9B3F2CC7B77DF542BF2D107EBB35F6812A39FECFADB446DB26828968E250A5DE74710 E049FC4D4908C56C444B59CD52379586A678F5B696C4E5E91A1CD3DF688175B92F8BD7F78C12 D49369DDC6AE9E6107CC57904891AC82746FDB89F3FDD4146572B9780CD171FAD84FC845948D 2A06BC801D1F3C87B6A455ACA4C46B211A288E938A19769ED8B1804B95398F1C7876C0C60725 D49B199CD7D06FDC04B4195F2937ADEC1E1BBD7126E3A4C5DEF32E8DB5107367102C466A396C 66CAF50BDB459962247F12B6672362B0853D256F5E18C9E34024EAAE6C8202C9769B507BBA6A E6F8EB37FB2863661A5DE654ADFB48DB55C0A2610187AA80E503E0BAA2341E6245109EA0432A 55507D352EA67FF894677B5EFF7FF4941E23E2EBAABC197AB6F4855D5E0D513E103C44E8CE95 089B9E95F1337D46C143080BCA21D737BB687670430D698690E8691DEA23FF35A82BCB5F8A2B E3FF22572943FB557E0A87D4E1961374B071D2A67FE3A905F4EC830CB2DF359CAD65E9956407 97E9436655DCE80F2632BC59EB418BE1170C7B1CF7039B4D695FEA7F90F928616F57BAF6FD32 CEAADC02B5F848D0171C668653AFEF9098B495B5164AFB385A90A39186CF778EE56D043359E9 49969984426F9A343FCF73C9FA1A94C69BCD9578A30947CD770B044666CB7ACD647830B2FF9F 8F1BC3714568AAAC70CE83014485ADC564F2AB995D241C518914130C30F6A643D62DC2DE59AA 61D5F1300E9207BD86BF4D357966EAF3580161B96B72DB109C59D32AF78074C2F7FE09DFD66D 58290C63CF34B44AFC0E042D9E2201F8CA28A215BFE030D00FC36A41BBE2403F2C9831BBD6FB 8ADEB3D268F54FB994DEB854D3B45F71DDE5FE6A7C8A92BDA2EDBCB31297987863B432FF7539 7DB769687B702FE99714EF09BC01A32A65AAD4E1696F74E161DB82521100B415B7FB93771C4F A1BF24E49ED6F06C25503681D2B3D8A9EA72095BF888968929806862E098BE61DF699DE14649 9062654441848E00565732A82A10DB79F5E41419E5E223376FAEAAD118D6D018F510B17AD1FD A9E6CB44C0641B87154B3197B34E4FEDD858964411073310EE0CA5D6C5B7E0CFBA74024F9A8C 4768AFE1F00CCDBCC501A03F93D0784AE97CB04924A8FA9DA4D0D4B7FD9085FB5A047BBA773E 70F0CD92E7FC417A4F6B5D4680F8DD71505723AC38F2AD5953C5803BEC39267247CC396CECE6 A7219A66D2D039F5F05095856210AA0B1DFB75176AFD5C7F54BC5D296E42FA1AA2C7B6C761BF 8B05EA31C8F3B05B6FD6B3B09E0ADCFD99FDC7E08C269BC56896AFEB7BFCBDDE850F3CF57E85 707221B8BADF39424E5B3828D59548489CB83B02B7AE4812C79C872F96F1984E332CA0D0C895 40BA6CC21EF65EB106512E84C59E00299CD6CCA33E201CB90D5EF448BAC0B2A4181CCCC6E88C 30C42067E9FEEB4F371DEF177B1968D8579ED4DA87D93317196E4346EF9503BE5E862C8D977D 7D3D2FC65B88F92C7D33262B278B8BDA62B6164DDF7EB744E6FE898C730F739137A3DBEB087D 926ABF32F54E86323F7D8499187B7E5605654D0E8958616376B9BFDC261B072B0ED70000C09A 42A1C48F0F736296E65277A7753B6910C2C799C00C463BB49EE604DEE36A6D1EC6F774DD90D3 CB931E37BA44DDCE281AD4E9AEEAFFA3379F6C3ECF35C41A3B03EDE72DC842B9CADCF40B153A FCCE69C3755156D2EB49CD9FFBDF4C04C098C67B5AC94DD0BC7B06FFBB3BF4372F1980597AC1 414605D4339BA01675F97649536435D39D846DA889D1961F08DC11953B89EB2E102F75D97C53 30A1A28A6EB76BF1ECF105CF96408CC3BBD7FE6A825C5682574924B9DA20A39813E767C7B673 55AA5D74BC3B133D33AD545D3FFAC4FECCA21B6D8D0AD25576FC0B8D58B001CB4D375E6684C6 C71230A8F225C95CA3D84FC29617E053DC98E6C8432483FB5368B3D82C3C2F7541FE4FAA6090 D635DD319B5384E885083262EE5F3D4ADD070EB29AA4431A65A4225A89C137BD55112F3E6A5D 88F372D1BC81B4C804B930C9A055763DDEB3BF849CB0B54E997F809CA1E70A46030DB8BB5AEA 0CB75727D21BD9D217FFCF9A71E4B4908D718127046F5354422314B661DD02A86AD98F92DD45 E87525B08146CDA424AA9B5714B0B7F9E5B2F611D906FF1D7B46E3B0DEDE95FA79A8EA8DC61D B8B94F0F04092526837FD3C66F8E47E03EF8F0B9AFDEE4405AA47E7C418571B39605306336C8 9C11747C735730AB4FAF88F97727B79C7532EAE451614A7818D872B4F454108B7B2A8BA5EE80 8F12E2AAB9F0303ABE1C02DA3EDCEB119D1F2388F3788F37DE6EB09262FCCD02C1698C7E8341 08F9E75939C0DF801F9C5AC5FB9F0AC3E8B58B396FBB64D3E7F8674531A266C40A74703EFEC2 FC1452186F377082FA402AA211BC5FA6692FE47DF6B0797A8BBB8DA6851E7AEDF2C4245AEF8F 2EB01628B41D1457C47D727CB519EF10D3D0B272D69C1BA10F32F1339A347A24B9A8D9D15877 89FA48F51555D123A5D1A2F322EEA9A482B148AEE5152375795B03B4A325BA9E6EC9CFFE8F5B 50525BDD4EC8D494DE3FF88991338CC250C8D4F74A4E27AF35734E59E466302AAB6202762EC7 DE39E248D5973ECB536641549FBABE9E084DFE51E4D942988715516D4B5466F007F4F527CF85 24EB49178AE70DB47EAC144E448296EA5B0C29898298215CCE5C01D602EEA3E70200DF85D16D 7009C5883CA7DFD934BCAAA8E0A3167ED37231CA9C8DA21930857B3767B14FAFFCFAB0A8C98D 970B2D26394A1C40245EF2CE626C9BE93520C8CB7E5C6C1AB512A7D33470BE0BA29AB7AE9A0C C2CAB9183D39BBEA04D859DF8E8A51A90155C2166D5D609DA965A4115CF10102A7E84C8A268C F4EF09767ABBBEC6B7D7C5E7B4512EFD7444003690EE6C12AA29CA48414B2FCA1AB42E881083 E194F4D3548878B4521CB6BB3257D8FA92F23FFA3FEBF51DEF46C97C8ACC00A06247EFA55D2A 21204BB7E5F4091F402537400849115C3EDDC30F643CED3C36A3329F61AC0F091BBFC451D028 0C5E422C2C9EB940347693A8AFB7737F0E201F147BDE9047AFD591E9D7B45886A65710C6F503 9C6FEB5BCE5EA513FC7BD8B5A7183D909F079DC148AB94ABDBF5D9CF046C9FA28C385393C021 ED7A04E3A395C4398C6EC01E2AA36FADDAD1AE0C5E6D99C875FC58117CCCDFF0D97655EFDC7E 607E4B43475D1E9C5D170A3F31560C325A8DA069675177866433285EAB108092992D9007CB8B 8F452A927CF6F9BCD7460DD80ECB0A39E1ADBB8A6B86508F3C7C94DB20E6A288A0F4506C3633 34DF1855F3F3F53DF19995F4395B23715E11250007F5B126FB4D9F59A1EA14C72A9AD8F332C6 11759F01927D70AADF2CDD89C54C07CB488866E9067D9225C52EBB344166B4031C70073217AD 5F42D7007AE374BF36BCD779A8F54492F071F8A33F1AB0FDF6726C6E0B558A46E3620BBB20A8 CFEB0C094A6FD5E2C23D0742B0A55B6CD5C948CC57C8F231B967681D6BB632ADD5B49C6E0E50 1A162F43CE6FBD46F77A2ABEF96A46E1F2DA553DCD89C35B0C081B5090A19B669719C20DDA91 F037EC424AC3F78F3A219F27F9F62E9179244459D7D6D37C0DF81A353676E6A8E0F30834EC3A BFDECDBF1FFC40EE987A20A12DCF02F0CFFCEC89C3EA68960BC3E3A3DF89C7C2340C335EE977 95466ACE0534568E73651E0D31F2742C566A082A67FA64A71CB85650A9F292D64AA531E76EF3 0BDF8D1E493DAE890A9A9E30BA6904DF75535FF1E43AF80E181732F4271DC757F500025C635E FA5A1C049768DAD9528C6778CB25801DF0CED0CA4A0C2934528E1F7D61ACE4DAE71B1EB3D3E4 91E130BAF90086D0732CD023A48B200C973AC74FBADA1988C33108CCBF12380F57E78BD91E24 2A69C984B80F1BA3A5EA516C3EADE1F8F8D397B19C2F6638C213995B3118795CB0A0477B118D E98EC87028AF068474F22BFC13503B87382EB74FD69D154CA68A28B7EF26BB63B63DB65AFC1E DEA79D69C65A081B874C5BE8CF8A66E00567F9ED7A308B55139400AF7FF5C69E4F522267FA83 094A84E002C141255B4030D8CB63A03B3C1971E63BB928A69F56B8877A6FB7B1FB2E97C30266 52BEBBBF31838D7B7A17EBE42EAC2A10FADAB8B7C1AA043AC1697D7C972D5C94AD91306F18BA 6A9C07F87255E3E62978F85E807517AC69917529E24131DE1564C9434572C51BDC9BDD6C2901 3555C293625B3AF6B6610DB2BCFDA2988FEA13BF09CF99938AEA20626C9C7798F22599E8F289 1C032C995F79FBCCE0A117D101F8AA245BEB32AFB466653F2B263B9AFBC55EFB32B7E7E6D5D4 790839C485FCED22FB6BBB20F0EEF518346CA178DEAE625B457A28A7B397CAC995F13AAC307D 5A4D1CCCAB5906F77B96B7E89E4F455B82970792A086E8CC4BEA5D1C9282221FA83AFC141F30 13C4801E127142AC279BDF890F0EB3BB05BA2B6808909A8EFE4103ED82F6B9D542B3C0548816 FDCACA179D119C6731AFDC6C89574481CF7998CE64DAA789FBC54564369E69A3750B3565DCBB E527702F0083245D08700A9EDE9E822ED230428777C1BBBBA5054B7B9AB98DCE1CC0A0D0EEAF 1835C614A318FAE7131C2397B95B0CE8238336592D1FE5C1D33DC7AB2465FACA23DF71684709 29031DDC754BE5FE193CED9F517FE2E8AA021E38F5B059A10D7C1D0DB4633D6F4930AA0ADD39 4FC2ED6CAF7202558006775FC1C6F526E7E95B8F92FA18B308727475C7ED7F24B4C3298B6EF1 0B904DED5F4093C98F9FD93B052F961E177DD250066EDCBDF7FABED6F89A2D449643D6E594F5 2C03A91FBBA94FEA20382312BD964F8A0214AA1C9F3A30314A056D3656EE610254C397D733AD 558B2C2A41FFA3A8590F423C4D31794185929442EB9981FED631B58B18DB060F1E70084209C8 5ADFD95C6924F41E0A2A5285B7F5F3C379AA26281E34FA92967F0A17DC2A0DCCC28668CADBB0 DAB73BDCD30CEA58BB5FC80CC1975A2DE6FF644BA2E1DF3F34FCCF68DEF9C35550E075542AB7 758F42C47DD2549059A9DF6F841AAF29638486F6261E6B252C70D54A81E1082C71CAC4B6EA65 53553AC6470BC9FAF63D65A694B746E869A6C008207B648CBA18CD58758E565F1894B7279BB9 95D8514AC0A751FAC71D29EDE8A38420A3E4286F195D7D8A47DC664E717C727DB6814FADDF42 1C9B2DCC83DBFF23A097F4528A21D173EA90ECE88B7183A6B482B5FDEA188B66045F7C6BF6DF 9C6CB829B717EBB3C2F6C36E86433F6CE3F3A9CB3361E94EE6AAE49E3E8D4B99E402C3E2F05D 93F47B800B8C3759889277DBAA55A3FDC6B91A004AE4A2D2AD4156046ACA1204E9493EF65E73 828A9E9D4DA6EEE4894BC42659265945168DA3B589A883667F5BD8521450E5EDE9E9B248B829 496A550A86BCDF71EA1AFF310313E8EE25DBEC111459229A9120B0395BD4E134B951BF5F41DE 07A6E667D41B63B216AF10EBD0DC29B7A0217A91FCEE40890CA44390C555F85C374BEDAF979C 4BA07BBAEC6F38A282F9000D0F9CA7EDB177A6119B60319531C987468A46310F19A23A20B0E8 4CAB6A2271F302729E5D959580C661A49AB1B9A7A013B8F04EFDA585ACC1A09E544A8CA53366 9E1DAE5406A003D297C0585E3652BB40A369320199084AEFE6819ABD5A57FDBCC90FE26125DA 524BFB51F2999880B84E84732594F4B719D5582373347BDB16549F9C874569B3380095E950AB F11F8EBC60715B51E250BFCB9FD1F0700EE1895E061CDD93C5FF7B64511571CDB107A53D24C3 CF32FB9D5373B57623D86F428C6D8CFCAAC2ACE2FC0D3A1A2D18BE70AB9A4A835ED4EC411746 AE3C1E664F18E78C41F972D0A342D2EC726AA041031E60ECF5D1ACC7590803D4E6473C940FE4 C41840BE3724C5BEDCAA2961314C4323AE0359147CACE0CE26E134296A7A8631C9A6FC99343B 9E68ADF3EF56F150AD67321CE6F9E6B8C23EAD689E3335A36AB328BDFBA1F998E267F4E507AC 1537EC59C59E15D2DD46F907E3102A806B5BF8ECFFF06940E740256750809A2174B183D68C54 2252661894D3A1E2AD40F0A17AC1517EB860FE9BACA6EF03BA2A15C995E95CBD7DBD6A24EBBF 4AD47D95D393C5C3C518AA36E7C6CCA983624D89EA75BB93F5CFDB6108C647A39B8E03C03EFE FBE06FD8AE63211F8BFB759EABD4E52C9B49F567D2CF972CB88A2BD01D20940896880CF766A6 8C0AE04A4C9359D9C91D9852E8E8C7EDCE8F80869033BBF07AA698068E9CB9AADB8B83A3B264 EA552D0F779F92B92E5E0EC6E9D2455E2E7576892655E47014B789B1B32AEE38D902D5F8E3EC 6664E3243294CFB595127F04F4E959C1FE66512CDF7FE8561BF3F8F7282C5FAEC92DBF569844 3800D65570B9E250F864E84084C1039FEB4B3DFBC993F74C934A13857CFC22C1ECE1C98D71D4 2D048B940C2A9DE047054E9CEF76EAEFEF93BFAF66159A89CF3ABE379B4ECB847A019A61D8F0 4A17C97678C8BD9B1ADC02E4FA12C71495C3119EC1DEBC71BCA8550105D5B81BE9D187416424 DBAA6A9FB39B3131ACCFE5E36F4D1AF393043017B61CBBFDF0A2C9B3D804EF6CCCD1AAEB65A4 56415F837CB2E923CBE75CDB095E155D116491FADCF301C4F83C7DBC0928E6A87721EAE6FD00 788F1C9B4308ED92FDF42CA35DD2585C6E05551E4239E47C0CC5205297828617C926C2BD60AA 55FEA7A3EC0BEC2D8BA27288D2D292A76760D7B89B61E7C7B128343C184822796182DF371417 4B545F40BA1E745B9F225CCC18CF68C6CAE470127B4C113BE09634567432B43ECB58683BC7A3 22335E7635CB204CE03435ED10B06321830B325EEE71C52744452667FC6DD25492C09CD984FE 1BEDB2D61260C17D8B246609C3F56DD17FF46AF54A0B45A126E0733A61E145FD93CAB6DAACB9 D0BC11A1FB5FB11E4BC41094FC88110D908D576C150A06509D7BB728F067526C19E7B6698825 3D594E2F5075DE5349F78DD0BD83A181E0CF2560D65C4D86424095539D8C9C7470A27569A787 925BEA192A747F70A8E95AA5F7F5A535BB977F884D024742C36B94F5908D85D3F085F0B0C42D F3C81333978B00049D339696626E99CA3E33A1911645AA1B69789A74E31C0C6F622437C022A6 E4829EA04333F188AD7C8A64172B4E9D62CDCF992403A3D4F0B109DC13C81D7F8D986502EFC3 9A1285D435E2D4639B616AB0B54690BDDB757F55A178704B682332DCE08145C92986A7B259FB 3F7FACE5BAEB994109EE3C9457EB3CCC9D5662846561D8B179E61697897A0C1999C6F3831FCD 713D3EE483EBE43AAB62E3DBF6511AB9140650B7A055803331AAEBB64E7A36778A2611D1D298 607490250959CF378D6E0C4062D06238382ABF2F7CBDCF32E2B428B47755FBA6646D132D460C CACF23769950E57F48C5B60289017383A10629A2799B923B9BD5932C360D0F7FF693C778B8E7 5F5402B3E381422A18602F5FD9585E60EBE651A66192C3C7111E647895B87A8A3690C72AE38D 37FD4BE4FA37FAB2C20445DB4D72E6C3A844DD77E405E114248645C0CF3023188219CD9F5E27 CBE819271923320EEDF091648CEC603223503A4693A1E6C535C3F1ED36DA5EE8B0D71D82EFB2 4252AF44B5E8CDE4899F4B45FD6F5999B910A0258E925C65E0942F79BAD37ABEDDF5FA35D114 D5462986AE42645B3F7FD29A3F3BCA9F73CBAF47170B2CFD338108114DE64A6C340A39F7965F 5B57F24FAFC8971E4023AD30F3298E10D6192DC0230E35675EC252B5A82ED06CF5A0F60E51DA DEB41EF9B5240E41A522013995746DC792F3AECC6BF5A3C92802C04FC533D2027AF6E700E239 F146B8FA2DEC333D91BE148476317B802D3CED11305723468740AC3EFD6491DD36067071C20A 13C52F796B59BB5074350CE7D7144B992E33AC1E2012CF9722524170ECFD6607757DABC21987 7828DB91482F9265EA972D36C6606982CE2868F41E8AA06B3820C0433D13972C2DBA415EE0C2 63A67CE2DB1FEF87A612997C3ED8043AFB6798F48EAF1DFC5338A91A922D8117992FE6D0A0CB 7FEEAEF3016195FDC839F4D4B629568FA5F7DD0EFBE6C8C3C53B7AF34F9FD7EBD1C46499E3CA 80BD77A4DFC5D9BFAA8AF2A57656D22197D878C78ED246457B83116C6CBA2525C9F8254FF8B2 3AC04EB686E35FDAECE1C0E04006BA78228772959AC10519B81F17AB9C0D153BA950F6798509 3A2CE6AA1E975E0D82171C248F0D4B3A9842512D6BD2D274C8E620C07BA4500C820F634E79E2 78EC51B73261565F9947FB2CAE9837707423AC286310A1A5C38976E8D3E251D7FD1B7C5722C4 76AB16164B07159857C43A22106FA954720771DC47DDE67A51759C962382DA4A14AE9B6063CA ED65145FE300EE46098EF1F9D6035295CC72B4D9FB59BEA352B481F167BF06DDCE298156C1B2 1274B1F3A8FEF316E2DA334BF8E0B3041FE6358D70F90163D3954C1C8938B2BE26952577FE4E 89505E8665A066BA86E3FEC70BEF996993365DB855B98415648AC018A427FEAEBCA569038C40 AAE750AF043AAB5BADB96E1A9DE613AAE885EA5C13B62F65A2FD102E75E5D28CFE415ED2FEA0 040F9582944BDE76AAE25E1E25B03152814C6D0E764C1F738895C33886D7EA71346E46AF8B59 A581E98C9E9247EF53CF7AED0FF8C9CCE89F9C3D4E20B5D75F3FBF7F1E3471C34AE7C9735D8E 6B8962D3D01ECEFDC69E875D777D5FD1149405BD7096DF1BED1979C2E94282342C9B19ED2280 CF6550A2449F9B7EB4813F1352976BDC077E695E7CDFC0A9A21F81E8D3A1CBA2C6F9FC17318C 8CDD8C35248F17F3F3BC4B012316B4F80FADB34D1F086854755776E4D10B12C4A3AC776C02DB DCA2C981D6ADC49F96375CF3A74F6670E4E19815FBC4C804B58DECB4993AAB53E1EB33EB8762 B135DF6A964F5DEFD93B167F538C13680E390962ABD8A6FAA5708B4B50965AE1FD705E77FBA6 4C6A0A4B9E69D8207CD4AE261C5461651E22300820BA15782146D417913028444D68DFC5CB21 5EB892BF6DE8AD8EC7C238DF2E3EDCF4224C237039DF6EE3EB190C0A9317C5ADC96EDA9979F4 FFC6724905A9BF5E9C0E43D27979D5C6FBE01BFB97C21115E2B2E22ED37A926F2B380FC9C983 ADBBDFAE9362DA1D6478C1B5FD05AB3377B6FE711268F8ACE29F62BC52E7DC88C10F6A1BF80A 70A333CE184CA7CD9A8F5B953F2538832DDF62817320678CF237CD5341E2EE2BD101DAFD222A 1992307CE5C8913EDE914E4C794169645A2AA3249F4F4FFEB766D758258628898FB714E608C1 F7293544C296A8C4408ABBED83FB0D2A7955E366C3F92C7B3B502F898259BCF0C185053F6EF3 0600336515D46405F132FEDDCF21BA40C3213C42CD065C233F28FDA350B484537DEA69F1A006 1AFD7FC8BED3E07EF6CB898B67EDDA3DA6C6B1B823AD529BFB4C1AE9BA3CA92F49EBA06E4576 62F56B5252C09DBE81C5D69116B5EE55A4651353B4E2B418AABBAAE992EDD9DF8AEA8250B66B 47258D11DC5F5298527A959A14F3CAC09D94ACC7FF83C274B907C51E1D3A368C608C529F90F0 0DE51624FAF22A30F195AE7E5E7B3A130E846DCE5A74114BC1CA702E557E75E3F9EC58C3C5C9 64F3D76F3DA4901B707BDF5AE4F2E45F1F01388DB7D2FF0777256C9CB92B033991E40C674F1D AE64193EC77FA37CE066FE97CFAA75962920E348B229AF4FA7ADA9FAFB9D15437F3F501DB24C 67135CE3E8607FCFD031DB2CA999FBF0843A641C5C56B51C390D47F46CF92C956B8E22310848 CEE5BBF51A56AB91F2EB42A7C24D9E48973EFBD258F0B3A11802FAF027544D31786426DCCACA 76E84D65F679F4FA8056D269A86C0A2577B932B817B1A6C463DB1C41F348374BBF8F8ECBB1CA 37CF3F4C4B0F0D4350A36CA0988404C31EA33182FAA2B77A46B2DEBD06398E5120AA5A938331 D87241D7E2C899C71399FF6536BF258FA6E4EAED03782EF6FBBBC3C091D51DB435DDBA739C0C F6185A5A5923DCE0DD1C2347B621780D9179297A29C4B06F00BEC94D9A84A34302E21EAC407B 26D12BF09A62A5CB52590C123AA37A53BDE6E5DEB7DDC7901EED915ED4CD124C96F7F1F1D48B D00B5A6EBBDBB206B678E985F5312FBF64EFB28B6FFE069915F6630735D0AD3E30DF11126FB2 728BEF4FA50FF460092948A1ACFAC75A93EBEF948456121AF74FCC3089FB979812474369E6DB 12E7A590B0CA691BDCD5E1B9CA05433BCA6175AF7EAF0027E789D4106AFDFFE5316340A9547A 3082EE7DD2271693641B604CDC3341006A955421CA859A968322C0E4AD63FA4A893AD2E68921 482D93FAEC545EF9E83459B9D6F5192CEF7DB7D1F2F454C0CE92A7C6D791450DD247AF03CAB8 233252D616FC576D609FDA72C9D39B7F6E39B0C34629E37BEEC9DE590EC1D7AA843CF331EBBA 48A2BD1088A826058B4E9EB9E0CB932F8F9EBF9F7BC44A2C5C684ED02035BABD298692B54784 CF8EB5158AAAC54E8386A4FA0FCC35F8F0DDA1E401EF5D116BCBB485ABF2E09CE5001E2AAC12 72F80243A09FDBBB90640CCB9EC7B138D65ECB481C3EFB93AAD9BABB2461C7FE08287F6CFE74 A425CA0E9DA832D764AB3E6D1EDCD12F97A4D2BB8AA0807AE759E9C96105B07BE0237F36A218 7F95D0980F0030BE56833E5CD74F81F0C5C67C57E171118F0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: bbad153f.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 % /TeXbbad153fEncoding [ /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast /arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup /arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional /prime /infinity /element /owner /triangle /triangleinv /negationslash /mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur /latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection /unionmulti /logicaland /logicalor /turnstileleft /turnstileright /floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright /angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv /backslash /wreathproduct /radical /coproduct /nabla /integral /unionsq /intersectionsq /subsetsqequal /supersetsqequal /section /dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /.notdef /.notdef /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def %%EndProcSet %%BeginProcSet: cmr12.pfb %!PS-AdobeFont-1.1: CMR12 1.0 %%CreationDate: 1991 Aug 20 16:38:05 % 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 (CMR12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR12 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 161 /Gamma put dup 162 /Delta put dup 163 /Theta put dup 164 /Lambda put dup 165 /Xi put dup 166 /Pi put dup 167 /Sigma put dup 168 /Upsilon put dup 169 /Phi put dup 170 /Psi put dup 173 /Omega put dup 174 /ff put dup 175 /fi put dup 176 /fl put dup 177 /ffi put dup 178 /ffl put dup 179 /dotlessi put dup 180 /dotlessj put dup 181 /grave put dup 182 /acute put dup 183 /caron put dup 184 /breve put dup 185 /macron put dup 186 /ring put dup 187 /cedilla put dup 188 /germandbls put dup 189 /ae put dup 190 /oe put dup 191 /oslash put dup 192 /AE put dup 193 /OE put dup 194 /Oslash put dup 195 /suppress put dup 196 /dieresis put dup 0 /Gamma put dup 1 /Delta put dup 2 /Theta put dup 3 /Lambda put dup 4 /Xi put dup 5 /Pi put dup 6 /Sigma put dup 7 /Upsilon put dup 8 /Phi put dup 9 /Psi put dup 10 /Omega put dup 11 /ff put dup 12 /fi put dup 13 /fl put dup 14 /ffi put dup 15 /ffl put dup 16 /dotlessi put dup 17 /dotlessj put dup 18 /grave put dup 19 /acute put dup 20 /caron put dup 21 /breve put dup 22 /macron put dup 23 /ring put dup 24 /cedilla put dup 25 /germandbls put dup 26 /ae put dup 27 /oe put dup 28 /oslash put dup 29 /AE put dup 30 /OE put dup 31 /Oslash put dup 32 /suppress put dup 33 /exclam put dup 34 /quotedblright put dup 35 /numbersign put dup 36 /dollar put dup 37 /percent put dup 38 /ampersand put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk 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 60 /exclamdown put dup 61 /equal put dup 62 /questiondown put dup 63 /question 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 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /bracketleft put dup 92 /quotedblleft put dup 93 /bracketright put dup 94 /circumflex put dup 95 /dotaccent put dup 96 /quoteleft 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 dup 124 /emdash put dup 125 /hungarumlaut put dup 126 /tilde put dup 127 /dieresis put dup 128 /suppress put dup 160 /space put readonly def /FontBBox{-34 -251 988 750}readonly def /UniqueID 5000794 def currentdict end currentfile eexec 9B9C1569015F2C1D2BF560F4C0D52257BACDD6500ABDA5ED9835F6A016CFC8F00B6C052ED76A 87856B50F4D80DFAEB508C97F8281F3F88B17E4D3B90C0F65EC379791AACDC162A66CBBC5BE2 F53AAD8DE72DD113B55A022FBFEE658CB95F5BB32BA0357B5E050FDDF264A07470BEF1C52119 B6FBD5C77EBED964AC5A2BBEC9D8B3E48AE5BB003A63D545774B922B9D5FF6B0066ECE43645A 131879B032137D6D823385FE55F3402D557FD3B4486858B2A4B5A0CC2E1BF4E2A4A0E748483C 3BCF5DE47CC5260A3A967CAC70A7A35B88B54315191D0423B4065C7A432987938C6BEDAD3B72 AD63C2918B6E5A2017457E0D4EBC204A520640FD7C4D05E35EA5486FA43D0E970787203855DA CCB1ED0B16325828B13B7C767A1A58C87902F0546EA5404440FA6526975783C2D7A9572B8E5D 5176BAC598B8960609F49016AEBF376389C1ADFE6A1FFC0C53B3ACD9D168EC3A278FD4F1D9B0 85DC2DF701346C9D08873D230A161692B42A45BB5DA343B4EDD839DD60685A59AAA49FC65CD8 E2AD2A9C5CAB953495172A1A9F40D5F38E922443A519DD96F667201A408BD1D89E35F4AB98E2 F68C3366EFC14B5AFE1018D9C845D808D4F8E07EA8168518A171AB4D6E2170EEAC099EB7EF46 EB9781384DA1FAC3B3133BB718BC80082EAEA88759745188F266B31D0C7E791D633F16ED94E0 5517A32163E74CBD96DC5DB066F2A5313D6D7F09465608CB404613E0F058073AF000E5BDFAFB BF9DA0C0D5C02A3447F2CDC1F56481901E34265C26D331AC3F85BDCBC7C51EF9EDDF2B9C189C 5253F8E74282D6F053D7D183AE17EA175E5EBC401E67D21A9FEA139CBBF3BB1358C713A75843 B39A69AA2B1A7B975F53FF22D1DC3BDF7ACD17AFA1DA21568310C68241B31D3D03BF404BD30B AF9CC19C75B958BCE7155F03CB0CFE2CAE0327AAD4B603284A517C26DE75B8C6F6AAA9DEBE4A EC08CA4B646D787800ACDB445BB55D10CBC2237BFFAB58A0399B8E1A4709EEE6012432005487 A6979CABFD75CAEAA480F411A9908B6D3A2E7E6937783279AC9A51AC69390985D83828FEEEC2 EA288A657E0F79E68AC3451A6BB1C8989C512DA066D6DC771548F2DA3B78D01C03E2F8F20DBE 256AECFE723AFAF1BD728B86F31FEFB6A4CBBCA356F80B837C9A5ACB8F511A576A6B8CA0A701 EBA732630025A8438D137831678929805A6E8CAAE351DDBC9A5BE60EC8290B795DF0DDBCEAF0 159AB4E7756D967BFC714DB64BF3D52D3FD48D2BF9FE81EDDC7B93896BCD6B686802994981A7 6EE27C67006F29DEB8D7BE2ECA2EA2FFAB01660B896534AD4AB010B086D6C2C87F741B274DA2 D01E20DF49027559D11E3026C145A3D69EAADF066CF49CA7E5A73432380224B0670A05A71DBF AB4D0C3C51847C9B5D7E371A204127F9F94A0D2E1CFB37474CD0FDF530F132E1C82DF21186B1 632CFDB0DCC4754EC4C966B4CB3F492854E2DBEB82518588B9A6C86809BF2DEFAF112930B140 1B679EEB87BE9E36E04293945E896423D36B319C394E3AFCE4223A4814F7EB7C02E411A86775 C0329B528547C02EC82BD985117224CC00DDA6D4C4E9723635445FA7C021EE2A2A050470EC99 3824848792108408CD43DC3206A60FFA7B993F407201370921FBB9498742674C35AA17F59DF2 0C14DF1AE1CCA17C5419D14DE5AB65947DE8C9263F2DBD8BD4074A2F337B4FB3B99E936310EF 5270CCB2EA4D24CE1A3F93324E313D0A8D6A392DA025522E47C663C3BDE2ED5629C458E3E2E2 58B6707C965016B9793159F12A907E815E147856C1A140B954195F40B16758E9D90DECB9D35E 4183B7A34B37DBBEB770C23FFD1E6E750BA1C83451996EB5881020C159333E3542B58D828728 A95F2E7C35BDB71A52CAEDFD47DCC539E2046CB2C9B2C950114AF3FDDDBA0F8B170D8A648F64 3E682374578BC150826DBECD6C850FE3DCC8647ABADEE67BF397C49DD06B9E1DB52827D0D06D 090AA562636716F15C11B82F934FFA797AD0E05CD7DE79F7291949E13A4971D4FAD983A9D41F E65DDB8E6225C1F2FFE20A663FC32CC985211E2F4B1488AF610C5F71985A56F38420AA4043A3 D13100DDC534A041CA6C1E62499EBCC50E0F735A48043E7BDB301BD3914DC38159E175F6A5F1 4925BD366FCA96059EF3058FB24EEF2AAE14A101167FA86483204A10D2731EDF3D93050B3B39 A3CD160CCEEEC7A73C8D8E7FC1DCC01ABF924A286A569F7DED84E0B6A4D9B2CB47E8F7B1256D 6F81BABB7D31F753E545A2EE705AD7A8420DDC27A81069F2760F17DE2C847FEB8610FC452207 7E0E74A50501DE551A364E44DD7DAA66904C37FF6A393A63437C60B29D0270DFD95D18BB4FA9 BF2CEFD04E3C61BFC75A4255E98DF1EEAD36C3B4880E183012D1DF30AA650C836AABEF755DB5 0268B2BBDE215B5715E967F54D144566B9ED4100383F1E1684E3B45E5270EB86DFFD664640E0 D98B34ED2A542037B15ABF388A7D2B994A060E0B5BDA8F8EB0CF95F46AE9C3D45C1841B2172A 1048D621FB038A25ABF7BE2521E6F21D58B0E565E73392E16AECBCF33C27A35900862A54E981 869A7E02C1E7DA972A96622E3526054DB434BA93E1655D72F620C4D391F0D8629F390806E74E 13292BEF5CC5769719219B9583F2FDEFB70D4701096D12F84710AEA9ABC86DE5EACC61A3527C D348CD514C6F8B901ED9C6FB98E5C532D0DC9E5B020697D560A4ACFA63FF11FA230C5175A26E 20866FD4FDBF9066C1EA066BAB9F870B5C56F766CD4A16105C745E6246FCED5FF1162865C504 B81B4058E266855FC27BCD7186EDBB80F9704B68FC46FBD1CEF9E2C910EE95B55AA8A81AC72A 85317DCB8A3CD04C9EA2F90CFFF8266D1557843EF98F9AB726FE5CD38D21468C7EE33E4F263A C3156E2E1863E7AFF6179148DA0D240F6F0DF9659521CE78FD95F62582CDF3BEDE8F264CB182 6C7A3BD82FBC360CC2C265635DD6FCFB7B23B8B09EC3BEB5BAF26D3EEC2644A9F61837BB358F B8C9C706AA018CB23268137E5C0E2448B91F4DC7EF0BB5C9C6EA0CD91CD16CEF92E94A76BCA3 13B2DF7A37FBF2BA1F430A6FA1E66CEB6BEE341ED1841F0B37D3756D924422E43A21B33DF035 4A9310BD8F7C230848BFB666370C457139A7566A860AEA63BCF9D9FF27761561ED0AF9D2912F 1F60FA6A113650B5F37E17856D6AB9F3DA30C9DF51DDEBDDA4DB9BEC562D26120D3F7771A6EF 5D2BB9EE83522C8D2A63388270AB371403CB93721C7FDEABCDB773F8CB31E339F7BE4ADB4286 52EAB9940261AA160E5A62B757C073AB427EABCC44A5C113CC6EFD3313759D65DC8FC70D7D9D 6A34322F65B76008AC121B3F70B3E946442990C5CFEECCDE1A5CCC893E6EE77B2DE52018F12B D269B4D9639A8BB27CD1CFC20363FF05D5086A1EBFC3342E519CBCEC7FF285DCE659E1EFEE9B 8E3A79F57481EFCA4ACFB6C2B1C52403A28F102F689FCB72A0E670062E53E50A97A9EB0C7ED7 1C59A28DD40083E158CDA44C3AA37CCCF8A7D66881AC9809C579C272EEF6025D54AB364E728A 47A1B7CFA1237590A9D8EECD1656CC37B08D034C67C818D5A5CBF772EB8DD88495E95FC8EC5D 0B790ECAC5FEF865B838FE196FB6792CED17AB4610236EF3C57C00E561AD54200536817CF202 2589B8045959AA436F884239450EB4C666B905FFEEA094471131D4EEFEAD5216C016B60DFB89 EFB047EBDF02A0AB04A469397CEA2A98DA9146DBA85837180351E8366263C31C733DFA5767B1 224D997390FA1AE0EEFD273166C3A8A787DC7AC992CFA98ED349A2DC8FDEE04565B40D2A5AE4 56850965E1A6B24854C98D6E46D6EB0F7BCDF81826F3007573B7273B0AA34C76FDC2E62E9131 1DE41989B6B82E0916518487ED7C47B598ADFAAEF79F8A2FCCD97CD88E227D94C357A546E66D 52F376E86F21BB204AA8CF231D5F7B54C275A4BFA10423CCA2B017F4C09CE09224E72DF4567C 6F0ADD944D84F5C4068A77603462E361A63FFF3CA6952073F8F2E1FF93C51E1C4BE9D5242E80 FAC9774FB2219F2D30EE83CFA58C55140E1C58993F04A826693B8060E20A8E1B28CB3E18FA5B B2B37D4870B13221883ED19A69FBB7B3129FD0C231B0DBFD03B21B983CA9E8763FE20319EAEA 9FB90D4A7F86745CC95A4ED8BB2F7CCF8A6B7857B7B02FCAE2A3C54E0C2701872BB23F387910 1934C6A1692F8522078DCC2867FCA44374740104F42FA94F5059C70E6FDD9DF93DF388A4B846 37B1638B23172EC270AA2524DD6F1D80AB32E23D030900136C403CAACD1E2C09EE289A1671FC F86556C571F22C69D665E9FF5990F34B20FC845F2A74AA6BFEB9E8AB21AF0AD09866E6CCEDE2 6648FE41834EDDA6C717905A92C7C2B1F5024E735CC9DE54AF81C2BD878B171566E8F0B99CD5 00D6709C682FE2BEF991F692A6DC5BD78D46B1CDA8CEB51235E261BE9701FE119EA22831337D 302E035F40CDED95F62BE1D35FBF3E2284DD9DFDC5A9BD3A52F3F897B7F986DB63033DDBBE4E 786E069A0364BD59E311839AE6D47257DE0BC5F6607C203F0BBC1297016DA62C151E671FCACE 916541D33B03A4D3682F2ADFB86A1C1A6CC52A6DFC0521DBF1080C50FE11BB5A6FAC8D1D7B5E 570640209F0F371B49FC5E5BFA7801DE81E65EB0CAA9FCE46FF56C495D581D05F17DD1E15DFF A02B128C5C867A5E8A3209A0EB4D77124776331EE88ECF047542211AC61566D9A38B853642E1 B44D3FD317FFB8552F17DB94C72362849EEB7E2E47D71720C869F3E598E7A1649C9FA7204A04 E130DF0E57FE98BAF208A759783BB116E917A8A9503B69A52E58F048A09BD0F09C58EDA8EA23 896BEDF0D33103BA1D4BC110AF05C0897450E1B727CA6B8D08DA11F07361D415B4DED12A60A3 2FB8F56A92F2CAEBF1E74535A15EF5BEE00FC6B1A8D2BD44F8BDAACB2D1116271E2B9E81E03C 718883F145D3C053628801A42BE4C6F1BE934959092A9958EEFBC8BE4F81DC27E1B6F0E0E917 41AAEEB77EF9F8B602B8D2FDEDF413950CE8C3A435BDCA680E9F827E7A301AADC033898E2E46 521C2638650DC868C59983EC6123821591D39A7F60199C05F1040F35C451862B3E1142DD35EB B71D8CAB451E557CD683AB31760698DB5781622028D52CF77C13EC5E5639CA7FDF6459AA1E11 A026CFE52B9622E727783D6345DD27D97502366E8963E2E5548F246FD736D3CDEB2954D6248B 5A4D9FCB428D3B42F4433166E61437772035D8ECDF35FCB2407AF5AD78A6975C071949A8DFC2 D1F940D528C24023F38F7B6B5E368EFB4FB57ECB7BC7AEA757ED2AB94F5FAB8ECF8F6491DA6E 09D529444EBDD61BC1858746C4A0C96F043CFBC1BB0E6B627A517E2F210EF6B33839B8A28E4D 04115E0B223416D281511241A26554C08AA40869815F1006F42C08CF656DE10BB67B6369F0E0 9982CD49CFB286FD4EA60F1D4609C75B99D7DAFA6E30B6247B6F2873B21E3D69BD11BE45CC4B 3B8235A55942ECD0C2D6E86F105346C15B53D63A742511ABB0A88827C718326B9A19745C3C46 560AF4F656A60662D757A516AD4C5B4FA988B072525512723F3EF84DE99A79D7A35C1B010411 B26F0AEF6D3C4A5BC29FAD9A939FCD99A13D30E69159B9429587DDDC11B70EB0AA2A1AE7B90A F5F3F9DBEBCAE4AADEAC39AE796E6645307E87233479E0C7A15DC1454547EC4E8373AA57238E C2326A85A9108098DF93B1D914587D6160D34D1FC85DDDD1585AFB110B276EEA1569C2EBAC6C 4DE1939C3372F71EF4C43DB0AC6560C8975240D793E016A894DDBCFE7D84573985E47E268FEF 513D873132C749FE74B0AE31098531A9C482B3A6E6F79E5CA57A30B33F35278721F6115A6100 4267982B55ADAAAB88DEA35130BF4EB55E45E82432C2F0E584D9217E7F110E172E735FCE9145 7D86953EF9D8E437F3454FB900A7B38E72ADD074153AA3D81C130405F99432BA18C6F43B3E26 11F03321BC36970135309569C384EBB5EFD96662AA0493D0030ECF285F44E60623A84D16B3ED 44CD39E3B06FD4BADE4E04AEC3101C15E6787D7B48D8106D5420C1C4DA6B8FF54A54299607C4 56958A69B39C9FE40BD70891E7981DA672F014236E321708EB3A765204B96E94705EE8885320 C761F3A797393D28DBBAFCE50052B8B52B5584B5EBB3EA0E862724979E32E48A7A5829E738C7 E0BD2C25389A4040C45E114CC3DE803B3EA62DBFF909866BFD75F1C520095BFAC4AAF9E1C43F 2041F990425BC6014B3523716FCE6698B0BF0EB484066BDE90BE05F8EA0C951C28E09701872C 7274AF416814F657F80AFB470C526DFE729EF41C658E67C1D20E29C93C2E0C917414C0F69DF4 CC09F8D88F3DA0A09986C504E48251684763CFD870D7DCFE111A6325EAC8AFE26445B59909B3 51FB626AF611C0B91F0D15EF6F51B176B3A5AD71A30B5D578F938CDCAFCEEC503FA5ABE9F24A 1580761A98CC29006DA05873D6D405FCB8AD21A297B437870E29B91C6FDF1187D7A9134E29D7 B33B09E5B48EB2D4F6FAB5B4C73ED534999A673565CD752FA09FECA418F22916E695B4DB3908 3CBB132B899B3518AE4682ECC4834FECECB346BC14FDCEAB5CEA67EEEB2FDD0E2EFCCCB60E68 634A4ABF6FB5C8AFDBFEB10EB8E3A4AF2414073E7280CBA41945A57EBD25E252C1F9D4325D41 D6905FDDF68360F928238B6EBAC04808C9F928679C8383C310F0B33CC746DB05389E9A5D3034 B2188C381A6BBFAFA78023A5AB07C498F976A692051743182A9EEAD3EC356DBD3D79B4DC4BFB 3C52D42002EC507AEB4E600AD5FC1178AE30EA7782D964C45E4CEF3DEB845B86C2D384F2C489 0061E90F90D245E8398D45C770C588DD0C4B0508F54DB6895C848D82FA28988118380B46E4F7 716B9784653ACC862715FECB357B7DEEE4698B74F67585BC7C70B1DB281348FB7E192B0F4D9E 8FC35980EFCD1A2874FAEA597CE857A454897C60CDA8F63B4CFFA070D26BD2A91B05307783E4 937CA0F4FAFFC37CCEBB6B2739458ABDD7D97F146BA00EFF91A4EE2023DF07165A95FE04AAAA 0E6F05948950DED5DAEB61AA5917A8BC6183E6B93C8CC1AF81A6170F7E41C734565CBCB5F673 C73F7DC77963A75FF175A41E5099776D5EAEA9381F3B015AE01E9B32F781BA940172AD07BD8C 79E841E69C6C3C2DA9C7468A4A7E1D839FAB7D69CFA50E5ACFA226070E916EE6BC8D14108CCA 4CA3EFD2C2544377E4F9A20315929BFCBF50FB1B1C45BC0F3DC47AA413D9626C994E7589B045 C496BB0E3DE160B0003A090B6CF02FC7ADEA8B818C23938E9743C95D1E68D66F6BD88AB3CBC9 73A0B83C6289078FC9428FE5EF2A7B249797000AF929E9E2A5A3144F9E97BAC1CA1FDE3C25EE 4E327F157BAD75BC492E796791908DAEB674D356C73DD9B3EF0145FD4C1AD48FAB68CC09E65B 2A12D31BD687C0F912E2C086822814652F2AE87739CF1544BFA7BB01D6BFB32DBBFE851E57B8 BDDE855A4BEB6AD9B7DF0ADED2F6AC35659BCF6AE4F6C44C38E9E89D879F3B88FA0CDDC993CF 88BFDE0E9751210B4A80E5313411951523C917A7C4D8511BA4E020397880CE782E4331F0B1C8 20248DE3E46C2EC4997CA5362A7FE5AC9DE01A1FF3FEBCCC99191D444439B024DDE7AE0C39AE D0204B765ACEE943595D46C5944C78267CDF618032D20B9C2E1F80A6F7B78B18C61B182D0560 097735B4A962C80D458AEE55496C239E035BF50E11912A57E6175A29B6C60B33FACCB131CA7A 49A76600866CC5058E32F16B8FDB7B53A2C0DD66466BA99E69EA76E95A85353F12F694362AED 17FD4697D1428B6A0531CBBB8BD2AF3C63D5B1F9DE0FCFBE6E567114413C766C6923DC42798A EE1DBAF066B03C66112640E6263369D6A01608E60167F174D1D399CB2F327CD6D43ECB7C5B28 7652117C9266E5C111B3BDF4E77B440840893DF45B8492C4BA089DFA6D84229ED11218123981 D3DF65DA2A5B8DFC7CD85D1A79DEF4570FFCC6C29539FACB0F26879C49FDC6B567A502C4CE0A 4C885756022355A9BFAB25B589FEF3A66E330B12906B1231C7808348BE51C5F71BB6CB296028 D1157EC8ADECB7A58DAF8BBD47988FE9167E9B53AF4D8C912B7462FFFEC0382882E8DC788355 8E055BB8AA9DCC2D12F4ED608C5520BBDA006CF7A39AF0438BE919194D24186DD1E3536CC957 05CC453F275E3B8FA3FE827A47AE2089BBF1030CA0FDFB1C068DAA0188520624168FB8B9859B AA2DDB61E68D6D196F3361B24EDB37BB310C868D7F374BE9D6432A38B48C5CE027E1D6EE4F36 9D2DBDFD2072E6B971878BD92249D16D0B4936BC9EA5F3E19829722EED77B61B05EB2627BD61 074A668E35567CCC26E5D31FB07B622984DDA6124B58BA471E71512F5829372E2629A16F1C7E D71C8D2B22276D3F5672D434108494609C40929C775B6AFBA7FCC3BB6F125DC0F4F494318E4C 8ECE036BD196912E84EACDA49153DDB390A4B78E7370619AF6375007DD79C0E1967A371E7B30 3FB2A080D440170DE3969B6B45E5E4F152FF0F3B15833994CD828854C5DBA6EE38A73E8612E7 0E840BC8DA0DBFE44B7800F11C0197C0FE8F64E5BFA5A192A6F1BE9CE0DE00ACF7CED4BAF6F1 AB2B646756ECEF8DC018828283775C03852AFCC5D6F232469FABC98C2C0DED6766F0CC257B72 E95CE6F66D97514C9D79FA2001BFD35F2F686BFCDC4D8B0EB2063E2B6DCF11C5224432BD0D7F 3E9052EB283F71F248F27E25B66423B47DA2EAD951DF1B321A50075C9631A4FD9237635155E1 9A0D6C6FDD602E9F7DDF88F065BA17758354AFAD8612ADCF45089C76F122636A3F28767465D5 84BE62E9119647EE3032C1F54E545F2FF860DF53D001007E0B090E0D776254E1A8D0C12EB020 C2138374772EC9C66DFF5A0854E478FC16E6B370429A64C23EAE99DC20572BD57D4613B599B9 3927E0D5A68F2E4BE628735D2AEBCACD7E8CDAF6B9B99DFE2BFE0FE23E4DE03B7472EFD595F2 E8E81636FEA5F2A9FD5637615A05D5A57E5EAEF32D76D6244763D91BF4C546FDC2081E36143A A30E711A8A6DCD38C936D3F727A3F6E9834CDC40B5CBE5E523A57B0417BDDB20227AD81B3921 B1F1D8A6E14E3CD84A3FA23C81F2B686D22AEA82D53BA00139234E94B04B0037B74E633FCADF 07C4C7EE6F5215DF70ECFB6905142FB4B7F47D3B82E7467D189226B8E59A524BA4240067EF0F 22F8D75D28DE00BEC56023BA73C0907CEDEAD6DE9C4FF3D0511AE2EAB56DB50817C819F1113D B596CD9D2145FF24E56EE05499F03200353AE43C229A2C341882E718BA290854673C07164666 FCA7868B8575AEEB282B01F5EB16C58E5AA4B077B0D0A8007DA10687F3DE549DA028D461DEA5 CB51D89FC872346770D0835D1706D9882BC4E8CA7895F40CD7EE298FB8B07A673930312509AF 876A85E7B715E63FAF1B1E9FE5D54ACD224AF5AD30410A2C2AD07B19A32CAA14EA85E17D4151 F933AA286A9FAAC51C296084754B04E2035E167054EC800BD05A015D940F2926CD25799D02F8 52829A5D2D1FE06CC18E3D515518A4FAA07CB72E36638E27F30402893442A41E95ED728836A9 E1C0F1D3F3792A79CD82A667BEA7732FF65E2A17F2ECC1EC97DC68F66B5F62B1015A181632C2 0DA90388E55E03BCEAFB3A765E2AD1A610F2EC28E226D2B3F0048896821894E1A2E34D052469 F4902716AD8DAA1ED2B0CC71DB34A76AA1AF0353401A10DA20E5809F28787D3120975FE7DEA4 D720255C4654DBAE07A1AEA31F8BAECBC97ACC239D674941F8FCDAD8406362EC0713DDAF4A38 0E90B938ADAE35A63E3E3EA11FEE72581F1692EC607B9993E5493E55B244B8A7067E7D06AC9D F9BF6A4CCAB4117C97104467CF3437E5A6997AF2BF72E272E0ADA1EA0CC879C10AA812E4F096 E4F8D8622EEF43E124300CB4A20CDA81CAEEB6669F70C52C70416E83B00B479245F062611284 18D5A81D4886261FA281A2DDE92618FBDF86B4D59FCF62FC665DB5B4BBC64A1EF1A0461CFB31 68DBCC451E0263E7AED2DDC0B2FDC0E83118E8E3660040CBBC57A43AB9936CE573C75B7C56E3 3B2FA1D88A465A6A5365A20DE7F40742B7DE86130069D838FD39FFBE9A81D21D415CA35FE719 58A93B93BA61C3BEEE91EF1597E8A333DD1FE6C2D1D6186A3CCDB074294C9BDEF93E4F9D1BB4 D648B05F73691E97FE30D2673E2F9B02C51AD379C5D876AB51C5B39F9BFEE67FF286AB943FA2 9C18B4C8152EB8210EDB8B66907322606BC5D3D94C176A6734F07ED3DBD9B3B2713BAD91A9D1 261FE8E3D3B89B3D98DB30606240AF5659CFE48729FCC5B1AFA3E3FE9E4F561D78627C5CC533 1A44ADC6C2BFB752B798979D75BAEB1196E417A5959DD872209ACBB610C871AB8A13BF8E2F07 B901DD562B05D9EFD88663DCBCC8AF6127F649B488ABE46FB943838C462FB29B1CEB82601CCF 8BEFF70D8860DFCF8A26D6FEA51E3D1054A09083B33A4ACBB87363005985B27CC65995B7FBFE C46C3CBEA1AF50C6E4BE8E4132FC642A48CB51AB418FE4DBC782C7C8E0B3495AA6532A022330 0EC49792B53FF064E689F1E9B77F7C1FF0BAA5CC14693A8127E8749B28682A61229D611AFF1C 65233CF6BA02E35A62D19EC31D2D19FB7BD11B64EED42F1A0D08D304D15EFEE20DAACCE2D727 24B82C3C43FB81074F6CE35B00F7F392E99F499DD1CCC14B9EE6835C16ACB226D617FA3D993D E02DB920646CDEDE39D07DB310BD64B804105CE6AB7C741E52592B43A3C67A28B397BECB1887 7913C7A194FEF40A6FF50B9FF5DEBDF96F1DFF159606DEB420B13BE7C474C38754D17005FE65 814BCFDA019CDCC7EE31261A79F13D173998FC88AB1E46458E9BBFF9CE54213A19CC0523C02C 49F2359A0C891D3D7F8293E44F8856ADCEAC57561D551CF2056C16EDBB953DD2A7C624C25530 1AFDD27267021EC6DFDAA90FFAF5B531F8FA043E6186B16DD7F8BA83204528FBCB223E716DB6 D430B094BA859AE6974E1393D80A5D0BBA0FA4C79FFC6B4B721766A9F2FE7A7C8D8EC71FCB39 A6CCA9302D164085BBC0CB1A1F768F5239227B7A615C19DE58DCE57020DF07723CEE5F8EE7FA 6D5895D4630FB2352D62E9B2BC277DF642E5FA0CB625F7C18BF2B52AB97BEBC6983B4F3F416A DFFD8ED715F8D97132A3896ADC8664CB72593157D9530D3C3E57477B31F18A472B0A3A4D3153 8E5E4C476F0E22B43A7410093F290D0C52933FB183BAC15E93B5003B1985F82F27B93BB5989A EADA591794335477F7DC96ADE4DB4238F11EE88A59A2229E7AF505ABF0EF1294DCF393090551 4DAC93106A65860B49ADF0DE43ACB2858A38214A4212B1A24CF72DCD5F93C8C6DDBBA5A7ED06 8A3B4778C26A271351A875CBC746D7B8D08CC3CC23951F948912EB8FDA6C6F67C255E8F95AB9 542F5EA729F129018927FC24073F51216427FD847F2FAE1153064BE0801A1FFD5295E169F44E 7F5286120E09A86B4E5A9981DD0E1A30567B97D5E77AD78AB1530CA0BDA8DC0CE7BB285AA092 551671D1D3DD8385CA1E411D935268F77C6E29F943FA7D93FA7056D6ED1275FC36A1F86CBA96 3A6F8C5DADFA552D84CCD43F66466DA3CA0E1C013BE8F6F3FB16E4CA40F9CBBD62941B5C58C7 ED31343541FAB3EB92637397919D10A1BDEEAF8F8AB1EE86D138F68E81EE8A9E063EF75EF41C 790C409FBFCF944C7728EB6079FA870852DF84939649FF3B40EC16BDCAEA168A5AE657E09DF1 2CC030CB46BEDAB0F3EBF92E55CCD1D68D7864192C27315E87A516F1A264316207952343D894 2B9F68380666E97CCA3F748988C592AC86322971F6C40A978E8203DB73BCE0FA5BE0EFC1C3C3 78570A5E113375F330BC86559C41DEE15431C0520F06E3F2EED805F4843D193812777D08A879 E45AF9E50EFB3313524F31C70F844E66EE8F1E3D17ABCB710587AC284BD0F92331DA3C49CA41 B07B45313B6640504716CFDE8CACBA92F18D1D606D3E4BEE190EEFCDD083B9EB79BDF35CF400 A1AE8B1B1322D520FB063A95B7BB458F97C4BC8B538628A446405A6C29089F56FC46E8226B49 B6BA8EA870345F327FF11CBAA1FC6A923B61277F480631235A27090626BA5B4C23A1891EF306 D7F2D911F215CAD7102ADE078753FD98F4B91F27DD207DA32B977F6530585846E3B6DD167705 FBC447045F8E65D72F1CF0751AC06D437EA651801537305A8A90A5803886D95A4CC376910A4E 103F60315FD4722002688FC5B8B1B3791309C64F40862E68E08FADA1BF01F71F66ED3C402DE0 CAE9F4096B4BFBF2CEF1BF46F60041974C2E376DB1F201D41F8CE5AF73D18DD6B6E04667B560 296F225F63043E243D1A645C38C0A36877C6025E4AC4BE7F2350BD31713EE4C5BFA5E20D65C8 6F228A5DCC48B2DADFA18A2466A09E380852196B66E44F588E0529AA732C82898A7AB81BE49E CEA3A0F31AD91DEB0280C3324A3EC3E209A6EDD496E1786F99796DF4FBAB08A76662D4CFF615 1810A5B28600C4A3F4EAECDD699787D61235FB2464E5741894CAD736AC53003D7858BBF25B33 9DAB0B2887AEFE6A87D802182CEA25581E986A743E8235C923BF87FE178DB461BDC3B5CC0AA7 703A96DE7B13FD003CC17F8B4860980437EC5A270B2C9F822761C652423A3C6002EA66D5F274 B4331E813DC4948F378D5708F1EDEDD384C189C710F2713F92F73D4AF786428D1177D1957DB4 1B5C7F0524FD8C110F391DDE125D4C563A0FE42716E0AA6E52610904869CCB2F7878EDECA0E0 6EDB0E553CF702719B541D3B9AB61A550595F5E8C7D27858E4B22CC779615DAB2DA9E8FFA4F0 FEF7C521A2B85944901E23A341A904DAF533215C4096384489F0ED90B94EF6D5AFB475BF664B 6580D1A18AE2E219EA207D856C24B59D3849313B4D9794DFC496EA2C34B030C0163FC7018F21 13615CA885E970B29CA8395919B3ADE71F26E0D238D2AA4D2D70DDCC89E406E309705BF7AD95 484960EBBE5F31D00B5D414D8E04C6BFE84051201F5154ECD74645FEFF49BFB550510BE9BA51 5D83158F03704176D265C23B6E7B59EDB1ADC8864F3D8201F4A0E36FE1CBA6C76BE4D5B2CE9C 5B4D70AD452D4F4AB983A28635CAB4A0D20FD3B057684E5A2AE8A2A23CFF025098DB01C1A4DA E8506048910AA57A1A35994F7A0B81E8B65851FB9ED9853AA02522763FAF284543581F248162 5D8D87335C0AD2685FD35AB3495CD9CEF71065EE32AB81FC1019718C1A80DDAED88361191316 42EE90480DA8F5F0118D0C6DB3F87A6763B2348B3775994DD0830AEAD2784F41CFCDB9C3191C A222329E7F4BDFA469BA7E8D02FED9343D46C3D5B18022D702404DCB43441F3147EB2F653D24 725169BE716CF88E46755E31CE28ADF385B3E2B07976E8C807CDEDB9B7A66355D6D8D1758C72 FBF6DF447201001D57ED18C3DF266FAB0169D1E05785858CCCD0BAF80F08F36EACA8DC3D3E55 1463BE88F48BFBBE1B681946C39FDB984486966085CE8260D014600370C62B563659BE3ACC7D BAF54992E1B2E27FEBBEA81E7D0B24B5CCF4B15AD102D8C5E584D0DCF40C5737383D72A8F906 453B88C764E39D86B0BB0161EF376B4D10C88C9DC8BB7122A834D8EF00E95404D3C1EA77B009 3A33B7BA65C66895E5E694EF1FA2C2E5ACA5AFF4F803491DD956AB0B2364DE4652F33BB88E80 9EE5E87D75EA2D6095AFF7661155F2416356341AD1403E37871ED1EE11BC93F2C2B6F1972BE1 53C3E04312C5B0E9435B876CBFD8DC4888AF05EA8F338067576B84A069DE6BAD15651FE58584 5545E9FE5F732D67012B6B888549F6866213F146C206ABF8EF09CDB27431C9BD17DC3CADFAB4 A36ABEDE4A2C6761F0E29EBF216C3945BD29D85975555FA498B55D71396F90BA3AC4E94D4AAA 6920EEDE4477F55605F36EC2AC415BAA0BAECF2B9FEDE4FCB3B1E8F5B445E231283A1C621B45 9670E7CDF05E16FCFF496EC9D6EF7531C06D112219FBEC060CB46CF9E9C8ABDB65505E1AC837 55B22CCE76ED6FE329344D96B809EC92FED10060E2BF8CA97AFC3BEBA1ECA1843CC7F1AEA344 1AC60A8A442C5BF78654AD25FE82C399438C895EFF32DE3A06A64BFAE1B58292C5E054FFCF83 0F8A56EBCDFFCBE107CB120A8838AB5698A07865833FB166DA789AFCC9CBF951C59EEAA4B7C9 CA50E8D86A386368A2155D84DF23F33DFC381BA07B6F9558ECA90A9AD0B2A289C51C1DC1B404 7918738605845B2A28BF90D0ACCD3B6C148556ACB8B71D9C9B11920033760CF96A6CFB96DF0F 4E6A5AF8E94DD5CDC4973B610DE07A941455B59A906E108FEDBB1B72EC199866A4D8AA04ECEB D81A07BDCD892AF4BF8D7D9EBD2F2043556C01B50EFDA24166269A1FE8F9E492BFAD880F4B92 7B5630ADF7B59614ABC09AABA44F820F8F0A64B69D0EED69EACD9962D099F023625F26B07712 CAEAF653E863B77B7B42B6F827F8BC5BF400180B6EBE062C790720B65A57C9190F76141A4E71 34B64762FBF85919F79FC01D63748BD5B4A97E1F54333959BEE7D1994702F55EAFABBA2F6055 1232CFE83F0396D06C4D98069F9F8F0FF4933C500C58322983C4968355ED6F9429FCF94382F1 E3EF183CEB126C27E76DF74FC1028E52D293E9220A1FE665D2C70175D4A6FF5C857A7432D222 E799812626B08DB616D12425ABF3918884964AFC039117214BFF0E3ED0DF73C978711ECFA28E 9170518BADACCDCFAA1DD4E5AA4B9B4BA0F29A7563E18B4A144DAAF377BB2640DCB913579B78 91905F0E0EB29CA96AD379397BE3707127DAF00C30FA04C1A3603A6A59A4B2D92AA9A57C5509 6C94CBF8B5E4D3939018C3F38A3B6FDDCB06046CCEC1990417BCFE1829FBA9BEEC3B193B6602 DBB2365FD3DFCDE1046E445DFAF78EA57016E88B586C3396F29370A09CB8B89B12DDA7F6DE34 1D54BF5E3B5109CC56F1F7DB561348EFB7C5995DE514001464B29ACCACBFFF2CFF6EAEBEF095 65A035A9A16577D77B31778DD269B9E237E7A4F507E1DF1F3F3F49ACA6922AE94DFF0D44883F F3211DD70BFCA6FE459847C33962DE87B8C0C3D813E33314EAFA31E9C937F0D6C261047794E5 46E7A91DF378392A1DED517A5FF45E4771AEFDD14D6043C61F02A2BF6D7054409C61507A4AED 93B14F1DF2DAEC198C507DFCE6F5245AD49EA8F138DDF2B56A0CF03EDEA617A70D2D6373EC0E 4716B6FB802C588928588814B9F4FA55B2EDFF68735996B41C7F042869BFF98CD02FC4EF8570 1CF3BB41A7BA642077840A47B5D1C520391906BA32B6DE93DDC1EC6DBC2A5AE74C9E91DFDEB2 2C8EA6BD2244CCA9B6909E46B66B16AF6B37464F71EEBA39CE3D51F8E0EC97EC12AF39EA1089 4684716C9F76B1BBFB1D6F4F9FE3FA46DC82CA79D0BB12F5C60605AEC3948EFE8129C5988F21 8E057FC87E4D95417EEA0170F0B5ED52F639CF55740CD80735AC3CF5EFFDD60EBB1254226CF4 3196A387FFAEC579A099AFA230C228F27EE1A21619FCCBF6BA861E05CD3AC09CF72D8138A712 5D92242B44958511C8F8F9941ADBB69AA9526E7D7791330A013429364E8F3FE78F3D1CC15D67 D2C28C9B5FAFD4644EAFADFF3611C21421283A88E93AF6CFB0D69F941CA868E8E38B1676B2FF 60F675B8090A6A438FA59748E819FBB4DFD2C865A3E23718380989EF44AB05954C6E95453041 35BB89980FC85FAF6BA73E2CF97FD439087AA273DAF05BF906ABE31DD3403320893B7506A8D3 5A4617C06CEAA57942EA1DD6B14D356CAE41A8056ADA511D826CAD2E98128C2E248071A7685E C35AC685080578943D27306D0B2868AA7A9F0FD376019BC9BCCA8D077B7FBFBCE63EA0E3BA41 8F9792647471BB40F1BF0B5EC0592878BAC7C65793C23745FA519192067E5FB6019E9A0D3E51 583F0D3A23CA526B1585F6A6ADB57A2D79328375489962F77B4EEF90996D3275D6C45F62B0F7 CCE65F400625CD89DDAD1237A4B3BA8FA797479242DABFFB22EA71B8EA7C04B2779D57D0F74E 82B21014BA92A92D22FC8D9462B5A61E07D8A405481814D705A78ADE348E81D5AB9E1DD55D98 16A67EE58E14B60545ED2C8AB09A1E374FBBE4FD0D4E9C8D6F9BDCF3E82A1B6D5B86950873D7 C87C49B56B1F616600EAE6213ABB14BB1B2D2387E6AE17B8BCEF2453E32FA159CEE6342C938C 9757D872B3721499DA150E9A4700E9B85BD603B0458914D135789BF5AFF3584DC1B176F7BDCC 2950927174DEC72F339CC0E2C6F4A150C3A928114460A41DF551C706A4258D071786390EA06E 772C2C886D2C1CADEFB2EBCCA14825A0F8C11177A9699642DBC8FC89DFAB42308EF8900F17EC D640D0459DB1777F8AB923D54C180E18F7098BDCC77B8ACD68489017A1FADB23AF4001C29B78 B90CFBFBC57199865CECD4176B1AD807465CE1EE8D52C76E6208E00728D5582046D92800D337 EC64D05F841DFF906127E94C719A61BE7E14F747C0F6E7CC8A960F5AF994703EE449638255F8 37E0CA0F0770635BFD53ABCD9B8B5B2980762DC94A352E2DDF1E16B2CCC196666A0B508CB9F3 1B274D9C62354687246F50A98161FD8CCCBDA6DB731EB70BA4E73005C315832C3919F1A3154D A940D6644D84A159435FB501E17FE807C2D72D11D081E89A31545E8D75B738E692480E347548 5DA0B2A5D972EF7BAAF957B2CD5B30D9FA16B416DE66414F5AA86E3BC816E036154CB1CD4BD5 797250F905976AA38FE30E401BC5DA62E8628BAE58B9322FE7927C294D4F861E6FE4D0B1CACC E00D0F1C8EED5ED550BCC85AF61EE35DD45E941244A7A373402320AF803B0F7ACB2D39D43A42 D4C5A6982E3533F453B40E28979E2167C3E2B1FC8F598DF14C49E9DC1BEF04ED2E47BCE8F987 4843FBA267F90871A1340ED43184B387473F07081FA2EEC36C09AF16F7ADA2A7EB90A5EC81CD 4EAFAA7A08353F629D0941155BDD7406239E7284705598728581AA72E6224ABFD2DE959F963E B7CF838A62DCBACA4F826F401CEB09964B3CB59BFDBD24ECC2C807D675F6FFD23E35A1480930 A83987E42E1962D027B3D5DB1A512B1464525E29C90A46330D0D4D9FF31817D37B4A9C458BA7 908F4CD4BFE2921A61FC8E204B628DAE89D129148CADF0B8FB3E214C70EE1119FB0C9A0326A4 E4B17806C93C4241DD1F605B83499EC61AD50D26E9F0AB4A311496001B9C8A66AF1DE72E0CB0 5B3080C85253E5843A85FFA5CE1C011F6A11BF62E128CFCC79D0537F0756597323A4864C412C 6DE0D0F4F9931639E352724AF512609EECD75A07E79F080054BACEF739DB675C80A693B523F9 1AD3B93FE86E8549C6497095A4F2BF179ED9B1793218CFBD230BB59F3C5BD4D568D933CCDBA2 C458F7DF4C39DE9E8F0A1B051627A87F2183894B282641EB0F904B45CDF31D316A1A9E767B51 206673C5F415459213EEC1DECCAB3659EA2E3FC256D6A6FE989F4A5BA990F6BF3B028DC74CCD A94C3024771F49B7C25D1EB68BB540792A23C2F82B979B5A01832118A3F96C5ED82D8E33E75C 4A913FFCD3D18AC7CD9052C51BB8FDB74960CE9E84D38A4F4F1F9BA629988DF534FC88911C0F CC2B4952B137EA34979D34DBF7878170FC0809409C3CE8FF5601688D11B4A68B89B5D21FE7E9 919C0DDA3B4E782465D3D0A16431B9ABAFB702107FF1226F59A57D36E731456DB187B9028596 B57D6FB2D757DCAF456225AA32E761C2AD08E4BF6A03C4EDC2201E9B13EA18BAD2AA7CEE1BB2 ED7DB1661A9D73977470F145B523EEFC1756202037853CDE6D3ADB4B10ADAF38F0656E2DD1CC 23C0BE78D6EE0697691214671E43C541B0FF04BECE86AEFD7E736337F4069B06176063318C56 CE70303FA7ED95C4156169A6B2E51878E89DA7DA1B0B86F853EABBFE189C9AC13D776B6FA1D7 D53A34486685DA22DB568556278C9F75AA5B7225A16C6CD1E87338BADE1B73A9FD6B9786EF42 251B865394ADFFC0969716BAA0A30DA8A925415D580E7B7964A6E5457F1419D0BCD0E5615B74 D2ADC8EDBAB9843598F2DB8C0BB11F3AA830DE4D6338A9A4EF46D2470AD30999E2DF97FB41DF 7C6AFBF8A4204FE2DACCC86BB0722C524664AE0ACC50FE56D56188EF1AE81505C61C6C1515A9 6CB202191E78929476D39D5C1BD3BEC2E54A042074F98C9022027416831FCFDB90F9F8EFF209 DC96C385934C425DCBDD30E1222D3196054A44CF6245A55A46C1F018F5C9C0C44D16E680F102 22FA0FCF7CB6D47FAF3BAD4C656AF5BBA5AFF8B8DD790547FF0347E24E787BB089311C2969FB 6C2EB6BDF29A0F172202E3972FB2CAD174576D8D912785EB7CB61680C1F71D9D110F5211BEF6 45294E78EF8816142D38CB298111D41B77EE1D24485C73B6755C4709416690A0442DFF087AAB 7678EC5AE8DEA4036666C1A694BF70B7926ABE68C097CF89574A874DCF0CB482A86A4AEF0765 A4F483A44A81702B0273DE748CB2EDF9369C6C561858DA05E41BEFEFE4477D513A81AFA8154D E9BFCE8AB99814274D185AD9CA7464C19AEA16C5FD90AE77E9A12398A8B1CEE333513A0A466A 6931AD23187F49FEFC4476C42C49F490DC112ABCC3EB383714FCE9470BF836BCCFFE0EB48C6E 0B95D9DA67EBE98E27A3A83F27D591BA5652B45F176299F0C1B849F8D317B1F5F85BF22C2893 C386C352D0F479D9B30C1FD34BC4B3BE559F5F10BE024A841B64BFC464D026AB0658064D1F2F 3C10D5D2966294974887B5371754714AF0ED67DDB1328282FED44FB510F91C5746C4DA4258A1 E6F56C81A5B74E2FA1146E04E7726A643E493253505EB75A46C55B0F39528F989AE42027D48D 008BD15527FFF2B68DC40583FAC5C694D214602C780A951C79E9D60DD06AA214267A317F5F3C 85E37E7F3F6942F7B41CEA5B414D6D2F6312761178E7E60B03054A72A5186FDE4FAADB14B2BA CA3067821C8B01A76D940447D5BCE41A40E0A402232B0938E0D244C7E0BAE12074BFC8C629F4 BBD4573242EC3196571569257C193A2B7ED6CEBC613488988B2CB79D7DF2716F3FA9C788AF7B E3E39959D281772430E934A3C893534FA42D5FA222F63A519EAEA4B3339D051774F90FF2D044 3679E98EEF757A8B4B5628C154E29BFBDE615425C0EC59ED30A2429BAA8AA28CBA65F7D6804F A2B122AF4D67AB30052871F7478DD338901A135978509063D058397BDBC20F1D35FF64673A4D 8669C2ED96DEB23498EB60676306831EC834437FA6099DD8017EE1CC892ABAA0E0F04ED0E4FD 3C0C221B0DCA1D65967485426836D2241EEBCBAAD3F62040ABCEFAE8889276B4DB1B76D18250 321C0643920A8262080C96D425AA27FA5624E663F3B707798FA45ECD75F64BEDDC62D782D8C1 98036997DEB3B06E4202043C6E68C4AC87FF9C841900BD6F6856ABC8EB343335292BB3C481E0 FA51BAE83DD9CCA97FBC1518C19F25B0DA63E25194C0676D55DF18821FE4C437AC833E92B49B BA25A272A3AA91B109246069D880C83E3AA37CB749F65559F8732AB4BB42A021EDC330CFE348 EB6B41F153D7B4ABAE508ABB13A2FD461C5F5904C488C1FEAB3C958FA9D118FE75C570B5190C ABDFE1876C9F2578DCF63BCDD5961AA48E818D6933DAF3CCE315398CF661DFA9B15460CC4C52 D44DCEDB081547EC44061BA2BF66E652ECB5A3837AA0CF330ADD1EA7972B7D41C4AF889BF3E8 354823BE027C917D365C225CC3AF099906B07AF6B32FDAF893FB1AE035489F8186B40432AEF9 12AD9CCF687E95B0FAC271DAE0309D6EC0A7C284673AAC14DF553C4192C51ECBEAC9E1E3B658 7D957F6CB491340117801D06FAF6C21932EE6DED607FD8BF4A394E16708E3313D1D34A6AF600 E42471C0DCF43B6BF751DA4F12B7FDC0448C08ED13C4390FBF6C7933C39140438F8530D2CE2D CC5C01D57B304E259BF2E8587EFA5F19CDA584A0339575F3C4AD294D3798CF88D39D1B2E7C41 B22EDBA384824479B0A3FA3E19E28E063683A1C3AB9424CB45AA41C137BADDF3B474F26B95BC EDC36FC6A24F71919D3F22861D278DA899B36BB8CB0EF492304009B13D0F46B85F259DF9744B A63791ADFFCF92B1DE532A5BFD1862C35DA4B07D0DECA69A5E0C74570077D29990480265924E 4FB2B128080AD65E537D60B2EC768621FD8109C16F6FEB8FAF0FE0DB69FB3F5CB6025713DA0A 80FEE15752D9A5684F37DA9EF4B2F34842B20D206451653735C905E3D915E7B39A624C8B0FE6 7481D3E99A1F8D21FFBDFF0C15B46143850261793A76210BB230E11C7A2B9A3800FC07C961DB B3C5DE45FF82FBD102545F232AFC285913125E9B725E43A58F6F278C180F5B2EDDF2F93BFE99 BA639751B86028760D561B9835758D7A5285D2E0DAD70F5240059447BF128DA4270E59417A04 B220EC1F446DBDB66CEC9D5188BDAE0F4F99D7A1E519ACD0741E8385E4E2B479AE6308E5397B 4E0A70147CF4F431A2B7B5A21E6E7158FB72EA020BBFEDBF490FD9E2B34878E4EDB324E700C0 12221697B305151441BAA73F931D5CF70B6209F8DBBF08DA471B08C77B9D454F28F756A36B29 490B0A312314477BF713842802CDAB1D834F1385129402C6641C1F5B08EE9A836F3320C8C438 6C5D846F2EBEA5EEE6869622AD20077A4BD0B755C0784B63A8FCD9041BA428A18DAB4493255F 1C55379A56A84F9A3FDB86B6AD8CD9FF433387F35CC35ABFD1795A86566B91F522E11BCBAE1A A7F8FF022D20ABF07683B5B3D1F9D2789DCCDA9F3861B35D49103C334645A3A69EA2B09965D7 DDB1D31F2E767032BC6A090CECD5DA839137D43A69F403A3067B759010D0BB68D7FD462E07D2 D2BFA0228949A8F4AB85A9D7309697874A4944047079C1ABA08F0F26E1D4232A48966012030C 0EAA16EADA1CBDAE6966F7EA45EC51746FDA96D77D8664D769A09951BD291FC216FB4B44BD3A 95FEDB9933137B42B0CFF63F57B859FF28A3ADD28525448E56145853623E98D6781F90362983 058406485FE91683410E6E556A69E38FF59021E3B9F6760D67D2070D942ACAED31D74A77AC9E 8EF806E206D0404B4DA8E5BAE27AF5EF3D61D46B90F81EF1C0E838367EB0C90D3B527F5FCD1C F3FFD3CEABD06F17A7820A8BA83DA6CFA54F7E7BFC4314D8F202BC1B766E187EDC0186BC42B5 1191EE8019E261E3B16D1E51BAF34ECED43CFE90BBCC42E5D89CC3561D23DEA2578E6C7D7A86 4176D26D19D2E919723E323908E74F669B99BA3C586AF168ECAAF11720571D29E413893BC93F 48789853F48FCB0E73754E39CECF8409753ABF241C80827B8978BC8FBCF1AAB07B6DE27C5CE9 F1F4377DB7E463ADBB3BDCBA1ED4E19513EA6C8DE5810FE8618145E9CE75AFE9ABBA4A3170CA 0E480AA55E473602843BB95FFB26B7155E994750EBFA452F76FED6F01F58801EFD71A995C99C 892505DB66E15AF219F4E7F11DC5846C7767C6FB02825B1455F9A9B3ADE3001BFF6C8FD3F167 042CF04373B3FFE00DAD2EF6CE46569D9769497C11B7DBC2ACC9E91FE7AFEC414FDD8AB48AC0 1AE49E2A2F5ADE09915F38C0A96D3B60A389451B762801C44B161EF0E5108DB8F75672761778 B06F83CF61FC4C16DC874AD19E80FEBD99849290BEB9CBE7CE78372FDAC09487A1CDF6797862 E7496C6A24C8D84E1A99AC560A7E55ECC3583740D8267F8F74E15238337A351A05E587038674 E5EC7791D701824BFAB36DE4719648AEEA8690265A3747C28E5B3C56B179E5C18542B10DB9F0 C6D0F279838D5B33E885CB3B6B0A5BB5D1940BC5EEA2DE492EF0BAC07E5F46B53776FCB25AE9 7BBBE24B5324423081121C66E5287044B115EF4A37611A59874A60B3C75FAC6C35E3D03298D0 6F200AD6FCF37B28573464835CC28BAB035C95F14BB62626715313AD29814BE8FAC2CB04507E 74072EA9443EDC0421050F58999C7FB7933503C5E3EBAF5AD5F4C27B13906304C0CAB365EBBE 1044829E111A13150C88EE524015DC67D13530AC1C0B8C2CBC34CAA9B2E8A7ACC7E7F1850929 6A561BAD9EA044694B726CCCA53AE07C0019770CCBBD8F808FCA6C276F1A41248079BAF4FF38 4D296D8C3E1678557DC4B8F233F502BF5062F5E8DBFBAF4BBC9C9397C9920E4DE46750DC743A 78BBFF7591A4FE140295552B4F2BE7A6FAE12B9CB75003DF06400B0AB4B6EDF635ED84A82CBC 28A8F42A96AAFC852442CAFBAA7C7B23A9DDF482D97F78FDC1C8C74752E5248356775D3C5A08 88717BCC418C38733C4713CEC5AAA58CA2FE254650EEA739F6F10B9656C60E81B32BEF901194 F098C043B81FC88592D2153A5628BA1959EBD5C830A8B44D85D8EE72C8D8EC03C85A63DB5C30 4DEC0366E9AD8E8A06EC7B1DD8060A88F7594EB8D6D9A73D4CDA5ABB7BCAEF24D26A7742CF4B 82E7101F9AF952184B0EFBC090957DAF090BDB7F3F7D2A7B8EF23036AE10AE3008BD22A6A0B1 AAE971D10E6191A297FC4445A5DBD847FDC244668D9C05F47FA7C86EF7C8C452361341685CF2 D34F5B8C765A0205C2F41199AFBEB283966F6604B0DF818D90999666B52A836279F288DBB24C 06244706A115D2D0A8D5F77BF955495DF8D329EBE73D946513FEA5C4943AF0B14E5F4CE48FA6 1CBC8DB25E2022663B0F74A8CE474F376936A82C8FF2BD7E89BBB92D34B533865552FEB6848C E0F63B6DF63BAD075DA3791F6B3597288E701C901B54292C441EBF1569296E407F61F2FFB82A 056415F5560A2DD4027AAEC75B73131D42BB7DF1E65B50FDC21573894FD918952D6673E60B31 8665DDB2D43C0503E9B32E818D2E40FF4546DE571CFCECF1D4CF5AE8C81103FE05430E29CAC2 AF5FED21C181D530FF123504A47C87B51DD7E8C7B93D94B65C30051E8E8761F977B2552FE4E7 056B631FEBCDE9BC3F22B70935A3263174AAEF0E94DF40C1E09763EEB63546B1A5922B6DCE80 2E770625FFF3EB08C2DF68A0780C833689A023B26A14606D438E454618527EF22597DC1ABB74 B9DDFF7F8A422A58CA53298187E1905940F59696A41FCC1ED958328BA88FBECAE576112374B8 E8BD813FEEA1018BF0AA106E1E06C09D949D90F455E2DE81061C880CDC724B9E0E5E12BF76CA BBBF718BC6CB208690B3778A27A470390501C1D4F359E7A2F92AEF976E28B0ABA46F879DA08F B44DEE1DA36BBC32CAB6835874B29AE06B6A18966A0BD4E96A2A937E8511359DFAEE60FB184A BA289F981AA5F3F7DF29C6B836FAF3B0280D4CD8FD98F289E0884769F93C03AE3D096FCA83A7 9677FF2042B4E0066640FD012D6977B0A0F81FC5058274C671BD7C2374B16FC8B22311370D52 142EC3E0E06C423F26AF5FEFDCE64C09CC0B2D84D4F81D13981B750B87D2C4AFE1A1E47A9935 327785D4C28A8AACAB0A5DD2AEEF936AA00E2ABE6FFEA595ED3C11CA71D429682E7D8896A02B 97902C158927469D68B48BF9879608BEA305494FBE7B52E807D801DF770CCA670243D8A62D5D 8EA97CB757584E4A6BD57B4CF17F1FCFF4E9E65D11DD0B281DC82A50B589DF77604EE1A41E5A 38A6E1405EAC57082CFC9B891AD65EEA29F8F029994929114543F9748BBA341656793CB36391 1A886475FF88F6562383AC250F73E4706795F28625ED301A920767A95BADEDCD5F2A6EC86742 337FEF7876D14ABA0F85A3DF00B108131809A3DC3006B7ADFAD95639BA07A5E4BAE264B7988F 915A6B653B7992257846CE626B1494FBF934ADADF96A69A9ABF7E8087659BD6219296E50CC2B CA3BAE92267C8A7AA85CF1B41BDA433BC7A24577564DBC4732231058BEAE71539B577FC87A57 49A66F5B3546EA6ECCDA937A2CA8578C30B4A41543C72F451244FA53CB680A91F1EC7E86966D A5D17D4DF111D19EA992BDD05DBE6D184C97111FC309179B50E969C8602E5AC483FDD6A14A3A 3458347A00101805051884102840017F04B61024CF8268C34435D787A438FF5486F0659C971D CA87F47893E2C255E587529B93560E18DD9BD4C5D34017811A396CC88A30BADAE688F1ACD06F 5E6044883933C2AAD626D6856FE09FE187B0EFC2AF47EB0C71DA51E8DAAF21D810B86958AD7C 8CAA66689EF6FD1B67AF28375E00014B238A60E99EB0CEFD817446F5C9108D2AEB0C66B953E0 FB9A35A44E523EF5DF1F13824B2C4F1D9AE7DB33AC3103B0546CF3D162A245325043B75BF56E 783FDAFA78673D1A755D0E578E10C348CB7DB474D0433F739A9700280AB0D5621F3ABB282E93 B6788D2864CD36D25959D1B41596218E61B374D8D0FD900AC550B59D9F0DFBCA375BA1E1EED1 8884B77FE275BE1579652B2B4D0D54A8DBE53251AF6122303A4C42FAA183A3968DA197D207D0 00D9C570AD51A3437449F8824697AA1F365FC21437291DAB601E0AECCF403A8E735D563C6B5D 11B9DE4CB1E4C248B7433046D3F8E830B20389B738FDAF8E88464940DE664F5BD6BBD4F47483 2D96E3943FE657BD842F074198149011BE15BEA113798109B2BEAF7711A605099A95F3D8FCC9 A81787A17E9E7F3EC2D710C84D34D1B8092444D50C7816A5449D8E811FD94C063DFFB0EBEFE9 351FC902CEF37C937FDC017158FC1E92FA7652DA540A71DC6C8898F4A34DF3FB201B97B3AA66 C17D42A4C3C970344101E8801499B62E2F01642162B8C526C11FDF97FB911C5B0C11A9FFA296 A4BB189AD8731F39C14E16EA95DCE21DC8279319ADBC77FC5CDC85BD1BEAAD5665F0550C9FD6 E6229A144B067624FB3EF851FED7301617CB7054112C7034280C85FC46E8296D2BD8CF51FA29 21B9F966D156F0E7B6331E2C66756A22201B49CF897A12E219A772BBFD1BEC17AD80312DE155 906D46512DEFC239D71543F2066D2CB9B9508523A32708C8CEA2F626DA27B1835E68A270C284 CE7B2E943552C95C24AA41A194174999266DD70D4A407A0AC9AFAEEB0CD8BB2FA5A6C448C6CA C31F8B79E0DC4574CD738EC6A3099C478A12F967177A75DCDFE822FDF50CF07CF32020BAB5AF 02C37991FC2693EAAF6406673779EAEB29F958EDD9CEECDE006ACA662779BFFD26ED281E0DDA F900B49E05EFF0E12AC3D2ED0CCCC220C95BB682730E753D2C211C98EE7EA755C61873D8C601 BEAEC4123D79B17A9B0F713696E94E53EB26FED63BA5184E34DDBAB79ED209CEBC8B9891A612 AC4AAB8852FD7667F721C7CA2364B621338164E574320107663D9BCF00884EE0A57CBD4E961D 559E09740ACE817EC408C5D55CE096E174818DD855D2050D8A3863F5268B8CCE7A1EC6C28DA0 7EA64A744EDA00CC1B21E89AD96DDBC72D88DE648886061DFB60A08A71780F4CB067B6C83150 4000340E085D7C542AD7B760500D8DDD2A20FC25890B9B7CE7591706B52FA65A388833976F44 1FC03E3BEE09B2272417FB09B8FDD312B5AFEED31173C627B90210468E4B2537EF82F4D502D5 788D7646363BEA3C4FDEEF10DF8EF22483A28618808AAE87FFB025830A41278A8A09E0E72E43 0E9DB83FD36A259E79F1FE85774E1A9AEF48A688130F48F89FC7CFABF4CF4F38DC8009887FDD C8223C398AA4AE0EC36CF513CC629B07199A33059D7BE4B703242C94E371702F45035146E586 FECC2B6DD85E61C5234CD752C8F21345B292178D07DCD997B60DCD0ADA87EAFF08EDA706322C B41DD9DD3FAC1C57664574D51A7B3E374CAFB313389BAB479A5AF8253128437B4FEACBFD4BF1 6A1575397AC2D895669B0FD235B007105587B4FF54ABC3355A43AAA02542447044D43172D0B8 5AD4F0EF124E356F4CE87D9C05C2A8C8D0A07EB4922B7FB22E854CE4C59F6FC1217D78474BBB FA735BC25D363210500CAD6DCC1C02FDE33F6D11BD9948A9D86F677AFBD42BB1B9B1C3E704E0 16F672A5209FD4A6B37AE4A19B815355F2FD2ED253D2E154FA3BAD01E60D6ADFB3E836797A7C 32D3EA2B5E07FF9ED38A7AF511A1A4AC8D275AA474FA94D80C58EC82F10F3B4864D7F9B1723C 94D75E456CC31507E9C20F47567E051DBDE685C07547C5726A648E6E9544D26ADFF93D666F6C 53ED0444E0F2B619064AED47F422D3AB3CB9422A1565F8F949F70E424E926BA91E47F8D79742 E9EC4C06F6827B37813401B6289133A316FF915D9EBBBCFA7B1A0C6EFB6EB1322270AA274653 43FBBCF8A4535B8B0D64657F2B03224C9BEF88779950F01D6DD1C4ABB69A89EEBD28625FFDE7 77177849AF25BA8B22940FF183C88E5F07176E602665CD5FFE18938E524D03775BAE010E5AB4 B76616D37305D9E895AE39D671173FC74A01CD2739EC0E205C4F449FF581B50032F2EF97497F 9CFF46353A2F0716ACCAD785AA154A17C339EDEFA76606C2885C1416F8CD15044251A1C01335 68D54E6E6E8F4C6CC63982BB6ABC2031ACE7E4AAB3C9E7568D83A4D384BA2E96D36E977C76E6 22BFC0E3430770D32314935C7E543FC5F52519F28A093D5302D2F8BDF12CBD76EED3BE41A2EA D95D6E17C18BA6D155570B7C0AB4363746E5C233AB698C92F642BC2031F96874879DE67438A2 74881773B55CB8C4EBB27BABE1436D9AAB673FE6B04148083510E482D168859C71914E56E92F 4142C42ECA3B535192B8B0CFBB948E36D20CF5E843201137073AE49770B1937583B8AD816F8C DF1BCD41E444D1339050719F0511584EA98A1104D2AE411630244F16C2B349017610F258B207 B06A1DAE999B2D3C27840CF7A4E06D405CE8748318EE5D53C076ECE70831F2D578045E96CD94 2B6B75104D2166D2C6B543F00F3E88FB1CB00FFF0FAE822FE215BA70C13CAA17A7DBBB9063B4 F373A71E01D2BAC23CFDB978CF5CDBD7B5CE6CF336069870269372DC69645E1085CC32DC7880 7098C13A13F56F441AB38680209ECAD6924F5BAAF7422410EED0F280824E28A453C4AD322F76 0FA572E9FF77A2F1E82DC2D531560BFF2E03A9BF98BE232810391AC40C0440A312A3AA8C62A8 19A564C295C2EF9BAB1393EC81691E4C32947CF685E1C89984793A2DBF392D422639718602CB A87CC5B27D1123474D93CA36C89E75EA28EF01CBBF577BE1AA056B0CB0B667EC34B0740224C2 BF3C52BA35922E9ACA51A14446C14DE251B5429784F219AC56820AB2798A5AC97F724C5CB6D9 826D5DE4DB6A786A1034ECAB909E54191CFB0A74810A48CF9573DF1945CF2A233E0447FEA1EB F02B9C9A55DE5A12569B843EEBFDCFE9162C84EC4E99527CCCE7D89680E978E502EA63FC066B DF95F1B317DC5D637E074BF7B2FC09F2D7B5BAA8C4D95D77C66E5DE0078F977EF3CF456A2B7B CED29C73035D2E3ABA1755E5D8C351C53C269C5C1F5537F1AB696691A25C111075A10FCD11AA 38C5853640DC6EF2A62D6122FBDD36FA02FADDC27E2B5FBB4DFEA0A66AE71557D556EAF720BA 6C015AB922A06910CFF60AC5C3E26A5B345ED02A649D1246769832EF32503A25CA0C272C4A45 D2703CC418AD79A1788546B7135E504B9AC4E01FFECC9E650364D640A3C2CFC14AB6D73A30C9 9041D966D3BDCF4011BA0A6F3CA45E28548308059731DEBC9DB72B916915C80387423C3B279D 2F6C16D61250A33F64A5DF1DBF3E50FD6CBB615DA62CDE177089C0A88D969CF53386E8D0654D E29D982C99C124B2FB12874C5225E4A65CA47464A34AEE4FD3177254BF5268A807BF9ACD73E2 A22244899929C5AB8D9339CEC8836828868DCE77DBD68BACB8BF2220EB3008D4667D7BD75A2C 2A30E8DC5EC84E6B48DD27B9A2145F78811DE99CC103B9A385FEDD8D92C9C8BAB6391739760A 431A0A25A94E1366FA8530CFBBF4E7A5464FBA27458A2BE6D4773060D1A4A6EA5710A4D9BC82 BB6149858979621E76097041FA239796423BB4B5554D99B2C08B9CB249317C2CD9B26A4B5A55 524AF133B750AE92DA4BBBE2B24131881E5EBC70B393E422F81A6ED3002208723B3FCB226EC9 ACF8D0F7EA7F69091044B00A8249BBB800C6E4F062AF81CBE571FD174C0C613F0D377994C72E 08F22223A2D735170F6A56732D30B099D2FE7D0A63A41D1BDDA9A4AD745AA91B9D9B9F764303 BBA7539712DFFDBDC2531FFFFF3D0592E2284E331D0051BCF0335D34EC625F95636D98C682F8 CC58C8F3987F63FACD31CEFCC09E2D97FC159E23FCEBB31307A09C5692A8005E5C7335253FBC DB94F84C684280F29F88598EB98C40C8A006260634D2CB093AECE105ACDDC5293671054B58A8 59AD019C3F34D9F6A80B0ACACDE0C02A8FAC41B4AF993932EE185649A0397DE5C733757D5124 E73F887B34A511F8BF3B23BC814DDCE416AD6FD0AD018F1DB3E1C859B9B348D7B1E5E901073F 3FE697DDCD9CE1B63BD735DFF8591D6352A3C312B247FA739A366533E0458935348F7B15B4F3 7CCA5699020423414379C42722A634E7AA56B74E9D5E95ADC61E6A624767C0116C91A442255C 119462334990BCCD6BE0DB1720BC52FAFD46AD2436C703BA68CE96E3DA430163EFB7FBCA48C7 36EE4FFDAD83A5F96BE3CF1A27E3426A59F4B59460A369F18476F158A325F8353395F786B107 671B3478AAD6F893FDAF08F685CF82A296C09264E63BC50BDA1EF84E41654616FF6BFC72B1E9 27F28CD4C315FA5E3F9C7D2B6B35D5BC3EBFB128B7FE7C901DAE4C6A4E0A0C37BB3A8DEF38F6 2966CA59F8E520CA7592A8B91962A5E935C36E2C17CB5CC0A6981CF9C57CCACCDDB967F58A44 D7E9EED9315388CCE8B1E83915249582FF60BEBBAAFF1E9333A0F579C793E4E8E958F1D9ECA8 32EB9964EA9E03546A93561DA50B48935111C80B9D4428172B2618ED35D44E18BE4855C207B6 43E3FF9741D779DEDF50498DF559BCDC6AC994C2E146D4BC0CA17B0C7FF51EF7FB63B3D9856E 0E511CC07E096ECDA7A584E91A1287FA4E8F7D713E26D0511F72EA39FE882496A8589A052AD2 4BE19EA7BBEAAE83B7BC7D1C142290D86F83F4AA34D31161D5D72220E4278B9EF6CE0D7EF0CE B73670AED4F4F5FF7A737A844422B7C2615DD641B45BBC2FDB212C9421CDFC23C17A201E11EE 3779E0FE934939954136A5BA6C357078B411ED3A3380EBF280481B5805775542710999B7AA80 3D8645375ACC02C0A00781BD26549AA563E3815D5229FCF3F056CE430EF603029463AA618FD7 F66A881DE497C4DD173CF669C918D61BC3363CA261DC30C6AB9A32DED0EB7942202DCEBA7582 BF46472B738E4CDB93143D9103BFE56E7C1793C5406ACB8987A7212A7D35F23DA13630FA4EED E8A88E81AD7AAE51735383D05ECF5510BFAF54E7C6B140B9412FC8DA01B0CE8EB691FBAE3796 6160809129D2F9C09493DD96D571D383BB17F20AFB54C88E17308E189B2A992183DEF4893A21 47F992FCCF300F06E8C6CACAE792142F71FD6AD88151CAF98C31CC958557E34A84B5C628DD24 CB39603EC6A189006AA657F185052CC052F3CADE2C22A3C6BE96B097B4F1CA72E3E8830DE070 24E506C6BB37F93CB4C1D6BA18571C860E61FD5BB0D6D08169119DD9C60F9561885B6686E024 6BC46380F50E05542F1B49A6274496263A78A7C8D0F94C132FF038A8C1467A2B4B95DCE3F63F EDFBEDFBD8F2A74157D18E5C2D437DB3E3D89C6773161379A3986A2B841B03753E92FCC7A47C E4542E841BAA7C383B7320602749A177BFAE450BD11FD40B4FC59B3F43EE8DC03455320AB4F3 91480E4E08F72C699FB1DB194CF7C756571B81630DAFF0794FFFB25906998D432BC8C84226A2 47F2E6FF884707043AB23AEC589989FEF54029064A9C3ED82B50691D5A62A23259863612BE08 01F158698C2ADA1C6D22F35E9E9226DE954C3986C7A8DA0C09B73E76C4F3C525EEDFBAF24D01 7D30B9A5572F94EA005253729D6B52B2FCC96229111DDEDF8A3F727CCE6D18C47E407697D086 66EAB228924675CE11F198C6983A160A826F95BC15424482B27649EEF89C2B50F833D04420E3 5723157F0B130898ECF674DCF1770618B03BBC091BFBE38E41B5BA0FDED9A2DC640D510624FA 0CCCA48B87F63562FD038711F82F770000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: cmr8.pfb %!PS-AdobeFont-1.1: CMR8 1.0 %%CreationDate: 1991 Aug 20 16:39:40 % 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 (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR8 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 161 /Gamma put dup 162 /Delta put dup 163 /Theta put dup 164 /Lambda put dup 165 /Xi put dup 166 /Pi put dup 167 /Sigma put dup 168 /Upsilon put dup 169 /Phi put dup 170 /Psi put dup 173 /Omega put dup 174 /ff put dup 175 /fi put dup 176 /fl put dup 177 /ffi put dup 178 /ffl put dup 179 /dotlessi put dup 180 /dotlessj put dup 181 /grave put dup 182 /acute put dup 183 /caron put dup 184 /breve put dup 185 /macron put dup 186 /ring put dup 187 /cedilla put dup 188 /germandbls put dup 189 /ae put dup 190 /oe put dup 191 /oslash put dup 192 /AE put dup 193 /OE put dup 194 /Oslash put dup 195 /suppress put dup 196 /dieresis put dup 0 /Gamma put dup 1 /Delta put dup 2 /Theta put dup 3 /Lambda put dup 4 /Xi put dup 5 /Pi put dup 6 /Sigma put dup 7 /Upsilon put dup 8 /Phi put dup 9 /Psi put dup 10 /Omega put dup 11 /ff put dup 12 /fi put dup 13 /fl put dup 14 /ffi put dup 15 /ffl put dup 16 /dotlessi put dup 17 /dotlessj put dup 18 /grave put dup 19 /acute put dup 20 /caron put dup 21 /breve put dup 22 /macron put dup 23 /ring put dup 24 /cedilla put dup 25 /germandbls put dup 26 /ae put dup 27 /oe put dup 28 /oslash put dup 29 /AE put dup 30 /OE put dup 31 /Oslash put dup 32 /suppress put dup 33 /exclam put dup 34 /quotedblright put dup 35 /numbersign put dup 36 /dollar put dup 37 /percent put dup 38 /ampersand put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk 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 60 /exclamdown put dup 61 /equal put dup 62 /questiondown put dup 63 /question 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 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /bracketleft put dup 92 /quotedblleft put dup 93 /bracketright put dup 94 /circumflex put dup 95 /dotaccent put dup 96 /quoteleft 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 dup 124 /emdash put dup 125 /hungarumlaut put dup 126 /tilde put dup 127 /dieresis put dup 128 /suppress put dup 160 /space put readonly def /FontBBox{-36 -250 1070 750}readonly def /UniqueID 5000791 def currentdict end currentfile eexec 9B9C1569015F2C1D2BF560F4C0D52257BACDD6500ABDA5ED9835F6A016CFC8F00B6C052ED76A 87856B50F4D80DFAEB508C97F8281F3F88B17E4D3B90C0F65EC379791AACDC162A66CBBC5BE2 F53AAD8DE72DD113B55A022FBFEE658CB95F5BB32BA0357B5E050FDDF264A07470BEF1C52119 B6FBD5C77EBED964AC5A2BBEC9D8B3E48AE5BB003A63D545774B922B9D5FF6B0066ECE43645A 131879B032137D6D823385FE55F3402D557FD3B4486858B2A4B5A0CC2E1BF4E2A4A0E748483C 3BCF5DE47CC5260A3A967CAC70A7A35B88B54315191D0423B4065C7A432987938C6BEDAD3B72 AD63C2918B6E5A2017457E0D4EBC204B094541F345EC367AE85CA9BD24568A01D3B9F8095F74 20E6C423C414B3DCCE6DA48DD1C89A56D078E0D0E2F262A13640A06D17E44EE3866C3471FB58 FEDF5A3B77294517651C16BDD7267D39A54E7171752DBDE63AC19BB4B3021CE95EB5FE67390B 09AE4D9ED4D704A67443F55DCE17ACD996C1F5E023C9E5A18CBEECC3097F23763ACB86CDD7CD 13381AE74E48495EC7FA520539D87F8A8DCB3C826275469B6800876A457E7D1E5BE867C7B1CC AD69742A8C9B0AD943482BF2A4AD0AED40BAEB69A0233BAD36B4CA2D2DA7322956C70375D152 653500B2F22D2AB6990CADDE2DA14B4917F7515E64BC3D96BF775258FC7DAE4E42A4C9B6DA8E DDEC4A800C8AADC8D75E48CAE52137E05C03677F5D6A82FA46D9F2FC7F56D62E5C605A1B7898 B8D1401C2CAC1A0122A2C8A7AAE09607F2C5F29293A09B9959399283BE89051452898238B777 DB9830FF4318A298B221C4A820C700CA964FC99E6B1D9EB0BAFC39BE9AA9DFFA2FA326B2A466 1E67261BB3DBC85844E76F9313AB533EE16BCB478166DE5502B68E6EC1EA6110F53206CF1CFE A419571B0243244B32EA38B828A01E62B03BCF476A32C2341CECB8A0FA2A3F3F339315D5F3AA 7704408F6617D02462A058589B4FEAC5BB976C6B3AE317372686B1BCA18DE30D2D182553ACE2 5C61478314E954B6395B87FE5D785DEC41CFE9156C730B8B2EE923E921B2A9D8EA7F0DAD2483 077F3208C38A5DF9DFD5477FFB993B6219A8B2DD4249FB87D613121F07A75FB990864A3E3000 66B22D0D4CD2908B2DA4B491736C976494D87C69A88A3FED1D179325FB28C5D3A89E6022A98F 20DE1C232DE3DA0FCC7FA7904994B8C9DA982F68E3A75BD92860859D8052AF677F8CF937420B 4BAAC07CCF01C5480725C696FDE80052C1AFBC0DB44FB7C5A10E442EE06333551FB0FB9F0BB4 433C23EA481FE64772B91987D1B17F817469FCBEEF3E36D8082CB1198073E3D0FBD172B78930 2B1D506081C1D8A373890B13C84FB09B4577E6F89874938CF4BF506AB5C8810E8763839EA8D5 FA2CC899F0AD4BDE6429232C8966ED67F4AD57D8DC145459E3F598633A0626483517E6925045 5C8E83C9ABF54794C3A02550F7E9FCED32F4463361B3D8B7C1F28D2028121C685925BD3A649F 8B2039E43EA3B9DDA56FF4256EBA0B054BEE9CBE33E5CEDF2973A9B573B8780572EA8CA3C0B5 B39A03D4728B5EDEEF715AC38ADBA0C0400DD4EDBD169C0DECF46CB16405A028EC9B29E94D4B C52D0E0E60563BD088D49AD7A56C7422F2DC4906BBC9DE186E0EF59251AA0DCE7BB5678CA2CC E2B2DD27F7E603237996FA4DC777CA7CA6678BC856EE5DC66E1CF82F3D97E233936539A08765 02D05F8B6F0CF666A918FCF1B52DBC189847FAA5889637B1441173908472CDDC584EC335AE26 0088E11FE413DA79C4208DE2336D0B562CD68CFF8B7CB75B035DA226D82FE5DBB9F03502042D F0B606AAAF1601A19B1CF53930FA8344EFB7CC7D35E8A04898877AEB59F58FF42086AE7E3A80 D7599FF1F15647AD44C8FBA536A3DA566768A9ACD5A663A523ADEB21B0576E92D6F1685A2DE6 FBC2D3E0200B28AF178F336731983FD6C4525C054557BBF0EFDA0E688B8B15A8C8E764420F2A B1FB6661109AC32672DD8797B2FE7638C03B94545B362674563795616140F19A271D3C9DF7F6 93ACCA1A35A689396B13D41B4A5C65FA6223C8F09205B59BA0D50A73A2C65782697501507083 73E50B8421ADBF6595ECC1D1C0C8E0B600161E000D1AD558708545FB47F8B60B7518C323A129 2017BA2E0C14EA031CD83682D14AF8FE19A44FB02ACCD189B18B172427D145DF07C4FEA8899B 85655BB8634CA535628FA1C6C1F35303DDC85611655BA2888FE4653CB23D502EC2B7D76EC9F6 ADFCFE6A07B82B3C2F7D3020C84A56D73D6635113F64948A916EF0FF2309960BB0F6BCE4D9CA 21443C1E9819D4E2DB41A107C571C3B186DF7034B0F6FA5E91AE45FD11C293BB64ED1C8DC441 F0B6BD2A91D3140B9B4246434F34E8FE8F848A4C9E51C6CCCB93BC45EF723BBB3F091B6A040F 55D9C38C63AA59601EAF905C89D28C9A621673C567DFEAE4634844C91693636AD4285BCA0B60 CEF05ACCE4B5A20BACBE48FE420042758F26CE9497DF990370138EA5C389CED42A581CF04A1C D71B847A1A48DEF222A7D4EA7DD130188D42A886FA41822E489A25D86C99BCFED702198C849E C0A5BD6D40B1BD2EA749472F510601954828DAE77E29EF2D7A421674B6FE348ABF7D12FF4807 6BAB30C8C631CA03BD98AE86434ABF760F39E0D75CC774139690F208F5A85A19C4D32672B067 D580AFE555ADA638C055597F05AB0DB34255FE89EED026AD1643B0609AE2F8C8D284C2605C9A 45DADFAD6324F09C8B02D41F4D391611360236BA3D0E6AD474DCB842060A1D389A00F62A98D5 2EA6DBEF5DE250F3CE7EF7147728EAEC412B68547DF060FAB31F28C5F6F324C4910637D67CC3 8AF7AD414E1396B129EBC8411CE8C7062FC178392418384A5DCAC09038FCEC9E32E30EA2EB69 BE7ACA538C6240C672940BA4862BA68C9DDFDF907BBB8FD4DF794F37A53B605F42EDA33CAD9F A6C5B9B7E7B69D5CD4163C4C056B7665543425D4E6F5655287E2AFB442C40CEC29BFF0343018 538276B7403576E78E9B8257D5BE31E384F2C72C21333BDB5D929A7D546610F4D1B928D96185 1077F9E6AAA58B08A5A9B7A0EEFBB162CD62D2BB7936CB3D1C5895CAA28A5500DA21B8B89327 B6269D88CA99661200E9CC867F848E4456EAEE99B4C315C88AABAEC708B16C6963E93E5041EF 454F9B3AA7A7AFCD2D6B9E0420256BED6D20D3647B5E1FB8F43A7267991743D11E3DFE0462B5 576226F9E5D1F028A263D9D6F90CCA3481352DE314FE39408175488D9A3DBEFFD0D91420ADA2 CA4E9ED48B41E4ED72AE33602D140A5DB8E8EF7BF934694EB8FB3A6366278D053FC4DAF68981 3478A6D43216DBDD1949EF64442776708BF32C80FEB2FFB6D893691A078B96BB928426310003 3BB6790CA645FC4DCC73E6F2AD5FF4619AD53A5FA26F4DBCE2E7216F29C2527EF3BBA558ED25 B0180F87E1E4C389E6CA8865825D12464F570CCA0B0AE11B125B3510E1D9C008AE04CE7A20A6 36370CB2ADA145AA532CC3195CE9C690B002D70DFA3D52EF9FE7393A94EF97CFB3BCCED87FDA 1C252718DDEF7CCD33FF26BE035C2EAA9DA8FFD48B8A1760FD9557255A82C87F2FB091462634 44E9C7D4DDC561C949F10005D81357BE0A84C8D7052830BE77E2ADFCA059562622109B048F4D 3A3EF26126ECEFDA884AD461329F44EFCE4D5CF0759FEBF50C826A634463A6ACBCD0BA8D267F E9EEE70F46F0BAF4CF89FB68D86D9CF61D164F07ED96E83DEC0965DF06AC119822E1CC0E0DB3 22EA29883476A5F37D380FEF4ACBA611CA1698E1961BC34EFEE983F10D004943DD2CBBF7F6EE 55BD5176CC2095575FBE9E1B81FAC37B168B93DA3C738357122B4DFC6E48B1A512D05BF5823D EAD06301A4C0FDBB33D4AC9B7BBBB2069D6308E8F4ECA675FDDB721830E63469C35FE0CC3D18 B9E047AE83CF481620577D971E07B093B982B57241F82B12ABE4C4B5D63ECA37C8E19267CDAC 819E305EE0A5A14A5BC2809CFF174066C331E293DA2A65CC88FC7C5CBB7ACAB36C2AC6D99F0A 3B46A37A8321040D46E1DB19216F519D4C86CEDF455350C43360BDFE7362093947C3806134CF 3B62978DE363C0678A8FC2D88F91599F43726CA8F7E96664EFD377EBE1A69A30E5749FD86ED2 671BCD29D704FAB75A2431CBB0C650AA568F358327176775356F9248B0382248F8A6EAAA533F EEA32136C0E0B3A60898D331FD3CCE1E9E31811633D71A0A59CDBAF8A18E385F2ECAFEE87C64 59C5EBF10929B1F06AA6A6DA13DE4C1832B388BF0EC4463A6036182EEC8E82AB89AFAF29B92C B20CB4888AF2E69646440DBFFD2738403986AB9669B22E9EC3790E293A8DD51B6E07E75CC7BA 300FD2448002E168A031A8FDB831D768FAE6F02B1FB25229300787D1DA9FC6A4063B37181FA3 18C94D1EB0CDA058238898353C12CB4C986C6637E5E6196D0FBEB533C62394384C8C63F75666 87DFF6A9D86B4F39A7B113534D88ADBD831DEB17BF3D53D86FB4F75D7CCBBBF2D9B7EA192B39 7E7FF6D99D491DAA967A200AEF392EB5D78285E10C06D3D45E77B1C99A96CDD0D118CDF88DD2 18AECB19F37ADD787EEA063D0A4E508B8CF9D5F1F41D189AEF64B6933966865B2C1B598E9130 D479E064A85B1187BDA04845DB6520ADB5C729A0F41BB4790547066CD7FC7496662CBF94A676 5A2F402AD44BA5CA08006862A23958503C4343FEE1578488974B9C88575005124C1927B1F228 CAB60979EFC6A7B67C97FCF9D6A3569A58315D8DC5B1B211E441AD48896629BD82443B6F7203 522292B4E05823CCC881ACDD0904826C3B5B197F7226FC153023C45139C6B79A688015394586 F6DBAB40A011E3FB751A677AF0F3B0AA5143E33B7C1349B53435550A2ADD2EA4FBCE0BB0D136 A7B9F31796B285985DA642085FF687410846F8864C319DF9AA1A8CDA45BA19DB48818B8D7D31 BE15A3C7DB12971E1F989B508EFF04284AC3DF07EF5C9AD6DD8E71ED0EA21E06C2F8A3195C94 E55CCE84A96A1D95746EA4DE3EA06E9901AAE28E289FCD992AEBA64992F94E084800CBB7668D D13342AE31836B7AEF1929D9301590A1699286B211BE4FEF0AD9025410617D0177B225481BE4 757EBF860C9DFDF830844A7E60880C354EED9B18E3617D69E36F65FFFD07C4B88AD3FBF59895 435174F6614EF44ECB3C1491340EFD29A3C0B73E65D58FB030AC046A0AEC3F76E57C7DC3E81A 5DEB683C6D5960199608D42626A9A961EEF94961BB416A34321DAB1D7C934903053AEE2A22B1 5758FA42D50D773DD65524CCBD896711EC275F5949BB8C7CAC20CFAE3EDE952167E235834AF4 9AAD10629B4BFF06115FC91D6826FCCBA64FA7E767446D856701317C43C0520BD470AD63E135 B05BB61A41352C0456C677D5954B4445582617BC14458924EFB580B84BCFC1072F3A967B0F75 CD738EB760DD679F127B0E29B2BC0295C2410C3B0FE374BC162D12415DC446CDDF6B41D157DE FB3D890DADFBCE3AD2E85657F372977B392DD794019AA2F60BD405D8357A430F5F240F4A0B53 0704D96942C3BEA32F673BE3DC03BA68EC3A23A6917C98376D318B1B584611520838E6DF1169 1160F17AA6F6FCD770B24022A2126902F1B59F81D43F77EB906DB9F946CE8D0D796015389E23 D08DBE766F6F3990D563CCDD1100362452AD57D2EE8A79F1013FE184F86D29B75FCFCD020936 4D35395378CF3369937633177F70B418F1F5665E492D9FA3854D8DFE6CE949258B30FD709421 44C6F71BA4EF0966A059D05EAA32CDCC48EDE88F690734BEE59C2464D7D5E77BEA22CF9A015F DA90E1BB0753236AD5262A8C647FF2398B05C929FBA120EBE631990F323B8970C3772DC1A514 32E2F898F46C145C817D4CFD0DC50F167F40ACD1A0CA601CC8FC78FA6C92F745A2A83CF9B946 95D42957CE061659A3966A9054B67A016D3534A5676C0FFABC5EAF819A03A10C84890BA479D2 791ED120782FFC2CDCC9DBB65064F39C75711744AD58D9E653F8F650EF3FA079CB4A7AA51B14 750E53E6751E0DE4F81A2746D01BB8F6D28D17626907E26CE5ED22EBD396C782882C1CF842CB C12561083BFE65888C85F913307CFD0BE1159C4B018716B2D5734B3FD9F93B1B742A95B7DA6C 7E565DD6C338B5B934E36E5F2C75930DA96A2AA72CD8A17A12AE2FD589357FC9D237EDBEBD4A 72FAFAEE8E0E81D1FEE25CEA488E1F953EF574A0D0A6F7B6BA600760D12E75392FE4D0744DA7 D20C3337B691612C61C28FF9A8F163B7C119DA771705C268EAC8DBD5EBBD6011F868062C45D0 A717DADEE306A05400F70DFC17FDEB9758FFD837B305736ADE36665DC4867F1AADE11D7F1270 C9E3F0771DC5D1D353113966598DB9B0FE3BF774F35856DAD07FABD7FB435E56F9303551773F CAAFCB14728000376B51AE5A3BD7894D4E5BBAFB85FE2E310C89FDFCBE53B2A3871AF103E64B C3E4034CFF11873CF2A024C35A674F56BB9A940A2FCA4D9182C911D8A70E4C89D9C1F26FE550 343301A59FF812F848D5EB5F368D21AFA35AF0248C770AF8FEC0D35B73574C09115246BB8BD9 2E2626B1B5D26FA1F279D34A74A8BF225961BA088DAC3E0D1F6CDCE0A31CBC3A71698A0AC2BB E5FEBF615CF83F45A6F489B8C8D2180489B1517208388EE4247AC1200AD7BE2CBD217A2009DE 01BF8475736154BAA12DD2A13BB79CF23F7F0685920E86045D332212CD6BC0DE24831BCB869C C957F05A9B34E8E30D69B2F1D8DC1F6F715D9A72704900704CA0ACA8A2F1E69E5D341D37548D 7F9781EDF1F835E6D74EC6BD4F51622EE742F7AEB1E038B0ECD8D044E9286CEF378B426F2D75 83B59B727209734133BD2966B2DFAE60E2FA75ABEEF01526AED91E9B13BACEEDF746DD1DFB23 F9BC9E8F142E4A64CF17718492F4820F9F7A6D8D6DD4B70D2FB9FEC0B4004D2EEF8687D87747 9C6C76C6593EC9C6C3F13CDC1C9945D957F1AD96970099A8CDE95FE2AE87703EDE55FD3D1916 AE3CCBA58B28CE8A17E636F26DF4A9F2D97BD968737976636F96629518F48E902E3346F2CE91 066B135F00F823D1897EFBD62280E88CD7D94CB39D7BE7549D9F12ABAF4E05D40EBA5467248E D9F5B7F24787B3E4584F21F84D20B1B061693E1CCB47D27C2B9CB910B441812A0FD068D8CEB1 3B74D7648D34DF01EF3A159EDE49D522456579F668D121A0A1FA4F905C7823517DB38B709430 147B31ADC4082BFC9BB3E8B8E255B353A7568134AD4D2B7558FB6805B4A690AD84106ABC9186 97F0A29FF273650E25151749F1D2DAB75485877D6A2431574FDB0DA2BBCD9AEAF2B53C9C44D0 C61FD984149E9738DF8DAE42007777B6B11E61FF7FB9ED8425778F652CF780A76721336BFC84 294F73402CDF3415564DD1A625F7E07768824B0A61C4468098A09EC610E49F3F386D1A1085FB 740EC34E05775F4E15C04EC78DC7BA69AAA9B9623FBF9D2AD2C762301F2B9A38A01CEDDFD6EA DFF04905EE06FD862D4BB76C84A874372D1B8E05F2673E2A2E6D2E340DA24595BAAF998D8B8E 28B056F8AAE93AC3DD30B2D4A55F9F29DA5A8E380A5BB827CEC521064935BD22DA2DC60C60A5 5A29D624349660B8A79DFFAD28B795670F246B9E79A46E26F6C4AD633388E9F9B74E15389931 D23DD27F8899A854D1A208C816EA1378EEF8D01571FD8D84271A70F857CACBD22519F41E180F 49EF4FBD9DC7AC7AFA85D3A2BAC7E5E4A6077D97C20DBD9950EDC9373159279B63F33C3EC041 434818912F952C872467FE30396DAD1CCB294E114823EE85003E19E7E50D6E4614F94732E794 7269A596164E75BAF289DF397FD82925B8618DBFD4B50F35E49DD3AAE8FBACC3F841290D94AA 1CE3BCFA22AA2F5A9C11FAC6F1C6D006E6E4E1DADCB73A0935737F8097F6289EFF0E71E40775 7518D0BDE2A3226A0290B1A1C270467FDF89F75DE64635E527718F69D35B5A3D17EC6845FAB4 0F3074720A79EC69C9EB160B07F12082D129732C794316057A215FED554DA3A6B5DE264E3DB6 C65D576F1E796CF4C9D1778DF1A19BF1F931970CD4215494CE07D004908CC921186630A59238 42BA7780E958D2086D4357F039F227BCE9DF0D5B3216487611088BF0E4D1968D8122A230331E EF553094E109BB8BD94FBEA7AE05970EB8329E6502C0003DE6D3CC8007CA714C0CB5ED0802CD D92B2152C7A1E112C219EF1BD832FF6CB055444A1267CF4CF5342B350F1B9CEB81C8B36028DD 0FFB85A62B308D61E5E814778D2795A78E17AEF05C7DEC1B285246130EA22A5C66501E135F9F 9C75E4AFE4DA46F25F503EF477360D98AF220740CEFF7BA8CFB269E952431C38F12788F3603A 158966DC2A702B6BB81553FA29410D2CFF0D7B2D04965922097B9A29F02DA5845E957785EAE2 782A960C234E7DD814238DCC2BBEDCA1C361180E7DD186382CAD3C37F2E98A0EE597EEAB1A92 6432CD5349AE271A44BBB1A4DBBB8FA487CF5205B52E97D35B18C3674F63FD37F2C8D9391DAB 65C2F5632F329C5E2EBB8F330A173809C3403D4D9D9F46B0B1A35C11F22914BBAF54C63B1922 FC916CA1547AD3CF9D14C8C4D3D0C491444D9BD4CC261B4476C9AA053C5F292563107F9A1B9E 684094D23EE400AA8DBBAE8B4A55458A7B64CE424B65406B5BCFBEF87CFC63017B2B24EB9DB5 7CB7C5F34CA5C015BD7CE1233293A636E9C3780A1841EABCAF0E95B27DD58A361F285E808459 9B3E9D45A6EC744978D3522741F405DC393C97290237F2A5C57E6654BACE9DEB1E188B630A1C 3D6EE53C78432E868F65DFB8A98D7E70B5F47372A5C710044C6DC7A97544394E0C97022B0428 B461A252B4092261E149675720FA054AB1381DBD90DD5D66DF4CBEB601446ACDACB7EF081C0D 2BCB78EAFF5F4AA0E35503E6700E900D60E937B69E6A5D5387EF7FE0F9EFA8BF391DF347E266 EC9AA0B53290D4379F7FD8E85B70D75D503092A1A1F1CF9AC27F373651D377EAD105582341D9 959FB8217422A0DC51D625B52FC86DCC71DBD87DBC9FA19A28ADAEA69EB8DADA4C634BDC836D 554A2DB4055B87CAAF748A86E46F4002E568DFE9EFEF5E458CEB3EEE38DB8CA8C2504C24298C AE7828E111FA88DA2EB0C0B89F4C33E19DE07FF6BE6B1DC3BB3E741B7962CB6D972CE5AC22D7 385716AA3512FBC54562DAF8AD1A31DF0F27D69239BE9E69E631EEB385F58FE6415A79942F2E 21DE6C234DB196B0CFCF402399F8FD23C927937AF9C04D212AFF84EF854C83F770DF33DD38CA 6CC333899E53591651D529313A21E6160C514594949EB2EED1464CE8F94072E0A30DA6FF947A EAEC653D108B1562412C5628FC0343BD4C20660942A52C318C05FED691ECAA7A357E744BD74D 1D63A624B78001B8FCCF25EF1D7D66AC77DF64FC897E18A2E09709BACDD2B9F7D28207A0DAAC E692F7DCFFB736F2B221EF0615C229FD7E2BFEB15292DB89A4AD75646C18208ADA06B8D1D460 5E27134F7B8B3F4213AD94F2B859B76E27F956A2DE59134758E2311FBF1263E06557D8E60132 72A83DFCFF3418AF0CC11EAE26A930A817D8F4A070E33E2113D628E1B60F0D3745899CAEB3DA 47849DA317FD6E3E41B6FF083122A078BD7CD9B5E734DA2C5324F40E591DB3E6C7A4080D5867 CB165B1F297165DD0D7E8298FD0DC49A875E5BA808864F77085D8BFF2FC7B0EB24FF76924883 31DD00A9D559D335404F959FBF965EC7465D8D88DBBA774AB614F34C5539793AD285127BF561 4B62B5A267FB2F0B19B2C321513819F4143CF8209DC46D7FA41A82A0FE630699C8BC8EC002D1 9BCF20D7947C4160BA2477FDA33DCB3B7845110AE81FBC5D9E9E41680417379ED8B00E745963 0B41FE131B6ED4CC23BEA4844D36B8D9C69812CDB5DF872374B74DB41BA549A35014FCAE7D84 BD213099EBC8ACE36DCA75FB4528683BECC6C76884F7E9D1B2733404F716A190AFC5918C17E3 9FF94A2E20786B0BA6295349D32F897D37B8BE8969C9E6082C7E4E7F0D362DFBB4CDEC1313D7 A0EF7AFD8E5C836149D05CD9EE36D6B55E7B1AA0B4A5B717468C55945171C6EE16DB2690BC4E AAE05AD3A83306BD13E83E96CC47032D0B26904C2B0F1D8B46622A1AD31FB6A98E7699AB02D9 B550AFC66BB053A4F187595E4EDB59204B9BAF60BB36302A062399AF3D3908A2BE4417DD61A9 1F7EB5B46016826C56D89CE458F489429D18066EE241A5E90177BFC9B3FADC31EA7530FBDBB4 736B2F50F1293FD0DD6A16FE2CE8502ED811F6A79A29A0018983372687691540272B9000CF3A F955A616E28846EAD7A881C48421FBA911FDC00988812C2A464E9CF4B39DB276F6E27674D386 A2E1FD9F84310C65208B05997EC8FBD5ACCF3180D4825B966665511E3C3C4960DCCC0007087D D34D12E1E2A17F1FA728CDD86604D1B54CEC9C1456A367B38A860C737841FB8B9398B45BF92A ACE74CCE996454E25F60636E8963377B6225B75874754E98BC275A4123CD6A7FECF22ED29577 716B77C5D02005BF12BA9F4FEBA9B9496CD8EC6BCF37D7EB97488E6D2527106A39678AFAB701 2B1D09289CE5A8635615354043DF07FA012AB15AE99395E5B257EB0AF5DA3FCE40D6025B5B69 7FBF8608A2AB29485B4B51DEBCB31E7AEE991A2AD7B3A6AA5C021B7771AF882D42E0635DAC51 296E7396656BEC79C3BBF2F6E4A9A42B6D39DBF547583D2DD071AE814242CFA11EC3FE049D16 737E95C7029E3F0DB1B55C43FBA4974BA2C1E6AEDBCD3FD27181B64B70719D45229907BBE323 74BD80390D43AA4754D1773B6FB37986D4681311052A830F5FC5F2714E5B37E166D4CE6FECCC 65E808786F1F21009F1F644B5A6C83CFC1E07FC5E354281D4D5E8AAF0614314F32F253077FCE 348A27A9E77084653E214C67F2E84CAF157A86953CB2D3F779C98D00CEBF27518102FDB063FF 80781BE5C9E04A7EAD723CFEA7EB295C6B19C5CF60B0A7F35F5D0C45659FBF21340178E8C8EF 19BAF6A832154A6A75EBD98548525F60645FA5F8F055BABC2B763BA69BF8A25B7A89815607EC 86E8D2AFAF7E9DEF9C6AD0D6228472B51D8A1F79BCD143697D87281F935A95AC2CC68264618D 0BF20486C763532937C725A18718CBA641239B0CAC338957CF485BA46680E1D955F4CC300BE9 96BE9DF331E7765198B703DD0FD3E0AB3098E0AE259F5F4B771D71BA9040623EB910AB23DB1B E4CF53640775EAF2D2EFCAD7D40096D9E61E0AAF082275329C91BDFC15D13509B7353B4BBA05 BE9D6DBB6AD813030499EA6FFCEFB65F751EAEB57261E1CFE1596781A77794078272CB4B4503 FB7EC38E1FF1C482593EACB002393984F97FDED6A6502642F2A2BA5A651C1156B2FA102AE383 CC75131BBFC8630BF69117DDEBCEB09718F6707A4648C27E8F296C5854DED70211D676A496FF 8B42D90A198DAB42111C546EEFDF8A5E80A958A82A55D00F281799DB1A4AFB4E056DCC67B04C 3119B135D7D8509D24BC3F750188940602791C7B80F059724779B1D8F4E633B7AD36323BC7AA EC8AEDB88D8436B394B70421237B0668EBF19E1A3BEE48C68B6DA8D8AF2CACFC37F7260B9631 BFD9C4D8B04204E318655F00ECE95185BA2A70F41A0B9FE02405F69B911EC26AAEEFBA08336A CB748C4F2EF98C89BC5A659EEBDFDE0F533EAC1102559040DF07DBBEE4CA7204C5C6CC0C4A2F A4A0459F2D56B02DB6BF4720666E63302326FA5821C4B383E374048FBB9BEFD871411FA4EF55 4C66B1D84FE45856B6A3CA29F0807B2DF2577BB74E34691C3BFBAB37CD02171E7415D99B99A6 7EC855E171BC3FD37C0ADF21E95CC8EC5CC2FFD02397D813CBE09DC77CA2517926B07C6272E7 B13AA52E51D9716406002FCD87D8B1394CC395FDDCDF516F2217D9245070A0A66FE3FB3627E5 79E69BAE9BE1C4F05B5C429FFFDC57528B367680D1326AFE7E2AC90664D8B00AB46015B889B7 AFE99663516268E8CCC7D73CD6CAAD3048C26E17B2CFF9D2A90BD621E725307E5F806809DC30 BFA0512A67E5FF9BA9D89919F42FAE667C4942FF499FD963AA31F6EC6BD13DD1A5CFCBBAD4D9 0503407A8A783199C814C5D64D494987EBFECFA6D872771B17CA4B86620AB7C6F7F3140907C7 751F658AC88EEFE6A11DF86DC2763179F43F0E70C9A2A0AF34D410B93726E0D8D0AA51634529 30A655B18F0762AAE63B6118FB8F15402CB2508B690680C28D717C9ED2F1574C1EE736B6EA4C F3AC3DAEE3800C9DC2E964239050EA9F798C4C221E6669545789EFDCCA1C99681E5F46E080ED 1FF29EBFDADC2A2E052016B05403ED338E30BD2E75D1D0EC8E69A8C5662BF5BF606608CFD000 9EBA439299A1484F4A1B83CE56F771ACCD25F6CDD53F3AD0B10347A5D2807461EA476F99BE42 E7D8ADB4187ACF81D37FD12C5043E89B434D608110B93F62B0DA92CA15C69DE0B2AF8134AB03 4E0E2212056C6CD9F4A8BBE2CCE2739652F2B10B0E3C6823025D34024EE14275767943F2535B DAFD2A48354A3F857B47BE5C261784C9A28CE6D2C8CCDB11F5A1C645D414A66D42C04E44A362 D5348C965AD2821A367B0B4409960AD6AD95675E901047326CCEFD6D5A6ACE1EC38431D5BFBD DA51DEC970E5C9D62D13BDC1DB2D21193023F62820925FAC9D18ED3B70D31D1E6DE644B82589 F566A5E0BD4BBFE8D4458C093BAEF91341B0E5EAC448E117651D951D936E0AAC5C95DF94E2DE 23DA401F456B8B87B06728EEF20B1C1241518B453E1E7A98E0D9DF0D80C13574DF581F1BAD7B DDB6FD8EEBFDD0745D9FDBB7635D52FB980FDEC50730E26E386FD3856D5F523314204C59DE51 78A825925B380AE0CC15BE8F7075D91D3B25BF932966818EB96C8BA078B77046011366A664EC 94F0608C70B7BF5E5064A463941ED70596872027BB9B52D30708571B8B7FEAB86BB78BFB9086 03590951E7A2184F4CA4ECE102B0DB283EFAC4E895F50A3ABC74F709AAF6094E4DDCBE25035F E642D6541F19692A6DE2647226E19D02F03A070ACCEC0283F2B948831978C199B473A989C8FB 56E90CD76DE2D620B0E079B8BF7DB49DB5259F3EB8657D44DCCC4413AE9D8586529297810B4D 6AB61770B6A4794953700D3AAB30D5632103B32C8561216EA7870B7082AC23459AE125BAF8C2 722250A616AB1DECDA20933CC23EDE0CBBF63939532654D72A03EEF34423A929A05B81FE5216 A12CA1D72ACE7F607F1731B9D77E0AB6C939EB454D3B08035F3195E1C30DE06A113D7F59467B AD2AF5EAB05E7C18D72C230009ABD98945D14B98A01027C2A77042FE44B194763744AF4C0EF4 0E56ACBCF0EBE17B89049235F883195F23FD2C99E9B73910EC6D74DAB321F73CB9A0D30E8222 CE4E55CAC430919845B8E5372DE9C78C40DFCDC2672961664FDD7E7ED1C3431FA2CAE688C839 979088A63096AD8FD317F72A3227D980217FCC7A5766D24CB5674431CA72603EF8974ED7712D 72B27D8D9A09A2376A3C4D8FCEEA7DA8530640A2800B59F0940692D6CCE311131E2FAFB22CC1 D78BC29A248E6810354BDA8FE3C5E33950E28C745C931A18631FC2F0BBA2D5346EFCEE2031D2 69126639975EC36876B725A8DF106C67D8A1E01CC199D73D87A5D561DE5316420CF79832D9D1 BE05460F40E4471FE9763B6AFBD4B279B3C5907D1D3E5352DE935E83F9730104026157E6E7C5 79F579B122B34E9C0196DAA6D8069EBDB5417DDEA69A78F67A29D874286F476BF3538B5090E0 0B2B478685D854880221550E5DC8362030C2E4D9296D27E437237E77C8479FCED1DDA6B6BEFC FF3DCEAB0FF6C3CA5182060530E7BC753CD6C253F4B0D0600637D83CF924F46B89102C528D7F E2932F29DE0FB540DA93F7942E570CC68D47395D13B05305FDA1947C4DFC51CA1C85D46ACEF5 1551A2BF333F323122662404841955B4536E307F6617B5AED7C6D2F0485B6FE732A3E1C8BACD 1A461C8CC6464A2792080D3465983FE4CB906142A4F27081009A0A05CF7C920F9B658B42F6D4 B4D598833EADEFF61832DA30F823E66DBAF5C587B5BEE8072AF2A6C2078EA4C61AFFFD11F60E 37FE2EDC0C82E25AAE539DE1D2C7AED6B1F646E55174E0AA5C0869ECA95E8143E6AE9CEB2F54 5E4BB021C67DADC3F069BD74E3BEFCF9E922EAD3B95BDC4890A035CB7B0A3EC2A6F1EE4749A7 357D42AF30E426453864A9358D57D1B627D9684186E8021001DBCF1D05912A3C9F91779A701F D1F25461062579B8F1DA485A977269B43E85A0F884CCB5B0313866061733F8B5C7CB2750223F 36697D98FB9156F4CA6DC3C77500F5E2BD24EE972397DC3B44C7EFD7D4CE7E2A26A104B41045 938190C624A8CE124532EF0D8C30D983CAFFBD5E0A3F2785D70AB7A3E2877D674B0E42193CB2 B7927714CC27E9B41C051BF095BB16CDFD27A1E1FBBE1EC55ECBC27F8B6547A990DCA70C3434 D90EE4EEE407C1EC4A70E5F338FB33AECDB331C819A44C73E1F2E32D985973E57B200D251509 465CF9345695B1FF889E8D4524386D9E4BE7865B20204A851C3F452635FE96A5EE175D9405BB C5B890769BBBFEC3AAB9F676C39ABD15B165195EED75F1A1BC41E208AA717559F64C40B91C42 460A7D2883510F1FFE7536369C4C8570CDC09086CD94B95648A7E368620517DE82E79821695C 9E68FFBF23D2DEBEE114011DF080D8C2D071F1AA93D8FF3BC575D64DEF447C7C4715DD7A7C92 8E38C162285E0C1B9C14F8DDB5B179A3D80C50085E9BB5CF1AC9F9FEB4CA63DE673838A49BB2 67D19E974FD2CB6268D0D00347BC58E604BBAB1D3FB2D5038CA82018171F0BC45A8C76F59BE6 3E04FBFCBB239107B8D847B7673E0368F5F930A5491F4467A24FFDD75531B00873D18BE85710 8B6B92C46EBB11C3058CFA7F81928C9C689DA541444B2FDEF7D09591924314A48867C5F95314 CFCF0BEC2CFF236FA4AD8EE80F6C5CC9D11B02ADCEA4D93FE45F08BAAD35DD1EDE63644E8630 4948114B58AB5B1CB3A9AA1A971D74D827149161CC451C595087D45E0012AA3B84568D564C1E C251A566CA3B1CE29A79F1563C99253DC2010A8D93066E550EED86058A3080DEED8695D35271 4DFF2F49C1EE50B70E2D0361CBC7B87108014E4E24949D8F7B0A8E6D34C7C7968EDA07B075A5 E06DCB1195D69F3707289DE014E51A8C59294D8197C71C08977CFC0D3918AFD70D497C4034C2 9B282FC91A86257F57F9FBED017AEF98B7503EFD40DCD0AF6EE0F9F6F9669CBDB76D6B348AA3 30D794D69FF3E5B17C64D848725A496DA4AFCF47632D2B2A7E113B3534C1F8874DAD5F9652E3 5E1B55C8F18013BD481641455A3BFF6107561E602B41927E2C9140E9CE1AA888E35B53A2783E 159787A0655A82F1DE9252ECFDAE0ACC6C733FE048A4CAD4A3CD0047CD663B73C5BDCF680309 DD661A87E9B06C982E444E2403418496F62C8E953372B384E229BADB583B97010B9E38EF32AB 19CD5F370D9F10ED445A6DDBD0896D009CB8B41E9740E272FCD916C9F7968A22F1C331968468 A1DE0E023B485C6E43D2A5B6FCAA776E8EDAAFCBA4B2D03D832D4CEC193C6951BF7B7CE9AA93 DEAD21D0708842426F9CF10431B3A1661C2A5E01ACC8A4D35FD65C9B9D6BEF4F9021C0F61900 992DD7EC016B9EE153C2D55AB4AA455536CC7503A9086CFAA6AF30AD23AB03C7131CFC8D2F7F DF9F549B9B63BBD8424936E98E2756FB2A8019852F99F542DAB78B09F271BB8309B45732D3AA 98B061D0AC4266B20DCECB8DAA74F90F9D5145E64C8DF6B5D349301AB6611788CE1381A27546 79F4931E1E57DE6E723AF26553C8F19362DA48B5D6BE3AF2FB5B3D8445421FAB4227D20FF107 BC0C215F2F9BC72F121896BE0E9ADAE120A8AE0E15C58FF83438A85DF93FD234DA94EADDE7EF B05E40201057F9241A60D6FB6B4DE9A49135EB7B11FFD0E357DCF9271A101F32859270630FB2 2386A91345FC510D17E3B1EFDFAEC388A6FB39814B90DCDEE9530E06864A3C2C791A2718FA6A 5900A4520BDE40B44C0DD8E62BAF7150918A4D885BF2F7FF570D6CF9D50F813095A6E0A76B1D 4BB6649C0F7B73FA28B13EF83442B812A5D809AF1F501321E9615D222BB8BE89505DE76D6528 03335F8A466D27EE52D0090206B54244C020E4E1D104E5CA339A4D7F38CD112FA42B35394F03 62397A77059E7521B3A8D5CDBD50BB3726839CA17D95125EA9EFD1AEC18B7CF38CDA15C28165 E4D10FD8D997B16B57A9D68111C25B38F149704E15D285B6B3EFDF9A1375334C13D63BF50AB3 6993D7451CBFDE7655BCA3364E6C2E054F19F4FA23CCB64F22F5EA69562F03E77CA265B5FB94 C7A8BBA6A414826A05EDC6C5588BC3080661B6C2B041FE0F0CF45C66931AF69DFA5462CA0F01 413B8D4CEE60A06FAB03EAF16A8DE1EDCC8BFC0A9D5ACD749300B466268F7FE8BACDBEA08D74 98D371852A6CB40964F2C678098DA227DFD914EF2F4587EC2199F3A441FF96916A03DB3DB362 CA99BD6A8B2FE189A444E8991BCFB9AA7BF3CD0ED8F55FF0427EAD09FBF6C9B9864B6847D166 675085C09295FAAC2361D7270E4D7D202DDF89506774265C744C3C74CFDEC75F23851F1D9961 9DF897F2E1416D88BB73C4DE4D7AF4609A33A24032FE7BDD64716804F5FB7F5E6D943D67A72C 2D3380CD11DAFDDCCC52D1577E3F42801A1C2BC852989A985F31F123428D62E4E422077E67B2 9720C7BEAA0CD2D6A1B3296C0011CA1DA764DB0DD6038DCAB552C4764DF3349C35BCAC50A5C3 ED58F5EBF81215127929A168E287843FB068542F4A8E0DA821922E90176F3F200FFCA7BFCD2B CFFD1AC611D3021F2BE43D4200CC0080395F4CFE815161B1EFE4BC86E012018B1AACA3EC178E 41B1324BEEF95F01AE5C7FCBEDD799A0F0673D7988F3098CCEFDD4131B95FE216F37621967CE EED39CFCD0E8ACFF3ED052E10B22EE910304B2C60CA8F1BC2347B886C15D222713EDB2CD0774 8B49AA2A75640AA731A00E9ACF344EBF88EE94FA673A3E26ACBCD30A0F7FE98878DBE4ACD585 16484276D8880EA5335884609E19F843910444D43BB77C64D4F2FDA0C42E71CBDA70D0C49086 A5487E31A9B8EC5399F6D4087EBCBBFE631D6D57583055BDB9A90506A9D7D5F9E298B6989CF1 51227C46A2E0C36AB1E2C91B5130102640B4A41C32D33E7B4D8381525F23CFB27AB236BDFE37 DD2199E0CC951CC6F0BF9CCA0F42AB62242F78A89D9D303837E49D713C28FCE2618573A33C27 2E5E77B8CA385950A24A3ACD3B178730DBD9615868ADAA5838C42A7DB016B81E092827060CF2 3F330FDEDEC7C0AF990F6A3283C294BF824D14CB4FF79A31895A5F35A1B81F90C4465D142FC1 BE27598E49F1CE9185A1F46793FCA94A7D7760C99C31E8D33D640CAB15AEBFDD9A5BD8A520B5 D61CF9F893A0E5EA62D0A459F977559614600E65FCF5E06E9FC93304AF3E4F41D8021E625AED 86C7762894AB6B065F9897624B044C60F194D68C01C7B958D493DDAB54019D0E52AEDF25CAEF 50F2863406B9B04FED44611DA947FFEA887860182454B4C229316656A7C4639C475CC7126435 19CEE03691104AF60A6F5530029585BF62255E7F19B52A5035BF6E70A02E3996F22CBA14177F E5AC5FE4B6C31B8B3EB1A3A5DF45CD6B300B028FBB2F9F7F790B42B37AE8F168CD4302F88D16 FA16ACE7522A50DB92B20A8DE84038BF447E336D00C1BAAF2EBB4348E2ADAA12093241EEFDE1 D7BD8FD415D8449E104CEBD9D9933CD1440C897509632C2787D06D279E08D81D924E3A47337E B29207BA9EBAF4AF52E137F33F2F40ACD7F932AEB8BEC328BD9FC7E20EE4C499522B933F8907 0724BC735179910E0702472BA32F165710AF72F34FE861822409D7A6E1C2E7A040D08CE4D790 E129072EAD4CDBD5C20C1E4D789FF5BB74AED8C721B5A0798D3F879FBC74E73922D5C031F295 98E9C26A67A3261F20C7B5633AB76DC3CDE4535A78D31B615906B326B364DDEFCA3D1279C980 DF1B607327B08EEA8172B879F7B974512A158E9BE93C925EE882D130A30FA3BED0184037C0CA BEE96554D1F4627F5BA4F9740BFAD28252473B2EE7B1CDB35CEFB2A7167159AFBDD8F5C1E110 67112AE4FA45BFCA60FB2138FBD530FF80EC723A7B91EC6399D0A09C010159E0F990BCD6F0E8 A87CA402859E9161BEB1174067EE22264222442524CEB6ADD108CD380773FE7CF53210F311CA C05873A86C384C297D9D7D0D0B9263623B1C96A0D67ED33914BAAD1D5F496B2E335F92C824DD EBACD11BFC8767F8DDF330E82DF1EF978A85E22E6F4F69D7C01B87B2DB876C31406D8ACCEEB5 3355ED66693E71C98B7CA74E8FC4A3D4ED5D7A5A7A0B3A48DA7CAFE8491DCB1DA2B28DECC4F1 DF70CB55FDAA7BE6BAF4C9F656865E84744F437310FF68785C86BC076D325FDAF143E29D71E0 1B1A217CC1EF03BCF42557B293B044AABC8E526E7369EEE789C32559744FE85F3D1DD0B6F243 61C7E98E46866F32AA576C174642DC4BC733CACA810F6BD48F43BB74C5F39B34881B3872DB8B 2BC3E56A51CEFC665D79E810CD26C7DAFB8AA333C68951DB0AAED85B6428478CE4AFFDBFB73E 4A534E177DC5B3386DEBD2D1779DDD361978F8A66B0C2415DA5D7110C9F84212D203B62185A5 2934D48F9167D79EC5383C53164A4E304A9B3FE6E678C632A04E63246C212A5AF2D954E32C09 8AF13AE7B6E24B1C4F1A6E75853522C53BF7B635D1E4722AEA1C8DA241BE48314B9C1C2651F1 936AABEBC986482B997A672F9EBD08F1363562EC76412C17A16356EC2F8B9B9AFBC42ED04AD1 E64A9284D84932E557D8F45C9851373A130467B8F184419BA1CD59D0321B78022736E66B6DAC E7F2DB0464B1608505161C8043F9DC14B8B0222D65BD266FE8548024E49C6DB0495FC7B3C53D A30B45CE76FF49567761F2A2BFBAE2476533A1D06E84A52A72F4D53B8A5A399B8A0F4E7094D5 8DED07D9E3AF6FC7306F311C1B4CCB576874655EDDAA259E8B52B4B16A6D142C8A2719EC7284 DD98624D745BC2BC6155178B97BF9097169239A61A2329E8A0EC84E5F87035F550B28CB69D02 468B6F2E8F32CE0EB7939275BAEA470A92586473BC2584E8F70F1F42D9CB72B3F4A303A81FC5 36C70D3280C356832ED101437ACA7FBA218C1E93A63D54C16644E75BE0F59FC03636A8400039 492831766AED50AEDC061E2100D044229534C6FF8B9D8EE685547D511B8D6D3CB743AE02FF35 F3D095A4F25CE66ADA8B2F574E2CDE7DDE3CD44883C7E2932AAF31B9FE3B06F331DFA2CD3A73 958ADFD29EFE32721123DE67B0793056EE05461CEAAB6678FF32DE6785691D0ACECC89EB20B8 25E5EFA4237EE8570010A4B66D36746E6FB9A12F9D1CEAE577ED14FF9ADDBDD4380B38377489 650F024964C68940793E2AB479716264C96A28A75983579197EB04301A47E2670B2EDED6E6AA DB2E3EBDBD5193580C3006EB00BDBA268D695B8CD084900093C66F65D6B4A2E5E3CB9EBA935E EF0A1C90E72843BE124B24AE09C4FB2F67A3B021B6DB3997F5C2C58AC1CD24265814F25FADAF 56D4019B63EA0867F2A4A746FCA84D008F0FEF1ABD87F662DA534EF59DB37FDC715148D52C2E 4F3D110B8A0C097D6929022F9B4F41411C38EAF4A11DC7B1FF4C5FDEB1DA1DCB2518F464EB16 514C93E1B4BCDAB6A0227A1E2446643FA6181BDA489B726B1C4BA4E1F721CFCF0413F4487DE5 61035C52714824FB8A991AD2BAB5FEC9E342E1BB99602C891BCD505304FDA9A8038FFBB0280F 05E7056DA44E3F726B36DF147DC9F408A5AF2F61040B1D843FE1DA8773AFBBD1399B0EF9C97C E83353E62D78120B176EC5CF579E4A4F6DEB0DC296C18BE1CFB25F5F7F2F7BB8A7F3365A0FC8 D2D4503FFE62288EA33A5D2B6AB492D587451842B6A83BC4EDAB37D90846F111DA5DEE94932F 66D3C6F0C7D515940FE6ED5EF717836F55BE04EE14CCC33E601D5F37ADD307512FF800BC2CD7 2601E97070FB6312700E06908518C8A3BAFDDC2DD4A45F9E57342FE3B5198B860AD1243B1AC4 E00527C8A74397AEB1930FD08D3B0A34612E747F12736C26764163C2F2AD10157DE6A8B0EEFA BC40752FD2F767FC337B4ACB8015C43CF76608B18C79C2E4433DF8CD1B2CE53897F970A615F8 3ECAE566DEA55B366FCA70F3C63CC3AE60FE8807212B0BE4C7418EBFB583A03783C24CD0D299 43E6B02A4569E99E77818A4BCECCB066C5C66DD1AB8121EE933E1FC8042A49ECE66FF1286D77 1D27443D566397349F7DE05CEE81EC4E3E1D803E2C7520153B541E0A1F341F8C0A1EA6E6DF0F F20133EFC4AD274C26C4B41451F78B01FD488453FBD0C4C8C3F11545777A3B9E59560EDDF512 2C376F3F3CB18DC114DDA9633E99F943DF6B5F2C8E077ADDBE9F4ECEC96A5564F2C0B496B10E 3A0C7F1FC197F0248DBF05BFBE63BAE600BD9B82FBBA9A07EF929408DE62EEEAD7032437C635 F7216FDAE5754FAEDDBA1A8F8D9A67FE3065840A7E2D088797FB306E6C6995DCF6901E6F4F1D 925858CE94556488DFC28F2F704D891ECBBE0D83078757AA2ACC890DC6B1C7D59BB21755A3EB AF07BC61F1869C947B5D0640A1662E4FC84D4EBBA1E185FD74740462D1086DC731CFFA325D20 04AAD7BBBD764A157469F11DDA236622F2D14A57C5B0927169173FB347E7DCEE4403DD9B0D93 FF3E82761CF241911FD2783B25DBA8F54CE7B6CBB16E12749A043F9EA634F0741B35B37A6B09 93A763E796336FB33D35318EA517A7E9DE777E0A7015460D68ED2A2C3996D5D374FDBDB88309 FEC4F66FB2EB2D90CADC7435F3757B10AF1B1215F25F093FB26955EA22103BCC82FC7696F112 29B6BEB2BA21D9D415F746A6B18A42D9CC3316388220230F31354953F80786311D2940B42C43 3DEC8F126D91F4F2302F1240D55F132CDFAB90DBDFEBA8E49FBEE19DB7EB90B81D6511E64045 955899B94D6EBE62F7DC06A47C531E52D396DC967B9C39E20D262ED3DC817258202B60F9F33E EA3A37783C74B088107A9B263AC63232D4899C4E5718622B40FAD50EEC80E10ACBFD8D007D2C 41481D91ADB1DE1D17040160BF26BFC090270D539A040B9A8D3EA4A96341721DC1B86F592CCD 3BC1C42672852FF6A9CB6C14CC49B244B5DAE3AF384BD79DF85E8DA20139964D231183262CB5 CFAE5FBE67866AD6F44C185064222337027440979593B346933644B9B9D20922F1BBD7DA15CA 0910790ABEED836845E47C49D2F0F8128908EA81772FA823B830E725B015CC07AD1FDF14B7EA FB78B7EA9B0BFAAEE914837539AF5209C3DDD962215212E055F97BFB1AEA72A91804E87D3EDF 94DD1A6757F1BF7123B99392274A8DFA077CC8932538F776971C8D2E098B07ED29366D94F88C C5B96226CEDC18DDCF91D6FD40E7EBE662045ABF928D30327AAAF4323DB228A88D983A1AE202 ED41A4DAF1EEB2129C629446D0C0269D00B2B68CFCA3650DD0F184513EF5589D6BD041727072 FCAD10F72647F9558D901B80D3159CC6380E43FE53BFF227A0310D1D571F24675579383C5994 FFDE1781E76224197AED6F0D1EEB09AB34C240F3DA63513F7D20E6CC46C61040943A05D9E9C6 3D6FBECF348144246E70F46CA71CB7D050CE254A51D0B2EFFC25BDD6617DF05FAE99B49A593D B19EF6110DBF01579B7AAB8F918CD8B3AFC6A52CDC1F3896257AF1EDDEEAB6E2F082901BDAA1 17D07BF5134F6454FE4D70CD6A14F055435F6C07DAE9DCD2301B9AB692BB2C55226F10024883 15E067FB59BF0862C27AC2CC601B54CBE0E4E36CFACE2BB339D340AAF16E71256299A648ACCE D93CDE98E3904872F121664B5B5DB6A353707749BEBB7ACF97A9D3775543CC34EE3B933676B4 DCCF500B76E674B18DD7DDC11BFFF012DFFE99A9EB564350A0AEA2F90E765E9ED3E6A2D1FEEE D4A0ED77BA3A18808272AF43376D47B738C62B9E59D65008B00AFD4A8012D97C4E322A0BF20F A8647588BE734708031B3FF0673F8DF0C7873ABBC98E6C3EA75253F66CF2B2131D50280AF892 40B5BA40A2EF0BDCDF2355B62FFB1C3026A243528F35B111C80F7C7768D471B600B4714E2336 E76ED013C6A2C1D6ACCB359AD2F9BEE8533DD1570289BCE268D529B85DEB189185DDF400CDD0 384CB10D14DE57BED2F1A504753FA9342412590A3AA059EA9384913831B1CE239F689F5E3778 179194E993D7F233F2DB5FA8E416BB861A2D0773C764F9D30B1AD046266B4BC1ECBD7ABD7450 35C1A20798967099C2D318E2D3395391E5F9D68B9A3E3975183397EB6BD76A8E313CC208CEB9 D759A0592473B515F533238EA720DA3DC56EA09293B20F0C68A7C820783F97CBB7CF064472DC 3F1B518307A54066C851DC3DD57EA8F327ADC8D52A6C2CB848E60DE094F66270D52BA72A989D 898B46631C08300867B8517F2297302374076288D529D37ECF0A66DCD39C5432D9B8C200E92E 0A0DF4E9A75A49D7485EBBF5E2416C051402F6B11E916B02BFBCBFC19C5670C5273953C8CC5D 22364F4EFCF141736FAF79F0E2AA008EA13B52378879B91AD928247175AB5C5532D99CB887D4 97A9397B578516BF7C087F710A4ECDF0522EA79643CAA25A77C42AD6C6FCAE5759E5875652E4 D2A5AD9C205B814C688930865C50C73AAD74F3C1F03845D34CE3B63561A16728DA5147F1FC0A A8D03BF94FFECD0556C1940A3752E44FF07E04D266D317466A801F50D7BF6CEF16FA9C027DC4 8E75EF0CD7B3B168F6B5589D5D50C5CE5C2F0916A8B2011A5EB6108806697508D0E202985F0B CE2CD90AE1BE517ED29A181B907DF261F87ABE40604315DC0AEF297D8F0E2847D2859F96D074 2087864E890CF3C72440EF481F630CC7D82CC4BEA21E8D312EA256EF406420DE7FF76FF3C14E 706CECD2970DAECAA3B96B3C0DDAAB8FE72F99DC0D8809F7AB67BD3AB51EC174567E3B7C8679 7E6F7C46E22ABFE919A5F70279082BE6609B919DBDC50EB4BF01C1DA386B0821FAD2369EDD1C F5CDEB2063F9A0DC033EE15312BC11FA73ABF2CBC15AC252EF8AF0E4CCB3887F9744691EAE27 01B71B6D179D642930DDE788A412E9B93AEFC2A1A3D08489927DCBC8EB014C07774EC976B97A BB64859168358FEA0E66E763025866DAC885C992EDA6F53FD455CEC494B7D76CD1EEB555EA07 71A8607382EA5E934904B64B10258D60470A28478EC03988FC221DC323BCC12247CCE2130129 5C1878C60B523ABBEB9506B0B88B07C77A457140D813A04CB9E0928A309657465244F338BD17 A15CC0960C755C8EB5DF34F0A4E3A1954FDA82040FF5C484E90DA96A618C3659DE9A4320EA63 24E33CF0C76CD5D85A8A51DBD55B016EDB1AC824A814E3E158B1699A98BD927D58834011D09E 423F04523402781F00972C0E399B2F24676E765A812CC6193D65D353C649EC25B92AC1D87484 436F67744A44533296A819362D5FEC42726F242A1C9D898E26949F1B0AD072EB2DBD186DC326 A091830F9311C68AA077914269E26815AF0A65AE44D38146C8DB96401EE0275AB3CA1AB578D8 9FFC880D51E3E2604ABE30E0D536040A81F535607C627D7555C3C5761DA9E4B55106FBDEF4A1 9E2AF9B67E04100D0BA2933B1938251B81B95A16D70A98CE18F2FF9F8075F63261337C79D209 F85799D051C64C3979C06ECB3C0EFF5C4B88A8C41DE0E533CCB38C700D563108BF35216A132E E6B68F14A6F97EC4CF915BE5F9CEDBAB9519BC61D419251A8D6490EA7566C5A2D32B59D5F2BF 3BA354321F38E1F42A7B204AA49B4312AC01C24E668A5DEC5062FA165B08AF954403868B3072 4DA0FA8D96E9E460676469255781EF3DCA04D973F89A224DAA2033683358C90FED5447D95F84 A2D83357F612AAE7CE77B75E049DEF29C58804030AC9DE20FD767097D69DFA818AAEE276B5FF 16F83D143C4560BAC8FB7EC6744D126A9F6ED0F6AF01F776AA27E9215AA76BD6A656FC11B3B9 B325D0476944B4F0319B3B4E4AA9DE1CD69300ED2E711360468602DE6D70858F7264DE7C1E8C 7792ABF5CA3D77242D36819079A429EB1A6F52EED138A3D0581F74948964B639CF4732EF1963 781A27AA4D0E41F9721E760E1D3DD339CFD01C23799846911C47273277D39375D205413F13B9 12548B747E0BC01350EF6BC24E708AAF802DB81DE0F11F5A517DA13A6521401B7EE95E13411E 0250159427D9AF4CED49143FE214FD4C8E60A0827A5402076A70E28BDA9702A4B50A195A5F12 4ADB1DE49B4FF904B1115F9385C0FE5FE698AF968D87DE72CC5A042CE0D77CFFF66DE6492CAE B1EB0956B98975AF882D19AD7BC35477008FF1FB2F16E12B00BA622EA9D36003D003B06E2303 516E37EA86FD6CB6DF3C0C4C88C972667C8EADBB55AF7B1BB5B63616730A34EB3531D754DC6C 761D48C91604EA8BD809F81614AAEA4FBD71EA9275F9BD0CB3247038185621429DF649EE6307 77F35957C6013330333B22390886470EFB75DD46D095232AD56D1AB73B8B285BF0DFCD9F3759 60717C99DCA4E85063EE10804363AD83E034F7096844DD939C8F5AB2B15D8C54E43F0C781919 6EC3EAC50BDCF240730C15E72D20D53D54CD94834504746B7B15614D0E49FA6188685A059372 FFFA9690D6A2585A3C78980ABCF00B7BAE97223A9788C1237DE074ED3376B3E864473AA6C9A8 2C4DECF82832CD4DC440F5F4FC71E71DB79CF6F44A5F5BFB754CA78AC361C60469429C3F2908 E36A20AF935E5B28122027F772687670973BAE148EFD299C362128FFBB4F20EAEB3A4016C257 FE852D86AD98FDCE4452364FDBECA4EFDE760C1C9C1478EC68F3577CBDD741576686229D1E55 44A4E7BA2DBC1326F298941ED25BB0BA240C6E500826F48D57F6261ACBBC3D748DA02641F1CA 59D2AB55F3D4864CF4DDD114A7E76E0CB8206D978B8483B6E47FD0560466F003B5FF85F561F3 01026E0DDD816EEA60B26679192A2C1B4CC3612E0546492750768F838D3764B08201B8807806 D6511B295BCB852D888756AF2306C75EF4EAB2BC2B35C93F88E7EA1CD24B6E1C2E409A9187D0 51C8D98DAC097869AB13ABB7A3EE8A2A883C347F1D4C297C96F193D50327D230205BB1C997F9 AD9C11707B19B49F289B4778A411F22399E401B437394E771E2B94D73BA650D9A1FB7F7733A8 D4E2A10FA2F63863A6692CC612C564F42D8B1DE59146E42CEC5EADD19EF97601D3079827DEB5 44D0C743E56529CED1AF3871F854E5E1DA4FAB5D61A1810808947A3B578A277FC4C85F446AAF 6DFDA767F2B4289F97AED8FA1B03400CC79F6BF98944AF81949C70863684F22CDC2CE61EB07E 4D79CFAC9D088B43FBC0D833F98B03376AAC61674DDEE39A7498F2669D91C26DE5B38EB7BD3B 108DF6A55C0B0B8B73987934657C1FE75AF99247C770D2299A2AC2F56463D0FBEC4586610932 3E41F482826CFD0AC3C09725E88CF849A77FCD001179F02794911B9A3EC4EC492243E5DA11AE D2DE28AADBF3714C017A533BF9B6E80ADE6921D418FA46CA09E66291F4C50A7A60454E02B211 6ED7A53D0FB7C1A7C8FEE48133CC47EC8C9F17C8D5D96DB0CCB07994F0269CCF5E7BA08DE086 63004D2E79DE05DBCB67E4C6408E07AC72DBF35ED62DACF37746111188D1573034D227AAFFDE 9812EC5F32D4B4F1123B93BE2DBBE2C5D92BC24A0AB1047861A2B5C678BA8ACB01C919028196 FA2A9DCF7499582573875ED638744AEFEFC7906847105D94735577BB8B20C0FA7287674E32FA 9471480A21A2DCD6E7686286C30DBA19CB0EDC8D4441097E237C17414A9FCA533E239D8A6DB2 06877E243C149E5A956C803878F529F2AF8FFDEF2796B6F0487BDD3FECF22B8725B9DA6A9FBB 7FFDBFE0770A3E4C4375BCDD8EACE581491954700DECD136525AF7D01EF3776A382E23F510B2 3F2FB4478818811F8485A1EF49350FDF10429D9267D1071361FA53176C9962BC9FC49488289F 93780D38F5980F66328B1A066F723FCB8989A33758CE7A090AF733CAFD292E9068FD39727F1A 563EA7EEF3E29005C3B54C7BFAAD968867D186A5BDEBED92C2E1DE7F4D614C7E7BA10D38CAC6 05FF800FE1F28909B0736B4762707E8DB1E75F1805D41AA9FEEA89F52DFA3E14AFC44E8CC753 8D88CEC3E74FD4DAE424F8D8E5A8742011B39F21F118D550C0B6CEA21E88A605FFA17B8E4462 5D6B2E4C1E4D2B90DA3D4BE844459D3D3BF0272B81D301BB8595033267BAB4902C3D90FAFFCE 743764B1E0D2A4BC64457F1669C6BF72483299C1A6A976E3C5C975D55ACE50FAD15A27693B1A E3713A028EBD33187E9A35B30665A32F8E23B37561D4856683DD2D99FD941524600C5A4075C3 65DEB013DF4561E845877AB16027DDAEC4E543CCCB8127709E0BD78A0D06786DD5AA5E8435AA ABEADB6BA8D93BFC6422DA4D6EB8D6688FBFB85C383FB80325EB7E3C8027E0E3140E9A1EA001 A70958F0D2AAE8D948FEE71B47D8BB5367116180C97DB48F0B6D72ED7951C5D2AD85CEBAEE7D F3A67FE10260FF901CB36249501343484A8E99378287D3017E828CA6A0A7ED377FF3D4863D01 4DD0B81E4BCA76DCB20B243B1884049C54CD3D811F6EE4242BF75CF8E6375769715A21F6F018 E225C5B8DEE383ED36479656B0700A4CD42910116ABD387DE79C542B01B2E966DE3926CAB980 47949B5857604B61CF2C35E02DD94859C6CD3D84B647811ABB297C591F9657A468F7C01C55E7 A6848BCDAD3EA11137959C93BAAFDF79569DCFA3D0554D34A9DD91FDD27C8FE17510070E2A7C 5606CFAF9593B91E347696C937F9ABE7AD3813BDFCADA0844A7875080BCEF9CE30CB5318E26B 37590414941C1C5861440F31F82CFE52DFB5C2E5F70EC8C6B7D3D28F246C6A9A3A3D2A743E37 2809979B43F66A8263036ABF58A3D77B955B8651A490A83498838596D0D9726374763BE85D6C 28E3A1AABE8692B02C9CDD93BD1A7E70FBDB0C48B0AE9B74849BEB4353FCABDA757FC03E313F 89F23083EC01AA2A16F96DD05DC16910F2E58E9EF9054E8952C9474BBB916B894AFC91EBF6AC 5503D3D026AAFD92760B7A8D4FD160D5511ADD7705925B32C194FC86AAABE152EFCDD059811D 66CC3FE59B7AF178FD12F9A9F3B004994C41221AD2876265865D87242EF1EDE53B8313197A7C D59D239A293E0E6A2C3E4DDEEAAE685CB34125D4030398E67F1DE99EAF60F70F72CB18F14BD8 A456BB8845D95E74D9AF94F011CCA1A66F6934FF5AF19ACD5F0DE1AF753598B5B73EDE6BCA2F B7DAA470F6751CACA86789A80BF146D4E55C4FE07E56E673C28457AD4CB41FE9667BE478DCC4 0259CCDE65A93771B8060DCBFFE988F5FA689BCD1D818BDD9E975CAC4922ACB2FCCA08144087 0255C4A1F5E1A600538518EFACFF09945B1140AE65CD51BCABEE1DD9F02D104B196035301454 D88D455BC4906FB4B630323903B7B340A921BE0DD40B5EEE67E2DB724B5DB94F634B51DA8070 A425B229A8F38FAA27EDD0BCDA4171C4453BDDD75C80C59D38D000A0E1A938B9FC9A411B1057 123BD593BC9E94B9FB0A675E1E9FA30786D0B2FBA7503D9291433A81EEF85A544C20D6BBB411 44F67BF7BBACC1629EBD882BF1FB1F371CBD3FC5FB0ABFE3C0DED921C46A782F983A6807B94C 7641CD03F748343E6A9F8D4165A41A4ABE7356C68173A2AD8F01F1DCBDB25DC4499F25E6AC0E D8C060412E3CE35F4D6EB63EE2A5F37D6E59045D3D31C5CA76D7A556F0F7D169BD84008355FA C3A7290C969243C9EB19F3023A329A60B3F8419179DADEA384E5829EC35FDD0A6E287C7B47E6 8EBBB7B2F212B40961FC5D8160BC566C0712D56C27BB3AB011E63D5C8F086F30BF1F38F1E6A1 716FA1A57ED4CE22E37B783E22ED9BA9DA10268A88DCBE8CE83FC905173E143D621FD7C8AD65 5026EF658C0981897D26B6149F510E940309153D0310DB254977C6358BEBDD52B876852FFA16 D638FD9CAADA1B2B3CFCE4668CA1D6A9B7E17768FAFE86D52301D94B317C4C5C0FF293FFA437 160FEBF933635A3DEE76813C122F461C0C086CF7B6D22218B46E20DC9168B9EDBCBCC54C9DB8 D81382544C3B2DDAA4BC8F8301D4342F87C9129EE76E3B19D19198B358649A64CD97564379C9 2DBD9F3BF2F83461A73606DD35C438B2BDFC9232AB362D65F7F200957E129294B6FBCFA77369 DEE6BC2295C5772E26C80D6629401067E2ABD847ADF75EEDF2F23ED260D1625BA262DA871EC6 04ED4B09E693227AEEF56FE1AD183FDC01E7128BF27CE53058724441CB1508D1B38314573B84 0D36CF45E4C79CF9BC0155D8FDFE9798F5B214F393C4311236D83E7C334EB8BE5DCD338837F0 06B8E58433613CA6C865457DE5981A48CCDEB8AE8D1F779B6CF0EFC318CCE90DA3A55574F753 568DB629B5DB2E442B85BEAAC8F7ABBBDA5B7D057EBB1638F91E9C8F3CD4C31A78E8A658254D EC9B30B1B3BED3FCB4677258362448DDEB51FDE97C5362FB908B5A2A43E971E95974D389DAC3 626D7403C6EEC87F9975FF34C520506B910242EEF3858AF95D2033A7654504EE312811FB6B84 4CD32104DEF6B0C0269C4922AE89A4BCFE1F76537C7D255FB88AB1E8DD0D19B9FEEFABA58414 77F4C178A737590DE343FF2F3F6F78903226079EE74C653E72ABFA7F4E2319292F20BC0CC03F A65457311644EB7FD01BC607A8864C86F67F1FF11FA0881A6F50253BA814FF8641F8E7C449CD 5A20C2A66492767D2A5B9C455B4410508804DAFC454A04E24621BEB24C9098CA508543E1E202 C0F5E9681F25D3D95122DD4CAFDBF1708C13EB989F753E38C46B4605C31420F33F80B7190D49 2EA65215F9FCDA923D90DBB2881A1F7B85C7A7ABE8D436BA7C7A95743B0A05DDB02796D44AC3 D6CBA2183C29A102EE0FF23A81B724ACA0B6A02DA31AA07AFFCBAA66268973FD7E2830F5B8BB 9DFF12BEAD9EE1E7EF77E966F4101A544FA9B2603E019C26F40C471F7E0197B221E18E875475 807E6EE6309081BB9256F7221B6B6ED384AD840FB33D7098AC6469485EEA5A6D788E4BC07E3B 24A9619C47351DA760B0959C8015896D58E0E07EEA3EC1A2376F2EDCC34BA3314E9DDA39DAAC 810E2DA2547290D79F6B483A82CF46EE3B41DE189E9EF46070B2870CD1E8CB3C7019B2C93EDE 69B37A5939F7BE8F22CBD56D532860316F4F607EBCB9A3931AC02E7A44C275160E8B574375D9 4CD346CC79A1CE4158DB0E90A727226934B963154FF4F5550509F4B956DCFAD74F0D4F16229C 2FD62BAA41828C437AE3A00F5E1E6420426B7054C1436E8007FC86326C1036606B539F166024 4AC4E2172E281D279532336BCACD45E9CED79853B3A52E0A202CC077105D42D821DA2FBE4141 99A04CD35F6B09E154412C7BCFE4AF6E04754362A220D88076F7E1C6F8BF87C9288AC4DBE820 7C28FC12C84BF01B1C49B65D58308C16C3231C78AAC46C77B2CEB07128ECB792381A79FF1B32 53A18504666C7C368C1349643EBDF2282D945D6CD5DDEB57F78AE5A3A15E6093E6FE20C1EC4A EEE034868C37F78100B114E03BC443079F09C860C00BD93C471FDC04848E18E5AA02002FA8B7 7DA968A4E781895C1A6EFDDA1247D1AC39E4E157375B67FDD03578412BC61F297BC1B363C287 F1A17D193BDED6D525BD24C0C25D34B45B7F72BEB48F9C93A24E774F2533C331B86D09D315F4 0B7214CB635CB4DDF9B15DA4124F7BB80351889A033846BAD31860D51BDC98181536B197E7C3 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: cmti12.pfb %!PS-AdobeFont-1.1: CMTI12 1.0 %%CreationDate: 1991 Aug 18 21:06:53 % 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 (CMTI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMTI12 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 161 /Gamma put dup 162 /Delta put dup 163 /Theta put dup 164 /Lambda put dup 165 /Xi put dup 166 /Pi put dup 167 /Sigma put dup 168 /Upsilon put dup 169 /Phi put dup 170 /Psi put dup 173 /Omega put dup 174 /ff put dup 175 /fi put dup 176 /fl put dup 177 /ffi put dup 178 /ffl put dup 179 /dotlessi put dup 180 /dotlessj put dup 181 /grave put dup 182 /acute put dup 183 /caron put dup 184 /breve put dup 185 /macron put dup 186 /ring put dup 187 /cedilla put dup 188 /germandbls put dup 189 /ae put dup 190 /oe put dup 191 /oslash put dup 192 /AE put dup 193 /OE put dup 194 /Oslash put dup 195 /suppress put dup 196 /dieresis put dup 0 /Gamma put dup 1 /Delta put dup 2 /Theta put dup 3 /Lambda put dup 4 /Xi put dup 5 /Pi put dup 6 /Sigma put dup 7 /Upsilon put dup 8 /Phi put dup 9 /Psi put dup 10 /Omega put dup 11 /ff put dup 12 /fi put dup 13 /fl put dup 14 /ffi put dup 15 /ffl put dup 16 /dotlessi put dup 17 /dotlessj put dup 18 /grave put dup 19 /acute put dup 20 /caron put dup 21 /breve put dup 22 /macron put dup 23 /ring put dup 24 /cedilla put dup 25 /germandbls put dup 26 /ae put dup 27 /oe put dup 28 /oslash put dup 29 /AE put dup 30 /OE put dup 31 /Oslash put dup 32 /suppress put dup 33 /exclam put dup 34 /quotedblright put dup 35 /numbersign put dup 36 /sterling put dup 37 /percent put dup 38 /ampersand put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk 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 60 /exclamdown put dup 61 /equal put dup 62 /questiondown put dup 63 /question 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 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /bracketleft put dup 92 /quotedblleft put dup 93 /bracketright put dup 94 /circumflex put dup 95 /dotaccent put dup 96 /quoteleft 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 dup 124 /emdash put dup 125 /hungarumlaut put dup 126 /tilde put dup 127 /dieresis put dup 128 /suppress put dup 160 /space put readonly def /FontBBox{-36 -251 1103 750}readonly def /UniqueID 5000829 def currentdict end currentfile eexec 9B9C1569015F2C1D2BF560F4C0D52257BACEE583A5C939393E012707B47E0C1FA47D284A1EDC 9D01A497D772BCA8C543388E6DC0D1E2C4944740470E0914F65EFB0737B0851B2BA713A9A00B 36D07DA6BCB52920B9B59EFE587734027A3C5E6566AAD332FE6FBCCED1417802822A3B81D618 7875263D6BBDA04BBCF6E4870FEEAD60F104BB3C5A766610DD11AEA64A6B107B0B04439FA288 8B8CC39232BB83F7695ABA81F0260CD5248B9E649CD803271DC8BB1656323089E9E2BB50F2B9 508887D31DC36E555668D9578B338402F8C259F6813B0B71E6CBD95E19C20CED84952559E475 77E612A4D94DE3C1B4C6C41A6A3FA9E2313457242DE74C7E4C0D722B3E224D18BAA726369542 682E9459B951B2AC638494880C42BE4E2175A3C067E5945BFC1A05D3DE8C3E8AB97F80AB6000 E1F78FC258B85D3C84B038D7D0F5BE850D43FE03E26CDFBB41C36D14CB552E8447CA678EFEA1 D275E85503123A2263B14077587683DE69A8F5A88D666172668411D0D0FED3E037EE46862720 7505DBB359CFDC5D7F526FCA5416D741073284F5DD2471E09F5916F4BFF1A90EEA4D12837731 F6A36E5EA695F4EFC3BF5669B7F60AB606DF5819149C0C8A4817F06DC1720543467645DAEFFE 4457293E0C0407C4EC7857558D0452DE2AC773F141783EDF81B30215AE8D2D062AEB3CB69EB0 D62BF04780997C9C027A22896F456B7843787F2CCDD4804375321E7946D3D254521249A4D28A 360F4D3163912A688C16E80715D0440BD27BB78FCBC89BC28028AAB2F594F8B641E45B9C5991 80B69663EEF003465A2425AA4F8B29DADE493002FB335B23EB145108EF3AB828755D3753EA8D F0683265497B1CB5CB484C13F7A4E003FA6AB3ED5E24FCC6125CEE4E339361223CC907AF3C64 E5AAAD882C356E673E6CA2509A71920E99549D8797E9AF709E514EBEFE61AA0478A60F3A2B7B 3D47542FBD126303E31718E6B9C711D202DFF7AFEB7C19098C9E2A52AA57844EB07E1BFE9067 DBE7D0BCD87C86F4EA099DEB2373EDF149AB7955979E26AD415A5C29C1DFD02B5F0678DC863D 3D6E537AD3B40DA76529DF395597AAD7F22D53ED7E16573CE620E179F10FC8E66D1EEF855B54 27E29A7AEE650C79F4EE340B1BCC4AEF263BBA31C829EFFBD9DF68CE46B8FD90D2800C657891 3801A6C6AA94FF57915592A94E90E1AF40084E4E2D2E46ADA8368B9FC389979AE0115D04BA9D 65580316712E7C10272660EF56C871A467A48A4860E9A33E0D254918ED51A600143FB74B44EA E71B49093D62412A3FC6F5D151143D88D3D4830E53C7F4A2122D857BB58F3E6C42581FC19C9E EFFB9025919286218872108FBE151260020A07BBC32C8C6572DCDD36B99C203249C9BB177EAE 050B37A724AE3FCC3844A822CD7817E9366930A560B68E812A4B426D667141C55EE129CC4021 1C0B666203096F66DA8D632940B7797FAABD1CA58209500A07638DF7E36BD7A917545827E8A5 EF129337DD1C3F42745B5F2C5E6B3D59DF6B7A9A2A8FCE12C5EC095E408E242759154A9AD305 FF4057450EA540FD65AFDCA41E6BB854695178B76EB7E697FC80BF85548DE42AC38B32F60CBC 4AEB8EBF182813D294444C05049C9BCF44776885BF2DFB3B58D8E0E57EE032A811B5BBF678F9 A23960B949D9A0661208EEA653B71B2504360B8AADAF38D6EC93A4B9B0D5CD89B03E635FFE4B AC222F907ADDD5951D50E120D4D0BB79431E4B3BBD28FD3D5BC1EF99DAD6E752BB129A6B2D83 504B8E2D1C35185B5E3CF19FFE0939207881C8DC21A6FD3B51D0A9A94827973CC0B45FEE12CC 9A58A21E31EB5B2648815C62A51E42A215E5BF79864A9921DCFAE5D36EB6F8B95BA685131128 E5C5FF40344348D027F940D05805734FABABB144B06F9547D02A6D8E87B7BE130C3552042D81 7485106B4052CED5854C9E7D0B357E1DDEC48018D695B9643AB184E250BA3AB335000A647DB9 D289BC5E45FAB74682F5E6C1DDF4164AB3B4A6A14FD1578743B09132BEA636C8CC609467B8CE 60F69FC62AB02780261C714C86883979B61D426302395C11881592E12D7D61480299E5BDDB03 DCB74074A9090033462B6AEB9ABE8AC4B54DB19DC717F4AD36187F787ABDE31352706787D397 B75A94883BCF7DF23E28DEE2AFFF2FB867A86927F64E32F2CBFD8420A7C22512B1BA85BD9A49 19ADBA007F8774880D9CE188100DD27713CFD746331D852CEECA0418FEEAF52A80D36395C035 535F65789EACDE31371138A464473343C7AAA43FBB5EEA7838339AEA9676FEDB5C46CEA9F95F 556490486B081D3A1558F776481AF98B011B41E3B03F95259F3840D0B594B5EA50C34B36CF35 8FD51499074194E3E6523A4A5F9FA8B60644B6C8799014D222684D22174EBE6D844AB1EC98B0 A0CD2348EC0F9DCABFA89F452940E7C7A64A1B618F12C66D405710630B790F5E981D8E866F42 761821E3E5B312FD57B40BA5B6AD4374711D099EA6AC83DA343B260F882EBA791D2D46F5CDB4 D0E2EB05699456EDBCF578897AA21214BFE25CCAF98FB0F510DC4F59BC02C5156A179F1826B7 3FC78371D4B274FD9673F26EE3690097F330BBA6B180BBBA9178EA6E1F44C75D6B135BF46FC5 E6DEEE4B05E85220E87F41ADDF98CA43A0065C197E78E1C4367D9EB1536FBF3761640E423B07 A334A304D7CF661F1D44963AA01F8367B4CADBC74CDEF3C392A4B40C501C1ED46F71079E2A2E 71456417B1BF2CEA3966EFCE0E3A37630CD095F9043865C79807E1CDDCDE26CF86ECC990915C D1565DC98E0F1718E5D0072BCC466EE7CB91D7FA2D0CF43A8A679E1772AFE6339015AE908B54 A5C2B7387BBB3841EEFC0A7B3CCE02667F5C693AEB0ED4D3F3AA468FB73207F7F0629DEB11E8 CE7AA974B513F1F585A6ECAC14178FF5D43B2F145CD3E55DA559A4D99B38E1F0C4D27317CEE0 6FFF67860DC7BF3ED108C2F265AF55EEE4F0C47805D17FA64BEFA134F1B2811FCFC0C4CA284D 6EDDED517A24B5F5BD43C987302074170CEF32A62741E14DF5D4A87225A00C077BF46A83BCC2 11133DC4908F37A8C088685D14FB41A2BB7AF251736B2F9C29007ADBB666AD17871A18B8AA00 E9ECBD43D14E00A37160AB0CE5E4228F021A1511590BE7D744055122B14C10D648BC8584D084 C7BA7C30C0E8FD1A3ACA009DEB1EC30B6249D8E11055719550E773F256EC771EBC7DAE9CE33C 5E20B893E6ADBAB077DBAEA00B0819748F94BE4186E59886695C5A959674AFFE9A37C67A73C4 7B7B542D4C3532144853B4EBA32B8822F93791DD04CDD42C7A08030C1458502C17E437274E9A 8E07D6EF7A8F4C52AF616FDC9DC4F37A21D68A55C6335562C21AD84D740092DB40BDB5105DEC 6F96C7B16EA379E567EAE65C91725BA398364729930F7ACE41E38C5AD4B24569FDFBF85F8AE3 F67ABEE9BA800A1F4D1651DAF569152549923BDC7C675D62420413F90A43CD05DBFECD466238 81824E9D43ACE4F25AAD40E5AFE56EE795B10CEB542767BFEA69133AD13129C052BEB759911C 469666A5E45CCCBECF6E17409EDA8A80551F06DBBA9531A1F185DFFA3E9748650A170549F610 BF9C83ACC660C7792B3C5E97D0CBEDF9575E41BA9D6267C4A15E59C547EBDBCA1FEF964C3C7A 5B02D21A657300E564790A7AF59747AC27C71147778706E69D2B76F96C07F5097502887AA141 309E7E80A2668FC0130993B7DBFE2308F8AF10EBF50B709CE22FED9810175850CD0099DAC5D5 0F5FF48093922362E10D53E87D5CA8ACF1CF935AB68BFF13E7C9FFFC27E72AD0CBB7430C6ADB 1359A1E62F311BC135ABE1B932E035BEC035452F57FA88CC68A728FEBB766CDA40EA92C6E6A2 9A4038ACBE167B0B2FE1A7B7FFE017A1672A9D682DB0D92396452815E1DA42E20F16915D1E5D 1721A621F27BDB9FC06480C36B91D7DC3783D4ECBEEB2178F5DB16F1FBAEA5A60F34A223D83C 3A94343D595BA2699BF9AA1B58DAC6E99231D59056B4B97B9F9BA3624D19CF59A90E53A38342 6F4EFA27BF309523269316B523BA2DCE857ACA31C2236D035FF7FEC0C8293AA3FDB0965922C6 791C2A1DFB51FD2D7B35217A77660ADF4A8E57D5698301577941391126C1A896780F13C608A7 3F0F5F547E0EB31A6D7AF3786D49ED25EA28577CD8FCF657307348C67A5549AEDBB01B84D8F9 04A7AE126ED523B59ECEF67B8D2ED236BE2AA0ECEE242DDB08FC92DFCB3974E9E66EE62EC384 340B8EB26D3EAD902EFE9D3735C49F41DD2B2BC66F3AE2CE8426D3E22BB9EDD8EFEFFCC10967 5AE803368EBA6864F76B2A89DC9D329D6A9E4BB23E005DCB8F3088C8CAB2BBE0935D9D9CCDF6 390F63AA287BA698DCAE2A1F60394CF437D7FC679FD312C48918BA7EC148B6E81D97B816938F 4EB8B851F8CD1ACA24A366B22B83F52CBA6538709F24C4511A70FC23F9C8A4B0DB2C89C9F10A 29CA413623E200A5065C7B82DA1C7CD712B6B396BE3851547AE6E9A58087A397DC31ABF7E482 691DE423F907459BEEE041E63C5F0394402FD373C74053B829F208F63A64998BB1A5FF5D16E2 AE3A4FB2684B482ED904AB5F215EF8A7606D71C50EF04C8894176FC38EC937008CB9D0C87A36 567FB91A538AC9364AE5F2F89189169B9C2AE5BC58C44C689B495A3D2CBED341DCD26A50C4E4 9F2B1A13061BEFA4A03D5210F683558ACFAECFE1BE59E4D6436515742E309AC5F4AFF41B387A 83BC9FBEF18216689D805DEDAF6EB973AD8ED7C34EEE98D052E6046B441A42D01D01C91AEC4E 525894A69DAAC2744A95AAB75DDC10B921A1A8D963B39FF8FB913EAA86209939D5F31EFF0556 341A6D9057538BF7A2E4351A9C5BD71239AB73A033F0E8E983FD15219A85E23B687CEFB43488 337C265E465338E715652AAD1E475AC5F2FECDC06B836D805DB03EA6E616B25D8D65878E2A4C 9E3A610972AF607E36C32D5384E5651DBD80563E5B1FE303FDCCD74B9A85FFACA0E79F54D192 144D243A3C6AB9C0911DFF026B71831FA4C8F9B42B3FF24899697B770FAFD39145D371876054 74759B961703D7792CF15BEB9912595B62F7A0DF2485335A02266DF18761812AB431530EFFF5 211C60BCFA533886778D2897B6CB8E4B1EF4851F825CB8975FA143C84E7ABBB6254FB400A740 B0FD0E8CEFBD4F1220465973FA368D31314F2833771B319C3006590CEB96437250A34554D79E 41DB4199F477118FA0A512A1E4B8AABAE6D65A2D432E3402FD76D58FDBB8953E084BC7A09FCC CEABF8948FF0A19C23F980F5F2F3035DE41038E24C8E16199DE79BF93EAF07C6CAE00BC02460 5CCC872D9BDFF370133D4C6508B05EEE0AD3180DA49FDDD31F501AA698D2118DC333F754D1F9 88B7E5DA37D5B7D4FD49F064A57F3793997BA3CE4C70AD538434CFED6DB0BC9C3D721C89DCC8 2BACD186B1760BF4EDBAB085D22BA1D0D542ADD2E53329D2FC24175976D462E1FD1D165ACD34 AC3460346AEA0C867774713CF1290EB80F2DF9A652290FF2013DB6E3F3E6902BD0FC0D87100A D35783290D2241049CB6E72ED7A165E95A44FDC117EC29AA5454AFD640E8F54C4625A75C420F 59FBE270A29ACD29FBF0260FDCCE4E84F54930C2E40FB3FC52616785D753A9269A0CA516DFA0 61869AC968DBC9C1B94EE36DFC63DCE6AEB0DAC1026859AA32175A8B0C53BA0168F3BA4F6C25 642ADBCA8CEC00699A107FFF2C48124877AA182CAE64FBC84217332E0D1508464C085365583C 991F4C20D839AC28ECED2390939A5298237D73319575AABCE6517FACFBF8E7324D516A8FB7F4 D06A2F5DDC503CFEC3E81F911C235EB76C5AA2E8B344BCAB66E8836D239679D464D875A3CA5D 8E6651852510E935AEC959D7F637CA81C98C31BFE22310BAE6CDF4CC3E730E1924A4CED72662 64D4C5A92E58A2A5D40C35FC9AEBC24BA6C363E4278420FF9B12C66775FE664896BFCB5EDA3F 4D54F3E787E243C421C29C3EDC45E4EE10035AD372CD0B39DBAFCB93D2A674196C9DBE53B589 9C44A5BBAB53607AE5A439D05C54AEAEC3B6CC3F1C3D80DDA25D95515857209B21B10FD04C13 F25500107C9A0C73EB39FFCB5B292483E43FEDA6FA3EE90B5BDF6A730C0D5826E5B69DA11803 CAB8D22E0ACCAEF11E657A74795593D7A4CEAAE0F3124D6495AE86F5FC4BFDDB282B34AE1DEF 23C7C39D7E17F0B76E1157B208767155A5B1253AE8031FA7A2F8BFC301F720B38AE3CA183705 7D0F6C461F140E658F1A84308150EC9AC87D8799286CA5B14FC4E26E58A7715AD086EBACB7B2 342706DB9A4C3305580EBE350841F380ED818F99E76564FB7D02ADD7ABBE94A8D0B6F3B487F1 16CCB7D0688E9EBABE2447DF2CD22FC1978865D4F6E3B7E62A0F5F538979E05B0C30955B3153 D691F08D89992598CE94763EE655BF5D0B880EA5BE0E1B20ACFC7CB1C6D6681FADD6973164ED 090A450125734D0A4EFCA9ED1700DC9EAF3E5AC51BC23F82E93304F9F2EFC39E7C6F20AC2493 7C9787D24DBF64478B3DD3D7CD95AC4B20329AB294E2375B98DA08A40AA52473ABEDC8F87BFC 4026215202B9B346B64D108E82355F54382B970CEFDDE552333A4B859AE1DAAA9253E0678B61 7C927354B00376A81532B9CF91F92A9CF06572E857A5EB1BF7A3C6B2C5E4F70E0E4129EA32F2 424B8156FA1C23F9D4ABE6EBC19C10167121381475F3165C446CB02A3375D1D03F710F70033A 9A36FA98034EB266643B0638258BF3E68AAC77277368E3AC8060523CB7226E44A56755E032CF 6427E8CDEAE02AF3609EC49352180D21511E4E8202663D6BA9C9C71F0E4671FD5C67EE1C731D CAC59702431E2843E56545E8488A2D5B6A2952C0A42ADD9E955CC0E65076B80AC229346CCB81 ED89F66F173C6E7991405122B313051C1B57BDCB9C0CA5F0DF4341F9C208348A13ED3325E921 F640D6D757A97CB9F876ED1CF3E9EF329A63E299884F493D2B7591A1C22B8C0DC02A99494563 A356F5F6DE01086B576244961B4A97E2426A0BD3F3484326174A52028991F4D7A323709D5214 41E4C88F5B2C248A6E4C65635F4DF80C84514828D8003864482C7D7B3F3F5E058D0547DC57D4 BC23025FB26FC3B3187BB1723CBF192384FBBB6FB9E22607119909D90F0197461AE16036CF26 EEDF97A64923798DE20474A435F472840D20F5DC6FEA5A74E57425A0C3A232D2495258F1A248 1DE0B3BB1574B66A0771C4710ED50B52851E6543E6775BCC7167191A5B4BACE4F9F2558C1441 40A35C7D418DCF71F4E7ED78B77FA801B26E8AA8644BFBCBC36322C13C0878F82D4BD65E97A3 7E0793D0DE51F16B356709A8B4AD99B7C60C9AE730BB313C4BA566F211A7CB3D77071A9D23F1 9C6D74E13F26EAD2D303CB8504F8A87A3EA6DE8A68C508EC24F1342D5D4D25205CBB02A33C89 3A6E5AC0C68A87FD707A1A66FC6866EF81E72C5228BF83AA0915DBA3CCE2C8BD8688DA7AA0BC 75C1AD0B55D361E09C76379928172B016615BB852BC255E3B59AA0201E039A06430FD61B4641 9A76947CBA155F0406DC9FD46A85C5FFB85B3A7A8900FF217C2126B954B955C0CCAE2F9317C4 A0214DD1E790BF859752045301782D504A7B99D3B4151EB4BA94BE2C8E0FFCE981575BC79F61 B48A7F15325CA51EFA6E103EE825C6D953941B75BDAEA7A7835971C05879CE38214B0F4B5760 3F1DEEE10F29DDC98E4F81753E25CCB14C13837E5D698C6EFB0F5F0AF9AD85DA814D0BD21E14 FAEF4315E0232E4BA30FD54C92E074EE4CF9CEF1BE21967A2CE58A41207FFE97D7E97201DFD5 ED7DC7EA671A4C0826483A4C6260BC07A7FFF2DC97057FC9B6B9F038661459BF7D08211F39DA 5B45768F4A788D7A96654D6B63334322ED63363AEF2D05E7F636DA147F4FD1DDB28A9604D3C6 19990C8761E21D7AF2EA12FD16F7F15B6D5585E70E1AE8D79117E498B3737DE2A3B57E429887 25C53201FD9FBC281709A4044CD8146B7E35A78ACFD56A1331D41DBAC7B1525ECC46AF15571A 7F8897C58675CFF3A354D25008A6FE434DDBB8F6535728EEF46AC8E5C988C972C6F733DEBFCD F85C0DA22B95D579A00F21857D24A30DFEDAA07681624774EE6286DC3126BEC2A840119FE536 27A041F01AC23161D8781BCD1665E3FFB5098202A7DF0071DA5D6243B5E633C86FCB0E8D508F E60A212981284A1949B28FC56B7BAC496302E5B78E96C7A70B528B8B39F69456A5B45456287A 87D05A3F0A99E452EDC03B0C300B1C57FFEFAF08B84284000AC00B912A999814D3F4FEC57AEA 396EA37FBF1B93B823FFE6B0F0632E682D973A6E9B9748E553048831E06BCE15471130A864D0 756C0AE5A835282E82CBF2FD6279D6FEB27E70C2130502B3BAA9EA03EB2F82D0227924C48C18 3CBAF1A19E47C2E30F95A9583ABB31648D919721920A8226D68FD710731239CC87C6FE55B636 46FA4C83A76FEDB07C3A9A1F7DCFD0640AF1F87EC35852D2676E718C05F3B79BA2C858CA4A23 A44F6F47B54E9B717551324DE67B586122647A2EFE0190E4C6E45EE562227D957B5FBF50D2A6 A276CD838767724FB652DEB9A302C6F9699294B0A42FEB641F2C3B70AC49E4A785AF718A2A41 80B28D8CACE9886682B3DE07D326E6D667D4260AC897278F7CCC2D475F9419ECAE9891DE9DFC 66F7E56CFF97273B2F95E8E4F94A6AF0D7EEDDFF3B28750A67B7EB2607019A8EF751616D3131 F30AB3A916A01D4CF666E0DBC585CAC11A5991FCE4010BD6E29B879FE4EC3576F7F3DEDE58DC 72ECCB23820BC4104CAEEFB07CB50054045738E5B595F61172267FC1667837C6047F12F6D3FF A72EDF00F9D6CD62138B55904CC3B04EB1BEAA3FADFD8EFD8C9401F40BA30AAF9796639B7231 3B2E721093C35FC6D1816C6C6EF482EA4B9D12AD95A66FFE5E1789B6D47D8B3E8F7EB016F30A D133C68FE92F1F3533A525027884A2B7E610A732355A8F040A062E078A0733025B21A07DAF94 241345E1AD210DB7BC1C9CBE205EA7F466497E3538D2744007CB9F0AE0B8A77B9021A663C6C5 752F72A930E4B27344AC5210DC678EC876F12B5AF68B4D6EF29A6363EFCF758CA998FB1056EA 763970239A3525BEDAEA2FF4EC6C010BF3EE78F9BC637B2C0C2E44B61F60FDF8C3765DB2874E EAEB33E96DCCB40D6BE4E23DE92D9A43B92D511DF8E115F5423EE0EC119B29CB84F9DC8A672B 9DD4CFDED1415DFA4AEBC752FC423EBA22824C24580ED94B9020377E22822671035CAC986F94 AC37DED8330D96AEC2A0DFA5DCB9701CB716A51DD4DA3BD0E6672AF62E3CDA7B315BF4987F35 BB799E38AE65BEDFC771715C14BEBD62044B8897FF4E65487E127A5E2F17BEEDB091BB74EC71 E00B6EA406E26AD66134B88AD22E90955958ED1FC30BA765ACA07E9A884EC03E279CC5BC6F5A B7F7F59430EB4311DEF81C280BD40A9E9D2EF000AB6640AEA852187DC16C10C14280760AFEF0 B7CABAF66DFCDE966B12F01116207C2160258C3D51CD6E6D98B8F9CADBD1EF4ED1F2A40E101F 18B65D191751403ED3E76B8DD79C1F36682890BFB21EF579ACC04BDEBC963A42EF28E32335BB 479C1715DF60CF172CCA0ACCF512D7CC862711811ABA1F4C05F1A34091936E9464140DC52D70 5521F27DC9E8BD6ADDA6BE8F44202ABD96BD504211741DD775E8FBA9350CDF32749BCF301575 D3CF5E72A4975B63BFFB36AE9225B5697A88762BFB8ECF40C308E8BAA00496BFF0A0C5EB49A2 FC5C105EAFCC9BF9BCEFBCE30DC8F4F5C0BBACB7E1424EF7FE2BCD66A7E3D6EDB382991715BC FDB89D446B8BA50B65EAD594545CD16230C3A555687E78548FBA7D2CDB083F9F1D60C1D342A6 F7720692DD6B113D6A9DA4DE10137F3F9B861AC94C1986A0194B22416F2E14856F04090B6D77 FE855D55611994E29280EDD6A6A9704955546C4786EDE9B1FB795DFE9C16846DEB2EADDB7CAF 9EF4D7E69860641467AF74C814B7D0025673CA75657EAAA2A6CAAAD4B0ACAACBF8E7BB038EE3 75B4A1C9006EB7AE4B6B7ACEE0B9AC08B8C0C92DA887C24675C3D3C03C795DCC48249E4A6DE1 DC6BB7B017D17FBBB4785CAAD47B1ABB226F010409F243BDB87BD65009252A76383FED0C2FCA 1F0B22D636CDF6C9F7C1CAD6CB586B36B37C96DACA5EDFC99CD62155C890FF2F9D4C6D8328A9 94D00F7F397EF1D721C7968089AB1C02EBD4FFCAB2A2B18D24051282879E6A36665285CBD77A F5CF091196FF016941B932D6591BAAAEF59BF444274F119F256872268E0D44728266C6A328D1 E487A4F012F8D64E5E948000E2B3C9FDC606150DDAF84F1FDB4A3BBEDAF7B4198109FB07A3FA 380D2CD0CC7AD1B00FFCC185713C7F6454C7D4F1D597994AF58068A0E91E374417BAB761B50D 85CDF28EBC5C9D655716E9F773EBFA0CA78986A6F1E36D1FD56E9147A4B931F90FAD76A5B0FA 4F0486EF42697D30ABF2395FC4F5887E7C4D881D1E1CA2CE68009201345A89154B9DA0106FA8 3C4800893B09DC178815A5946D5AD4744B5208431BDC948CBED4B7101E0199770673F3052480 6FA0C138F8736098F151BFB8E11BB27BD8C0AD3C9134A7D97D19B80D01C7679135E14CCE06EB 2591C3A2D766D87CECC4E10EFE1321979EA3483B4E59EC2DCB17E5D74764EF373E171165DAAD 067BD850DFA348B4156C354858A5C92CB977F2D74EBDDB5F00AF13E5D71B00227E9F71BAE6CE ABFA5903EC19F5A8079523D02D367F2464FF5FA8EAD439F8C4156802B24A3D9C9C839128C494 B2B0A770F84B8997B2E5345C180361A9AEC4333A4C13903B695B76DAB56D3E7E646405B4BEF6 EF84E03C12B21583E10806A69499161D490A4C080A651CD4B2C993EF6460A9A700CCD49675AF 47C82E0C3BFA42C4A304F762B9012D74FF67E04ACFCC63E805AE47F956F00ED97FE64E848816 9D665873A92817B18A35EBDFF86F70B8A4A9D3128A3990BCE7F1F669444313215DA36C48E666 88FE4D0EFC1AEAAB79A75AC6AD3EB0C8E0FE63FAEA65B637910047F51585EBA914A3FBFCF237 E4BDA274C68AB130997414DADBEDEE06E5639B73E7C647A05325961A180415096E9F3E78EB46 3415E6BFCF3F2C59E8291DAF884031E50F5E0C728B92BF4A6662811AE98FCE8AE11013818E30 8094B5B744FF8D4D0DE6E97186D32E213D722E5A8161781A68314B980F33A98D3B2786B9477A 96E0C08227A935C375F026CC0F6D4D8FAC2F524210AECB5FC644738E59D665854529D529D56A 9495886C65A6D0772824353FA859780BC915F6FF043D76584E12AAE0FC5506A655C0477C957C F912667FE9C0F56884014C277D6CBED655C4B6D74E5A0D79B76C48953F59EED074A556EA9950 12040DBCA633112DBB6EE04084A6F02C01446302C0B573957F01C9321CB44DF93159B0DB9812 D416A007C498F8EEA7F6111A4545FD9D939CA9B9F7429F420DC987653894A289694631F876FB D6FDC9FD7E4403CA259C0DB2D6D284A1209B15B079876ADF780D3697052A3EE0DDC9D2C40AF6 C083C2C1E4428492D9C202350C2B5676C5F9AB59728AD74CA8DF14455238DBEFBF1FEEC973C1 637A960ECF8EE520D3771AA54C152B5492CCFCA1ACC6C59451839BDA03614021508E3AFA6773 77F3E4C1F925075AE70B2D209CFFF720DD2B39854B17B84D1F5F3D733200A51FEF36B9C1D0EF 9A6498D7BBB0189F580AED544AF25CC43CC8395B8FAB26029026FBE13228161D87A495262A20 DC007B9B50498B8EE3258E1C95888B1352AEAEE93C1A235E0B63EBAE450C2B0C680536E65905 B631ABFD01DA521F9226B1486DF4292A6512EEB681AE1F02FA79B69899F7350C2CA35DD9187F E8B20195A625670CC9474451589CE6F936E012C0D6E336EA9527614CCCC3724200DDC3311B61 A58D8E0BE6B900E594833ACE962EB31817587C20186B7CFF2DF7A156BFC43D94CA92DC7892CF 4F1056AB8A33723B7A02647A64B2A8348D795B575845B4149FC7EF04A938D7AEBCC96C89AB8F CA25E5B51B295BEC23AA7A52635E09CE7A497549D1E0FAE5979DBDBB398244518A15A0F26FD2 EDB6D453B39533F6BE90E58CC60F0A9F96C757E9BBD5700CEC75B0CBBBDF3FACEAAD10E2C432 0D5492B3E3B0A129DFF321353382F6F56193D354C5DD5378DC0EDE58590B1A542EA72401727F 50BD70860751F5510E0D7255F04602CC312C247AF79D839FC70793159324A71A079ADBF0A626 CAF73E3AD3F1E603C6BC2075792CD4F60F1B1EA746E64251948137C7A3D3C77A8D118652B58B 45E0AA143788E939BB26EC75F1BD1307FB251BF6610EA89E3244E9436ACE764414DADAEF1EE9 108BAB10A109E9E4E4BAC6F29F06EE48A47B2B18F6C2BB95450E763D07A86D381EEA64637F21 85B1BE08C84C8C1094CBDF4D5BA615C5338247815EADAE422599F2B6AEA13C80D61A87678ECB 14B4B3DB9306C443FC3C1DE1987FCB9817E9B750F18CF6BB552C4E0BAF26D1B5F5074BD37C65 A4EA7671A02B797685CE280EF8BA3BA860D84E882E852EC8DADABF81862AD012F1B3424783F2 92B093BE83C168EFD8EDDC5FC1544F386CB86687A7D5F3817C1EF8C66222193531234B3AB837 22D3E3414C536264250B3DCADE2851C7B168660FE580B538595629A51971CB2AECE2E5B08993 340F3043AA1EAA015F377565F49CB2DCC184E875FB9453922551C5C7C09F718DB10263BD10E2 91BC13CD9C1DB24C390635A47CEBF0A598141358AEA61F752E5A24F8F2A87F449CA95B634610 B6307104FFCAC009B453F1B973F857A06A374DF9D53DCB4401C946CD954FEAD20BD3C40894B9 0C84AC8AC2893488B551525F9E9C3B391857F7E8E5741055812B46591B37D6CC86B748E1E43B A5820017F56B3030B8890920BBBA1BB379A3CCFF1A1FDC45CC58917B77A8D8DA3460437380EC D537366278766AF23CA23F4350D06FBAB8AC44E1A0155EDD285333821BF3601F9B4346ABB9BC D99FF0A54FB7383B1521AA6D72961ABBE3BCC1CEBC0349CEDDD80403C02AC86C4DD9FE32942C 395BE15FDD486C0BBE7FC08E693A14B578684426D936A3AFB3AD0E540A19162E21D54E5FCF94 350D0C999BDA44E80C1CF43AA0E66A85215929978084070447FB6502598DE98172D37D7E26F2 EEB2974A1875265FF77AAD13E5223D957146553296CF2D538E781AF9CCB24E483411E7EB2073 3AF39C0AB35B53E1B9D87EB32E271C3938E27360EC7F128E4F12A28206BC0FECAA0707AF0557 01E3B7A69B2520A52E023FD9C331C9A5600F81059E81188F9A2186B7B2F61C7E579A33537A6D E99C62EC450168071B897393DCBBFB7DA0A8362271D43EBA6411FA85F8C56A71F287F99A3D78 383DD09A9087DF57BE96D1F905D22BB22CA7857674BA482C101516A70015E8B567D1BDE196B7 12422373E93E7132B4ED0F0B0C30A0EA43B3E794E86B468CE5B0B8F6A4B3EECA3694579C052B CF9C07489112CAAF78C411C31F00A7F645ACC28838882732CFA10C1B85350201BE3132EC0578 8893655524519CC783CA451650D9F446ABD31BEDC2C106A1EB0C9852A2D9DE3D528D17DA0EB6 FE1EB7A71459017D3D3E31DBF6B1C316C82AF6140BCC1D5B47B3A65B0CFA95B18E64930185F1 BA0EA68F6772AD1A1F78DDF50C6679960ED95B696E78F140C7A457846ABEED5B99B6156F8CD7 B135C3100B89B2B932ED2581B600FB1A5108DCE22268AD2E6429C28D98EC0548B688EC11633B 845B54236635EA6A794B60A873BFEB7B95B2E639FFFA207C1B843C456A9F8B3F414976E96832 4D8A69EE64298F0CFF22840BE71C9C99FD0C41AAED9CF90CA1B9B3A9E0A4575234E29854917A 71C82006BD7E8581381D9003D5179B48BC7D465C969136F527E7D1644B2C5256F953C4CBFDBB 602744F01FC4D419F54791229D444A3DB4E9B5DEBD6FFBA953FA7503A89278AB664443F2F539 29266C89C52B01CAA07F194930D1A9E92360CEC2D7A74E339C9B34CAC92E60F46875F85AD055 F9A4EF09224388B10AC6FA6EFD772E7C0DAEA4D3B570239D5EAC53DE7BC8AAF8F973DC7F426E 07628F9DD7E12694ED1816107F84176156BAFF94419391459DE679A52FBA3263770D9D96761D 235BD40C2493BDD683A26BAD44D92921EDFF3373EDF779AA0ED583ED13EDB2BED898EEECA25E 7474977D719E2DFA41277B80DDB72B99B38587906EF6E612DC7771F1C7BBB94061BB976B18F7 586DAD6371D0560FBC886276A738FF96F2A7CA080E614DB1982BF720771655DE2F006980245E 9BC69D33D2616E531D99E25E3A33D801910EFF32493D862AE5950744C506208628A23BC1A8B4 6B37EE1438ABBB3A8264A84D00E2F873055BC5E65420CF3CC26712323E5232E688AC87182DFB D45F09441535E310BC12C4D682361E1B10951E67B2884497A8F08A74921D1F506F479A0CD376 4B366073765CA4EF87C17760C1B306F38D56A67B606F99C5939FCAAE430FCDA6F5B2E5D66C97 D8A42D5C5CC60F349840A61C13661E89C6425DC5BE1545CB3F9237641B61EAC04852EB8124DB E419239F1A657FF6B78BAA34AC5FD1CCAE11E0091D8D3DB78C0D2F363EBE73AD8E8E2C828CD8 5E17088687000FE9E3C93D09C8111EBE0072FE02902CC0D2FDD38E3829FE530EA8A374377653 25D8C92D5DF8DCCA2959F4099EDF9FE0D74F5F65007614BD3B4278F831240C2E3D0E36720DB6 0C420032FCFF5B12BC84B1E5D67D55439A4E9D34C00D61B5645A5EF29462483DA7622A508D97 6979F1E05D63BE94D9A98ABDAD8A2F594CF54B35F82EC25E55B449B8C41B9FB4F52AA1809BEC 6A9A4348C78781FFD6D70BAA13738B511577B9EDEF949508705902BC0D3A7183A8F164EBC41D 3425CF929D5309335EFC8715D48D87A77B12B2F3A4923B7C04AB25E10BE19A30B09FE9B9CF01 B33D941430D3F604B1CE833F4C5A57A7C0F0F490CEEF89209E309E0AC617914F250AD92D5EC2 4CC5F61AB1CA776283944D178860F6A0CDBED4A372D7D2F81B8F593E2622150649C698BCDC87 0513C0D35DE30489BD52729006EC90F4C36D9C1AB3BDDC86A0E496DC7D6E70C4EEF9AB5589D8 6E4BE4071E305525C767757EEF8CB386BF60C8009F89A61D1397710305482D8B592FD8C14BBF 050977AE3D055BAFC6007E969CDB3A781D1AAE9F3A6C0D1A9676A2DCFFA204BA415A8B6E0A80 ECBAAD8F66BCF8B318254D6A97B5567AEA11DA4990CAA540CFD5B6D71339A02A3795C0658F65 B3DC2CE7BD0D04BC8483EC9B5EFA8A0C267A76215D969025E5F9AA1ECA245624887EB3767FC3 A8C078EF272168D4363FF026500FA9A4385AACB0AA3BD4C0625B8CF37747974917B6DE9DFDAB 12CE28E0334A1E13757897605F122CB69636E5DC270FB06FE645DDCCE938070438D154557CA8 DAA5E26152C0DF6DFB18971CDDFE72E4ED34AE1AAB50CE4C25849E29FE7FF23A3DCA1B83D95A A95888D0B3648CF1B2458D6BA648FFFA375A427665646AE2A253CAD1EC5E18BA417EB7563699 2C7A9CE295F9EF9D347DB5AFE27620DC6F01085787F118220A6ECFB275DF831BF15BEFA50440 20D9B12CA73C14F6808B85730643C279254DD58EFC56D052EF9278F98E371F90D70022C957A3 516C2B1ECC382A479060B9CD8171F4018C9FAB6EBEFF672DF548CE2DB6B69ABD9379E9727F06 172D317FB20B8DABB3D7BB1BECD48A2A391B6F06A1F187D9AD2FF5C4C196A3BA9A06EFE70550 91D8484384B2A5F464210D31918CF3199A62B980304C842EC38D58B28FC9E86AD4646D8CB986 05395FACD5466EEA5A5134B0A4EFCBEFC903DD43FFB71FFC1A7023909283CDC30470E869C880 76F7BBFE2B589FB454C8CCA8EBE8EB9B91029A21C584FF12B73C9BEFD0E900DA7EA44BE149B1 2A61DD58EC081358853D1B8E67049923991A6D522E2EF3E49B38213FF793F1D3501E726F05EE 274977B2A85DFCF21015E1230903C087FDDC0DB2BB575ED3F39E3E6183DC3C4D676F9BC85C13 FFB59340BCD620ABC83CB8520259A910304FABC5214AACE3CF3EE51F26AB060967947D926447 35697BA9B0C4E95A29A1A2B6885805C28BA9B0A32E831AD471B424F34000EE6227B276DD7C61 CD4D86E7EB57CDD56BBDF83B05CB50DFB481F6FF6E47368C68BC5B848F87C05B47B351F751C3 47553AB989AE7F142DCD6B4EE36709D815DC1884D87506136177A95683E3FBAE4F2CDADE62F3 73DFD932035E19D8E3C48D7328127046A1AFB00C86D987B843D9E964B1EE336E968021B58021 4CFBF75BDAD60EAB426D7B050BB2C06B94A9B282D949521E1F05D2FDE3A1C76D32DA821EE74A 40DCF44D789E1D16D01E71938E8EAA6AE7D560B54A39EE075B7097D8486E11685B4B4B217BC2 D5EDC94835F1C21B525C195B0867295E74907D3B4A17C7BB5D2575D67D1DBCA3531E8C304354 4B2E1BDCD7D189CB15E24D7CDAD278D93A1F78563F98271AC43D5FE70E97F7D6A58D09B4CA4D 66B9FCA79BB0C5F9A392AA3639772D86B7E791BCD0CA0EC31F84DEAE500BC7F4DD18E87EC28C 26783441332596AB1171449C7BD984F5D9AB625B0AA1DDD1901B1B31949ED50BBB375C9EC516 20ED4DCF67E940AF092F8AF207292C78620A6C1E79ED4EEF2EB221FA56C9E86B03D366AE3470 7C9AF924CE88E9B35367AF6ADEDD251070838CBC060BB4E13E2C36C5711D509FEACD91AB7B5F F27F52F38E3CB08A6960D464BE43B7A9EDC0495E954BA17B61569E7363E330EDAFEEB97E52CD 3547FE7EE2334DD0E6E12391A0AF10528D0838991EB56D146B3DC44510B103D64C6B744E7A59 3D138AEAD6637B5D90CB2E636ED90FA3DE9466F1B8EE4FD52B5B11C251D8AAE40EDF89973FD1 C4B7BB02FF78998C84ABDDDE0361D99247E6438BA096CB493E143A64D87AC70208F7129D6BEE 3C1BFCE33D8A4753419170469B794DA18C2CF9C740DCBCD5A53EDB1BC331202FCFD14D17A0C6 E4D93E87F89F73438144E336D51F660515B5EC96CEE519E3BF8215B524C4FFDD076DEAA6AA3B 186D03816393C3CB5EA7C8DBA2D38495C9313D3189C12DA4D1406B10199364F00E29746CA64A 2212048E157452D37F6132495DA884E96410EBA470B41E8F45D28A7D0F7C6198A773D7B9B46D A1DF8B0AB29A21279B17A160CF8F9DFCF4E0FBAB257688C36D3F557C1EA022B50487945E30A6 B7BC8E0BB9587A61D7CB27B0C3A112F873D401F8D72BFE26781BD843CC0A4AC8E77402CBAFFB C2CB17035A13FBAA63F15ABDD353368C727230AB057AC3E2BEF1C0CA64EE7A762CE90F7B5A23 841EC9438D72AB8C37472B0BFDB95DC9FDF2B762D80C7ED1E6BA18498CC6BEFDB8CB21DC4DAB B8B2EE8529C06B35CB1C6BCD49164050964DCA0CD2483D7EEFD50A00177C5B535D92731BC985 53BBD856BBD2E3E6C489AFF9C61D734D1DED5F0C8712941E0F3AEAB0526E22F737D8079633BC 229BD48F46B37DE0979C9CCC0EB09833E61A16A3072F5109F08EA27FE64212DC022C0C7CBF89 FF24F19FFA00C4692F7653BE5D5539A9F6E6F397E64E1F8FC2869803CE87A8C3957F098C916A F144BF0092E0862999C9709BB0BEACF9B516D05FD7D8313FA1AEA224A1E504A50775676C3E8C E0EE1D29AFAABFC950153F596B01B463A72C82E0912E729DCD9E550B77BC3B259818977F7CE5 26F2E90AE0D60286E04DC06A7F8CE7FC4B2F32C7D8FC8274D3D1C6D22B8E883E3D6C9BFE5BCB EBF7E5C31D97691E5CA976A8BE067099D12BECD0896FB579DB905171A529719D4B58EC0F5667 0A9E4D8CFDF7E01941278F0BE6E9D6E9CA3F5A9C6109F0D0051F0818E1D7C5E6125634AD875D 2D4C133E748D8D4E5E5BB00DC9BC05E2CBE352C70049597C92001A3A432370BAFDA075CD5707 1CB21F3D7EFA2718F752E27112C37AA463DC0A18CB6020E8C878D7392B512E0D3311DBC458AC B4D0A3B729391C8A74C4AF0CC998B3C0ECC8F4DA032B1C33FE866F58CC0760F78525F324BBE7 ADE305546F7C115D831972EED810FA08EC3D9E1CA4802B4413AAAA726D90ACF87C8D4C4B69DB 50D65A13B93F90A6FA48918A2C4AC53F31E661304DA6D45CE82C99DB257A24DD2867ECD9970D C2F2C094EFB509ADA6D9A97A360422AFF6F96CF3085AF3FDD1B7DD1EC178A6BEF355275AEAA8 6D9A0653D990042CECA849BE2BB7C545E36E2249521B4904A3F77261AC9A952DB48F95441107 8AE51A09EC09F32E37D26E1B8CEE7DDC12DE900034A728C9B734FA9D40ACCAB87CADEB80D0C1 57A26B33D84A795B3ADEAC798707E2672ACDA8A2DC39C713945B7645CD22F4E85D6FC46EC4C8 411F8054C6B5C32EDA15AE60E2409E560D50C43939C32DB769E18650309776EBC6B85D9082D4 0B25B983FC51F4B53E5C95A25C94262D4BB18ADD0FF11E326A165E633085AFC0E06AAC496F7D 5C7BA7CD2D1BF014884FB544DE5EB417FA60B6C996FC86F58B4B6691C57092665DBD2BF8DFF9 766DDA667AFCC4CF9FDA269033696007D8C0DE525778DDC897A9DF12ED726D0ECF08213795E6 42297FA894D0949F4F076069A7A1922BD5FEED9490D3DD4D67B5DE679484C86889BA40315D38 41C52D492B7DA926B726E656530D45D91231559C0DBF3ECC5C5E80153A95FDBE1D84CA1EE16E F7E0C74B88100DE9A0A4A88BC2608A267B71BC6A24AB88135B2AC1E3FAE6CF6E41C37697D382 60CE6E4130BF03D06479F8DBB07DB115EEA4A5C6E17D7B9D963CAB130BE19E0562B54BEBE4AD 399078BAFDAF2F38647FC58C3A89DDA9153EEC39C686E1178EB434A9765D9B9D03ABBA6626EA 69FDDF98FA4B02742455A75A8ACC740790EB7B4795509DD45D4B20EC969B8224E0255410713B 14E35D65DFBA02DAD7113F0F9CEA361F5C4F9B7E17DDA52A27F582EA841EF97F8369E724B9D6 1E5C46849AD75D1EB81244A8206CAC45DA4B0FE0AEE4752FDDD7118C4A00AC00994C2E1EBE4A 5A67C14BB194D628E29B4BA98E0451F93A302C4417C2D080A7BACBACFAB7A3534DDA906C0F56 0B2EE08123B0B820CC106E6BB2216EFC20299DD8FB072493B5F2EE9534BF33668DAD401BAB59 BD1E5B056BCD6C576A32F6E850A28064A7869CD48B670B4CEB9E89747E2A855D6F7C2C0BBC2A FF76DACAA87ED4E1D60C772645B0F1A27E74AD8ABC5EB119430D9DCC9FAE3A19C130CC44E029 93342C01F9B1F4B575A5A3661E2D04570A8C4ACCA9AABF6C382C7DC77E3D093A2FC13537D849 FB2AB71AEACFEEDA6C26DF872DF294D9400E32F831D9EF6F9913F882FE32A2BE4CAD2630F3B7 E3C885DFC384711045C8F2F48B2334F05E99A23C5CAFE1657336E2B394E5B8294B378608D027 EF64114C8ED63F9E7CBA8626438E6F6917E3C61D11C9EF15F7002DA0F45D5286C0CC35C51AA0 D0EB92DB0D9CFCC26AE5F507856BDDC5062E1051FEFA1B65B53D391216C191F75F248598DF23 4397E914668F087BD9E66A140F9C7F0B44405A43CFB377243C0BE2863F34183C114C77AF1521 4B0A34BEB11F1966ACCBA9C39A1232E02EE065A31543A6D0C7B34F1BC705819F9D18310E27AE 8D78FC85A2B0A0D84677D4189437024A11390EE79DAD2490BDB72878EAA67611A7CA6FCEC81A EC6D2AA1FE69CD999F02B1978345E2290F7A0D900362D8BCC41C004E191DBADC891D22ED1A3F 2E01E51B618D3D6C696AE7B58E24E4FEDF3CD8565D80E4BB73B8326ED588F61E5F4BEFD1C0C6 0A34C15863A04212DEBE126C3834316ED3152F154C70B67898B82DF2767F44325B02D06B4DB6 D7165E1AB603126D74D7E8126931350AA92CC9EE8DD954D4F8878909F8257ABDD304AAEE7F55 3EA9634A6B0852DEEAA1107C5B20F693B26D1CF5CD0E7595BF99F00C1044FE8CE588CC068FB1 4EAAFD210C9175A4E22CB3CF1F39BF939792D98559685BDB008B64902538B30DD73F467B7529 644C912EEECE3726FECB6BB676BA8DB6E1DE3B7EFFB67C974AC7E3783221D071BA767163A1CF F3A3D1A2AE93CDF2D0D8795672673C6BD133928C0BFA8B0E5FDA86792C849BDB2FEF80F2C572 38B6432D321086B9501D308FBD0E83352E87DD774921F1DE6450B445D12C26E1B53B90B57319 9E77188AFB71B6652661C3DC599DEF451AEAB1E1F5BC80DEDCFBEAEBB737D88DCE26C608A48C 999B5F89156DDDD2AD11AF69DA2AD3F0013F76B048CBD40F5F2E0EBA0B5EEE02A5DCD4E85358 08681719B51A8A8C35E6BCD73C062E667ACE67104C04BFE0ED89E189D659C59B9890CE85FD93 1A8B6B226D0E2A7A7DB6108FFC695987FFB5AB9A48BA29654A28130A3A4594AE120B4BBD2280 1D45564D14313F4ED55C4375F6FA6145D27E77C8FB26C86E628C38CED4F3D1344442168E0F48 AC8FA6168A455B63CA9FC42F338D67785A05A7C7BAE31B9999A1F657A9A6A4DF8F391A29734F 890EC67BC6AF7FDDA811E60A0292C450406C202DF8359B1C5BDC194ADCBC50C1690FAAF1E7C6 E1719824BE0DAE3FFA4D23B11AD0D57B5E26320663E33F82EE7AD27332BB38B7F818848C792F 8C7224D74CCDD3A5E351ACA329E7EADA7C736367AE90679BBDA6F75EF74F035E00AE6FB88D0A 9DC9DCA7A80D08224979BF697CB762BE16FA208143262B1A38AD574ABA8F4594BFE28C0339FD BF15D879194EC4FBD7C5C85C7BC2FC2E74B1D27C57974FF5E9B127C55BFE6905E6C62C1C645D C25D30002A2545BD22FC596A52C7328578B136F33AAF7E550D78F4BC358F56BE0C4B79B98FA5 26891E317E9DAE079484476137CF6C12FB4A23542B56F944A6535AFA47E0471476A7ADA9CA1B 3768EF5182E1BF69D89973E2D896C17FB195C2DAF3E8AD8577489B81A8B187F1085D920EFB80 BB4611A1014B2468C585D7C5B0BF313B3EB8C8189D92D9B2BA0BB2491A2F07E498B0B989B150 8060CCB2A93456D23B1B251AF93BF08AE372D7681CEBB25E61FB132F15FF50472542A9CCB0EC D082D53F6FA9DCA549F130106AE79186102693085B1317B0A544F15ECFBA223F481BBB8C5902 71F3A19BEE8EEF58E3B569269696DB7B402AC75F49E46D364067609F63E3B1E92547EB2F9E15 DB78DF453C32D8BA3DCC4EB7A478FC5E8384C3E8D38E96F2DA8760BBCB750BFE7F3B8BC5377C 7277528EF1FFD8F86F4379EED4247672472B90977C7E7C277E90406C1F6A4296732D984DC74B BF3AD15822A1B391D680F6933E13B48238A4C72132D3FA42454E5AFB212D7E9352194BC5003C 972C2BF636CA10893684DBE04E0326A897700AB43FEC4417A817BD9FD0F566DE7AC99D530341 9C76F3A38146EE8EB01F221F17D67A15EA45BA0BBEA5FCC61D2F1128E0DB328FE09EFDDB268B 19684233EACF08585272ECA1700D704541DCC04F5CB4C12CD0448111495F4534355BDE876A63 E76365F371C61C2F8DCD6A6F6C3D76CB9D0C970F0AB0D322BAB6BE15ED81CA9FF433FF026F64 673A7BBA288B14371093310EBCC2C50BC150B3214C0A4A501283202C2256DA021B773F0378A1 97E58C2DAF6F0A1EFB6114AEC62E06E46204C0FD94CE8292133F4942AB5B96DA01E95F6A2496 7F07B7F39B2162522FDCBE074783B20E059C89AD9D48424A16E7FCF1117493EBF56AB888FBF4 8FF85858114EC0CAF00200FE0766A8353F7467AEEEDABF4E8A9914064FBA70030D0EEDA459B6 53F6BC23DA86878DD2CB88C2037B124597771F6FC1CA14EAC1E10376929C7ACA3EB80BE5A002 BC342876D4DC512A06BC6C08AE583C17D29CBDEDC20F0CAF86D950496160130A73D9E61D19DD AB3D4697487A0D5F7900B9CC41E35EEBD68584F0EF162CB32F543C37B1AF6363EA79EBB95677 E92F3E21F41DBA30B7F8AD86357D632BF8CC9570C8908EF37A05933D69C1EC41A85BC548395B B0F5BA278C965E3FDDA9A370E459D4E2D2A52053CC0E30163CAD0E10FBAD6CF57503BBA9CDDF 043DA3CE39BB45BCF815588C3C8DC31CE596E0ACA7995E7DB7C6CBA24F82CFBB98F2500F5E40 EC876915C1014AA2DDFCF0CD0E65F31E62B9587FC0658A978834B7FE07EF4F389588EA6AC79E 87ADA30E9AD037DDE401507E4B206C24674FB354C28D87579C993C2B65E28401FE92962F756F 73848CE82E09623D45AFF687FBBC8FC59906CCB97F1301CF3336D198969EBCFF12787267C917 FE48827BD89D6683335D7A803FA593AB605863A3B4A0C6E01C08E30A2C3A8EF7F7EBC0503E97 AE8D6AA6258E6A5DE5C50586748CE825A45A1562A27E11EECB3BD3B4567A2DEF99B9F11AACA1 70599223302FDF7D79A39D4F84F7490AE271E6C1FD0CA729E506524F5D4FD4BC6EC5D1610B0A 25987782E4D8386048E9BF4F69B44D5FE24E6A963385CC8D6000F90249178555C031B3799C2A 8AE8CE1318EFD9AC148A8DD417BB599CDDC7FFD0F0272FF79A2B28C9C53346C00334C43A707F 2DABDE5957D9C860278E52374D82F50D0C7FB11340A5C00B4DCD2BCDD3E1B912797973C2F4DC 7C26A7679404B2F0E9625AE630DBA097C00A74AFE0DBEA9271D8EA1A811415387B40694B34E1 CF2764171BABC79FE91B7428784661806F8A93C77E0E4932FAEC77F91178A717A09D19716B6A 510A29C642C23939ED9903D0FF0BF8E86E36B7AA1CDBF349DC9F90CF1B9FD3FE7C1B2C6B1EE6 005D1261CB5DEF833F33E1CB28F1EAEC231BA9C8A5EC6E1C0D859D0A25B59C98B2593B1C28B8 48382810F2C103A5B1B8976CF92779D70F497D29AB3CA45D87117AD1302E41C5F0277D27DC47 8AB8607C98A28CA9E7C023F14BFE04054AA7C35E41F13A6E8F1626ADC75B0051598DC70AEE8D 47762CA93929FE046E3646489F9C1E9D3061B78B233C6936180241C2A9EF432B69AC449BB542 9ADB634322FCD46DAEC401B4754C86BBBB537356F114DEA539CBA75BA790C162A7028C6DB89A 9EBB0249D57B38C461DCBEE0E29DE666B476442E39F8DC8558172650CC51D1FE96140E6EFB29 878B661FE7BA9223C2EF9430062208DA80AB3462A869C530FD0034CF29ACE1F70B66F440F479 672C77921D2E077F0F14F59B095CCAC044AFE2528709A46069C9744DD3B3411F43E2587681CC 2627A88CF0CC74C75E53DAA3D8147664B6BE52940D181D8E3278F98F4FFB5FDEA4E163B1D708 5C3E6B49DB4EF8D21186ECC001AC06637B7E563D5D7F8A1E6E40D60C38172C473C08B41D5C00 25E6F385BEBEBA9E1EA4103E22FFDE29D0C07BC712F71D5A2323DBF4A5C8E03D2085DF634F7E A6D2176B1A1215035955C38E6FEB21C34B49238F5EC8EE87FAE7F0DD7356971BA70DC995EE9E 7734BC82D2377DBD29CB387702F14529191E1FBC39B0DF87F1184BA85E30D76AD579C7898038 6263AAE7B1C7C86E918D1E0FAC587914C05CE08AC4FAB5237A0743021213DC4F8B0479EB7B6D 2F124737BC1688CD21E538181C2A5FBC77B83C247BB7BA95822886A0C6262698AEB32D251808 49EF0CEC395309BDF25284C7C6274D6DC68E8DA7070805E3779E16DA859F8352A854F400E729 4F0249EFA1165ADFFA491653E96399837F9198E6E06F2E3445B66DE34E05CDE5DEF443CCD956 65C6491C09EC28CDBAA37B36001C80F224D818E89601DBEED014694A559F794FE9F0F05B4099 844224F39E1AA238F4088FCBA311CCA8AAFEA27AE198434E4A91EEA62F6B80A1BFD3BBA0DE22 EAAFEBAE7A900A3F829B2504C6594F93C63131CB6DD1673A92A89F631ED43BE440DE0831E8FC 834F8E704505F907EC60AFFF505C0C86ED18A97A3FF2087A1B857C7F40312B6C7A8E6B6F14FB 2D0E883C2E13059A1A76C224D815767DCBE129EF22B3D745CA023CC82BDA1270456366CCD7AC 21DAA5BFCC263AEF22F8875E3137DE840B3E46DCEB5F012C1A447914E77C6CE8828A95B15756 803B50BC5B2FC14EBB7E295DC4397EFE71070D0DB7D6C400E93825C8298ABB4ECD36CC919591 68446A653D6ECB45F708A8FE0B728E818CE9BA7C95F0F152C12CB0940B11C28C4AA2D7A99A00 EAF6DA919AA6570F3847BF48EE92BF702C30C4BB1667756EC27A52E87CCB14FA31632FFA97C9 28AE144E84D0B43762F4490876CD844E3199DA8E305DF0247297A442A0103320A083702E5E9F AD14E7F949A42FC762085501C4A33AA01C715AB553C5CE192DB0D2CBEFC4150048156BF4388B E1BFD5249800068AE0C15E2180963630265EBCA0E8D8D23B2483ACAA35652BEED027643DC7B4 4BDEB893D287A0B6264602C7A08BFDE324E8DD739991EB8CAA08BFE763458D2B84C88D2A73FC 3583B6C2700FABF10BF22807682617EF820E17CCFD37141FA8315A014BFAB1FA9DB4123F1553 4C7FDB99200109659467C306B85684D99ACFAF773BAF3F67F81544F6B5F1863A47E99E0F0B61 09F2387B88F87B67FA00F8461E406E1D9115DBE138AD208C084AD40C5AB743D1309F61251823 DAACD1CAEA069694C8E5CF1A95FD307919291772347971A3BDC83ECEBC49D58DDDFBCF610B5B 71EC9551B90323D109E450DEB403DDBE832B60BC23F3E90C4BF749C6F8A27D0245B61B5CD054 C48CB0AA8D6687CC886E9A5466D318B2538AEAB1D9A5CF45A3DCBF985973A56EB2F286192383 5A8A206D17ADDA0CAC8C9349A96444B31ECBE962BC726E2F93592785A5DBD2D53BDD6FA42812 9B3A7E02854E39594EA1160513096A29872CE909916831DEC05409794B7E8466D779E5F4E7EC 5100BAAB13F692EE1640F7519AD40D1ED5E8D8AD557642FFD9ADC03D1C53610BCD90B9E38480 2781121E0B06C54B7677A70627C602B33F79658F7B0924173C022DA111A3CBA030B5A427DBE7 2F99C16217D39CF5B3AB1D8A23D7258991C8E4BAA2C9310D8460A40A79545016122F50482033 FC7861D39C9D00D54589FA419737C85031F6108B68E468515BFFDAB4CD8DF4BF485B7BDD6351 D36582A349642CF7527820FEABEC29CF6A72FC07D7B2978AE3B11C73609F374508BDC3CD8D78 503EB9453554129321072E6E914CFE43BC0AC2AFD8AEAAC043CA59CD5F45EA53484783A9ACA2 1AE3B51F007C352C54F93EA98D5F397A24534B725665E3740059CA1BE0D97639C011A9A29B50 71501365CE056D35204E40664171D5DB5C79CB947FB3B821883632B5A1B5D33479E04032F483 5201E7799621400509E08EB322B60C66A077EE10F9F0E266266069EB355E171D60236086AC0E 96C9C0D59682FE78016BFA1B29126ACCC284A1B02EE2E28761C795A778070EDB774E2628DEA1 CB59E93FC59201DFDA9DFF1835F78B54BA66D580C2F016E0D1ADF5FC4B7B1277AA5A2DC1AC16 266A831F2103DFF558DD073C6D3D5F8D651F6B38E972CDA6C0F7C168BB2B30DBE9C6E09B658C C5F2851FA220A0AC721645A7DCB18EE0562949E1E6EA6466DD55407F84B8F31E8B143B768A29 17B94F400015FBBA3E47847544A280547E97043BD0F1643D191AFB1E4B112624D218B6C224C5 FD0C7B3F06C90C732F240200B6A8757D71649DFDF00ED854D47D5F88C6401160CA9642659862 568AFAB6183ADC9BA2AFD4B5FB5437FD2454B06C6A0A633966F76C80020ADE1DCA47226E77B4 8FADBFC195C9ACCDE52332D3D80D72ED421461544262119D11865725D1315C2AC3610880D201 9ACBAFB575AA0033A7C0D89511FDF99CA3E938C5A9666DAFE32B1D731B6295C40DC7AC1EF762 A4BE77192603917F24015DCF6AE7C80A4EFC24BA5677073FB45A5A23500CADAE9DCE12BA18C0 EB53CE002731873633B69616461F3DEB4883DFD4EFFA5CF4999F94BABCE5F70031E72BDF776E 0ED8F90CC711B5E609C91CF455545BE9F296370145F5A6B37D31291B7E72AA0C5324AF32910D 0B4264F5865AD5E1387D3CDD2627C6CADCC47DBF241FBB277D5AA104C4E2C1C1AE8EEB535076 78E8085CB00FF16C5A3F8896A2FAF373B4EAC86A8AAFB2A6E0D10ACA77BA4E70AF76F8D46199 45CFDF2352156963BF794BBB1589AE0FEF2B1BF9A1CAD2CFE696E5847A464450954220D70427 22DBFF1391F0021D2BEFE11EC6360EBD29DA968F67AF40694AF483D704183ED91A028396FBF8 F90929321275DC14865C3644DECD7855F0B230E18A2143B84EF71F637747F6B7E65AAECF362D 71E45D173CB36E69D9A2C99C0C268A472B61A31CD20D44869797B47E79D0B7410DC661FEE2CD 77275FF6AF1C8CD4F7A77E4505C279F00B37AEC0E0D95E059CD44CDEF71347E00C1F059D931D BE58C71D159B5BB5839D8B9071BDBA7DB127F48113A49B878CB1241F32CB836E990FEBCBF4B7 D132A919CCB64CEC6069E270850FFF1AD68BCA57DD92D96B84C55051527065734B811CC24075 22EE9C80B8B722830BE42166AA4A6FE849221820E5BC9BB207C9726FAD768C69A9436DAEBBEE C983B8A478F4A71174C7C43699469000D70DDF6F96EB92C2130DA55D1DC5B8D31C4A198F772B FFAA2587A78E2F3B56AD71830627AD4D8EB9205A88591D6BB855D58DED40B93C487D2B03D8F1 C265AD6AB52B3FDA924D9306E5A56559626A2755B6A21845928D7106ACA99DB6086775191222 65DBDB92B0C9B9795221F0EEC50AB78D8FB59F3C760C565BB94122D9F28905F0052B764AA3A0 E8E8AB84D58842327CD3553E203DE524D09681EDBA73F34941EE7B4A8F9E4FA6017D9126369E 40F0142A1C63DFAAB7AB2E53E854A0EC13CC123BD218BB43D168E0CB039C1DBE1EF1CB532A4E F69F56A81F3181643464142951E74229552EC68A451EF3C26A28DDE7F3D526B623687C5E578D 9C1266EB837D0B48B4B66DF90F8DB19389569C2BE5A628DA25AE0F970D8E20AEFF75900F886F 0D409CB9A1AEBF76B219C8B51C842192E0E20887C6226B33A22C54271FB5E6EDF38E292C7754 93D328ACD254249B5E7458BCF76533B581C9D873EAEB33500E4E9108C824824431802E857CBD 8423813DF381AB8185D17249C25C8B2803EA507D28BB540CEC4D1484B84ABF4BF6D19A2EB857 2923030344DF18CED2790A51381A8FE2E12BBB678EF995B20B20A1A24A3BC6B3125E1FAB7408 3D9E392546BE64BABB3DDC9367D3533AE746571E8496694A0843EFE8DE8613FD114CFE61DD32 9A6BA387EE4BA77DE214E33778612639E8D13DF8E823690BBE142F9247544C885EFF677C896F D9FE396617F99CFDF1AC190DC605C94333CF98A68D9E001E296E6A41B1E7CD0509DA8B7830E7 F74872393402D570A994AB225124ACDF6B369553AA059202BC9C86742A10418F0FE3BA47EE46 85A99567845E891E20444F14335B444A36EB1414C6CA665A1307C9E973CFE0E5165EBABFE5E1 01DB365730A552E4272337E84240B2A8F107AC7051FEF7BA66EDFBB38FCE586027033F18168D 6521C00902D4F7B94D3EBBE8B352297C0B1CD1B655408C5DA7091A0806AC824DE073131EE8E6 55B50ADB9F4976AEB739EC41E3F8506973DBD57F8FB1B2BA5E371CEBB52BE70238AFC8018E0A 2F7961027AE559FDC8CA4455460C74FB45D3CE3D6E3A31897740E42160A6B673B471724DC9A0 4B017DDD36B13B7B472DF959D7A99EBE0F44C0B1D965F36E92E4C1B5688276162F8F6FBB0886 6415CF9B95C0A4098CE2D1C3BD5594A12B258F0066703933DEEFDC6245E31EEF9DF8FB34A055 8B74B40E50E844E3C1AB9409AE5505DE3E205D3C73C0E031912458625ED1CE23782C80F63D6D 9C2A496F286DD623C65B9977518AA1EA376DEB14B56D789A97068B7058161812DC389FDD7764 F46366ABB6AE23CB15D52DAE64A8CC45F50DBBA3F7C53F05E573534A99C0DD07A85E59C7738D E77CE68855EAD1EAF7C237A450CD7E0AE9B2E79B7B52668344FC13A801E9EDC869201A742495 B25D60373D7C3F3BDDFD27A323BBC6744E853457101FF2CA6C203F2DD058A73CD0DADF6741DA 1F291CB6D3571DE309FDA105843EDEDB053B861343BF28D3B6EA28CE0A40D4AC1E36909FE1F2 0EA2F1CA82B58A399D0B44383CE45C510558DF3784DA0E6BEB31514008E6686F3C572F10A307 A6DD4470A4F95183B65EFE9D20240868176B0ADC166D9EFCBC024833FEAC80FEB2534ED8A2AE 18AEB9C2F41AFAB77A49F2A5815C144B2F0A935E5ADB7001A6D942A16C86B8791B11BD61B482 D523E1201AFE1065ED44F267F1EB3E3009136CBBFCE4A1D9D4AA47426FC2825248941AECDA79 D422F49B54A2B155261F92D9B5B6DC90CE079079DB1D3DFE25A2E85E38CC7418308380E55C68 B899357DBBC45C264D335D1755AE27084BCDF30D9D4C529E354A3A3BA0AD025785E7B437FCA9 BE20B63EADB911FDF0AD6852C47FBE930A0808220C6A6FF74FA7D273D79EC62F7A094957855B 39988939F034DBFC2C3CA7D805D74A4ACCD78F0F426083514039077331C3498A42D363DFF431 270CC42B9257705A29DB6D947ED8A109DB7A22618C6CE037B6214EB306572D607909B4D7A94E 421A0EAB9A3E2A9D60243BBC7490BE86EE7D965CC5E5D4C3B97171B3A739C8AC64AF4AA1BE8D 15DFC97AEF37533FC34F9890C3F3E0D3637E3E671F8800B92072BD486DC38C9B4947BB444799 53D3E6F639E060C12CC2F6E5C183C229DCD7A7F64DC52CAF9604486DECF1643176A938697182 2F8C87E12FC8B82E3B36A3ADBE6FAC908C4AB4219C7A6FA56E46637748F2CFD5EDA5774ADAD2 EE90F2EF55EA6EF8D97FDCCD8FA7A1A1AB6C9F4952F82B25D8C479C4E161218026F00AC227E0 5CC0FD1C664DDE8C2CD0444AD8A35FB5D4D97FEB4C4ADA64EFC2EB1B0558938DE314589C2141 D59B9C1E3264ABEE465AF126C47A3051874EA84B3F4E912CA6146F8E72411B579E5624F0201B 46FD12329234F9EBFA93A439DD073C03957ADC2C83D3B0609CB00BC2A1C52CAD14DCF6855263 7A4D924D73BEF515E6851C49697448160344BA56A9866CBF66CA673A11AF575B97845EE4D2B7 AF9A41D614A026D205CBEA346A3518A856086D0DD33CE0B29A0FD6308DF83B680B575595DA8D 83E2EDF69AD53B81B33C8B7E090B66ADBBD2E0A29570DF9F038EBBCEB5416450111B086B9305 985B53A0AD71979E411BF04F337CB9F1E7DE8C9D8EBBC949FFD7A633202593CF2A3631382BA4 90E26B3F6D28BA3FC07311224B5986C2EF89E3494C1163E2E56ED6F25643B9435904EE236088 B763B753D2EC50EDE130B561DCD7099B9C35C506A97A9327F8E61987CE7524500467EE5FFE9C 0808E94D1CC4C61B77BAEC80E2C78F39D0B40B9F4C4775EE96473F36A20871B04D71909C1D07 EA3F8703A895074CBE3B2ACB3C8EC39C161CEA487DEFF8E4BA2A0202DB23DC94FF0DEFEA93F3 0E9A9478D7BF040A7AFDA4D62BDF91478C3149A6ABFA0DAFC5FD50133549E2DE3B23CDEDF207 C014BDC6E228096B88B1B97985A4AA2175A2FA5FBC0603C82B9B1B8FA56AE13362A6069E7F3D 7AE63A719F7735F0988BAEF66E1ACBC443D0D818E94E5C39E13F241939163711FB9DCB657042 07B5F0585C4FB781B379E600605C2108B3B851EB3D35594CEA47DABEBF4288C11FBB1F12960E C30E9CFD6E9546EA4FF0C1E0C653510FB89342C23146CE4877036739E4F9BF78ABA3FBB255BD C97C4D5E3C188B7D4B6E57F7118EA60C65FFFBFD01E0199401FF9679A3F5B4EC2879893C3E36 FBB6FF65475DD05F72470958517FC5CB1D9790365C1DAEAA94A30BE28625614A6E159E1B8289 30141FE390464C9EAA8A5F00BB5D166BD6E2FFCF1927DB585403170E71817130F543333E2F6D 3C3CE705F130039D489A03FD0A8C17254F02FED20E18DCA5963CFAF009021899FFA1287CCB6E B1F1542B0AD119754EA0B467FA88BE1D8862524186A9DA8F45B05590903B47E9D2BDFA727C1D 552EDA3137B2A869F1EF538EFB3D2EB3A86C2607C9564561FC9F7F396911D8B80A7C68C3640D 0C0D40D606529C4A45F1A333803882AD92FEFE475554D2F2F6545942C9D0ABEBE3818924C843 EE160784BD074188DC83129776291247543E46E4EAA86C5338C8F4BD42F29F41DC7B0000DD1C 6F103126D19342479EFF9DC95366644364D64F08545A915401DC396FEAACEA43BCD848D28990 83F61B6A29B57A1C69F395D8E13D9467B50EAB479213EAACAB4A63F7540DE04FF3C453F22793 94F0ED9C02CF37C5086CFD4A1AE985EA2B625C3ADB1A19912ACB464F21A602FC8525C352CB59 2319F6788A81D9365BFC28F9BCF5521205CABE46F4C4D4E809B133B96C525D9DC9EC4B2D2180 3BFC9D111DE0A816A34024DDEC159A56B51A606D6003209F0826EB878F3A7419C31684AD0C03 AB5C311CCCF3F39D08410ECFB21665C000814E7CBA6E908A6A5FCE8053C80AD3FE66A4DBD5F3 D739ACD083EA08DF194348B730D845644E14B5E8F46A4B471BC1AD6C75C507713D26206ADE05 DDFF35C01275A52E5AFE9568B37F88B6630A03F97AEA6E83DE8F02ECF46F6662E46EE94FB800 14E22DC37BD1EB2F6D7413D228B8E102E4862E8D3575BF351EFA376340F2D6C13F1F2D1C1315 B5A9D1076FF8AED5646F542C18FCCA2FF0078C053B0BA217FDFB1EA093D42F02FE7B473DDA8E 94DD3E56C6199D06AE6CF013F4C10FCEBE1DE72685A3AFD587FF161499CE59826A44FA97E67C A4049A3D1B218E198C6DEA33C17C44B18371B5EEE396ABDA63C25D0C5009F876BFC628F9A527 D77E17119D8D8FE04036320611628398A26798BFF797EAFA0CC87EE0D60F5CE136376B95E669 79AC63024AB3E6D0057426A23E3A9A6A1BE22EDB06F029839CAB34703954EC2B461C0B96C139 CC43DCF3841D4AC51EE7A31E21E99A37822B1FB8445A40CCC4F989D2718750615BAC481E135A AB26EADB7BC5EC43C54A3E4577BE5671A724F6EF165B22BE23F5AA180E1B59F8780CD3F11661 8D030079B90F86A105C740701659A66AB9BFDD07EA9B490EA02A1F2A71AF02D16C9198FD6294 50C9A1FA922445A3D1FBB5154139B88AC03B692EFC98908942C2A7C8191228B190267AD93BE4 2E25319EF0BA2F3D1C7141537FECE5932FC42CABAE1AC1DB635C8ECC378DF25F8BE4EEA6F1E8 9C15D88103F5DC83A894BA97BD3B995A284CC9DED038B119CAB950262A30AABDA69A8F9ACB37 A9B1D54314E4013329FA00607F8B3E4BAC455EAC272E2B99C28A073C7F5C86E45B35BF2F770C 4A2EADE8DDCD6D2D4191D79A8270E6983E639B5949F29B006E76FA2324FEEC1B298F75C9F9F4 62874075097667B3A8BC972A5AD0FD475E2A438537AB3A2AA576571D61181449DF0AFBB453BF 57D8DDF8A84E2E1BED550CD2FA76F50E836AB6261A9422ACEDF72AAE7DABB919C89444F2A913 194C63CC91607ECD8D8AD186E7606AEC4DC898E815794607FE4D02CB1088FCCCD2C10EAC33E7 442E18920E01D5E890B1B03CF3886151BA751DEFA4C610BD408283F20FC0044332E6596666B2 7F28D4C8789926A295DB93F3F30C63A52FE07EC4647524D4E264104427A5769C22561407F35D D549B4E18F6951C1D8DD282B2125B3F1D7B7DC9B3454AE6AF2C9DD49028C5C7B74B89260E2BF DDC4459D7F32D200BDFDE294CA717EC5371F7797559BBDB15F0A4F9FF7918AF9CD7B32624FCA 922C693588BD8A5A8703C87F103C079CDE695A00B09B67EE6BF4033406093B3D357A9671D046 ACDE2FE7CB6208400A07958D2EA3542C6FC4FB179F52957138326F4DED3E030762115D2F2BA0 0408172711AECD2283A4F91D0E3DC2B58BF79F75D59C35A25D0F8E1027D20B093878A5CB2331 AB1A27F06D037D2591ED489F5A2399AE4D8C62254DA4DA78B79AEEDC8C49B6E1ED418AE39AFA 524F5D14ACAFBBD6FCDD8850FE2E515B99053ED7605C2291449396EF6F9D2F9DF705E09D1D9B 56CE38144D7B154EDA60013CB19FE7F5BA68B03E6041AA74171C9786A9F07D3E430BF62D1C90 EEF64CD23C750909D12F765424021CDC34DAD01894C4C9AF98FE1E8C6A6E9601FA94CAEDCCA9 4FD66CD2535DBAE1D5342D77F1C6A91610A7D58A44E68E8F7B49BE03FA3A373DF5937104CE98 48CF996C4638EC85B7FFF2C188B731DB243689B5F6738DF6CF193057352A3996824A350752CA E893BDABB24FDBB9F5A7BC66F33264453F97C79CF91BC60364C36CCF392D670795BA9A877AA4 BCA5A427BF65C9ACBFAB1B7AEB3089CEB4053A35E62170923881ADFBBB3496EE8BC9A6B1E339 B739E186679054497EB769A13593F435B7BBDD79DE5CA645361D7D7DEAAB3A0D9BA5432B2B0B B75A4CBB165CC939D37144979AF867C5C4FF90CC1E8549916EFC926716A67C96CE6A64EB8371 746DA6E532DE105027764FCC32ED5D4B7AE52925F3E02A467FA0C762BA0517D99AF448A76A11 D05073229276FECA12F9BE96DC9AC5CFABD0C12793F30977F938DDC848F646EA1BC5D26514AE 8D983F08696789DCB9E43D516FC1484BFF50D564DB86A284E757AB3A8CF645C3D4246376F77C 564FB9D14BB7B02B3DBCCBB21DA89FE99EBF7CCEE049C71F1FAA96EDF98C3B5770866FDBB3A5 4A9D25AA598A80FB57D005AB9DB35FD560D26BA2AD1D6690AC4F5C9A520DB9F2F8250A61AF6F 1272CA31B638D8049F38DE68933D21549BD2899343F3B7AB59ED7B0D523AC6433595C64781C3 D69306395C2931388AAE561D3C88247CECDE781E9A5C9D89439070537128FA8C60AE30F93583 01171750A7BEB16C72DD049A4DDBD84095D573FDC6CED0BF7AC80389AC3FB2FD67A246353A7A F2B55547E5A6D9981C56C8D9A6673A7802F96FC28003F87A08524F4A5E699AFEC63C0C3B01B8 AEC48CE3BE10651641B50A7FA909AD93047D415673239A4B2FA1951A64928F7EF1F01DE82132 B10463B300A56CD2DD346E090B0F706010A6BFFA23977B7975B405B5A7116EB5B0D7806B9BBA 3AB18FC84A5401E539181EBAABF05CFE0BF110A89D8E21E4E095BA85724A6F7424CEEF706CC8 9B7AD75200ACB1AA82E51ED2E26A22AC670C18E30B091B633F0BF39F033548FA15794D840008 6708FF3430D12031F57BEF86381EB5D73B7C9234F9704FB2D8FF35C6BAE9C14B731B82BF9236 A5F61F7084E62C988F166DEB0CCA1E81649C87B74B2DD29001CE9E08163BC7105EF8A81F25B3 51E4C26907FEB64437C733DA9230B4BDE3D86C02461D3B6F54E6E81DF607A413FAC67E81926E D0F26B65F037EF1B976B2085F07D9DA6183844C211C3CE009A048786E1523F3411B5FB249E05 BE3E321DF31D91B9259BE5C7F30ECDE8B00D895CF5B80B7F25702F870CFA93EB823C674B772D 88BDC0E16400879740B696EF1F20677C6FEFCB83D40644E576E4278C3581BACD65D9752BEE48 E310300CE7CDE3F46D9B454CD553E6EFDC66F8F635E3455AD40ED322FB57378E48FAEE3C8DF2 D308A4E5ACF84B5DBA10ABB5704893227D24A46460EFFB6829C8C88D6D018421AC0EAA052AFB 42A36C74BA18114A7E777D79D861394B3842C06A9621BE2B48A354961910AB5897595B511B5E 52571BE51F340D8C87FF696175A7BE85B394FF8D6AA9D02BD9F244D127C1C32F1954F2F701BA 4C4E160D0A5EE8B969B562890CB91FC65878824B8BED2468ADF66A128A2021A374B637032DC3 C1A5F5CB0A8BE27B4B8CA126F1B20FE5CAF1F8070B5FA3B556A4A6393F141D71498944ADB90F 4C280A518F4C53AFF89F98F3579FB7C83FB8762D2EC98BC89A87EC54A88AF12549E6EB9F70DA 0B11A88D523ED70D766A25A9E2CD5C4961FA876EF1039AC1BBCC0A12AF9A8D7A0336DC7FE18B BFCD0AF1C4D8388CD8D280869BDC2049AA5F2320F9FB42594AEBBAA2A36258AFE74A7CA726C1 D84FB74621B696B6B1818274E7EDBF3819B36E3E406DBE0F96AF9B65165887CDA3F0B7BC74D8 30BCB2927A07EBE4C94A082F3E926BEC1ADFA7BFECA0ADB28EB079F198A691A220F3E4462694 FD8151886D02ACFCFA32A9787C29F728E519DAD43ECEDD478E1AE47F95205F0B0E9C029FB946 EA7E7D7D3A095A53EDF87ED2DA82BAFDEC8A3F7048890AA392F9AA58EF7B07AF3E1BD13351C5 AEB5E3D16A52A1664A3D1EF0007096927C10BD5B99791FA109C708C04D377288C88E82F2138E 8DD885D9A171A7A67331B9D8E90415A19069B67E9143592D92E37F6794786D95DC6C2A761F9B DD3F4010186D01CC24F5A42C4D04DE47AF947CDA4452353316101031957460F408FEC73AD4B8 AE75A3B84B2BAF98867669907FB57581895D30D16F7B2F5DEE055E2EED427E79BF93E1333D94 1A201DDCE3C35B34203946CA0D9B9BD5F6F8281339F1DC617F4C64C14F1800F3ABF6D4F94859 A837E8483E9734F8AD781B7FB576470392CDBC495A628E8DAA5AC4237C3C77395CA3B7B5C0AE 0CC7BD46C2BE19428DF6156F758C0C496CE62BA26C7EFF0A67E6DD575D24F9485A0554876489 4AC55D8A5EF43E69A0CEE3A67559291465C5831D20F8A3170342FF3F54BE5BA08DCBC7D7821B EA3CD7F42464E8871C0A958DE1F5D986BA71DB1BCDC5DD47706AFC590BC614FEBF29DF7A1CE7 ED39EE5904CE9CAD6DB1D979F989F86C165A96C5E5452EA74A7B94D945DFFBC356E4656E9840 2330E3C891CBF488986CE9AAFDE1A9072488C692C5BD68BB30187747E24C2B6A97ADB171BCC2 3B89C4C96871CCC5B966477EE4E7539B8DA60D818A82BDD3B0F6E439B8CC1268310B5B845733 125C9F45E1843B40CBFEBBC75139959C1A8AB379680A1A5C3325C46A36C71A6DE537C8FA7AE5 B31B862A799103A6D9A7627F94E1CF90A4D85861FD3FF3F6EA3DDFCBB9D331D6A0949164AF62 A539F541E5B0C7C2794B3B464AD41ED16082FC07819F7AAB14687D50D41CEE8ADB37F1CED824 F68A14377471B0B050075B15C86EB7A2A91F95C012330ED85C05E0005C1066C6DCB9958CA76A B0C3254779B0467863BF4CBF657630A9FBEA6CE1FBDB22267BCB3E6CAE597645CC46DD456D52 4A797CC20DCF74335276470A6ECA4AFD15F89E9E04D0F4B2178A77A44CDA6E3A31B022E91538 8D31693F3EA93F27C4466FBDB82321B70BFDB02D0CF902CDE4BB054E4349384E7DD74CD0B858 7855ACC13AEE87DDC2D17C5BAB652831AA1CFCC33C8E95F9D04042BE0E1D9A97D862F3ACB360 A5695D1FE0B67C3D0327BA221F8259E0A9F26A13077850CD9AE72EA738E7AE6D4850CBCBD6D4 5B0FA5768226D755E4C88D710560352BACB8DB87C4E4C4F898AC28E7831B65074D15E2FF07FC 759C36E5129D63DFFE69AED8188D32A87274E47E103FE3641B1C1FC7F3A6A4E64B0A674DA19E C1E33CF5F52A12FCFC5B212AC99E52704C9FFA79050EAB66AD8A3C7C1E7289C1E5434526E79B 4B9F83698753BE11982CA0AFA3348A93E29E2892A161C52BFAE55DD362CC0ADE343D5214C42F 09571562C14853BB14B36B6C41485E852AC116F87548150AB94CCCEDFD681AC7DD6301AEDC99 018EED8155A7E766396A240C35CA8F6C34CE0FF64D62E483C0D7DAB9473F83CFC1F2744D0C38 4FA9F76406E6BD41E7D90C29580365A75211A03AE76647908B136EFB1AC6F39F6F1D9677AAFF 0876C9EF1DC4FC657788465EC72E41BC1DE718F26EBEDD92229DC66894CC12A4F8E7BC821166 827D13FF220CC4F4BA1AF659580DAEF1217AEA8DDF2759BE9816328538C9A0CE69DEA55E76EB 1622B5EA626621AD49727D0024C7B59040FF6BDBDFC5D899E4359B1696E5D25DC397A958BF53 76236C350D3429A2385F890E1192E304CA91CEB34C487BD8D79BB18BD7FBA1B162A957B49498 41FA87408ACDD6B2A9925701784D5073BB5EDB45865B8F531DEC3E1327C7F422893F548D1A03 7F1E037F47F08CB8C4F33523C5EDE6300BB737920A5E8D5E13AB1AFCECBEF85B32B77188D9B0 43DEB8D500340000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: cmmi8.pfb %!PS-AdobeFont-1.1: CMMI8 1.100 %%CreationDate: 1996 Jul 23 07:53:54 % 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 (CMMI8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI8 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 161 /Gamma put dup 162 /Delta put dup 163 /Theta put dup 164 /Lambda put dup 165 /Xi put dup 166 /Pi put dup 167 /Sigma put dup 168 /Upsilon put dup 169 /Phi put dup 170 /Psi put dup 173 /Omega put dup 174 /alpha put dup 175 /beta put dup 176 /gamma put dup 177 /delta put dup 178 /epsilon1 put dup 179 /zeta put dup 180 /eta put dup 181 /theta put dup 182 /iota put dup 183 /kappa put dup 184 /lambda put dup 185 /mu put dup 186 /nu put dup 187 /xi put dup 188 /pi put dup 189 /rho put dup 190 /sigma put dup 191 /tau put dup 192 /upsilon put dup 193 /phi put dup 194 /chi put dup 195 /psi put dup 196 /tie put dup 0 /Gamma put dup 1 /Delta put dup 2 /Theta put dup 3 /Lambda put dup 4 /Xi put dup 5 /Pi put dup 6 /Sigma put dup 7 /Upsilon put dup 8 /Phi put dup 9 /Psi put dup 10 /Omega put dup 11 /alpha put dup 12 /beta put dup 13 /gamma put dup 14 /delta put dup 15 /epsilon1 put dup 16 /zeta put dup 17 /eta put dup 18 /theta put dup 19 /iota put dup 20 /kappa put dup 21 /lambda put dup 22 /mu put dup 23 /nu put dup 24 /xi put dup 25 /pi put dup 26 /rho put dup 27 /sigma put dup 28 /tau put dup 29 /upsilon put dup 30 /phi put dup 31 /chi put dup 32 /psi put dup 33 /omega put dup 34 /epsilon put dup 35 /theta1 put dup 36 /pi1 put dup 37 /rho1 put dup 38 /sigma1 put dup 39 /phi1 put dup 40 /arrowlefttophalf put dup 41 /arrowleftbothalf put dup 42 /arrowrighttophalf put dup 43 /arrowrightbothalf put dup 44 /arrowhookleft put dup 45 /arrowhookright put dup 46 /triangleright put dup 47 /triangleleft put dup 48 /zerooldstyle put dup 49 /oneoldstyle put dup 50 /twooldstyle put dup 51 /threeoldstyle put dup 52 /fouroldstyle put dup 53 /fiveoldstyle put dup 54 /sixoldstyle put dup 55 /sevenoldstyle put dup 56 /eightoldstyle put dup 57 /nineoldstyle put dup 58 /period put dup 59 /comma put dup 60 /less put dup 61 /slash put dup 62 /greater put dup 63 /star put dup 64 /partialdiff 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 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /flat put dup 92 /natural put dup 93 /sharp put dup 94 /slurbelow put dup 95 /slurabove put dup 96 /lscript 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 /dotlessi put dup 124 /dotlessj put dup 125 /weierstrass put dup 126 /vector put dup 127 /tie put dup 128 /psi put dup 160 /space put readonly def /FontBBox{-24 -250 1110 750}readonly def /UniqueID 5087383 def currentdict end currentfile eexec 80347982AB3942D930E069A70D0D48311D725E830D1C76FBA12E12486E989C9874C2B527F092 5722787027F44470D484262C360CDFDDDF3657533A57BB16F73048BFBBFCB73A650484015441 FDC837ADD94AC8FBD2022E3EC8F115D4B4BB7B7F15388F22CC6198EFE768BD9FCEB3446EE4A8 DC27D6CD152485384EF5F59381FFDA43F2D20C8FB08AA27AB2015B774DB10DACFDCD33E60F17 8C461553146AB427BDD7DA12534BA078AD3D780414930E72218B3075925CE1192F11FC8530FC D5E3038E3A6A6DB2DCFBAE3B4653E7E02730314E02B54A1E296D2BEF8A79411D9225DAD7B4E6 D6F9CF0688B69BA21193BF1495807E7A196CF14C95A4E02F9CD2DA8CDB2546C6DF52E5247459 92E18D9FF87AA25E4E1800BBE4EBB357C6EF55ED6D036D3A00C1EE8073266C21D2F0AC85D656 ABF61D7E5A4FA87DA8EC3B5329E434D0D2ADAB706B42A2E5331BE5295399D803CCAC03F631F0 1F39A022FCDF63486B687D15EF284A77DEF7FDE4898543E7B5F7EC267756103E477F547CFB8D 2311C4B009DEFF56085F5D419697AF1846C8B88C1BBBAE149F0F19CA3C8DAFE19CEC48FE6B38 357246D8B5CEF80B53BAB4CBBBE8BC8318CC462A4158258F456E697F605886010493F252073E E4E4C9531F23485415AD6BC901BBAEA659EF701F825F4B6D5C9BED0DCE7B63810F906B33EA49 55531CA1ED1FC120CC56DC1E277A33222CC6C3A97552607B865783FAF0895CBECCD0DF54F57B D162A88494768435EDA71A3969718C0C5912D3167BB0971546D733E735AA9BCD89F5AA154656 031AB3F6FE4194EC225AD03AB8B67A9DA43AB365C4DF17C23E79F685C3B6FD5B654E4A6F2603 6CEC3A8641B0B57F93EB95F9E238832AEAC2061F3153E0F375513C974F1C38F7B59EDCC94716 F2862CF71C9A2BE8430985DA1CD813B1E1C1B9310564A2E9BDB8C536DB7CAEB9C37A0693A01D F0045080F8236ECE54DCFA7B743562771F452398100DD95B678B6F190CDEF25DF0E2B10423AE F1D27DFD5B022A0F895423AEBB5034EA52F46B077F2022E28ECFA6137FDD4B13935AC1976960 0B2E0DC86B0A23594675106E26EEA6B5033525C1D79E046EE941C9AD410AD3284092F9FB725D 366EE88A7A4CEAA6CAF2FF6A2C80749780481DB49BF09D5B7DD77CB83ED6C74FE2230076EB41 E5E84C5F714B9CD7AE6B36396BB68C992AC812A85B87DB809BCAC7B8AEBE4FA450F3972A02C9 8CD7E3886F6ECDB7EEC5E4750E0C92DDA7524BC07C2F9B490DDD2745C5E5C11F91238F191C16 3E415712865A87E3C4D9041C83C0A8A053499502E18C3820F9E42B848FA1945B487E843408F6 61F241B4B031522377CCC6037F8F186A11B2109407572BC6A17758172EE6724A3E3A7FA2064D 3757A10084DADD5897EF81BE6BE9F61397B2CEF1E54822D37111253D9AC674EA1B3EA88A5D97 FD4849B21A83A45A0FC5C25871FF71EE70EDF23145F56D4062540EF6ED21FDF96125B78DEDEA 2E1CA95096C3156901717EA706132B78A1E00786B6A87597365C0DF9DC7D352B300C5184B76A B47271153B20D41BA460A4F4982E8A3B4329F0096EC55605C4BBBD73FDB1F62DEAFFBFAC7BA6 B5716BDF2A84E7FA69C28821A1F90D13AB5AEE9F8FB5C3AD28B1089EAD4D3E88BE4D1C157700 6B84D0CD9D3DCABC42D504E08318ECC2A5B59AF00655187E7D310B3DEC996BD60F91F6838033 07F7094CC81B492A28EE42436E264321563159665C9F6BF38BF12BE1823BA5C106A6880A0744 8A419E3D1C660CFCD6630E6E8460520F7F69F53E4C323F4F99616A1F953AA2FF01783C273235 191DBF884B007499301177CB4D967BC717A13C64F4C005BADE5FEC790F4721A35A38C862B931 1EB75E117344A936E509ACA1EECA895D9B26B67FFE820D4B52AAC413444943FD48045C586C76 2AF97082EA7E891F4CD1D3248E42ACF8A1ACDADF02D6866C9562B301C363A3532D2B8D051E40 1D648D67B8BCDEECE8AE3B24F122E104A8EA927144451BA60F083C2B94671B90340DB323AFAF 35C11D61FA61CACD929B91B9B67FB794A72CB99BA76ECBF0618F3B479C7D1C83CF0ACF309E49 589894C9BBE1BDC3CF3BD9A88086C41DF6E4C8ED5F7B724F3F638D65FECED0541993E87607EA CACCF80977DD7F955E303DF2409FB0C5328A92F5FB92C4DCC5CA232ECBDBFEA6EC03F1487EA0 7BAC036E28AFBB8AD36C82CEAC84A4168DB3278C41D483EBCB14789C3DB2B5A6E115D0CDAE92 C32DF9EC4C1FDAF1953E9917317444854B2645086145E06365F2891F5F58F411073E0F4F25FC BE255C67F14B565E5C5555F7A18FB5AFF16D3C10DF69E8D17F214180CF0B40FE2F1E7B31F119 1FCB7B6615D4299A0CA45743F76B41AA8234FBEAA686DFAB4BFAC8490A28F259E124322950F4 1164A4D3D0F3E1901F4180FDDB1EF63EFCBB04AC462AD7F2394F905502A7FF456656460DDCDA 301E2D153C9D35714CBBB84E25EE5411FE12DE30A7D1975C26A01E9574A18EB9B0756D29C56F E9C93D0DA658AF001B8A7724A7E5C5355823F708FD1708D62DA0F4E791DC977B9C8A823DCF4B A8AF0A4C51A581BAF56B1A2E68106089A696E12DD1D87D881698E60DB68F8A7A473FC3EF195B 5AECA56A7692D03F8EE1BE4F595D24186FF1A93E8CF82E9ACBD399F3B0D1EE751EB93FADCB1B 3EC5D4D33CCC2013672C286298E426DB9C748E7525FCD3F9E936CD4267E620D6169577382FB0 CB1B055CF1003EDC44D4F1848230B971E5D1F7A8A950D92673105FD054F431EC868F8B7F0C2D F6CAD1A30CC5A46885CDEDAAD4A389DE970F03708D1935988D448DC8B80250B691AC08AC7712 6A7462E235A40C163606A14F4E153EF075A67875B5DDDB2B735048780302877B4AD2B93064C3 85C61B8921DFB3FA912079CE90A4EBA8F2368FDF26924A04BFEA7F551EC65BB043B89FE998A6 E6E5B30017887AD2AB34034D0F7F7D3E26532393267734F2475028410E68F1A106B43714DC5C 1D1CC9291FC94C4AAE49668421B0F3346810A0EEBE3E2BB4944079B433AF8DD5D49EDED4B10B 8F530CCB272E27E53154936B592379465F2F890B1C15B495706E8C121B17BCC938FF5617714C 58CF6FDDBED98C949FF96CB7DD0BF70364B2F565D3F025854683F346CE05812C1089DEBD17C7 50FB74BB6C087C77E2A1E9E1C6A09585B7CF4F5F409EE014E30C07194391FA554B9EF624FB52 3C514D245F460F6FBB4D60875A3A368C2B6E63463052726794E9E0636BD7239F047BFCE33EF7 94525ADF0B5F16DEEB12CA620DED491A6161C07503DDE543B842A540C9CFF77491EDE3520DE9 B1CF4B575860BA8653983E256AF9601BBE3BE20443C0CC62FA456930D104F76A7B705AFB8B5A 3AEF6C275F8EF285AC83790DB351453EF5B5D2A07D4050CD6C7401152287A25E591E25B66513 EFA8684DED5D36AD7520DB8198A350C941614659405CFA12F73AD2E10200E9BC4E0BA8B8F787 57369F42535B42111A9F6775E6966DA739644AF07A17B7CDE7A03E2B8A3F14AE01865776F592 A317CF87584562F64DFE19B46317CB7FA01B58E5A560DCFF08CA43F9E243ACBB06856D0B70D3 6F1576B1E8378BB8F236230CE5A6E3717611950C939C123A3A6875768C447A59161645E4BB6A EEFE87C150351D15A4D4CEA6C7AC7E060FD85EB81434EB0B655F380056077447117CD473022A C4CBE8422B1CE97DC4B66D280898C9C4B380727E98E0735F63CCFEB139A54854AAB27A005D94 376E162C08B48DC6E1E0639AAF3777E129CF2FD4B4B93AE817553EDCA15C33589D4A35C0D89F 4DB4CF4AD1400FD853E1B5DFE91F7A20ED8E369B545C9331ECB2A39E90CB425995DA9ED2F069 15A229BA9016E0168B3E58AEE80AE760E2BDE915D17217CCD5DB144A9B5EEC057CAECB2C3C0E 712B0E7D863964190F788DCF4C34101F560F18C3B75DA91679656BA9EE0C2DF31B7810E918BF E48B9190CE0B8EA35F1D8AF05B10A27C16252691AF9B5AF4CA62B7EE0449573D7B9D26465C2A BF40DD47415D201FB1164084ABAD77EEE21523E9B115A12F553227696EE8D19AF4F46A34B748 DA1DE8143BA3A9D5F0AEE56D8C2070DF45C0F62E37A26C2DA65C9D4689AB67AC1B2610B2FCCD 4CE71A411FA56325BD2B9FB8E31CD3491DCA1D4994FBA0EA5E08B30F172F9827DEA7C2C7A37B AD7436EFD6D51449195406A4FE36197DD9D896A58C6AB377AF2CF9442A6054E9687C1017B50A 608FA68189E694E1B38E6D8BAE8FADCB16133833BF7E3976EC4BD721F39E00F50971F100AB95 796071EC38E07FE1CBF5B3F0877C0758CC91EA7972C4B46DA775755CFCE62EB3F8BC10234EE5 77459EA528203EAE467B240043891ACBDDEEAA85D00C5447DDEE9D9246DC9457ACB80C70FD4C 1AEE90162DB366D277AE35BCBD1A2AD2B830BA352866AC93AA2C9A23E15906CE132370553E86 4256E47890012502BC8EBFF4EC3570368577626CA74281BDEBC80DD89BA4762361B8D5E43A50 2266234088008D0E5C8663F355185F5F60457C48D0D4A69024FE6AB25107C926B0EEBC1E4B60 19473C8229F4B7AB2A83DCEA90C81F0014C9166327D73EF6D8CAE2671D40066A2D7E2585B4E2 75001ADD5A3AEA5DE8D26A795AA7C17499DFF99F5602D8993E7334842201F469B70A86199987 63A2F89B66F7E1E4A7894FE842DD9074EAF03462A4B7AABA49A6B7AE47E6BDBA6EE5D7B9A495 989263EAB3E81F2E73DE1E5142D342C83DE3669F11DC7FC0E62315140FF9988A37CE5774B891 CE11CC9CB9A4778352731AB4C4DA49689257FC1F8442C6468A01B3730C6E4AF32E56E0DAE8BA 578BF15D916D09C0057A1CB6854C853A1BAC39224A75EB05288259E1DEA6D051AC146CAFD4D3 5C39BA33531E4FBB98DA13C8660F7EA10E654D89A7BFEFF03BA73637A9AD5E5E66D8F8330FD1 2975FBA0933FFBDB20000CE066CFC004A2AF5D5FDEC77282FE6641C032A9C089104A3A2B9CBB 0DE87C67A2A146E32CFD0B1214FE0A3C84D116D82DFBD0CCA285807F039547D4CF63A327C436 97337A51D923B7C6F081528B3E04D0A7D431B5836A826B81C49247B0AF87312605921DC3A9BE 6E1D4CCA9B3A21AAEBE931249BC14EC553BBF853A4A2CDB715BF866C5C04E5D6C9FF999C36E0 CD93FC6AB45BCD6257A63FAB956EA9999A99F001FF7EFB665810C5545055DB26627BB635583F 8CF416257DDCA3B72353B61B4ABD6127FDFEEBFC5CF09161A0952A1DF4FBC59C3C34F088A56F 3D0696C3E24F644E6766FF0862181240CF1CA9DC2B05A3D9B7F0F0ABD54DD46C633CC049AFF1 4A52787C461DBB58A6F7B2874F37B069FC8174C93C185BDC3878C4396476CB1A8F6C54BA48EC 78F9E3F54C6E746CFD4F51443536368B943FB7AEE86FE26C8D1C4CF907149AD4A9CFB4F515E0 2B4A5F8FC24F883179B557452DE61F6A4BFB447150B311E216B8DB2FBC3E9E196B404615A337 829DD12EDCFF850823C18705DA57D398CAF45D68E1640FE6CB3D5D41244F6B447494772688A7 2F50FD25C52485556B23495B8455516ABCCB6DAECA6853352B19E1D3EDC2EBAF9B381A090EC1 7E5B0B8684A4DD7934E89B245B6CB92718D2484A03CBC5E5403A164282D6BEE8FE209DC15300 CAFF39203BE084F60497E813F145CD6888CF3079516B5CCA2EAEC2D58C7422A88F477F2406B4 C32815B4EEE2AA7A6C5F8F9086E9D87F6D29012BDA185D95C3FA7414FE81349114BA98297FBB E19B95E12234F7FDD50C627CB423678A61467C7EEBDFD27D6CB7457D58A189633B9F6D8AE952 39F81BDE87F21B8590671E3F898A76AC6C2698762016058504FC3C4B178F53D8FEB0F6C54E74 F7112CB3D4CAC4BF49DA601409C5DFE5055E441EE34161E6E6900EFA481B5BF3FF9989EE7992 E673A91F9F55F914876680FEDEC9B7E59DA2ABB649C6D694B3EB5957E19C6311D4C8F99F6B41 B562B699EE9917C0B42322D0868C64B61058A2DB2DDA9EBA015C466D1A81A6658FC6EAF00656 FE0079CCCCCCD498B66036A50894D37339B87CCE3054CB9FE42E02BEDA2C9AD3F57B16A2B6D8 FE81CC9559AB89F718EEC1C1E3E2CA102CD4C46EC0FA214D5A019392CE61E6F7C96FDCE82E0F C0E17A2B6687AFDD905FE6D74A1D3CDD1EA1E17289FB9E9F6417257F26F96F66378D08733F0B D609ABF4E687A297C442D5C8404713C73B7E0320F3E30744A0D4C8F1A70494731C0E8175971A A9AED8BEE0CF0F76130F535E9709E214E7146ED8DA74439E4835E35172CBC9C3F5434051143A A9DC3C22FD4DB37E9C44A25A6AA7A645FFD79CFA631F2756A538043FA6703211A16280E2669C 4CE0C04756341BC07208A9B1D03054893BE713A35FFCCC98CFB5162766E56C07A0CE9A8CE9A5 2B9F3EC0B3D66F3A2DEEE7C9A1FC7EC5AAB6E3C5C26015E5F856985F83A237D30193A2191748 132C81E4EC4EA4A8484B4E02379715DAEBE30E3E5FD7B0425F1BE0A447174A9C2F0E30D16E9F 70A863023D165AD87414D7AC27A6CBE1B899023B705ACE1CD24EB3B14A8FF4E8DF153E4A4FCF E141CE42B8C90CD5CB5D15F8BE4ECC1549BCC81C185CE0F5E1435FE426EE1C937F122CE1B0D1 3F65D4111CB080422D8A929EA3597AF86C31DE61F514EEC975B2D6367EDACF64014916256D3C 4406754080BA4C982F5F736FA49B03CB75848B7C01A80AF2699FAA1B44AA2617B6064B8978B5 F4EC53BE7FC5BAD83F30AA88A7DF4B65516883AEEFE6EAC9A6A0A895A4545DA55A0F25F34A1F F7AAA2C8B92AD133A12C780BE16DD13D64174D93E3FDAF081290FCED4CF1844CF32F4A170B58 4F628834635E6E0A491CC69882E155AA7C857749FB4C8A7DE625772702644C8ACC4F32D66FAF 4926BE9460091D1C38651B328B168EEB2A938E01ADFF8BF6D0D6EE32746C4F08A61D66AD40AE BC967729B3283BCD60195F4F7FD40CF06C278CD345D6837918E48A333DC099721CCBD40FC8C1 C71E2A35F0A5C53AEB290015E75C3820F73CCAD88E9F7CDDC1644025570E2BDA8660CF1A6637 2341D40169F6D00E208D5DDBC2ABCB7B485F4CEB8083A5598DFAA64B5740C2E7B3FE830E1E3A AAE4C0DCDA2AD14C5DD5D89D2C37EFFF592CF84D951E6CADACE8A2FAAE799A9284805F843288 147E7F8EEA50AAEFC280052971ED4CDEF14CEDED125D5D92DE66D34810AA65783819C97F7561 EBA49576EDC1DD2A8B4A2338D91C8207C49BAE526566F6E56A1A4E00D07209F3C79C706726AF FD231869A18B834EB7C95A32552A5E2CD1B7C99720BE9D8DCC18D7772AB7EAFAEB7F7FE46DDB F1A5731C3F94AD158D8F30AE9EA0F6D45E560BAF538550FB6CDEC0C191C0E54141981D2EDA95 22B83E3617A6F57CADE6CECCA233E47EA3806C23CA4AC9A98F12AD7F414B498A96898C297445 711ED46A990A8EF412EC97231EFA6BD36A3003E0562E4F4884CB5EB15F4A76BA7F6321D4EE88 BF0013734CAA1A638555B2B4EDB34F762CF514A76B0667A9569FF862F18868174A989842704D AEA558E9C6BBAE69F5172374B183139681E1D540DE08E0CE365385B3DB3BD7872D107C6C3EFB 72C1193F06FDE5144763533C58C9C29ED0A6C881282A9F712FDB219DD243B8930F977F3E1A65 8400308DF7D53BF3829780BB9D93C6615B675130C8B5976B1913566F47E4112A3E4D5DFB99CF 07DE8A5912F2FB97D4312AEA212797BB82022EB1A68E23898D4903A2CB848CABE2807B3DE9EF 64D49C50D007B0722BE8A294D87E2A00CB078B9A66B70B5518555961C226EC45E847C8B378C2 7E1122DE06B64ECD2342609CAE2CDF8BFE31F6BF8CB165046A21B776E453FF1E2025C293A698 42723B75E2255042D873F7B558263E3238D6F80B41868039559F3F7077A9C8D72C12AD911192 3E0112EAC5CE4C766B95CE5DFC26C59EDEEF9479A6A536CCE3CE644185E62702A8EE0D816199 B08331F0C818F8699D5A3AD6FFEF80D739F7A3E7183E021665DE716EE98632AF465EE621AD75 2A325E684234FFAF67EA765080657F9178D26B053A2217B9A210B00827291A4A96D03AAB28F2 AD8F7A24DED288DAB40E65EFF496DAC43ECD452D31F4A117BAD0E093D1E431FA39F346F5CA4A 97EFDBAB177CFDC2AB3EC7A0BF9BB4EE43FB05777469D044D3541AFF4B0D2B17B59C9B549F4B A05D4BA420C4E4B06C787099FF49B6C0BB02A5DDDDC6275E656E5929FCCBA301635DC74F89BF 528829086676AE7B548525A6B0A4275A40B87ECF9F1558E7FD45EE43BFFD2E94091D8E6FAFD7 FE9823961B113A72166BF341C1B6E0A7D5A2CC0A64318F73A1816F337EB5283D4F03074D32B7 592922E75CB426475974EFB096ED5B63E492DA2D9718A8E12CF476892EDA8C75A85297B4BD07 7AB76F0CEBBD8D4DC81AC255B161F1BEA1666FDBBF9435ABB83D139D3D40F1ECAE563FEBAFDD A486E514A8A073D96D94B87286413E500820ADAF94C6924250A57AC85934C8F0B31C61FF6D29 5F483C6E3626CEF2E9923E70A8AF0B91D0E26A0EC081F764213B1C5C5924C2E47451850C961C 08DD7B14C87480C2FBCE304874342A07CD196BD35A4BD671421C0FBDC5CB5CCC53F3AB50F0CD 05CAD126FCECF166B3E8D93EF1A1180F2E303E7078EDFC925B9CCE37F6888A0106E34AE71B3C E4FECE042041280999AE3F79EA2C168B31AA5BEAE02766BF17F4BFA76E7E1195B9F851234CD3 4FF562FB3638AC094946941FDF88CB41D0A8B6C8E600A0277212F00936B20D17DA316C2C7470 313580AF1C889C86391B7C5C757221386BF21E5B48CE62396A07906B19195ACDFB961953F85D 145146ADFA07BEBD256F2C92373786D85CB7086DEB9E9D6510F66604BB43F98225F8389580CB 542B0CBC71ADB3AEB152BF5F9C3D2CE4EA2E2C3BF86E9A2F834F090988FEE04558BE6BE4B831 9E4FF33E0AC93E0EC5D773C03B58A30FEA6F76090BA941E0088903F23870E863F1B8AD9B431B 583521EEFCE47AEF7CC1F98E068DB46BEC579D7B477B482C07F6ED17117D45AD80A1E6E4F53D E0EC731F72ABC520EB376DFC6FB138DBCDB6ED42B8F8F87D4EFE406FAC6B289657CAC941D94A C2F6AD7987C0C80A71A936C0DEEF1BB23BAEC645547E5217767AF52D52C96F9196AFF160BF8B BCA46AC1ACF4781B877FC6784539B03DED56592E4223B5C875311296A20107F21DBC334F89D8 63788E871AAAEE8B3B57395DF0E9FB0473670EC325FF95379BAC7AC23A6819E5D8F8D0A2D1E5 222D3DF649E83C8D18AF824951CD9A955D39E21106D0C063C617B6F039371B96746263ECA4C7 AE4EB0BBC09F95BB4D72F0E31D6D70F7E005F5872E8B033D1EF30E71EFFE49B4E5DF12F0523A 285B2C46CBAE02E05825FF7EA18AAC8CB3A645CC1C21288D947942F452D3A3A61848D57AD74C 57B237295880B99F7E7D86BD239759D69203C4EF4523AEC4D7B4BBC74340464C526259ED4B44 6495ECAAB057710DFE9A739209424167167BE9E5204A88E85ACB547F8F0E59D62391851ADE34 34A5BC4B59E44E27711ED87F58450258CB1843441509100E8048E3C314B89EBD110D2AC6F3CA 860E9CDD288D43C408C59857A605CDC750988D483E1527187537475CA44FD747009B0E714C19 DE98DC15A919EC47E41EFA0EA594BE2085BE206D1AAD27C0967B6E377AC5498BD2C7EA26E3E2 CFFB19B969FD41A8CAE35A5BB3DA5EDE55A0F096B72473DF9B403DE8C408B1C8F1D1292DE934 39666DBECA73EF0F3745FA39AA37073EE77287A58E265A16F07C70D32BD03844DD9B6F2C73A5 0284A2B95C183F826B8851E2804EAFA7892567DB6DC04A99416B52AE96BED9118ED3C4217DC4 85269A637AC13FFFBF9B3545D4927B02F94720C3B9DFD0DDDD1BBE28AC9B491BF3B389B14177 E68096A67290CD1E1CB19968BF2947F95C643D98CC83235B570EBB281B804FFB1F0B52494C7D 3679AFAE38B5172C0E5619845A42444BFDC1514652B4F906A6EB8F5F3E269F8DF2A56C8B8436 F6800DD8F681718B43A4F933F6B7A4CB3DB49D0F7A22C4BC219360BC3CCA19226FC2273F61F8 EEF629A9CCD01FFFA16107600F84FF6B9DB820AA9BACC6E6C9D5C2E7AD04ECFE8A7236D3A041 E5BCBF7161F225312AA5E5B4F0400B8E43F1BB368B114EAC60511E5EE601B90355F8610EAE0F C0CA483063D068354C80C3BE7376E087A357BF45F1B474EC1C6D8FD7A80426B19A872B77D102 3C58E1E02A1E1E7F5E6E4353C073374CF0F58510A77A8F186A973379279D1FFD993269EA91F7 9AEC39F1F1DA6DEBFE095A0347112B88CA374684813147164D5715998DE7E2A7D90E1934D97E A533653B0C70BD643EA703EF954FC24B6B3827AF6CE53E247A61E181F0F4F56C1D8A83C6E97E D498A39D7B601710B2B78950233A65BC7D397617199E9B182C64CF5625B7491054BFCA5D7EC6 C9BB1220F9748BE2D1981AFD7278BA513B453A8230CC4025E3DF3892A6B0DBDCB0F2AA4E5FC8 02B9B624E0B7D946C6A34BEF21A7CDA336383333D8E1D7ED5CF21C67B0DF1361C74D4583913A 8F45EDC330A97634C9F9093F50FA76E91EDD23FCB87DED6AA41DBFB6CAE5E72BD4132DBAC407 A6F2111014FA2C71B45D5075090EE7844D6A27CB783CC417A9DC3EC7C17E616B27261EDB98F9 0756D4F4F0E8402AA0D05C5481CF3CAA9A638D48E63EDB5BC6F442498AACC6436A6D25E40699 81420532ABD6410179CFC51A67D12AA42431E155B3F9E98E850E70D5CBC53BF2CD10D851A8D1 5C6A6B0E6B69A3A396063DC36A22C73CB2F315B20AE4878C3903D10A64297F191B2607DCBAFF FA1922D411B313120AE25BAD96736AAF1AFAE27260E7D9A1E3A9879CD37782A912F2F956CEF3 ED044B7243C7F571D3EE1971A85EA9A4C4C8F5E9B46A9DBF667DC725ECD8BD5E2ECDE296F932 F1C67BCAC2F54432C4DD4E0C2C7553B790AC12F3580692C827119C27DED38E51AECA9A1D565B 8B84F9355F84B4463AC1B365852D77FFCF08F9DF4496D2B6C65913A750B86A8CDE8E5571A8A4 AF74018DF4AD90E68F4D64C6EBABE6D9986E3DF319C7AAD0B970355CC9D6F7BA7975C31C37B2 ED0D794F2AD68E8167F2F398016D9271B4589E6AF07EAD6D4C423503F626C7601559DE9EDF6C 41C8CFA5D7C4A096613788B37FE3417488F5338F1EFD0ED0CF91B0F1002A357CD14E4B34D006 0CC2453E4B0A51D8EDAE472FD0844E21EAAB90041612FB1703D88C5FCE4C90C0B997A491D8FF A9489FFD213D73A83D8A0499CBFC4272755B03150E7145F950FA2DC82C41C0DCA5D67102D20D 7A984C4DAAF87FDC2FF1F182AB011215400A86ECE94A9C5713CB99DBC99599E43982B7F487AD A57869537ABFAE60A8D57E58ECDDB7B87796EEDA6B7634E912C22D95C571C68D860B54A3BF4A 556ADB6CB53ADE484FED8EA857E03DFA41A4A3EEBEB18DFEA22C3FF260C0D827EC3538409315 026BCE7238FA6756528D58196A95B074730D7C5239578E32ED03A33E984EFDB1678B573D324F FA81C0B4D06CB384EEAB0531CC9B414D50C67E033338679D5DE7F37BACC1CFC649C64C19A37E F486FB2C811C01695BAD4CD3E238510A72B209D8B9511E5B17DFD04B9C2E3F35F9F9DA0967D3 6A5E37B8C61D360E2D84C6F835CA388794CA79C0826A379E7524AB22E282F1FF32AC84ACEDFC 3BFEF33CA08F4B4184A5D58B8671B82BCDB185B0B43B9F7E3A6110F498A9AD35B483E80C29B5 615642AB7B21E960E1F2553474E57A473A7186BF23E047C13059FB9F8E86CE52ACB9A41C0811 A93A0DF5BF503021D319A4709AA58DD11DD80BBF78C90A86DFB57A22571A0A1402D69DFF8B7E 38C7EC2EC85D656026FAB9E28904F7FEEE50042BFEF6BE32B746BFAE00CECB24B3D81D642F95 6981B8DBE764D9EA219157875AE31B6C94C799EF283332CE591D887CBAE6922C75357AD86C5E C307F6758606D7B6A426BABDE0FE4A0057DC0D61A48DF51A7ABB811F9C0CC3DB2DB3D0F5E39D 2AFA7377B55A0E605864C51B9D7AD593057D231057C3488C5A71FF4D4D3781FFDE1F9EEA6B77 A0A0A686A7F9BF9E11F2CFBF7D62F576B38C1A52B1A501AADD48FDFB8161D3E10B344FA8BE7B A214E01E16EE1A7A8AAEAE48FEECF4CC31B2E1682A23A5831DDD358D51B326C3B25BDD7E19FE F608F4521A7853AAD6A7D4B94E5FEE730432C8C6B8314DD9FF1164E401D3DA92B659063A0C64 44DEE4F5847ED65504C9F63CB48B6F06B48BC78267DF7346FCF7CB13E272F0D67A644E947664 FB9AB8C09FD3DF934F7820A81B3AB23F04C9040AD1C0DC9180B015F2226D7F4CDA756195778B 5FE40A1AFDAEF10AA4ECC1B16BD33E15BEC296B362FD22B25D57D2E1BDC7D6BB0597942A2782 D42B57410D1D1CED882B355CC887C99AA31A52645ADE3EE123A675BA331AC2408B4EE0563F7D 7777E47AD8BE376E6AFB13C27A9EB17813107C994926FA18D305C3FD3386B9EBB69AE03F7D84 0809D2F154AD4920CA1976DF47371F0A48DA5DD30789D1630B7E5948E95FEE16ECE2BEFB4D47 AE9AE63EB02492C6F10AC74ECF0620C4C303CA57A5029962202E1F5035B1AB33994AA3E15E91 BBACE30B5D1F513EB2F6DB677D0CECC10F2D7489DDC6B118B95124746417D9E6DC4B375E124C 2B0C1C2A21035FADD644D4D447B16F25DB357C31B964E3331ADCDE77C27277CF5CAA4E69BE25 C6E50DC86B1CE6DDFD29554E59DF4733D82F30C07CD826E1AC4089DB1C486FCB8D76C7D12757 1BCFBA2939E3A2437B1CB79366C3B25F3CF11AD60D3966701360D3066B80990D8B84BE030986 7865A178C6DE3102AB3A6203FC555A08189288E25379FE3AC5729B71B86712C5D9FC923D8F84 91ADAEEE87339025085401B84304BDAEF91EE64A680AD6A94B42395DCD168F0D8CF21765FA23 EE195EA57500F294DCB1481CD9F98950E030C1CACB0A482C7A13124AC03A1CADAEDEFDFFF8A3 2B906A37E070AE5F0FBC905E0C4FAAF84AF996AE18265949FB79BC4C553E5E552C2D7ED1CC6A 3925F98C6C8B9BCE3A946F92B586A9CD9E5E4DB3F3E402D713E747AF6887E2A570D457C9D203 E80762D2D2EAFA6677A02987C464B4FC900E5DF7367146226BD0C1119D514342A0146E34B83A 5F36B703EF97E5D87784D16C3E7A26F1D1DF410A39C2088EEB4074C0FB3635F48EEBAE060FC9 4F09B809519085F3D262E7A559CB31FAD1521A31513E1F8F031F61E285F89B459C2C30FB7727 C422B89E0064C8A2C7CB93FE454F0490640E933FED7E6F39B66CABCC9E789095BCD30BA19B4A AE801FB075ED765F3706C09E30C55FBBD17E7C130E279A105199FB4A718924A1EF199811D9FA 597E148C85A753A8F1E602C7D2BFF520F260A3A41F3B7D2BF483966BB786BEB7F64C7B670947 28AA5CF3A0B609033ADF351F7243162B0FE44300B547F06B49442CD4E61454CC657957343EC0 9E5568D932AD7D5FC83363D0F2A143BED3E20CFEC074497F7A0E91968F483F4648669A253F8A 9A06AB87623AFCB1B94DE1396BEA2C14664D073654ED4B0804A0F8EE6040EB1652D0E6335784 58684DBAB90FE9A9DD844F70F7268FE9CC14D5121286F5F12AC4F221163084F48DC3975705E0 7A50B48B9DBD119EA0E95EDDFD8B0CC1ACC19F3957AC02C5B4FA10018C13DBF223C97DA61037 B677E5BDFB530F35FBFC9804B665D5CF74E69F7C6B10BF6EB2E9C2746D1F4DA8AAAA7CE3121C 37D517E6FDAEA9DAE9F9F211CCCBEA2C2DB6CBBEA0DFE86D67C211006EB61F8076FDE1CD1B06 24C746D02D44BE627D357AEFB26DA11461A89F94C2B26021063E5590F30C7BFCF61E4F405980 18875727072861E7E5760045B4B55C01BD0A2DD983262310918D9250B3469ACD72E3E89367CD 206039A294D8FBFC903D0CE772CC731D7733EC0DC9E804AAB72564231FA7BE9C200582C6EF06 48BB734FE8458B144097223F6D452E99DAF9FBB951456066BD1A267063FA073D671D8DE013CE AD831B28447AF63B2823054A6BA5A0061BF5642C36A58B343BE2B843DC5A3E9221008ADD5A7D C70B28535706BF6443CF280322D1DB259380911CDC00425C4DE749C6FDFBDB86FADA3A2934E4 1FE55E1197032C012625510E962F98F987BD59D8F18B421EDB1342E60CE93EAF1EF8C2554E1E 3BA20593A14E5EC4A53C1031C5CF0199A8CED6B7A72701FA32B4CB1B2D788C0ADF463B841CE6 8AA61FE24FE98BD6D7001E97B29BAEA69BC0E972DEF9CB5BC8BB3F25E81F7B7AB926933EC37A 9C21EA8D7A2EABCF5AE24401E4D4377BD57C1279BDE798F420CB2CF5D3D694BA3876865655DC 47919A41ECEED258279176783D8AA2E15AA0159C4CBFC07D5A14B138D42315E353675E858A7B D57C8140297379B84BEFA7A3D52BC6F7F9989BCD73F61C38BA3A944F4021AE77D4E4C5D9F14F FA15467A24AF7F83025F17811030AF9134C58A9863A57995E7C3B1A297036F846957F08594C1 803408F1993E7BB8639F238B484C6CCE750FFF37AA0D6C055235CFD7280794797D9414888913 D7C528C4B4E27BCF5C7F72B09B862A24124B48B9F7B24E637595B101D58C9A4462CB6DE0EEFA 712362D6A0D4B0DA1CFCD8A1C11FA494F5182C42A2B3F2C28D9003423ED6F4FAE32B9B127DC9 0D1518495540CEEF5A9F08A3F55BF12D0D8861E86DB66F5D16A2B4C7D75F21123D29ABEBC8F7 C29927C234FC401C1D8AE12138490F04477B214804F09CECFDB294419FD71FB0D6165E50C95A 37096BB9B24300D186FF9E17B2EE3E17EA8BD531287809BF7F5EDC90DE7B94495C11202E9055 11F358434A83D45305DE02139FB536F892F9E72DBEBCC0F30A6337284C126004361629198067 034A5B73F13622BEE8947C53059634F5175BC4504926AA624475190816A1527BC8A5EB5F389C 0E085EB89DF813212B98F5EAD661FB50E9BB7A2BD70D2165E10B8EF6F8783CB4E5CB7488AA9F 72FA7275DD377AB270061C5713D1F3D96AB16975E55B338F19D9F83CB160CB5A214CADB888A7 A0D278600860EDF74AEECC1487FC54975D1BE5E324069F7D4A85C9E542C13B8D07DFD7938A67 5C8693F63AF1F8D933AD22F2AC2FD2FB9FEFE5E61D3255A7FD3D6A79235417EE24A84DD9F896 4E5BD92F56259F5AC2CA9E3CCAD94FB3982AA01C29AC6FAB277289080B7B41374E9CE0119747 16CF387C973D26F0B5DF7289710E2994A665CBDDE770611EB961610DB629B1961FC173859B8C 5878997AA782EC76A45D1704CB136774BDE44ED00C5C1A2F6293F2DA484AF72E228B46759A0F 7DA87CECE11886E00786B1AFF1EA773C0F03B608AE06D7FDE8EA262B3AD5413FE112175EBA19 208A17F4E0F2E5E94E5BCCEF26861D4E0F13B243EEE9877A935AC186854872C03E20908B9405 BA66B8EB5E3758504B715F6C78B8A9940A9429429C52047FE3577EE2ADFF2D58508D62DDCBC4 D87CA273D89283528BAAFAEF4953D7752E2EA4D37791395184C03E5EE182F75FA3EAB8F3D5ED E01EDDA7F070BBA05E04BC90A5B36FF981EE164138067509D083082E274A2E1821A9EB3C2C7E 5C1562D7296E0AEF01A2ED40D0D283B88AA700D646A25AE42F8771341277122B9151376CC039 2EBF0F0EAA6820475DE0ACD9E63EE877DBD9905CCF3991A56FB44CE984DFC3DF53B01152DE6A 4FDBD8362473D967EEA50A99CBAD3BA984FE0E72F3C3510A79CE1B4CE5AF0C063C54C872B036 DEC6D0A99592047FC1121D857EE32F0405054713C753AFE764FAF70F6FE1DDEF89C9EA11437E 74FCDAB35BD1F6255D6A61A59462A18014E5D3C33EB5B3F694829BF84839825D4252C8D745FC EF6F8959F7C5B29FA2D98B3A939CCF578DF50C5A8FD57E62720677EF515B3B395489C05873D0 65462B3717A1EAA058372B23CD4405BD18F91E7893626F0B234C3C030B50BF64662ECF43691A B897300EA7B40C2F6CA5D30619E3506C90122E453C93798E008D7293368FA805A4E4FD092613 CC9B8A3304F467B22C727EAFF6B359632986AF28F1921395D063A858311AE92F1A8CA9D5D9CF 0F4B8B26A8D119CD4E03A520702A2814BBDC8430039ACD9144126F41ADCC59E8EC68922B9408 232D777A7A3A0B4E7B7C9A18F1224FDDDA5814DD24A996EA75EF702F1CE7B3D2CE7B5EE06A6F 2E6CF197DF0543D302ACDD8433E7C9BE488792869D7B96C79352DA37810268290269C1697F18 16FD54166A5F7BAA5E7A1FD09C10802B01AA534493B2A3AAD9370327121D3FC08A95ACA51314 8D212A472C4C7128F73020F2904AB15D929017CE21C6918818D5967ADB21815A949F67D9222B 0DF9373B66A6A9EB5604FE9C2738D5CD7002E1DD8B14720D4F3241FDBE7DF3F323D7D0589951 1F1D689086570FF29725B3942184810D0C975E7004D4DE2E51D2256E671D898EF50A53ADE3D4 0778BAB0835E97EB09008854568C9607EEFAE569263F8197AE29178476CB36499AC7B06DB4CB AA9BB0E88859A87D2E99006D47B80E0B027479D9FEC64E4FD991ED8933013DC71CF7E781F8C0 899A1ABE750503F1861A2C28500BE46F86CC5C6B2C53D4481456D5A92C5ED002BBAD72A96FD8 BAC252DCFC36B8A19ACCEEF158C963BAB3A007951EF3452498F3C741FE75E909E83C5F394AC7 D0939AA66F758F0F9596EADFC43E2D4A36FCADFD2CC4D1F2728EEDEAA27010ACDFFB125C651A 34588E8FBB4EAD79C23AA077FDD4A0A0DA56B50D34B6A4C892F4698D0C3812CD8BEF308903C1 ABCD83B9CC93514DB2E865D693B6544A56130A87CB1BE962CC9837D2DE51CC4BA421E1A47F24 BEE3B76587AD5F0C2972459C7F87DA4349706698D5480A486D52DD1948FF4C620872D8C50031 3066B74B4954AEE3E86428724F0ABC5B899249D05CB384921FD6DE0FC265B60C56F84AE7FEAB BC2D2D2890AFFCEF9895C78046F24DADD28BEBFEBD1F9A2CD4B10EA9D5D69E7657FD4791AD58 018EE2F34A930E683A063A94CE1F658D1D1703591D5FB7E26AA557818BB7D69F4D6A4450621D 71B2D0F9368742160F8F8AA1B7AE5A190B96DF452A6398969D745A1FBD8DCBA2C783DDD522D6 F11B48EC0EB9A27DDA805EF92E9BDD537D98FAB79974541C60D62CA5030E4DC19A825E0006F6 ACBDD6BE2897C062AD1E94B1AD62B268E1134391204CAA3DCBF07E27C8AC02C81E801FA51458 2648E49AFADB6C4C579E47EF3B785366FFD140BA59D8D4C1E06BEAB583BA3135A8E54AAA4EF2 E9843FFBC4C22E939A0F08F915E5B70F21E9B29F932D138BE0C3395656DA974C42F421C28A4C 0DBC19DAB081C4FEFB21A705790EB097259EB425A48709BA1B44563DCAAF38556BAEF6F8139F B41697F0784A9E688A59A1DA22B97609CFB60CB0EFC95FB3785DDDB9B0EABC90DC1D31B06960 7E4209F4EEFF16771683AF28F2C3C8765CF4E35C58454BC5B0170CD13B265E72C5F05EC54C3F AF70D7D93AE29A53C8A1A027E1729B630B6EDDA2EE61AC560BACD93D5DA69FBE63C200298407 A6469479B44902679C3EF93C77599D9A6D5E1909DFE3B19ADB96F660172A61703EA6F8BE0C26 2CF8BE408A79CF42244E52A35C23EC35A6D972C82E781ECEF2E03F6DCEE4BA7D4D45814BCB1D 70BAD0F66084F8F808DCDC9F71BB7ECDB87F0271FE4D70317373607719F2F175D4D9EB024B2F 4108D871D04F2C2FC1E7D433BA0AD38F1DA9BCF38CC4CE33C4894187C382C80D9BF682D85B56 DECE79142DD17B7D91C3CD87B2B3FF1C5A805FC0F8CD25B6C2F4920E79BF68E6A7EE0B9601B6 C5B60C427AE7ECB8454530435772646F5AA973A7B4ED9CF0C00E9AD8A66B630A0D26C460EE27 AEF5BEF4A06F6DEA4694B0960A10BB6542F963D1E1EBCF2F8530C36FA888A7CDE8EC95315304 2B401C8659A6932AE871C6E9042EC4C8EE74B5394EE43B83423E4FE982D82BFE0AFEC56F6D19 7619C108DB1AFF52CA5FD81994B133CA5E7A8184B9CBDAA299206FF858764E71537DAB906DEE 5B104490FA93DE85241C8BAAC984B79CCCF366DF1A2E0B17E4C88CD3A2D6E5B8129211689788 288159DF03516E37B2D7295817D748A094E08538A8ABBBB402827B4444911A4D4229FEFF03D2 B607F225BB16680F716ED63838FB6E39D2A9424E08B2CE9BA668695034D53A625123F71D6D44 CCDED51F1BA50DC36E7DC4E9B0C4A4038C856CD1BAF018E2558684C1D1CB08F4710391FD5DC4 262BC8C9E072B42D6CAF05B889B3A191943410683CF5A28F95DF075AAB0F5CE7D73C065CD6C2 49FB0F8E5D850F29F9D3AC40E9525051EEA43E90BEC176BC7F32F6E8413F08A0F06F1867C06D 8D8EE7D28F819B1B53619439043AF3A251A196D6264331273A310D7E56298C92BE33ED6F6C39 64FCA1105A375596C55AC2BE6FA30E9A5151103B242AA0B9FE24B6BB3786F98BDE102F094D81 01390CCCA176833F889AA6630CBE3860B861A2BB9C05A520E5C258AD389B7ADB89E7A75EB69F 578303A57CDFAEB355682B2BF568137D020A5526F9E74ADEB8253E41BBFB6D52C32E994C0DB8 6B83B0AC179C49E76D94904156E9CD352DE707FC7853D62FAECFC4B6B403996212F4A8BD2674 E74BE096E753D5D89E3A71940124573C49CE393E0B63825992B8E243FFDF9195F9FA085841C9 9806A3E65D8E23E90E8EAD4A2C05893E6427F00F389DE11449A94CF69A0C0CD2E54EBC973707 6C3BA11C4B4ED495BD133CE21539C7B65F8E7FFA3752EDFEF0899F18829FFE0AC7A30AEB019B 710948158EB1DC77BC5E5F38F6C57AC533F39C2C97DC05911EAE9A1F5249052BC44497F1F701 D1552348D0F2ABA4D571045A8727ABC50112ADBF8744CD241C210F5FD7E1219BD2053ECB654F 9249D2221278BB9C8F7C1E15D7341F7AFBC1A191A30951377254259298E872CFE7FB346A982F 8BD26446898E73843409F8EE405F8489BFC406F82D6712469FCFB6AE99B9E1D2EAC3914F22BB A0C5E6E90A151E7BAB2CDD6C49667170B32664CD0EABDFB2E32F889FD397C2F1C4103696DF0C B4AF7AEC317D577AE6EE7F411EF863BE2AC953B83F24572C3719CB40936520AA91A16E960F5C DA6CEB0C90B092F14F70CB9409CC7A9B75F9752A639C7BFCE53C8FACB59DB2C0360B5DBFD4E0 763358593E11D5D884260DFEE1F05FBD49649FA6AD192057CEDE7DA28EDC746ABBCEE5239D8A B00176CF7D15B2D34BCC6A85727A1F12B7AB128594D453B7C8D2644418689C57313EEA6E7934 65F76A66D87FC7481F58377B09A8873EBD48261D62E36CE1142215B8084F4B3FCDAD88BEF2BA BF12C8EE4B0FE49FF2D02144F1D73E34A1CDF217AC19A910DEBA6EB746F1637AF1BFF1809298 A0C27E9CEDB26999C220BA3CDE6A31457AAA0B09614B50E3BBE7E02764A79F83FC22AACF4B10 65CD43437AE475B70CD3817C745B169F3817A54F6DDB55B0891044D46C95FAC683A7D39EAF0D C782FE96B1DAB92D364D926AA0C60803B3F9C67201B7DBFAB1DEA07A41D6D4AFFD43A0C69C4E 9B11CCCCA33805C40CAEA7C9926A4BE534203416207A22D220A11241699DE3067D7D4100F2DA D1257F0400BDA70DFE849E1F528692C4C12FCCAC86E7C4AEFB800B52FDDE6031E2B4740B2CCA 23B5E5E4C992CE50192DFEDF15D0A97DCD206827801A910BC30B0800957255B81E639492F205 1FC6AF0E6E033A44548B9FF66D0A0AA7517EEAD72B4EA6190F84A825F4EEF71B57343E706446 F523E8CCEB0942A5DC80B8C76A416AB4B73129AB24B8D219DF112195756EC91F5F7838564B6F 81809E8350F9103ABC61FE1DD46E3D34ABBC34E71674B8AC43E91366F07CB36A4D0E182F4B67 0E660C55218133627E77541228A1697DBF0CF4D01C11DC56161E2AD777A9D3659B2AD55C758D C18D80BEDA49304C629BC3D2E735442CC6E57239124955DC4AA41057D73F8B0B558D5CF24C42 08A3B504D283C99C06A909D32234678FC90B558E9555114A3C79754EA5BE5B17083773FCD80D 49A3111424F46815D12B80E9C2FCF95CA30780EBC7A79890AB9680DE6AE9B1DC18F7CDE90E89 479891E8953EC309E572D63C994AE3C94BB56D9B94EDA02F7F863070BB5DAB56C8D797180685 AFA62104C23E55ACC1D37643C75863979E2008141EFEC535ED5E20EA6141597B9C9A72ED1CAF A94E476348744EEC26E571580D7DA484DDBFF737FB722D032D081832D3D8EC8BCAE9E6B3D534 978315C2AA3E537528B4FD0AA4CE0857F55C01FCF07AF06437F95383545671EEBF117DAEC679 0BA1111AAAA89E6D3675E96E40E7EC48F34FA8324B492C96D5D1EBFAF7EF4468F9B749F06445 0C03CB3CB3294CA325BA29CAB5C18E8FB2D24E63D4FCAC7876C1202EB65810B7D25885F92A3D B1A4B6AECEEC0711B2ECDC3B253895D220C154D5EC29FBD136275363E85A0728384D2242BFEE 5AFCEF3DCE113EEEAC171E91B841E52A81BA74E8D3F3571D2E0B7934B0A04FCE6CCDD84502B9 E31844653053AD77ED1A94E4A4FF04BD688174369C73158604F32BFBD91A6E77B72C175D9B18 CEAAEB2D3EFE3501CF551172D74638D53F5E6F2C8D9A49E6A87AA945DCA05CE031A56CE97357 33C1919CCEEDF60A2AEE6F8B8CC0FB4E0B0009F62A27CD207405E32DACDECCE6BF6FDEADCC41 83C6C16B2D41E938EFD2AB98E9548957BABFBB7B9BD1A504198FBC48E18F52831F831BF9EB3F 2FDAF3882C46A9CC26A0E07D4AC221CA50AD88AF3173E59400C9EB446E1924D1F8BDC44E49AB F146D81F23DE03F3EC46BE4B5EBE0DE485CB6130FF047265B912213729F0993F09EA4E74A632 306286A29E93A5B9B94A303F2A141B0B5882A19CFD30C7ABE507EF76FC3EC2B5E5318FB84477 BF4350EDA644129CC247D5F9171D62E6BD037162E42019C3AF993BB3062F9B2F68CA9069AA58 8055B3E139D9315DAC5ED7E02D6A299D31250A9E8772AE5356D5906E454C5DECA6E5E902C36A E2F8D93A217928A14DCD0F0BAC28466DF38B64A0C0F4AC70228F546CFAF5F77A64E37B0A0F96 B55876F49F93016345130AA81424C3139DFC08B9E80F4361B01762C56EDE6F5856D74B89BAEC D247A0CF40AB2D697CD5CBBCB2652CDB256E2E25D064DB0CF1B44844DB85ACDD251BAEE12C87 456344FA3A11F060EC35C84D21FC2C316C4B8298A0CA3A62D6A7A93C05692A64264987EA0528 0B3FEFA93209F38E10C719A941E7EB6285BCFF39DCAEC4E82FAB54D37653F55010A67A6DD0FA 7DC1147D24646A7E4C132EAA0BA92C896638EE28A00BE09C816D7522BEE64FC34AB7BC8049D8 0155BF8DCE92894A174D66306C618B9EEFFF24B5644F4FE1959961B880371776AB071061281D BB5641839753E41BE7170F29AB5666BE3BFB2BC6AE63BFAFC909C3B77EDC14106E9A748CFDDC 2F8727E69C6B42570AC1DC0EFB2D561DF087E2AE65B5E8266F197A0E45BE2CE76BC6216D7B2E B64A9103770B4A51F6E7CE401089A95064148FD6ACC3027B792287B20120DE1448A64CCED2D0 41A74122986B5FEAE94AE77CDDA9F94B92B8FCCEC50F262006BB4DC19543959305FD72CAF9EA 923DC966C233D082D97E787D262C931BD3A6882367C1D3E5C494532786AD19D87681A2C9A62E E450088641804E457D98B9A730BFF04AE01331031B423434A5640B7B8282C95799482CEA4F0C 411A64666EA177E150F74F209C5989C36638B507FB6A9BBBDFD70949EF1E07D2046EF5DBC54E B06819879ABB98E0EBF99C1AABE68110C1602D548A6419EA81B05C2D4A27450CCA5BE336C275 647E00BFA7660C2F4A244FE8035EAE243BC75ED9E130CB5BB4BED6EEC75D62365916867ADDA1 E73376F4595F74ABD79F1774DC62B57B8B818EF00C9E6B7CE7D0134F6C5DEDEF62DC274D241E D86C7FDDFDB4B45949F6864001AB46886A7D54E68B6D0600D8CF10D26E20B3C795EA1F0487AC B1C8CC8017A62CB1BEBE81B946BC2874447373EC0FC3C69C6E8357E30E53193C413AE82E319B 3B2C211E9CF7DBFBBA7B838DDBD2CCC8C9A43380C7FBEED06F59A19865D9825A87B977CBE083 8116EF2E2B1A9A6464DE0324FB76E96102CCDB6A84560EC491DD4F4DCEA84BF90D20F012042B 702B5FA85903ED177A70C3EFAFEE6BEEAE38CF79B3C406511467F7AC5954C480FF800F08B397 582441AABCAA55E71A70FA0DCCC1C47F697955398488F686FA1DC8454A6DC007EB9CAF641FA3 3A7519C214F2879A1C602C44DD028D4251432BECB0DBD8DD6925E0CFB368E8545B462BFCD21A 866F5628698B2033E5A467D5840AD7168E4AE550579AF26962306FE389728202AFA7B905515C AF6D1204CF9759B06117FA055EDF877C739BC2878181288B7AF8A1DAB6313F754A5F7F287E82 31BAFFFD8222FE3D3982097050045D0C6A185E3D18EC1F8B63FAE72863123AF8E68A756A664A 7CC69FAF050F8B6BD916CC255EF7F8240F9FA9D7FD58E7A3991073993B2D281DF5BD4DA790C1 51ED7588FDA84147B0582E519ADB80A49268341EA3BEBCA2EDD140D08411D735000C1B55746A 4935E532A1C5B8DF4FF899E6CA7E79AAA1EBBA234B355CB60AEF590CC654D2B24849EE9474B2 A87C181175634B86A5AB40303F8F891FB71160465152C22A846DE3752EE3088507BE82553820 207A79485E82ABD6CC3894739A783659FB9F40B24D94027F5E2C01CC2A35B2191F2C388B5056 0DCA9B84F7BB209BF75FE3D96CFE3F0F1C58DED0DF7FF3CCBF42C7E35BBDD116ADE65586B4F8 09AEB29223506897BB82841C4CD2FDF626E3EDD96755C4C33C077CFD66419E3C566D727A3A1A 4619254089B2A6BA399B8750DAE68964C39ACD33AD491A482C942E9C2404A56628F4D2E21C76 D5DBC19E69B4678D8A0574A80FDE515D06138043C849B64774A5F8E48788CC51CF943F39886C F0CFC28D58AC065EE2D45EA636E764D748928CCFB0687BFD590C8E9D204E6E16F498CEB0A2E0 5A25170EEC24CF4331677C0C0D0C0E7B19248F8D8A6173FD7EBD4EA2BCE677CE8A5DC72F115D A4BC02DC15A0099396CC152A60D6E8DA760EAE1CF82AA67D0210656320BAC56A49DFD171A9E4 B2794D2FFDDD423E82D5D6848515628870787FECB83C8C41235A83F89BE8B59DBA65D9B57CFB 911ACAB22978F116E9548354113C5F2593D9F1B5E4CF47873F722404820A3447DF53303A1BF3 9E7F754DC4FA55270DE98ED46C6E492FC8337FDD5319D3D8C3D9238AD448CD920CF9095C2228 F7DBEADB9F0B3A207647113AEBADD70783DDB5307DEAD29BD2AF724D7D7625B988A9E693F072 93D57337814181D1597FA1E7A9500601D62C544BD2E4708009C6B0EA4AADDD7A743ED95B3B41 811FF6520CCE573904644346280361DEC20CE0B6295A21F6CF651FAFC485A14115255BAE886E 523F988D4A5E49D0FB2F335B582FF1F1DFBCEA17D66BDB6D2A07CED38603A50CD5847ACB7107 B15A699F6D4C3A67B63CDFB068758EC4E43BD8755A425D095ECFE9C82B0A6302B7D527FC575D 16FD056649E7AF6B81E3676025537D4E0A42D43821869A04EF539F96B0B143F9DD1915236D06 CA24277C0385DCF95A6EDD4F320C2B5241348E457FB8157A6A06166EDEB668641FCB78FF2BBC C938981B3D66433ABE825A9AED7D0BBE87977946543C001218C0203FB2276A17ACF38CAB3AC8 2805D7BBEA37AAA7DC28E01650B0647B6409FE2C5A0AD2769D494771D7B8ADEE90445DB560DE 4BD2D63FD778EDD4C2F18056CDFB264D947A30DED24C17E14A1E632AF27F71499DF056293905 E96BC888E9CC5C297D2B70F749BFFF957D9E4B2D37719E45D6330E79EC5E6767DE2999322772 863DC09E1ABFCE7225F0FD3EFF6A33D1912F38A55801221B96F76F711E9609D70640367DB803 27D70C384409891F0B66B5DDD35298BC6F0C11051A30AFB2298E48DF9632DDC6E947AAE8530B D09EFB065BB9C5BD6F944F815877B7EF36A6F58652FE20E38B2D0A25EF05DFD91C3FAC944877 29CC910B1A81E73B1523C7D7556F19561998D0932E50BF95207956EB33DA6334FA09D38304F7 FFC9073AE1A49F7C347168875E468B2EAB092EC537DDCE7D052B490572AFBD4CDBDC2ABC61B8 9F90A6EE45FC24B116A36614C0DF1C720EBFC1913AB9349A8916D6929BDF2F7CB2604911F083 6CBF73FA5CB2117A00BFC2D3B2DAA201090D5D23F46EC9B40D22AF84867FECBCB022AA4DAC1D 40FA2F1F62A632528E014424818A6D2A61CA4FC35089BD03AE8C6158B9E2BA9FE416194DAFA9 1658E82B9BA3358EA4AA5DEEC0E02A096106BE00F2A2B9DC80FBE8F7D0D412E59934E0F1564D 35068D3BD3248A4085EEED32FC0F253B5E67D3C945308F768C1A42C3F520AE1E66332F93FFD4 36A5BE691A2AA22B7879BBC5057CF9543BE7703436618802B5CA722465D3D0E4C17454A4C19B 382DAC0A42594416E560A6395D278C5473FC6F89E09C9D24CE047917F6155030FCB71DB43804 D3A722BBF6562235BC23DDD6E15630800FD00ECCA8AB00264A3B8DABF1603E2ABDAACF3471FF C34D02FE8F07ECB17EC043DD2EE8716D50F5D99C1685BEA153153CF9BAF9A512D61017E37011 AB5510741A8F6913BBE76AB0D1F962649ED752708E1C5AD5B943A68B36E3441791C23E1A373F 6B6C22DE7705D8478F38C4930CCCBEE1223C6BA13BA32F6F09343191619A52D57FFE195A16D3 952372F23C1112AE9A576A3EE771E956A76F3236D9605D5AA8124E3223536B15C40C69E8BBFA 4841015175CBB7709F3CBF6A889D724716B77254F0119E131D5F37972D2AD038838482935CA3 5EBC80981067427EB95E40678BDF7B8C31129F3907EA084CB2D20F800ADA8EA0EEA1FDE7DF15 A9CFF6059FFFC9FCFF322A0EFC864ADA59B8EFB01C15ECB4ACEBAFE350E53B1A23397631EE15 5F1231BDAC3BCDC7D921A7279D134FEEFE488ACB7F1C1F10810C62953CB73328B4B31C389B19 0B8F4B3ABAFEC03A0BBFE22287D4DACF29156629F4F58B3FE032B89016BB8FF2EA9A1026E676 3C6002EA66F7CF548C3F7BB6A3706189D6E0B4BC654C28451881B25A5F19B99F502F9E486368 8B52F842ECD497BD73D8ACDEA31FBBB008B4E94A669419FA6995281894189641C3B479C3C30F 7874796FAA1BB216276AB1B7EFEFE7DE3DB3489A61449D667C9C64AD722029D9FAF44BDA33D7 D9F7F6C2EA7154B746D5520A74686ADE1D081010A7B2D4E63DF5396D5F0CEAC7AA18D267566D 4D700A46CE982BE5586BE092D4484D2F39A5E578170AE584D85B15B99F36E8A79077FED4DB8D C1E17FC13DB67AAE94C03F97362E5B3DEC3630FB6F4EDC3919C6F1BFC070430F971ADA664DB0 387F05237E5B963C714FCCFD68EB0208E84B09600F21CE35D0C3311E4B4E34ED136C4F062CF9 CEDCFCAE5366CCB1672B7DD22EA0831E99B7891BCBF4AD5B621962A82221124A6239789B1830 9AD854CEC530C151B58532EB9E163D1DDCBA81E7AE7B2B49C359384C8BC22E6376F5C497D4D0 A173E7B753F170494EC62A61C6521567BAEE498CDED2A269C5D290153D0F08A079FF9349A3A2 DBB04500DB3C2B0CE3D06055263D1C4415EBA6F7DEEBF173AE826AFE7A69AA4F4FFD129D5D30 AFF35EC96016986D0A554462B4608DCE6888ACE76E33F503A759D4891A5D97773CE58812B38E B50A97C5B9327AAFBF4F8ED4B56701A101335D41F5F628C4C61F6114F1474BD8EFB7A4852FBF 1A134FAA365BCA9D925126475C1A113B12DFC96289E4582D666709CC8B2E2B8754B1C0DD1287 69968DF618B9308B099457877687727C728540DFAB6BD320E743BDCFFF22929B6FC156DED1FD 0751F3DFE1F8A38B0DD1D78FEC2968290D509FEEEC9E50AA1C91D68935E2544320985D376648 F0723E94E67E440DECFBC6F7DB8967AA05EE85FABA725C823FD5359D86B4EDB85D5729A254B8 BC17A0E93A53F12AF21C8180C0F797C4D0D80E14457377335439717658B3271B0B6B3D5189DD 649D913681AE237240136821CA55CFB5D106B55A1CC3C9433115B173EAA10B6BD8728505CA9E 7A46CB305FA4554627BC906FE456759411A1B3435E7AC5BE79B8389DFD15D2AEC98AD8C1C0C1 5D903046849797461AE07305DCFF3B5E6D926CD4EAA1B78ED59108EE0464F1F0AF2576145D09 DF7081F40ADE29081DE688A6EB2B2CE6753FCEC8DE1B8BCE48067AA055A339F265384F46D2F0 E0EF9164D1A2AA8248EB4C0C6A89598AA22F777E586B856F7AA3440D508D20E8EB4EF299966C 45D6A639EA42CC54102E4792EC9589D8C82C5C52F626990D08B6DD9171E1FE4624F7F730C360 0C1939AA0EBC835324D6234BAFEFFD5626924A8572D7B7DDB9DAA96D8A7FE053962FA9F41A9D A24F33258856CE4CC11CBE5EE5BAA6B7A52643A0CA5FCCA03484E9E2F01676CA0178D4F08BEF 8996C286A57C058B836D8150A3F84046D74724714E46254088AF553BE10C4E1E58A49898481D 75EEFCD5ED996EEE11AC96DEF9C03BD6ABFED0DCD21A9E8B469D2B268CF1A58C4CC522CD8AA6 81E79717A5CDD279613F889A3279418894D891FDD747DE12CB594C36B6727FF272E87086918A C734A70B9C4AB3AEA8C8CE6CAA1677FB26F1E938977C39F13226E0688EFEC084405B99A3D33E 0DC4D6CE62430A60DA7B51DEBE7AA21DE3D4D19FD64B9B3890AB148F683C9BFC693A63992C6C F59C149D5F642DEC0E55F4E1C0495C07C3005936CE21059AD64EFBD1AEBA413BC925E0306350 1E47C8923C18DC9574FD42D320CEE07D6A529FDFB32739242511E41FB8B747F768B8D1819C66 44264D5FBA86E777B41E089131242147CBD0111AB60ED77A61CCD78F599C882FFC7257AE8EE3 C346CBC891E4CE0633166C8466F682545013C9CDB45E9AA52BB8E35747E28455CDC322F76986 4DCDD0698CCF10606CCEA023636758D8B4A9C7FD22867AB9E09898CD1EF52CDC42A968F21876 9B816A49E136CA085874AD11AB60434EF2AC5D46BD60ADEE62B1E5DBC62F0936666492115493 F1A0CF78BB28497A6B08247733D722318A93016BBC6A1ABD41610553C5F5EEF2B445B6017244 BC2B3E3AD2591A49E5E2705AC15CF05D8B3AD95AE7640B4DB3EDF7CA5716908EF1243D1E1DBE 710E32E47A54727A3512AD71C6F9B536F7C6A79F8DA80F928B845D85B64E9875EF921A2DF2C9 D3A98D2A5A877F563DEEC154F88049260E75116BB01CB8229B187045218AF267045E21CFCF89 40A4EE09AF15E1C7CF26228D039698D5B1A5E06AC84660848706F09BCC82B84D8E02823E3106 5B45E2FF7AA8DA41BA9C2378DD1AE5BAE47BC7D72B7364B57FBBA43B56AC0FB2094DE5D6B1D9 9D1FA660F4C263FC63465BBC3D8F538A2828A172DCF2BAD5F9DB1E10B7AE74383C803B02879C 368205D1C118A84A8FE07D19B3AE4F7CD62B888F595D8C9C82DCB9B55E6BA973F2FCB645FD43 E563AE4B63B4CE6E80C11677C849FE5174B0D4CFC04843546F8E4237C69B039DBF0450101172 6777BE80ACFE93D17CB57426E1A290B95D8CD00D33C00D067224893F98672A8EF073F8C6E99E 25FCCFC8C1012CC0B6DEF0D30C64A3A31BEEB8AD1B465910A50C9FBC4A070978F17F0F1AC1A1 885A0A33D853517B8388B39394AF872E05AF13FE519BB706E366F3817BF69811B04943AECD35 EBB36E409A00ADDF747C6E5233EFC0B94C38C8E97AAF991DC41A5E4C76E4A668D52936B059D2 4175FBD51C2923F0E2945005DF2A5CF042928EE87568F528CA2450480C8618BF965B8370B6AD A560D3B4E1EAFF2263D2E2BD6F06F2F5CEFF44B435CE87AE6DD6EDAE5340A0322DF7794C2E18 0F963702AA1593D73933DD9E36A2E79D6B851344C87905F16D252059ABE078BD01CD79C071FB 3B5B355B20CACA81D8207C8E0F425A10E563828F676F9CE062CB6FE1E0063B7B5438BCFA2C97 E78DD8291AF17D0E7C12E5205F7FDB926AFDF0B7D9245C4AFA2414326257E53FBA0FF7918D3D 201B63626F798E91D2F2ED1329CF87B692F4400707A8CB0E02D8BADFC849974E94962F07A557 B0D85E17FE485662AF06E2BEE67097398C1050A01814C80FE109D363D388A3C718C277A72165 85D330B547DBC337A845C18339559262925A9B240467C45C813AD98886FF930CE28E5CBAA425 C009172945FEB6FA43216620223B96F0C0C12F39DE13DF117FD899F0F83BDCEEF807BA2410AE 97CADA1549F0E505D952CAFB99FC7F233248627A23E87EF04330D544E136A6A5A8952D4438A8 4F6DFBF354FF28165DCD69988D12D184141345FCC8A70AB393832C5CE72BA581B2011E85508D 9972E4AA90796E6F375B3A00D9FD54807803A5D6E31D081A11454B1A0FE9408ACB583B27B686 B3E1E7C396EDBC063F4375718427549BF1183FDC8DF87ABF25A6F9AAB05CF3201DA786B535C5 959BA0C4FF6D57A90B27FEF94CD9AE94C3B292F2BBD8A42BEA336E24808C7635B38F23F04C64 2A64B2C3DCDD868C4A8C553744035E239FC019A15DA741D45AD2DE71FBEC727B55F1A8A4A86A 9686092CC00C879ED59C1F94567A76E729B91315EF76C0875F92F37487639BA1E8C2C693E802 D5D6FE15847970F8DE9E616E7A6A2D898276A3BF95B1E7BBAA0646E1B15BFC1E4B8D5F5CEB3F BD9DA21A695460E2E41957FA614D4B7E50BF86A38EAE329811ED79AFB8A4C8AB38E517663C4D E0B4A9D7DDA0F8A6754AB908982562D5160C58E9D0C5810AA5EE7E745F141DEF2FD5871836A5 685D5E6E3702BC6A24F0C8E9182284ED6E16A92A5EB512F4EDDEBE55F6C86E7CB8D71383C0F4 9830B3EA2FF75DD2956F8F3FCE3363DD49FB85D51A62644F757F34AA86F353A8844127870215 81D2B149A70DF60DB556B4B321FD839CFD80D257A1D307904402AB5C3EE16B501F9430C83431 96AFDE969444625C3ADB1A1734DB155D54CCF9FE928A81485E266BAC53895EE70732D1F345AB 645A4DA959C8A08E3EAA8A968097926793CF91DE5DA8025B1FBDA7F323562E5DED86D36A0BCD 7F84E3D1F9EBFD8823EA952C1DAE9C0944C13B3BC31412C1A5A44DAE7401ABC391F7199BFD7E 8BDF43FDC052D499951C6DC3481322C6C7A86E271C776ED12FA4670072706EC9CA98D761CD16 271D3566712A56A2E38652318B280F947C7604C9B75D2F88837F2B06E3C945A618631F429F4B 305F6BD26BD8AE3BDE01A086F2789831F8CC8D413B17A1CD82B36C3F1BC9EDE24D0F0FE43B49 62E95A9AF21AFAF89D01A1E245A6DF385EE527E881F9E73537A93AA68279A579C259B409E460 0635DFE6A166D014D719CB03F4CAF828FAE233C3C7ACD57274676A0968449BDE0A0EA6F1FB15 FA3C68915FC3DDE2FA71C1F1B15CA794C9FD7EC9E7A216D2B5F1DD49BFC714ED7B3375D65C46 3EE12E32CECD625E0B8E0848C507C0689AFAF31845F42648676ED1F8E9472B68FF91D3A7C8AC 247BC169C738CC1D2D2C3F0FDC9FFC01BE679107A018D2C85C8D457B5443C24CB5310975E5BB 8846DBE7B79842E64A0DB4A5BFDDDA3A1E2D9F401938E621723771E2E313F5039D99C429A6B1 D92343FB2C63344F66A6E35218F9468913126C4969F35561EC734BC83121A21961B790D0964E 1C6EC73E4FCD066EB57EB2BC769A77E70F18CA8B06121F8CAA554C3901296CC89559AC92D6FF D4C03E6660E801519CDBC091D6477C152A6AFA1CBEB2BC8F553AF3A56114AAF27AC7B729AC80 E5592519628CBEEE1F1DE9357496B60C082F77188F59D55F95116E86E917B6FA25E8628F6D47 3EB17433F828B1DABA1DE045477E1DDB96643143D99B98B4429212739002593B1FB82734356D 90CD70105FEC564F50BC8823A9C6DC25230270EEFDC43C254B46AEC991E0FAEDCEAC965DAAA0 353B324E791E46794CF0467C5E81DC79E0DEC212F77F73E8393FD87169C27A078DA0334BEC6B 1069A4EC4912D3E9B206F78F6B278FD65D5FB96671850D1F61C1920D49AA034C4F1841EA9562 2B71E1A77D54BD776440DB63316DC376418467D6629774E86D000420EE1DBFECB8E21851C688 6503031F842FDCEB041AA63D55148D15E31AA67BD9079E6F6232062F7B189D9A4D2A13D71281 A0768E6725957EF8581BC9EE368322050CB857AF2097166DEAD851B772FB8967F36B0ADA7E1F 99AD039163B9BB02304D3189978F33F39052097F63E30699015F83607D834D8A3AD42A163C16 11B4B85F40DFDF3529A2126D467AE8672EC4BC285F0F1DDE3F4A96A4EA6E224E8FEAB920C794 87F30F06CA5B5906945574084D23605B98BDC8D6577C9D926BFFCBC5FF9369F44E80CE3F545B E16EC21D1A5A1AC18F546BEE5491C50FB9F8AEC5FE2FE555344C829EED36F5287F9ADC202D2E E3F0D24C9735BC952407A645F9C9552C1AEC230F9267ECCA1E3718ECAB42C531DDDB91B482B1 18E3BED209C282BCA4556F867EBE4516C2323C53539A83592CFAF1F97200EB25772E91D5A4A3 4A2E9250226D2F5C7B81C2E72782B9E3B3F1A88B06ECA767251D8F763C62F424948E7ED3DD05 3C8C00BB3057C7A3F2ACDB7D23549A95C14190595B31A544D4B2E50FAB5A8268AB2C1A7DEF7D 6E40528DAC5199421C8391BF042B1E136B057BF5FE8163C0BC71BEB3BD1A9C8CF13C0F163AF6 2B1F3C87316710A417E94AB5FAB692EFCB0907A361240A13FF321E6B47319CFABA3973E2BDDA 715CF2116A4EAE6A2904A599F2253C8FEA23607DFBDE8A89A3B31FCA441119AA551BB8D1188E 648519D75B196F3EF3990E3FED01A81615A0CFDDBF0A46B62503AECC0A3F3BD25FA222B545D4 C9D75265A8869E7148E7E992327D439DD63EB1962760EE72BEB9E16BBA6ABE24EAFEE7DFA35C 91AB9FA03F8DC6AD75565F7968B3F6B0E9AB33C8592C08F21A11032956DAE46D9DCA09190717 1C83EC3FDA6D81FBDFE84C20D28DF83179DA79CB6196347DC9A4C7AEB6E65F43037A29F5AAC2 4BED20B21A83C73BC785439DB31E1E874FBA140FDB12DEE62C6330D1A7C5DF70AF507188CA5D 74A2598591314B57DA93EC600EA2AD3DA8AC07BFBA27BF67C563659CC3DC55904D25F890B890 1E782FBDEAD982087903A48BA89E8907619EA907AAB079681BE74DB150142BEBA6BC6C72D2B1 99829262360BBF0C7E657180A96E6B81CE30C05BA04A073B0151F4404A7E13E369A80B71426B D8D3B573DE2BBC9599F67BA1A3050181D2A098B62B5EFEA2E6707F4C06D93B456605BCC402E2 635F991A378897B9120095ABCBA75C08EBCAA90CD677827F2EDF87EF214656438FB890F1FC04 D90B0EBF43C1DE41AA6367CBF206233B5ACC257B25B93A12717B25DEAE5EA6335EA8796031A7 C5529D0065D3EDAF3296ADB44BFDBADCB4CD3BCC8BD5D718493A6155A27748BC268089B2D341 B19A7B346B4E4FFEA44E015315C157299FAD4AC00B24A448022D7952DE7E9D845403CD0C1ECB EB8D596A359C215E4BF2368CFF9C71C03A907AFA1F8921955751B2984071D0238835BED2B2CC DC900EF320090FD5070E2DAA93F2461F03145D4072E620D12E34E4F6A8B632488C5A8ECFDFBA 425388EA657BD19738533CD04FF3526FE99FD3EF5F276363F687E2661ADB87606E6CD82D6F5C B7F4E23163D146F3DF82EFCF6CF46F1AD62DC12768979E56C2919038BF95F4CB110F743883FF B6F3A7E2DE13992E529A8D137C8A0513C0877B2E7F88191323EB70A97E8AD6DF9033FC8EE538 842EF62EAF6320371A2DC4A00BD823D3BF704C3225D4C37CA4362A8B4A4CC47B65F619EEFB25 2154634990D0381BE07890B5BB2402C5951F0E7584BB071622AB05E1B052469FCB949B486D75 C93CF9A80E8DB3F03E7139A6C8E711A5D4984890F9AE03088D821A5D98DD8EEE9AC91BB71330 24B4F1CD1CE8F540D75152EE20F45307D83435525386CE1FB335CD9FC643ADC1B923B50E72FD 64004676DF02BD9DE6836084E863D102F929AC6CAB1191451C9FD3846E607F7BD0AD1DB2A8F7 C971BB31E74D2B35FC3F00CC8CC90B0B4BDB5D3BE91ED6CE10196EF2410979D6D7F42A499D3B 35F715BC063B346F5C6A823159F7C083DB0B27622672B0EBC96CBC2B171AD45A2E23875525DA 3A6B801EF8A612C7DC7ACE0CB7F0DF292B9492963C822B6C7BF0149F4AB4782C64F10FD21030 FF2AF361188A0E3FDBFEC64778A8DDC84448AF0DAAD005D66641267C5E654BC65EF454959274 E4C32B8FC592B93F79731560CC34054A4B206613E4BD2D0F14968B1305E76B3C2ABFDC0CC4F2 724A3FD5DA2F2803609A1B5D2103D71557663F979D5249D077CC501E8E0EB6E9F470A5FF5BB7 1A20A4FBA492E235EDC554A30FE3BCF7F9D78261CCD89A6EDEA838BE2C88F6ABA32E828A0CD0 60F202BF38FD6712A10BADEF3531583E2902B63031BE0FD6AD28FCF74614FDC00268CDBC2391 67A501E216C331F21D2302C0647C800ED058F163DEADDC7EC270DFF5EEE405BB8093FA5277F6 633A21280908893A570F22CE34B59E192CAFD8034348B2CEFDE3389107F6F6DA293CA5BFC0FF 204D350DC642F44CFA2847CECB3F5BB85EA2E268538D1740ADD2947620A345F46F97280B2240 8DB74A96B5BC1BE5F8D81F963521C194B641FC66C48250317F8D0058D406D21A20C03475BDFD 0785CAE59D1D61BDCB228F9A8E935C52D9E3767A2B6D38F8744E82F1F495ADA21AB62B539BD5 F2E78BA890668296E64755DA92259C4FD6A65F151BA7CB78330AC29E4F86DCA57C78D667ADD7 B2DBE89E76A8F0634D4441F4249973F2188D74B5CDA7360F9AC8192AE04029BB421E5696CA86 2E1513249127A01904A6D6381D6347E99D422258A0E47F170D283CF47DCA2AB54747BDC56095 0950E275E3E69B2DDAA7989654F9512A45530AD720BCA7F59FE65099E1DDD8A4D90714D85736 4A7FDC9F0A84DFC86200AD900FF633BCD1F8B985495AD5EEEF776299AA3E74D11D2C81066A0A 2AEBE05CC1BEDF2A6B3A5A6F6372EB30E77E0575E327A5AD23F188D16BC7D1DAB20AAA3F0709 B8709CAA1661236443EE9B6145418EC5E9E27B73CFC884D6DE956362FDC0C254992557778FFB 6FF0367DA6188502F524AEC46857D9BE66AC05E7702284D6255DC5976A47A976214AE793E081 DC36AEA6D5EDC84E116F7A5F294F006D34A68FB8D0284E1D9955EB619D2465A21DFC027680F9 CE451F5705AF47489AE0A1581A9817A33F2A6137017560E9D2683030CD567E4433415BD822EC 285F7EEC241533A4A403D811A1E01D3BC21C6D0A28F21A44BD404E46C0546C59F6FB8B9F3B62 F11A598FC018758B3B62291ABD5C39E03477B7EFE8DC8847DD258EE6F1CFA079D831BF3B2893 1EA51C02BB8F3C729B4BF2886DD7CE05676235B3C63C671CAD6194646D0BF1BC5349A3A31D0C 90FCCFBE7B84161BDF8C09A46A5A715A7C7AC7EEB2715543CDFDFE0088755CD5C80C6ECDA2CF 30DE170AFE855F837B6963729E9F970BDBE326D40FF910A483B7A46A65355587E07BFA503590 A208E0679486BBE19BC36C4F79B692BA39BC8B2CA89C8D11B6F4D1BB8896790E5FC205D5D2FD CA560E11A0F574338288DA041598C746D807AE064C18DAA834B63B55F2ADEE166C85862802DF F3D9D7334C0A06CB1D4898B77803B0D9B7E9B7695BDC15CF460D844D5FD2AA02482C7741CBB9 338BD67CDEB37ED910364C0B0635D8317854AF661BB4D1FA2E60761224DF68232B718A6E2F25 0350C46D60AD84DC329AB46D64E6A4839E9FF57C70D26CFB7C07AABC6CC0587AE8DEDD4A9E39 CEA3D17E05A74724B115BC8E5430860EBB2738129A46D0AC5100ADFE04E9BDDB6AC4FA2CCF8E 441161A3E8AC2051DE7C04F2B2ED0080EEBD5AC348BB6F1740B38A220FC4F5B2A110518DCAA7 67ABC053637F24A76F1F314E21A41217BD403420A1D6EC046C5D7281486C421AB5D64241D21E 533EFFA79670F96241A9C947B2E11E38D6382A345B1AA679DD4814112E69DF58B919B8B51506 17DE7F9FFC3EA80CAD25BAB053F5F201BB34D9F5ADE6C1F9609BAED2C9344B009772D8DA7E0A 7E9F22D01A9FCD8C5B020224563A631F5B9AA7257EDA6DFF1F8D9485744CA2DA626624574DDC 7D0C53C59B4484FFD604E5FD6A46E1E854AF1CC647BEF84707A619C225EF2057ED4ED522433A C11E21ADDD0B6D1E9A898A39F4FE2E547298B8F3725DBBD16AC64AB5E6FC963A9A65B2663239 5D28D10150C1F17BC20539B3F35E6F518721CFF54DAFA1FB36E686C66A27C552CBBB04D74F15 C19BD418BB38BEB6E83AB05F48D9EB8E11100DF90B4526CDEBEF6E2CAE7F60DAC0D284490ABA 6CFBF1194EE8F8CC56ED7F714267140FAC5B852D68E64ED79C109D77393499831EF413DA8E4E 233F5DD49231F585E148DCC1A4623323CD710408FC6B8D55FB5D3F8B51FBD7AB4E59DA3D7F09 CA64BF4B48CAA2A01C3E04791742BEC5EEC021EB356AEA9434D24876004268217352226EF1C9 C4602AC7256EB1106088692F7EA099F8ADED5EE6044B41F257780990B7AFC50382EBA95F76BC A0AC595FD9CDC5544096E8E31BA5E4C313E631CEEBC515745BBD0913B2F9AD8CC79CDD1B6881 2410785C4C795925A2563F8AFA996A8E6F4B0D069BD2B0C7E7757D22FA823072391B1C3BC235 C77D9C052F8C8474B35ED6FE23925981B249B624F5F42F7D3F6860D09C65E105FCDFCB8F773B F59B5B39E37F45C5FD51E3654FD5F4107D738036A27A200260B8BD84A89764AA74F5797B9C66 69F58A00A6E66767437BC37F978212B0FFF04D2A41C97A4B15F4E6A50DE388BA2187832D3B14 6F0D23F5ED5F8F6E48E82F30998375BC3D172096C0E555F8B253CA73F003A6E12F78F90E9BC5 6E94907AC59BDB37CA268E7B10B047F6A34D17B10A48E313CF90AB4176A0D8D3243911FF3527 3A1091A793ED3B164284356A3688B0F4A3FE855FCEC3D73BBB2970B090619C594395F0E2C3E6 A10AE07E24D3FF12DB03A8B410430DBF93F4124CF1F0E1B41144D1A51D377D160341BA174861 9D9793E5899968992F4AE3EFDB7E68F21084A1A4B53D317CC138CAB8CD34AF674FEA0F03401F 0888806BD9393B988B7E580D40C46C30374CCDBBE1546D569087FCA1A2D7580C1D2592B397E4 7B28A7C30BD2062D6333FF3071EF6BCCFCD68758BA172071D7D8A83DB37F0304E20A349B0854 EC6ACD98B1BDB5CB913187A9E3176F2954484167CA4D9A8E13F7273D843802E230D8061E02FA 81EF7FBC93CC1EE297393E330864DD19A71CD5F01AEC327BF6C22D6A47B73201222CBE9F7397 44E14B9EBC1233D086408ED92F9F8CFB11AA283CCF77B1473DAE1E00C5890EC07C68F5CAA1AE FFE937DC9C946E71B60ECA6D05C75FDC436793D6CEDB8458A32870E4D4D0BF6015FC9687BBA5 88F3C256C3795AD9EBF710F2BC0AF4DF3AD34622027F412DF3B0CA26C8D324DD63DEB9E5C490 D70FE2DBF83107C00285D3D1860FBBE4BB7FCB1DD37AAA2FAD6DFA2EA2608DF1B29C499B66F1 62D9FDE39C04FF948647234E2C182A9DF05FE1A8CB7C7248BF261EE5824359AEAD1E37CD4561 2066E517D7DE23DE2102334EF2DE91D69A646F1FA0FBF0B1D5E48874811CCD69D6AE3D82EAE0 4BDF48A0CA9C7AF4CC9F4B9AED930BC66DE3E48E30DA7B6FEB29320690EB62AC11BEFF1BA528 FD4E582CBF447CB3A4E92F15593CAEF1138392516EE452ED4F859AF83077B4047BCC17C7D297 169E43E75E306A173A30B3A3C8D52652A0EE37A65C7A32FB81EFFE4B33A2EE95290BFC56390B DAC88FA47B1DEF4C92CBDEC3ACEDBCF188DFE57B1CA90983B4DF7852F9E4D70096F780C297DC F83D9900EF0D76D09113FDF1CB98DC4A4C623CFAF4900834C743756FAD2D1608735DBEC04374 28894A19BCBCA91B757F5FD8E3D8673D8527635C31E8CDA6DF46B28EF4038FDD8D09B4324EDD 2BD1BB0CE858AB8BF8C535CE63737AC9F156F91AF82E8F3366A661D7CBA84FDF0BF60B41B089 C323F47B570B061E908F9755CA24047C937F11FA1133258F8EB958421743F10222FCDC3F5CAF 3E0278797CC9806767348B9D0935A5053227F3EE3F9787046796CCB3BC63DE17EE5A9791948B 9C055F3EBB14C68D2211702AA0CA4856E8AD5BED532D728E0B9CA42F03BE18B50EA47BC6725F 3FFCA8EB2838F78A26B397E73DE2DCF29D739ECE2337D309D66E12743A8F77BDEA9935CB1499 863D972BC1E2C094B7A2A8D8C0927CD587EE86BFA9CBF7599CD79759910A414C783C9D7AA6EF 5093EB3183617A44882E3B47A67D1A5EE4D53A6F451F1C1DCEAF935538158C4EA81863EA1638 3C376B302EF74F86536AA9C769EF507A60E35DA6BEDC3BEA269D8A8E4CA75C39E5B18B0F69B8 E78255E9940B00E53AA4CB2724FC22553486E618F5F8C852392081CDEBE8FC7650036602178B 84C8AD55375C20D9D5476A2D62DDE2FDF259DD1ED708285F87B8F5B69ECEE72594996DC72FBA 1B498A40190F045A920A3219B9EAB7C9754EA7C864BBE72A0F95D9ACF539400D08029F363CD2 9A3050C95F80860701B3C399FD047027FC15333CE9069F8D4EF6F354487C98862783BEE86EDC 5D073BFAD403DB4C1403EB31019ED23C96C33890FE68D75355F35C0820FA08257A09E736BCA9 9CAAA9C93E34351854EEBFD4B80B7536FEDCEA115EE8E5D910D0C95565317CD1FAE76A20FB43 151F7ED5E48AD888FACCCF41B907676D290DBA1DE329553C393653B10D62BDF590CD73F98700 1A0A1FE19041C1A60F92648C02E643AA7D20A5F27BF8F848D669E167D4167BB1687C148BC45A 6AF5FDD144C56A3DE655D0F6F7D217CB33D2291940AED6D1A684876D216A647A4F665B59FA33 F4CBCFE1E13174A1B8856BA8800F0282C68B72BA7CF545DD18C452FD6A769B00B38860C1408A BEA2B06A87E1B8D9C6E08B3DF98DD16FB3392950F6F0D11763D82C7D6BBF3119EEE58A710397 815D15F71D2FF3484F71E8142DCAC57DE43290303CC7C16957FE7D4E2683D5303CB1CD30E61D 8D4C5942777DBDF2A9D564EC0526336F09C7028F2B8CA0BD988B3B71A970A47D13E3600EA390 6416B44A7D6138EDB9B7D7E83F824497E4ECD18CB7004B23D02314FD30B2E6B732712F976629 5AD04947FDF616BABDB1EB68B8DCBDAE3B16A829D6316990FA726806329D34011B147FAF96DB 5AFA4624B03A6A9046911277C1F509619592CB5BB517C4AF96B8DE83F06E03DFF6BBFA560063 CF8073223CB81A6541487C6183737F0C0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: f7b6d320.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 % cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8 % cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10 % cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10 % /TeXf7b6d320Encoding [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def %%EndProcSet %%BeginProcSet: aae443f0.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10 % /TeXaae443f0Encoding [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf /arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft /arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash /greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow /slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector /tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 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: CMSY7 %!PS-AdobeFont-1.1: CMSY7 1.0 %%CreationDate: 1991 Aug 15 07:21:52 % 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 (CMSY7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY7 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 0 /.notdef put readonly def /FontBBox{-15 -951 1252 782}readonly def /UniqueID 5000817 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D251491EBF65A98C9FE2B1CF8D725A70281949 8F4AFFE638BBA6B12386C7F32BA350D62EA218D5B24EE612C2C20F43CD3BFD0D F02B185B692D7B27BEC7290EEFDCF92F95DDEB507068DE0B0B0351E3ECB8E443 E611BE0A41A1F8C89C3BC16B352C3443AB6F665EAC5E0CC4229DECFC58E15765 424C919C273E7FA240BE7B2E951AB789D127625BBCB7033E005050EB2E12B1C8 E5F3AD1F44A71957AD2CC53D917BFD09235601155886EE36D0C3DD6E7AA2EF9C C402C77FF1549E609A711FC3C211E64E8F263D60A57E9F2B47E3480B978AAF63 868AEA25DA3D5413467B76D2F02F8097D2841EDA6677731A6ACFEC0BABF1016A 089B2D24F83F8FEECD9B11A16D76AD6AD0934A8604FAE813A1304C950E76FC3E D0FA05FBAAD62B378AC5316425609AD3143A59FAAEE73055752EBCB7B784017D 10D7B44D7DF4D4793D776B70373076A662D812E29520E2915F7D742EC0650CB3 31FDD62F15E4D5BD0CC19D2E1C7364BCEE117028BAE01859A6AB353634EBC37C ADDEB23C853A9AA732CFDC99134B91D9CE53E3E9C3ED2CF043D4D2E985346C98 DAD4A3F598E68E5DE482B93DFD55D2705D05D0D4B14B288D72B73C2E1B2543A2 E18C363CD7BF6FB59AB75C0BDB66F9FED7CBFA62042FAD21C7D592FB1D2B3A6C 4643296A34B1C67E11D1D1D988C1415A4AFBD1A32802F05DA5EDE57C6829DBD8 87A5FC79B176DCC55594ED46FE588E7D6BAF902B8231695ABBFDEA733923B39A 0671D24103DC517C1FE0E93FA71E36B9F5327D83C5093C1D3054810933524C4E FEF311EC5CA6AF0B83316B093DD08F295D 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 0 /.notdef put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueID 5000820 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C 515DB70A8D4F6146FE068DC1E5DE8BC57034F0E066082A12B11F8BE89A026E65 91B43447E7278E0E62E66F023D427DA3AE586F12F2DD773341A7A3E5A75A7328 B26354FAC930A6E934A7D7CF5730D631D60D98DF787B34144305DC0D364F262F BD6D1EA0FAE2FE041D085F3018B49F736E3CDC1664F9059895C4AF61130B0A01 924502CCC9A5E57B8E5725D0691596D191CF9848CB26A22EDECC6A9DADADFEEF F2AE0992D103830B8E4466E50928A93B8B24DC93863E984D3F5AC772D8E7DD48 86AF0F248CE58E84B449D555E040810D24CB0BC9820E7CA80571D51E73B500CB F7CD2E8863690619A4AE915C1D3AE7346D5EFB1B3AD9D546CDC4E2A3C6746D44 55C3D6DD8B08D35073C2D708A8A83492D063CF19BE80A99ADB83C701450B5A50 03D9E5DF0D4018B5050C4250BC3E6C556CE41126F43CA2F2BEDE82DABA641C30 13563BCF273AF7859857FC5DCBE103B9BD9D27215816513B7647C8FEE19BFACD F504760968B8B7E37B13B0E6D7E22AB9455032107905236A3CA991762A483E9E E7292A94C1FA33FF86E5861DE3A00E563518FF6988515D7F8DC62C6BD8330540 A561583430C164292516B867C5F5598E878B8FD67D699D016BCE8AA48422199F 488FA6B3F903737D475BA8DFA5D2CDED225ABBE2F2575F405B6495C35999D180 A9F51268C7266002867F02B2997B47959F125C165FE3AE58CE1770D00775ED26 FE0411C4A974D536C1A3C6D16025CFCA4ACD5F5D290F00082AF1EB7BCA356262 930022F968F3A02B704E68167CE7A89103BBCA87AF653BE289241C8697537054 682A0A002E310A21DE62AD2E60F59C352668546A399B37411577CDFADD371EFC 628D1CB8538BF9795F1E6142EB55762E534F115AA295B4331B2E2726819902DB 751811EA1CD178C90262C9EAFFBCF03C06371AC9C01A0005FB0BFFBEADB4E6F9 4082D2DE0DC654690A67190799BF74E58D1E266A5463BA74200A051572B5AF26 FD091281C79DD6DBA27E7C38341FCE83A86BDD7AE7745DB2FC376E02CB4C884C D69B76473C609354DEEC1D5547BB75D39992FD8C72C8D5933E0579DBDD433096 02E1DE72187A437D102786D25E16868FF2DFAD2AB0FF9042733CAC8643AB2E9B 921B4AE59153859C82E84E54DBA3FDD7ECBFE82EC631BCE8745C6CE7607870DE BEF822D0A6886FDADA01E09D2C358D867221E327827718C500FF5D7EE0E9AC7F A21F96AF9B4B48FE72565ABF46851E08F400E702A9468947FC204EB2060AB504 BE2D54107CAA131077AB1879FFFE0329363F53F524187627697883FEBCF54494 9E4FAB6BCD283261E796C965259FD99D745FE0B138BB7453006814D584A466E0 87AF420C67E0FC2CB56833E0E222FA056BF1471F61505A79BF3F088646DB57BE 1A24BB7DDB9DB237ED8311193509539F8EC6DE661E54AF1CD6F953DC6C124572 E9FFFAB312A70E12EFF68139416A4973DF6E5A1B685DCFC84E424E51BCB0A6CD A921DABC55084BFF6A0A59E17A6F34CEDD91A170BAF3144EE99BF86A85CBD156 57F7554FA13F30D30526915FFC8FE33D3B28973783638C0295B1A28F1255C76F 2C627DABF5B171695D0CC66A35DF11B51333087B42CBAE631F8F15129F5E2DBC 8E463A833473D25F09DE558711652F4D53EC36850A1A6105154DB0260941D1C9 BE8E84CF742A4A82D71EC2C94E1AB4AA68789BD7CA80648A12C1E94EB79791FD 9964A0F43912BD30F94D49C0EE9C0E33720ABA3F6C4084BEC70D56B4B5C8BB3F E67914AF59F7BE19CAC2FF19E4BBA5CB2B2F4804D6B11E98A670F3D9DD25DCB4 718C8CE165C3AAF2C4B5857672C12D62CE25680698209167409AE594A4917669 5B73C3AA7546D11A807C70F1E04F9C15E7829F9C34652E141D29781E10379527 C2C17550CA1084DC98AAB600BA8E7FAF57C2115C38591E82A14D3C96AB6DEDB0 B57306E8817D5A8C52C32931D96EBBFECA96659C7887F26B68927E2D7410BD2F 6988B291C799F58FBFEFE0533B24EFC9FE74F4F7879B01E55BD3332DAA2DF99A BBAD22929440D2454BF1BFCFF36C2A52D87DD0C0F6978EB087D05F42B623558B B1A0942FFA582F723D9C51D167C0D57F14DF1A1AFE5B40210461A10F2662C61B 1B2918CCBB0EF38C091CD4136927DD3F311996E331846CF7100D784FFB3329E3 D22ADC23ECBEDC88EA75DA5265DB55464C601682D82CE0811806A3C79F97A5FA BE7225E8CCC9AC901CFE1A38A0CFF69EFD4D850F766098ADD7F4FE7FFC64B352 61B46A9AFDACC88D4F05B91C1C46600DEB3AB79010301001CD21AAEF84C251AC B864EAFF7C17D13589D9DD7EE1930C47679C3E81CA3FB01785B792C53B2023A8 10BB59F7A13F7243A8E741F4ACD7AE866EC0CEAA38562BECF504F24006B5406D 9A4857BD020569BD5D349235C7294A6FD655173C65DD4B9F2766FFDE0E9C117F 58BD706AE987EF623DDFAAC7015A53B479BF3132AD2EFC299E081B8EE2453DD5 4BDD91BF7D089871E0BB89FDD3ADE929933ACD660D0425A2DEC614B1D0B9F55B 4101C39AAC013E91C3814FA01C4C719C7589C1F0802E24DD401FAD9AC487241B 466D42A7AA88737CA9C3CEF11D2F0E3BF9F1117C4758F961142B434BAC1FDD55 E1697F888D7390897B030F8A7CF8AA464A329DD05A2EB815219E0D8CC9EC5343 7A17585DC50A7F0A39CC5439244FD2E0245B9842FD268ADCC0E76235CBD4EE45 B57DF96CC0297A4662CEB3CE64AF94780515E4FEC073B954935372153D4454CD 4546A22FEB6C323318BEBD10FFD28B26833FDD94EC681F44251E61151EB66FA0 C3D564CD9CB545FA413DD5E7 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: PazoMath-Italic %!PS-AdobeFont-1.0: PazoMath-Italic 001.003 %%CreationDate: Fri May 17 11:17:28 2002 %%VMusage: 120000 150000 11 dict begin /FontInfo 14 dict dup begin /version (001.003) readonly def /Copyright ((c) Diego Puga, 2000, 2002.) readonly def /Notice (Copyright (c) Diego Puga, 2000, 2002. Distributed under the GNU General Public License (http://www.gnu.org/copyleft/gpl.txt). As a special exception, permission is granted to include this font program in a PostScript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def /FullName (Pazo Math Italic) readonly def /FamilyName (PazoMath) readonly def /ItalicAngle -9.50 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def /Weight (Regular) readonly def end readonly def /FontName /PazoMath-Italic def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 108 /lambda put readonly def /PaintType 0 def /FontType 1 def /FontMatrix [0.00100 0 0 0.00100 0 0] readonly def /UniqueID 5116634 def /FontBBox {-70 -277 902 733} readonly def currentdict end currentfile eexec D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB0A7F85C4 9167E58A181840EC46CC379EAAE07071FBD381C7EDF50327298FF86A6A4F6812 2553C2CAF67371991CB73DD3F08A7BE3D12E5D0B885AA74F37D1940EEE91E918 45D5847CDBAAB475B142774C14C38D20D16027AAB426CFC43043B69E67862958 8D309D463F6EC259BC9BAB2689D1380DCBB972BC5D1C6C0E70024BB94743B0D3 0E708C018C6FC49FB3675CB4742FEDFE96626AA9EA7D3C796CF48BB4AA39B8A6 F6CE05666C879D0C0A32D94DD56B8F9D70D13AEB18E9CE60CFA59B7C09A1315C F5CA850E22F7A7D830CD703ABA72AF0809353FBF829BFEA6DC6BDBF71868E50F 4FB5CF3E74205306F4A0483E4392234521E9BEE73DCC872013FA0C00CEF2FCE2 56118ECB17B68E6CFE34CA1ACB4ECAFE88D23CEAA9A342E6F99DF3E6D5C384B9 73331941B9FCDC23DE031D356228C697FBA2B4B23D1F6666CD4B46786097125B BB9405A45FAAF63F5368C50330336F4B21261921A08C5A26FD946FC76DAA4D31 DE30F498228E6805F19356249B0CB284D0C92F91C19B50408B9A1CBCACE3A2CD 13642CAC2B58B5C098805B8D26695ABFAC108093696675CFFB67877D51E33527 8A9A4191C6A0F004CB20C4A34BC4446593A38EC5CF591C6CA42E6F2687735A3A 91BA805B7E95C85D8B19F58845029CC7F63FE860355B39504ABBE922C21E84CF 0223052B9600CBD2D7F195ADF94FB5BCFB53393ABA60795FA7875C01CBE21F84 3DE9937E9DFA1FA1FC62E3D51CC8F9BD7B033B181C2E360D4778644FE826B56E 67BBD6442947964BA6234EFFE258C04969109B86BF934FDBDC3A2EDB5A22A727 47C69DE261E264E6D19CE391C9812D7953777F081C42F90C9A7A72B39A1F0DF4 B294926C617885AFF629567C9F7AF2CABC182BEFD7EDD2AE8AA82BF9D60F2FA6 1048F1FCA7F17ECB7CDB1E29C436D1A232F19E436B8B6E503C2E481755CBA7A9 8BC9F176A27F776F07A7CA94474DE1277A94E6D20255339FF569DF7E17EDDE5D 39DA2DB64A52F694A638F0FB6EEA3EA280DA5C92F38C0A32AF12C466940ED107 2FA6C4785912B149A272852AB1F4A3547DA00438951DDC06A43970B2B2396F0D B9581549BDF37A2A0E5005D5FE3AD0AB88C107C8FDA3A9D818E209E4CDF16EE4 BB653A46A7B86761249C43A10D6D03CB1C7BDB1B364E6474BA273BD07C09708E B3657B435850D795712DED0B4422AB28E9BD7E6F53C082CCFA396053909C6A73 77F35F082E3976B95DE6256835375E0B9E13B07B4D38BF176C17735367063720 F45B230623DD994111A1E8B4BFF9EAB5E6E85F3C81D37E3D54588330C297834E E3AF5505DB8C3B89138F9F262633B88CBA65ABDBDDD8DB22470CC69C207C35F3 B014133645FB9F8E53A6E2A1CC08CED761DF0AAA5A4BF65B0FA7D0BFE3869209 CB0FF2A2CAECC675372BDD73B0B19BD143C697D103B20F96993FF555188C7509 6057AECE6C61B6FE484CE582EB7FB486C3B967420A80BA6B1FB2099FE0E150BD D780DDD4C62FDFDC9F3D23CA188DAC0F9ACBAE773FC5C3E21C86A6FF136A085F EF3A1F8AC88267A1B6600190E9D8DAE333E185F4E23E0A66DDD15BDED1FAC380 B91F88F6A3D467865B963C6CB6C2BAC0238F0A2AB3DA276892E52AF793A4937C FC9E9ACC236CE307310AA50B8B1ECD51706D62B383E1A1E9F0D97F9579FFDC84 47118E28F8BB1AE6F5715FDCC38757056512214E376795663C6E541169BF642B CE84D2C73C8376BA18203DF558D9666700C095207E57106950D839087BE28F05 EECAA7CE34EEA424D6A82F291EADAB367D57E124AA2003CD6A7C246D47F42E31 88608F068A7F00F2385A1974BA928FF7D401437FAA45A7875DE9FBE63BEFFEC4 9C944FEC39EE946A6047F674EC3844C7A79BAEAAAACB20517C21CCBAD3E56801 DB21DF90B45A73F62F5BDC15F6E002BB180E99068F4C5E280DFA90085DDE5C45 F170F3EAFC1572D2E56F2F0F692831903D209794359DFA26A2CCE2DB8A256480 528D81018CB12244C76007EC587466B0E55B5690955F260A441AB54B25653F2B 0360A20360880286CF5A98C68FB3334814C8A94950097240019E47B2230986A5 D37263D62BA3D19F883DA18FCBCBC7839C0744DD5CE017FCC070EFE547A17AC8 E5B4F0465D0868939AC77CCB448D3F5836675E4C43A33EA29CBE2AB98CD0305D D935D8F0F5EE333B9C52D6E4EB10CE7B2A266F24E369FE2D7618C620CFB86DB9 C4EF5E16FD6E2A4523B99D267AA808751610807F8AFB0BBDB5417E6D852FF038 407BC405811E9EC24795854136B0ED501CEA8E19CBBF7C91D74BFC14A159D900 FF96495BB9B54ED7A963CA7625C148E029B5592535E911EB0BF8D18845893F59 221410C1758185952F764CD41D74BC87F8FB363E28C8AB16DCC22608B21D9B6D 5A3669931BEFCC716F622A965225791F3E4B1257BFF74B6EAD3917D7E87DEA25 46A25395AEF0E8DC22BBCF994F435523933E971D33170450A46690C165FB39B8 F0596BDE0D50274A1CD0DF7223547D1759B4988BC354F399A7EA0FADA7995818 043B7619BB8EDF5FEBD36C6E600300261D453EF3794BEF651E4A01FF16147A85 9B82A428839AE349A5475C5C9C90BF97B72A12C91CBBDB13FF3DE31109B39281 A3A07E4526D5861D0184F4956DB9D9BEEF25BF02427893F1F0C4A0A7CED679B2 5D1AC2161B2251B235512E1AF0F523CE96CD5CDD217EDCA671E554B36E5C41F9 66A77FE94D92B34FFB53F5772C6E939EE62594A7DC18BE7DF03FB9BC5B023165 77E1EE5FE5988C82410B00A50E490EA4CDDC7D77FE56620C253E1AA527BA9C50 8CB01849B03C1775A76A17946794B83216CB0C023E9F32C47FAEB872628E251C 7E9101AB2FB7C3C9E498A441ABCD7788613B28B7E36E932981E25C0DE96E1780 A76DF77F89F709B0C8DD3CF5CD6E284118F1EFC28591A2A03B566DCE073DD3F9 73A544CD1F95ABB6ACF4F4DB15A8F27E523D0CF1E9198AF0C25BD87FB2326567 7D6BA79977BD54ABB369C68E1A19C5750A292025D2BD5494BE7429500D551BC2 FA2B29246AE85BC8C903AC9B0E0BA8CBD0F51D8D87C8F49A789072EEE922DBCF 11E7FD7B15539BC0BB36238910AB931D012BC2D5A6618C2C0752405051590B30 EA43618938803868707B721ED3ECD8F185314C9D5B4E8456BC0B096F99F1A9AD 67E40E0EBF19B06BFE1DE82BA32980AA 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 0 /.notdef put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueID 5000793 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 7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3C8578EF9A20A0E06E 4F7ADDAF0E7D1E182D115BF1AD931977325AD391E72E2B13CC108E3726C11099 E2000623188AAAC9F3E233EB253BDD8B0A4759A66A113E066238B0086AC1B634 5ABFF90E4B5ED3FA69C22541981B2BFC9710AEF6B50A8BB53431C7B4D380D721 639E005D6B4688EE16BFF48443E7C9E5FB5BC5883E271CB03428973A5FF05466 C3CBB63FB2B8C0FE6AED917EE69D49B24AA2F081695104A3880E570E8CD0C069 09587087E90022F587D65035C8A35965F4743668F85C54E66771389A53A13DFE E8503C83AFD70300BB4637DB47FDB3C7E6D3D7E35F6D515EA3E71F34B7316F11 B2AA0298916580EB533CD2E76D46A763A562F31B566E251667A249F1931052D9 45B193D9CAC7E59C43949E07D1222B403BB2B132E87F8DA066E990E4A1DF7933 35D4459971DD88572599551500C4E2207361A933326BBF152D59911BCB2E0741 95102D43EEF99212CC19DFF1A976C9F9D358698ADD8B4A671C9A59201E02E225 17729F6BADE38F193D3E0C6EEF3A762130FFAC4CF19F40B9FDD5456E0E06C2B1 5D8C841175C42CA0C465A68020B404AF93FF67A996B0FECF1FE203EEAC8955C6 36987F6CFDFFB596CF2BBF933FC5653C677D95679C3287D454CF112A43AF58B7 E66CDB6E1CBEFF42226B681562140817DFA3C1F62F9B93EAAE93B09B8DBA89E7 0C23424853FDB17BDE23830A213E7155A6CE80765DB1102DAE355C0619EBD2D8 68915460075560A2990E850E0B1273A1B90EA073F41ADB5D0F477CB35ABA3F52 89C1CE404A04451FA931F0F0B2CD91784BDA5539C1E743F98215240CA25E059E 96F5355A1F2F064B09126059832F7E93FDB6074DF8FBC6E2939306ABBB47D08D F86C54B799B05A69610C3A6AFD661BB609CAC14B69AFB083EEF4C01CD504EBDF 64B656D7C3FE16FCC4E14DCA01B539D9E4F2917ABDFEFCF537830BD5EBB07538 E9D75C029BA7E4B84D1F3A06DC9AEC3C363F2FF35406358D4AFDC32700B7A723 C5770D3DCD98F401E5CC3143B7F0760B8F7531C146C5D6766AE9C65ACA64A199 DCC576214AED85EDA567273BFD6202113733DECDFBE4391B41E28B46DBB20C1E 862F639A1094B3497908EAD959942B738FB2FC6FF5AB6A0BFB9E6BC109392769 906894156BC59B55F70C9343ACA27524B2ED4C1DF9F837FE 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: PazoMath %!PS-AdobeFont-1.0: PazoMath 001.003 %%CreationDate: Fri May 17 11:17:28 2002 %%VMusage: 120000 150000 11 dict begin /FontInfo 14 dict dup begin /version (001.003) readonly def /Copyright ((c) Diego Puga, 2000, 2002.) readonly def /Notice (Copyright (c) Diego Puga, 2000, 2002. Distributed under the GNU General Public License (http://www.gnu.org/copyleft/gpl.txt). As a special exception, permission is granted to include this font program in a PostScript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def /FullName (Pazo Math) readonly def /FamilyName (PazoMath) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def /Weight (Regular) readonly def end readonly def /FontName /PazoMath def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 81 /Theta put dup 165 /infinity put dup 229 /summation put readonly def /PaintType 0 def /FontType 1 def /FontMatrix [0.00100 0 0 0.00100 0 0] readonly def /UniqueID 5116633 def /FontBBox {-40 -283 878 946} readonly def currentdict end currentfile eexec D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD8F6FC13F6 956DF14F0BC043FC51433EF506A869D4DC4F4CC8551813BD4FB32A549ACA63E0 54D96D2899DF1C91C0DF800BE3BA3183ED98550A1B6E8341018E5958D6FE55D9 31F13205A8D7E8E8D272D572FA455E4F79A422E23BF4446DD2E07B074F30D20B 7B327FC652BF42CA69B3AF4EB4EDCC4DC3FDD9F6E97566FB964CB4941B14186F 90ACF11EB96EF5DBE23EE591471C6CBB1E5FEBED31B6233CF057945C928EEF4A BA00C461E2BD02E6845FABF2469862C1868AC67E9820944DF750735283EE93DB C5AC907F4DB0E3FFAA4879F572B8A31E142821042905BCE7CDD20581B4566DEF 6C7308188CA240DD953378AE17C8F146670B99CE786C72D24D538A986424AC14 F9616D0DF97D915C8E27F2F99C3BC0F97A7F58D0DA960A5241DB44CCC3AAD3EB B33F0BAFA3A307D3A12D586EBD694D666DEC2DE5F336192F0FC8CA12F2873A97 3A5233DB87054ABC74E097E919D8AFFE50E496365F3FF99CA21C0E7914253F12 97E11974DB6201F01987F082178ED90876E981DA2BC21E8A3E1BC06B64C0496B 6168202BDF877EE0627B3A422374E4B5F1AE5FB419EAF4012354EECFC0E86647 F34168C09224513607BB45FBBE45184DBE99D6276A99A79E5F72A0C22BC630F2 1C80258BFCB5CF958AA75E68D9A2B7BAE95BCBABBEA8CDD6D173A8B2829A91A8 202146B6BDBA12756472D83845580B897B0670DBA5093DE4BFF241556278867B FA4BD8F6B16BA3DB087744731F1B354F905CE1EC277700E17B3873714FF586D8 D8805E82BEEFFFD7E1A5BBC8064FCA6873AF4963E1AEB4556E9E50DEC15E6C86 9F6F483D23EBB55678821D43F68B570B0C2254239D644A205940CFCBC5D893A7 C6180C939327BD93B8DDAF770335D9255CDB6FBE2AFF74CAAE8D1CB13A12FA4F DBE9ECAD5A374C948FC10EF8049044A4BE109CA21B610D75453D75D618EF81DB BBD55B4C46DFC11592954E10D29A3C9F823445AEA45158E2946EBB55E87CD195 1AA77B2B2A73039B66EA4D2CAFA649D1AC291B0C7A3A82B7D9D7A60E0D3323A0 B709F40562D01C19C91E637A132BC8D6E023FED6817B1AECBA92325205A358F5 0893E39108F4A2128D046C3861AF304CD788C83E960F452C7FE3C53FD30C838C 3019AD019D719EF487B22532E8976800D6F7BD0FCCFF837E1CD0A59D88ABE3C8 FF2C7F99930FE769403B46E25CFC2041759BBC27CBA7D3F3F15E77B3FF03CA99 C867D2C9933AE39EC903795A6CB08AF08E8E864A163A4B146C17049270201098 006F532E9227C04A548A84E8652AE73A8A984BA235A8448523E4FB61522B5153 6AD69F860DA404DD8C5BB3FF454B2C31CB7BA76413412F7046CE9102494B520E DF15AFFCA053668051E605E96825738C499DB04C8D0972A9E22915D6453A0C46 FCF77C04DB06A8403149E46F78BB6AC81DE809BFBCF8A569CFE3C215686B71FE 3E96FD537BF84868DCED8D2F186DA1436F3EE8E6192E8598D13746B031AB6DB7 538DDFCE9441D1B20F0D8EDE5E0BEC400A624470B80644208DC905CCC7D131A2 2F9DDD18A15283213F9B0F7AAD043A61494EA09A3C18863494799AB90F0B0FF8 A490CE84D587DDD404831D268447DB51CDC11FBC541426DF090BD9760630CFFF 16DBAE0E230887AEED675B468DC2D3665ED8B8C46ED1B4A763CC46684C252AA2 E7CD068D67152D4608394B82E83877E96D5FF7F7C34ED8E4896E1A5FA86D1DB5 64A1B23D443CFE12D85553FCA47DE7003D92A42252C0BB59671471F7A62DE9A6 6C326AEEDFAF486F58FEF25284B5B5618A6762967822C188007FF162F64ED659 62C52C7A22BF7AF3BC490D23DB2A8D5B9649141BBE104795D5D90AA454C1E99D 802024B0727ED9A42949C0DB281F577FEB3FA5D85CB7E6B1733FCD50FD461780 04C1FF0F2606AE7022A336431017A9B4017D9A660E62AEC1DAB9EAB216693978 F919421FA0D6027EF8C615112A29AD57AF9DCF94E1553D2BEE7D6858FD8EB114 AACBAE769A5115F7BFDB68FB0C77BE269DE3B2C0C46E879C36143840EC16F66F 11B674E02030C1CED85BBEE7CAA241A4025CC664E5E816C918F29EC4F5EE9596 12E75395578DC185918A2DC7D4518AA69116755B434C734B170675CB21F366E2 5D3EB90ACD0A2157892D65BDA098161F8256986D51C0779DAE2CFAAF3F4C13FE 413330E4447790057C7B34824A7D11DCD5168A7A13539C7C8DDB7BB493FF97FB AC2679BFDF3654981CAADA75574B2BDED25612891F0B6306B6FC72E4B1EB87B2 D527B774C765D95BB5047F7ABB84A761953DC09C84591F20EA4FB98409F3DA48 AE69EE703B1BB9F607E5255529F184C1F36006E4DD60A05F12E3C18662C3C132 C22D56555F98CAED6F9AC20EF569E656F19E724FC39DA224088422DBCBAA1D87 26FABB4EA9EB1409B5A4F336D3E82E3489E226DCE8A666DD779E94B4F401C242 9CD426AF9CD9C35372E0A6B90A6A848CEE1E28317975577DDDEA8FB03F750A52 C070289822BB03028295189CA5ADB8F0EE8F6AE215F8555DC1C0D75FC7451CC9 C3A83B0675726AD12544F2864E4811F7AB3C05FFD1C8885FA8AB4D8167C57C6E 3EF7B7378704D1BD9B117E8B247BF551BD9FC251BBACF9B45022C21226D1C0CE A9D037D8F55FF50A280E12BC7EC61DBB61084709215DEEF49B959AE6CB674711 40028BDB77F8E18279AFF246CB315EB1D5A0DFC029CAFE08AD0BD8A68126DD37 51C6FB8E2F2860942F2C184DCB96E253D281938FA99A616BBD1008CCD083D9C4 180B08D5361AF968D86A801BCFE9AF58090CC13DA30697FB05CC8705EE0C8DF3 67F52A990C81BE29F2EBB890B79DC124D725A4FD2C8149582F92F13324F38AFA 789C22EAB4AAB2C6694A816A7E158615829E59EE73573363006B937813C88DC8 8FFB06B300935D7C9C8B8A04CFA89F8CA926EECF86194A67485988CBF1D63CB9 AF944727008463B09B4CD634C1AE0F5BDA3A070FB0785E93DEBF18ADF45CAB9B 60EC4165D30208448C931338CF038470EAA54F600F4E53D0B1B618B4035A0C73 D30E36E69B3F4333560B67CA5C57BD3B1864BE5C475D19E7B582B47C4B4D16C1 E67003A22251C1F89AF52692402C43B7369FE01199051C45754E22381A81CEC4 4E02384CF67212734959803685C993A58811FF3C9BD6B84611A0DE42E3091D53 6C21BE384CCA702CF69BC3D7362581FF60ED2A9AD71EDEADF123ACD29E1DAF2C 3D107CA08A8088AA78EB313CFA160407BB43CFC5804D42AE6C82E0B618F2EED3 78ED5D762A91661640AD83F9850E9A176DB7FF62BE5483118F072EF41ED1BFAB A0085FEA9F074DDBF1710282E0F37E1DB8C8F46D3857E8F6B066C10652CB8362 9BEA9AFBCA1D651859B1DDAC07FFC3722A43B9FA7497205E3D3A9F1656C641E0 FFFB58F7F566121BAB0EF5EF254357925DFA691D8D848CB76D5EF08233DFFB70 44A81864149B67B93579302319E9099A71D32855995E59307204FE0043CECABC E5B91BBE519A6EA7B9BFDEFC8A7C5950F9B302C95504A4A1497B3606B6BBA51A DFFE67AA33D81B9D834D663C03C671994758ECA85147639E9C8C833C9ACBDF2C 806FA7CAD7F44E13F22812C05D1DD269BD41B2727FDCB3D3F1169E3FF1860FFE 4E8F7412E1FEA6B858109DAF584ADBFC462B3BC4EEAA6FEE844C2D369AC80051 D720E16829E4DB330C9FDBA42153D98694D7B19D556D7473CADCE8BC0D276970 6D9B71F5D0C7A15AC6F5EB6746FD9589243156EDDA1922F27159A9E1E49A7B78 48C91D6AB6E374BD6AFFAD90D464F4E82109BD9CA2FA98DB69B3D283DE92BF10 43EF17C046852FE7F549E4498F5C754F181967088F2DFA1C1EEB357E6C29B69E B1B6FC87A2DB46E2D55A0288B6850B9952E49817087819F9EEA83FFA8FA37C3B 859378C0333993D0A6146129F4EEDDCB8593FA93CB6FA8DA461965AC20FEF501 68C5C7367E3100F8C5F359C5BA46E1037B695D978845143E70B851A578E40473 E2CA2005CD3F1B4AC1C88B65AA18535144BE6BD8A34343DEF015521159871680 AC43BDA0279727D9D854F7CCB8C69B416C14B30C377F654A136531946674A6B5 38669B8FF16945F0B521352AE720D8CE39C1D5AA3DD247B5B21513A1F4BCD37D E5BEC04C4DF58D7ACBA839AAF4D100F8EEFA9F046651ABFCC764A43DF5B4ED28 0D894B5B869FFD9BE467A2F596CF175E074C230A7BA35FAB39 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMEX10 %!PS-AdobeFont-1.1: CMEX10 1.00 %%CreationDate: 1992 Jul 23 21:22:48 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMEX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMEX10 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 0 /parenleftbig put dup 1 /parenrightbig put dup 18 /parenleftbigg put dup 19 /parenrightbigg put readonly def /FontBBox{-24 -2960 1454 772}readonly def /UniqueID 5000774 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF5B8CAC6A7BEB5D02276E511FFAF2AE11910 DE076F24311D94D07CACC323F360887F1EA11BDDA7927FF3325986FDB0ABDFC8 8E4B40E7988921D551EC0867EBCA44C05657F0DC913E7B3004A5F3E1337B6987 FEBC45F989C8DC6DC0AD577E903F05D0D54208A0AE7F28C734F130C133B48422 BED48639A2B74E4C08F2E710E24A99F347E0F4394CE64EACB549576E89044E52 EABE595BC964156D9D8C2BAB0F49664E951D7C1A3D1789C47F03C7051A63D5E8 DF04FAAC47351E82CAE0794AA9692C6452688A74A7A6A7AD09B8A9783C235EC1 EA2156261B8FB331827145DE315B6EC1B3D8B67B3323F761EAF4C223BB214C4C 6B062D1B281F5041D068319F4911058376D8EFBA59884BA3318C5BC95684F281 E0591BC0D1B2A4592A137FF301610019B8AC46AE6E48BC091E888E4487688350 E9AD5074EE4848271CE4ACC38D8CBC8F3DB32813DDD5B341AF9A6601281ABA38 4A978B98483A63FCC458D0E3BCE6FD830E7E09B0DB987A6B63B74638FC9F21A5 8C68479E1A85225670D79CDDE5AC0B77F5A994CA700B5F0FF1F97FC63EFDE023 8135F04A9D20C31998B12AE06676C362141AAAA395CDEF0A49E0141D335965F2 FB4198499799CECCC8AA5D255264784CD30A3E8295888EFBC2060ADDD7BAC45A EEEECDFF7A47A88E69D84C9E572616C1AC69A34B5F0D0DE8EE4EDF9F4ADE0387 680924D8D5B73EF04EAD7F45977CA8AD73D4DD45DE1966A3B8251C0386164C35 5880DD2609C80E96D1AB861C9259748E98F6711D4E241A269ED51FF328344664 3AF9F18DCE671611DB2F5D3EA77EE734D2BED623F973E6840B8DAD1E2C3C2666 DD4DD1C1CF9DB1FD1568F84892C602408AFD8174118B8C83CF7B8E0548D0EF4E 265D51DF928EB6477833F0BE3FC07D2D0313863EFE161D5795E4F20FD4CB1701 E16FB222DD2A8920C7978EF40F90B5DBA6991E36536AD7CAD676F74CFA74F49A 861439D09E6B00B84044C559EA7F93A994F27713160C8204BE0DBEAD26D47F95 85F14F8379789C8844275F5CF4656A083DD230262977BC70F93CB8FA77C8634C 08530D357FB86AA53439BA70AAFE947C0BCA5DB2B13013FB738469148135A8B1 6479F520FE133989B0EAA14DF4AE2B0973E4129B33E43D2C24602CC535805E3E 0E189F2311B313C4B0B70572E6F87F371C4906EC0929FAF8601171334A5321DA 39DA94C004880EF453FB12AD87C1DD69A2916C09F815EC95B64E81DF531A2C18 FD98C38FB6C11D7CE161817206341788A50E501CD67D63F36356B79C420CDC3D C0F012EBC7C4CCDEDCCEE0A2039A63161129587179025BF4556783B076AD0321 7C9C72C94A58E41C1E08292F76E199A8D2C06588FF2F5A36546C004DCBB35A89 E83EEA9C30C284953610A9A6DFDA0B490A8645E036366CAD016339E554762F56 200F4D459B28066BB6829A078F898DD82B49A3C57853519C4A788A5BC1807536 3F00E0E63DE56C5BB5825AA077188AF4290182CA842CF7CFDA8157641432C364 D9A155909E8454FDD0C20E0A16DE96B778AC2360D34109BEF4B9EE4867FDE680 306E9EF66F66253C041CAC298FCB300B0BDE7ED02133583CD44E7C77F1939998 09808BBA907A34FBF32278298AE3E98FF7AAD9557B0D300F38AC4DF8B8658626 BEBA46ABA0236594F189A75F111A4F88F13AAD0C0E57E4AAE853C24757B62215 32AA819125D3C75AA4EDF404DF806461A14A76FF19002BB0C2644DEEA459A003 95E44BE18718CE19D6D6C15A1BCF2790266A5DB48CB339B8415D89D582123072 17A1170A2848D4E21E4A32F32C1AF1A288B2510313DB4B85658DB20908CD7DE6 71BB753DDE6C2B0D68F21106614F7262DA4F9C23EF642EF7B2D52906759DB8DF A4F60C5500AC1FDE8E815BE0788F4288C22B08D58295D06DD85309763F5FE3F4 D53866DECA68C95AB8117DFE69A02E4C5A44ED 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 0 /.notdef put readonly def /FontBBox{-32 -250 1048 750}readonly def /UniqueID 5087385 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 TeXDict begin 39158280 55380996 1000 600 600 (main.dvi) @start /Fa 134[45 1[45 1[45 45 3[45 1[45 45 3[45 2[45 45 45 100[{ TeXBase1Encoding ReEncodeFont }11 74.7198 /Courier rf /Fb 252[34 3[{ TeXbbad153fEncoding ReEncodeFont }1 58.1154 /CMSY7 rf /Fc 255[45{ TeXbbad153fEncoding ReEncodeFont }1 58.1154 /CMSY10 rf /Fd 136[48 32 36 19 26 23 1[36 32 36 52 19 36 1[19 36 32 23 29 36 26 36 29 1[29 95[{ TeXBase1Encoding ReEncodeFont }22 58.1154 /Palatino-Bold rf /Fe 198[21 21 21 21 21 21 21 21 21 21 48[{ TeXBase1Encoding ReEncodeFont }10 41.511 /Palatino-Roman rf /Ff 137[42 42 29 33 29 2[42 1[62 25 42 1[25 1[37 1[33 1[33 40 42 9[75 2[46 1[54 62 50 1[58 71 3[29 58 1[42 3[50 66[{ TeXBase1Encoding ReEncodeFont }26 74.7198 /Palatino-BoldItalic rf /Fg 138[32 19 23 23 1[29 26 2[16 26 1[16 29 1[16 23 29 24 27 26 49[17 47[{ TeXBase1Encoding ReEncodeFont }17 58.1154 /Palatino-Italic rf /Fi 153[25 102[{ TeXBase1Encoding ReEncodeFont }1 63.0968 /Palatino-Bold rf /Fl 134[42 1[62 1[45 24 32 30 1[45 41 43 66 22 42 1[22 43 42 1[36 46 33 41 37 1[37 92[45 2[{ .167 SlantFont TeXBase1Encoding ReEncodeFont }22 74.7198 /Palatino-Roman rf /Fm 172[26 6[30 25[25 25 49[{ TeXBase1Encoding ReEncodeFont }4 49.8132 /Palatino-Roman rf /Fn 166[44 2[52 1[44 41 48 1[41 55 55 1[41 52 1[26 55 55 37 41 55 48 44 52 65[{ TeXBase1Encoding ReEncodeFont }19 66.4176 /Palatino-Bold rf /Fo 149[18 57[17 47[49{ TeXbbad153fEncoding ReEncodeFont }3 63.0968 /CMSY10 rf /Fp 194[49 17[49 43[{ TeXf7b6d320Encoding ReEncodeFont }2 63.0968 /CMR10 rf /Fr 26[89 229[{}1 116.231 /PazoMath rf /Fs 236[61 61 16[38 38{}4 83.022 /CMEX10 rf /Ft 194[58 17[58 1[29 29 40[{ TeXf7b6d320Encoding ReEncodeFont }4 74.7198 /CMR10 rf /Fv 149[21 55[50 49[58{ TeXbbad153fEncoding ReEncodeFont }3 74.7198 /CMSY10 rf /Fw 130[19 1[19 29 32 30 48 33 35 19 25 23 33 35 32 34 51 17 32 1[17 34 32 19 28 36 26 32 29 1[29 1[19 1[19 3[58 2[36 31 39 46 35 46 48 55 36 42 1[20 48 1[32 36 45 41 36 45 2[35 35 35 15 15 1[29 2[29 1[29 29 29 29 1[15 1[15 35 1[19 19 1[45 4[16 33[{ TeXBase1Encoding ReEncodeFont }67 58.1154 /Palatino-Roman rf /Fx 167[53 5[58 2[66 79[{ TeXBase1Encoding ReEncodeFont }3 79.701 /Palatino-Bold rf /Fy 195[58 60[{ TeXaae443f0Encoding ReEncodeFont }1 74.7198 /CMMI10 rf /Fz 147[45 108[{}1 74.7198 /PazoMath-Italic rf /FA 167[40 5[40 2[47 79[{ TeXBase1Encoding ReEncodeFont }3 59.7758 /Palatino-Roman rf /FB 136[46 1[35 21 25 25 29 1[28 35 49 18 28 1[18 1[32 18 25 32 1[29 10[60 2[39 1[42 4[60 10[39 66[{ TeXBase1Encoding ReEncodeFont }22 63.0968 /Palatino-Italic rf /FC 138[38 6[37 56 3[18 21[33 6[39 23[32 32 32 32 32 3[16 44[{ TeXBase1Encoding ReEncodeFont }12 63.0968 /Palatino-Roman rf /FD 147[38 108[{}1 63.0968 /PazoMath-Italic rf /FE 164[23 29[65 17[65 1[32 32 40[{ TeXf7b6d320Encoding ReEncodeFont }5 83.022 /CMR10 rf /FF 90[71 83[65 81[{}2 83.022 /PazoMath rf /FG 193[65 1[65 60[{ TeXaae443f0Encoding ReEncodeFont }2 83.022 /CMMI10 rf /FH 147[50 108[{}1 83.022 /PazoMath-Italic rf /FI 149[23 4[37 37 43[46 1[0 20[83 7[65 3[65 65 4[42 6[65 5[65 1[65{ TeXbbad153fEncoding ReEncodeFont }13 83.022 /CMSY10 rf /FJ 134[55 1[83 55 61 33 44 39 61 61 55 61 89 33 61 1[33 61 55 39 50 61 44 61 50 9[100 2[66 61 2[61 83 5[39 3[61 83 72 1[78 10[50 50 50 50 50 50 2[25 46[{ TeXBase1Encoding ReEncodeFont }40 99.6264 /Palatino-Bold rf /FK 133[33 37 37 54 37 42 25 29 29 35 37 33 42 58 21 33 21 21 37 37 21 29 37 30 35 33 1[37 7[71 2[46 42 50 3[58 71 42 50 1[25 58 54 42 46 58 50 46 54 5[19 19 37 37 37 37 37 37 37 37 37 37 22 19 25 19 2[25 25 21 1[66 34[39 2[{ TeXBase1Encoding ReEncodeFont }65 74.7198 /Palatino-Italic rf /FL 134[66 60 100 66 73 40 53 47 1[73 66 73 106 40 73 40 40 73 66 47 60 73 53 73 60 12[80 73 86 1[73 2[120 73 4[100 66 73 100 2[93 9[60 60 60 60 60 60 60 2[30 40 42[73 2[{ TeXBase1Encoding ReEncodeFont }45 119.552 /Palatino-Bold rf /FM 135[86 3[57 1[67 1[105 1[105 4[57 105 2[86 105 2[86 29[124 1[134 9[86 86 86 86 86 86 86 49[{ TeXBase1Encoding ReEncodeFont }19 172.188 /Palatino-Bold rf /FN 134[46 1[69 47 50 27 35 33 1[50 45 48 73 24 46 1[24 48 46 28 40 51 37 46 42 1[42 5[55 4[51 44 55 1[50 65 69 1[51 2[28 69 63 46 51 64 59 51 65 9[42 42 42 42 42 42 42 2[21 28 21 2[28 28 37[50 2[{ .167 SlantFont TeXBase1Encoding ReEncodeFont }53 83.022 /Palatino-Roman rf /FO 133[37 42 42 60 42 46 28 32 32 38 42 37 46 65 23 37 23 23 42 42 23 32 42 34 38 37 1[42 10[51 46 55 1[51 65 65 78 46 55 28 28 65 60 46 51 65 55 51 60 8[42 4[42 42 42 42 1[21 28 21 2[28 28 23 36[44 2[{ TeXBase1Encoding ReEncodeFont }58 83.022 /Palatino-Italic rf /FP 129[50 4[50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 16[50 4[50 16[50 4[50 1[50 3[50 50 46[{ TeXBase1Encoding ReEncodeFont }33 83.022 /Courier rf /FQ 105[42 28[46 42 69 46 51 28 37 32 51 51 46 51 74 28 51 28 28 51 46 32 42 51 37 51 42 9[83 1[65 55 51 60 69 51 1[69 83 51 65 32 32 69 69 46 1[69 60 55 65 6[21 2[42 42 42 42 42 42 42 3[28 21 2[28 28 36[51 51 2[{ TeXBase1Encoding ReEncodeFont }60 83.022 /Palatino-Bold rf /FR 39[62 94[42 39 62 42 45 24 32 30 1[45 41 43 66 22 42 17 22 43 42 25 36 46 33 41 37 9[75 54 1[46 39 7[54 2[62 1[42 46 58 53 46 58 7[37 37 37 37 37 37 37 37 37 37 45 19 25 19 45 40[45 2[{ TeXBase1Encoding ReEncodeFont }53 74.7198 /Palatino-Roman rf /FS 134[80 2[81 1[47 61 57 2[78 83 1[42 2[42 1[80 1[69 2[79 72 11[112 19[112 65[{ TeXBase1Encoding ReEncodeFont }15 143.462 /Palatino-Roman rf /FT 166[44 44 1[48 1[41 35 44 1[40 52 55 1[41 48 1[22 1[51 37 41 51 47 41 52 65[{ TeXBase1Encoding ReEncodeFont }19 66.4176 /Palatino-Roman rf /FU 7[46 97[42 1[42 42 22[50 1[42 46 43 69 47 50 27 35 33 46 50 45 48 73 24 46 19 24 48 46 28 40 51 37 46 42 3[28 1[28 55 55 55 83 60 65 51 44 55 65 50 65 69 79 51 60 28 28 69 63 46 51 64 59 51 65 1[37 50 50 50 21 21 42 42 42 42 42 42 42 42 42 42 50 21 28 21 50 1[28 28 23 1[70 3[23 29[50 50 2[{ TeXBase1Encoding ReEncodeFont }87 83.022 /Palatino-Roman rf /FV 190[93 65[{ TeXBase1Encoding ReEncodeFont }1 119.552 /Palatino-Roman rf /FW 166[64 1[96 2[59 50 64 2[75 79 90 58 69 1[32 80 1[53 58 74 68 1[74 65[{ TeXBase1Encoding ReEncodeFont }17 95.6413 /Palatino-Roman rf /FX 134[115 1[172 1[126 69 92 80 1[126 115 126 184 69 126 1[69 126 115 80 103 126 92 126 103 12[138 3[126 6[80 172 1[115 1[172 149 138 66[{ TeXBase1Encoding ReEncodeFont }29 206.559 /Palatino-Bold rf /FY 170[129 2[119 6[129 1[64 3[101 3[129 65[{ TeXBase1Encoding ReEncodeFont }6 165.247 /Palatino-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin [ /Count -5 /Dest (chapter.1) cvn /Title (Introduction) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.1.1) cvn /Title (The centralised file system) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (section.1.2) cvn /Title (The replicated centralised file system) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.1.2.1) cvn /Title (Passive servers) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.1.2.2) cvn /Title (Active servers) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.1.2.3) cvn /Title (Advantages and disadvantages) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.1.3) cvn /Title (A peer-to-peer decentralised file system) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.1.4) cvn /Title (Aims of this project) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.1.5) cvn /Title (Related work) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -4 /Dest (chapter.2) cvn /Title (Design) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.2.1) cvn /Title (System overview) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -6 /Dest (section.2.2) cvn /Title (Distributed hash table) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.2.1) cvn /Title (Obtaining the keys) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.2.2) cvn /Title (xor and the topology of the space) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.2.3) cvn /Title (Ensuring connectivity in the overlay network) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.2.4) cvn /Title (Ensuring data persistency) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.2.5) cvn /Title (Protocol) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.2.6) cvn /Title (Algorithms) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -2 /Dest (section.2.3) cvn /Title (File system) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.3.1) cvn /Title (Algorithms) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.3.2) cvn /Title (Data organisation) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (section.2.4) cvn /Title (Garbage collector) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.4.1) cvn /Title (The garbage) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.4.2) cvn /Title (Collecting garbage) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.2.4.3) cvn /Title (When to run the collector) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -4 /Dest (chapter.3) cvn /Title (Characteristics) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -2 /Dest (section.3.1) cvn /Title (Availability of blocks) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.1.1) cvn /Title (Availability during a network split) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.1.2) cvn /Title (Availability without a network split) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.3.2) cvn /Title (File consistency guarantees) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (section.3.3) cvn /Title (Loss of data) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.3.1) cvn /Title (Analysis assumptions) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.3.2) cvn /Title (The probability of loss of blocks) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.3.3) cvn /Title (Implications of the probability) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (section.3.4) cvn /Title (Performance characteristics) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.4.1) cvn /Title (Communication overhead of the system) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.4.2) cvn /Title (Scalability of reading and writing) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.3.4.3) cvn /Title (Access characteristics) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -2 /Dest (chapter.4) cvn /Title (Implementation) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -4 /Dest (section.4.1) cvn /Title (Distributed hash table) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.4.1.1) cvn /Title (Class overview) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.4.1.2) cvn /Title (Work items and queues) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.4.1.3) cvn /Title (Organising hosts) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.4.1.4) cvn /Title (Composition and decomposition of messages) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.4.2) cvn /Title (File system) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (chapter.5) cvn /Title (Tests) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.5.1) cvn /Title (Test environment) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (section.5.2) cvn /Title (Robustness of the system during node crashes) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.5.2.1) cvn /Title (Test setup) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.5.2.2) cvn /Title (Test results) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.5.2.3) cvn /Title (Evaluation of the results) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -3 /Dest (section.5.3) cvn /Title (Maximum read and write throughput) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.5.3.1) cvn /Title (Test setup) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.5.3.2) cvn /Title (Test results) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (subsection.5.3.3) cvn /Title (Evaluation of the results) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -2 /Dest (chapter.6) cvn /Title (Conclusion) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.6.1) cvn /Title (Summary) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.6.2) cvn /Title (Fulfillment of the project aims) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -5 /Dest (chapter.7) cvn /Title (Future work) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.7.1) cvn /Title (File permissions) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.7.2) cvn /Title (Locking files) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.7.3) cvn /Title (Exploiting response times for nodes) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.7.4) cvn /Title (Exploiting data locality principles) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.7.5) cvn /Title (Life time of files) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (section.7.5) cvn /Title (Bibliography) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Count -0 /Dest (appendix.A) cvn /Title (Throughput test results) /OUT pdfmark end 440 448 a 440 448 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 440 448 a 440 448 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 440 448 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 440 448 a 440 1739 2865 12 v 1420 2026 a FX(H)10 b FY(E)g(U)g(R)g(I)g(K)g(A)792 2198 y FV(A)35 b FW(D)6 b(E)g(C)g(E)g(N)g(T)g(R)g(A)g(L)g(I)g(S)g(E)g (D)38 b(S)6 b(H)g(A)g(R)g(E)g(D)36 b(FI)6 b(L)g(E)36 b(S)6 b(Y)g(S)g(T)g(E)g(M)1097 2369 y(F)g(O)g(R)36 b(L)6 b(O)g(C)g(A)g(L)36 b(A)6 b(R)g(E)g(A)37 b(N)6 b(E)g(T)g(W)g(O)g(R)g(K)g (S)p 440 2484 V 1593 4983 a FU(December)20 b(2003)1448 5192 y(A)t FT(A)t(L)t(B)t(O)t(R)t(G)k FU(U)t FT(N)t(I)t(V)t(E)t(R)t(S)t (I)t(T)t(Y)1620 5307 y FU(Gr)o(oup)c(E1-202)p eop end %%Page: 1 2 TeXDict begin 1 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 440 241 a 614 552 a FS(Aalbor)m(g)36 b(University)614 667 y FR(Department)19 b(of)g(Computer)f(Science,)h (Fr)o(ederik)c(Bajers)j(V)-8 b(ej)19 b(7E,)f(DK)h(9220)h(Aalbor)o(g)e (\330st)p 614 713 3426 4 v 3463 802 a @beginspecial 0 @llx 0 @lly 341 @urx 300 @ury 311 @rwi @setspecial %%BeginDocument: logo.eps %!PS-Adobe-1.0 EPSF-1.2 %%BoundingBox: 0 0 341 300 %%Creator: Jasc Software, Inc. %%Title: C:\Dokumenter\P2 projekt\pictures\logo.eps %%CreationDate: 0 %%EndComments /width 341 def /height 300 def /pixwidth 341 def /pixheight 300 def /picstr width string def /psppic { gsave width height 8 [width 0 0 height 0 height neg] {currentfile picstr readhexstring pop} image grestore } def 0 height neg translate pixwidth pixheight scale psppic FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF705A4A515A51514A432716100A162127352D303035281C1D1D16161D29211D212828283C514A4A515A4A44FFFF30293545434A3528212121280A00164D4D513521160A162121272121282D1C0A2135353530303C4A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFBA7C4545453822160A10101C29160A00000000000000000000000000000000000000000000000000000000000000000000000500000000000A10160A00050A0000000000000000000000100500000000000000000000000000000000000000000000001C4E96E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCBAB1A7968C837A7A7A7A72675E5555554E4E3F3238382A1D293838382A1D385E6772727A8CA7968C83838C9E96959EA7B1B1A7A7A7B1B1BAB1A7BACCD3E1FFFFEABAA7968C7A8C9FB1CCCCCCCCD3BA9F8C839FBAB1A7EAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFDA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A67E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFED0A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059DFFFFFFFFFFFFFFFFFFFFFFFFFFFFD80B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFC82500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028A8FFFFFFFFFFFFFFFFFFFFFFFFFFFF4E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFF7405000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFF4E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059FFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DC5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFAD1700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFFFFFFFFFFFFFF6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFD81A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000229FFFFFFFFFFFFFFFFFFFFFFFFFFFB8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037FFFFFFFFFFFFFFFFFFFFFFFFFFFF4E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFB8050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005C0FFFFFFFFFFFFFFFFFFFFFFFFFF97110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFBB1C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005DFFFFFFFFFFFFFFFFFFFFFFFFFFFF32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DC5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016D0FFFFFFFFFFFFFFFFFFFFFFFFFF3B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD81A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006DFFFFFFFFFFFFFFFFFFFFFFFFFF7A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004DD8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFFFFFFFF85000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DFFFFFFFFFFFFFFFFFFFFFFFFFFE100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CF5FFFFFFFFFFFFFFFFFFFFFFFFF50B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006DFFFFFFFFFFFFFFFFFFFFFFFFFF1E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC81D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFFFFFFFFFFFFFFFFFFFFFF3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AE1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045FFFFFFFFFFFFFFFFFFFFFFFFFF7A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030FFFFFFFFFFFFFFFFFFFFFFFFFF8D11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC81F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AADFFFFFFFFFFFFFFFFFFFFFFFFFF24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFFFFFFFFFF3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFF32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016BCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFF32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA91400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004DFFFFFFFFFFFFFFFFFFFFFFFFFF390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFF5A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003DFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFFFFFFFF32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFF240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070FFFFFFFFFFFFFFFFFFFFFFFFFF0B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFF7C0B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD31100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFFFFFFFFCE1700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E1F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFF9F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFF180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFAD28080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045BAFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099FFFFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFF61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFFFFFF74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFF5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AEAFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005C0FFFFFFFFFFFFFFFFFFFFFF1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B8FFFFFFFFFFFFFFFFFFFFFFFF0E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B4FFFFFFFFFFFFFFFFFFFFBC1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016FFFFFFFFFFFFFFFFFFFFFFFF7C080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CD0FFFFFFFFFFFFFFFFFFFF740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048FFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ADFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFFFF73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006FFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B4FFFFFFFFFFFFFFFFFFFF9F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AFFFFFFFFFFFFFFFFFFFFFFFFF1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CFFFFFFFFFFFFFFFFFFFFFF970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021F5FFFFFFFFFFFFFFFFFFFFFF9F1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E97FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFFFFFFFF490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFFFFFFFF490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002FFFFFFFFFFFFFFFFFFFFFFFFFFF740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028A8FFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFFFF7C050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFFFFFFFFFFFFFFFFFFFFFF18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002DE4FFFFFFFFFFFFFFFFFFFF620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CDFFFFFFFFFFFFFFFFFFFFFFFFF900E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045FFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFFFF460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003EFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFFFFC516000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015DFFFFFFFFFFFFFFFFFFFFFFFFFCC4700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018C5FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CFFFFFFFFFFFFFFFFFFFFFF3B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFFFFFFFF45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058FFFFFFFFFFFFFFFFFFFFCE23000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063FFFFFFFFFFFFFFFFFFFFFFFFFFBC3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005DFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFFFFFF5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002AECFFFFFFFFFFFFFFFFFFFFFFFFFF5A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA405000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFFFF3B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFA82C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000889FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003DFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFFFFFFFFFF3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006CFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099FFFFFFFFFFFFFFFFFFFF8D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004BFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F22000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028FFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A8FFFFFFFFFFFFFFFFFFFFFFFFFFFF0E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005EFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058FFFFFFFFFFFFFFFFFFFFD82C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038FFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093FFFFFFFFFFFFFFFFFFFF1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFFFF6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005EFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CD0FFFFFFFFFFFFFFFFFFA805000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036FFFFFFFFFFFFFFFFFFFFFFFFFFFFAD3A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BFFFFFFFFFFFFFFFFFFFF5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DCEFFFFFFFFFFFFFFFFFFFFFFFFFFFF220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003EFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001EECFFFFFFFFFFFFFFFFFFF53A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B8FFFFFFFFFFFFFFFFFFFFFFFFFFDA831200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000119FFFFFFFFFFFFFFFFFFFFFFFFFFFFF22000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFF9F050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A92FFFFFFFFFFFFFFFFFFFFFFFFFFDA7416000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021DAFFFFFFFFFFFFFFFFFF620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFFFF5A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099FFFFFFFFFFFFFFFFFFFF5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFFFFFFFFFFFFFFAD3F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003DFFFFFFFFFFFFFFFFFFFF850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DE1FFFFFFFFFFFFFFFFFFFFFFFFFF3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063FFFFFFFFFFFFFFFFFFFFFFFFFFE197220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022E4FFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFFFFFFFFFF4D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099FFFFFFFFFFFFFFFFFFFF7C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFFFFC53F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012C8FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028FFFFFFFFFFFFFFFFFFFF850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFFFFFFFFFFFFFFFFFFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFF5A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFF79F4B0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093FFFFFFFFFFFFFFFFFFA80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFF3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064FFFFFFFFFFFFFFFFFFFFFFFFFF8D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CD8FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AD0FFFFFFFFFFFFFFFFFFFF050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFFFFFFFF1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003EFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004AFFFFFFFFFFFFFFFFFFFF610500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFDA650D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093FFFFFFFFFFFFFFFFFF8C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051F5FFFFFFFFFFFFFFFFFFFFFFFF1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFFFFFFFF7C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003A1FFFFFFFFFFFFFFFFFFFFFFFFEF7A16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFF1700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057CFFFFFFFFFFFFFFFFFFFFFFFF5A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002DE6FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027FFFFFFFFFFFFFFFFFFFF7C0B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092FFFFFFFFFFFFFFFFFFFFFFEFB14E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006FFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004AFFFFFFFFFFFFFFFFFFFFFFFF2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CC1FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A9FFFFFFFFFFFFFFFFFF8D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092FFFFFFFFFFFFFFFFFFFFFFCC7A1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005CFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFF110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008BFFFFFFFFFFFFFFFFFFFFFF0E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CC8FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005C8FFFFFFFFFFFFFFFFFF740B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFBA55080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058FFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFFFFFF17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048FFFFFFFFFFFFFFFFFFFF61030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039DFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A1FFFFFFFFFFFFFFFFFFB116000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005CFFFFFFFFFFFFFFFFFFEABA4E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000373FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA80500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044F5FFFFFFFFFFFFFFFFFF17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AECFFFFFFFFFFFFFFFFFF2D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFFFFFFFFFFFFFF850500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064FFFFFFFFFFFFFFFFFFBC7C160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002BC8FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DDAFFFFFFFFFFFFFFFF9F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039E1FFFFFFFFFFFFFFFFFF18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E97FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058FFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFFFFFFD37A120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE411000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003BCEFFFFFFFFFFFFFFFF4A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044F5FFFFFFFFFFFFFFFFB11D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036FFFFFFFFFFFFFFFFEA7C2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFF0B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001797FFFFFFFFFFFFFFFF610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086CF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C8FFFFFFFFFFFFFFFFA80B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EB8FFFFFFFFFFFFFFFF9F4E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027FFFFFFFFFFFFFFFFFF1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CFFFFFFFFFFFFFFFF3F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002297FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003CFFFFFFFFFFFFFFFFA8110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006FFFFFFFFFFFFFFFFF9732000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002FC8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFE11700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032F5FFFFFFFFFFFFFFFF0E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFF9F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EC1FFFFFFFFFFFFFFDA6C0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFFFF39000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011A8FFFFFFFFFFFFFFFF280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000373FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014D0FFFFFFFFFFFFFFF52C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFE17C12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFF4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFF6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040BCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070FFFFFFFFFFFFFFE153000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFFBC3A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093FFFFFFFFFFFFFF62000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011CEFFFFFFFFFFFFFF120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002282EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFF53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFF8203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016C0FFFFFFFFFFFFFF170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AFFFFFFFFFFFFFFF1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003997FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016FFFFFFFFFFFFFFA811000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFEA9017000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B86FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFB80A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFF7A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D6CD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006FFFFFFFFFFFFFFF4D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000224FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005D0FFFFFFFFFFFF7C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CE1FFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001855A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CFFFFFFFFFFFFFF74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009BFFFFFFFFFFFFFF740E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003224F86BBF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021FFFFFFFFFFFFFF4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011F5FFFFFFFFFFFF9008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121D2D68FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043FFFFFFFFFFFFFF320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003EFFFFFFFFFFFFFF6D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C326395D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFF2D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012336197FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070FFFFFFFFFFFFC51D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFCC30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003324E7895BBE6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFF5A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AD8FFFFFFFFFFFF61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5190FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFF5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010FFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033278CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093FFFFFFFFFFFF1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFF030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000225FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFF730800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000185AB1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011D0FFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFF4D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5ABCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005FFFFFFFFFFFFFF3F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFF45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001078FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011FFFFFFFFFFFFFF4A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFF400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059DFFFFFFFFFFFF510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002286F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFF2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033FFFFFFFFFFFF39000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000279DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023A8FFFFFFFFFF39000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010D0FFFFFFFFFFFF2C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFF510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005FFFFFFFFFFFFFF510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFF7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010C0FFFFFFFFFFFF51000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CFFFFFFFFFF8903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CFFFFFFFFFFFF82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DC5FFFFFFFFFF300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFA8050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085FFFFFFFFFF5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012BCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004DFFFFFFFFFFFFFF2A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AE1FFFFFFFFE13600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030FFFFFFFFFFFFFF32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFF55000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005C0FFFFFFFFFFFF5F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFF820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFF620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007AFFFFFFFF821800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BFFFFFFFFFFFFB80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EB1FFFFFFFF850C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFD81100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023FFFFFFFFFF33000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022A8FFFFFFFFFFFF5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016B1FFFFFFFF8D1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005FFFFFFFFFF4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017D8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045FFFFFFFFFFFFFF300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000583FFFFFFFFD02B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010DAFFFFFFFFFFFF61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFF6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFFFFFFFFAF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FBAFFFFFFB858000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFCE0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DFFFFFFFF74080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001685FFFFFFFFFFFF890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000169FF5FFFFFF7F1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFD81D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA8FFFFFF400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059FFFFFFFFFFFFF920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083D8FFFFB8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFA8050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFF550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A97FFFFFFFFFFFFAF0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032C5E1FFA968080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021E4FFFFFFFFFFFF3B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048FFFFFF33000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CFFFFFFFFFFFFB800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EBAC5FF7F4E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067BCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AADFFFFFFFFFFFF6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFF7C0E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000089FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004DDAFFFFFFFFFFFF53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061ECFFFF5C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFFFFA817000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032FFFFFF510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA40A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067CCFFFFFFFFFFFFC11C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002283FFFFA94A0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004AFFFFFFFFFFFFFF4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFF4600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029C0FFFFFFFFFFFFFF5C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000559FFFFFE653000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BFFFFFFFFFFFFD833000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010FFFFFF9033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001697FFFFFFFFFFFFDF2F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000597D8FFFFC13B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA5FFFFFFFFFFFF7C0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CFFFFFF68120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047CCFFFFFFFFFFFFC11F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061ECF5FFFF921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027ADFFFFFFFFFFFFA81D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFF39000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EC0FFFFFFFFFFFFD83B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049C5FFFF9B4E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005DBCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000168CFFFFFFFFFFFF9F2C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFF902800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EBADAFFFFFFFFFFEC4B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F9FFFFFFF8C1F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFEC5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010FFFFFFFF6D0E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB416000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000168DDAFFFFFFFFFFD82F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058DECFFFFFF5100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003CFFFFFFFFFFFF9F3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070FFFFFF7C320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A7CBAF5FFFFFFFFFF9B25000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FE1FFFFFF9017000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000087CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFFFFFFFF9F24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFF46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF990E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000226ACCFFFFFFFFFFFF8F0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047CCFFFF9B3B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFF6A170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CFFFFFF6C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C6CCCF5FFFFFFFFFFFF7F0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000328DFFFFDF4E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFF6A0B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DFFFFFF7A220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055E97D3FFFFFFFFFFFF8F1F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A97CEFFFFA930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFFFFFFFFFF971E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AFFFFFF610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000226CCCF5FFFFFFFFFFFFC12F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055E1FFFFC88C08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004BBCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED2A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003CC8FFFFFFFFFFFF8D240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFFFF1D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005597E4FFFFFFFFFFFF9215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073CEFFFFFF63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000359DFFFFFFFFFFFFB141000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058FFFFFF7C22000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000459EC0FFFFFFFFFFFFDF4B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ABAFFFFFFA1150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055AFFFFFFFFFFFFF5741100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000597FFFFFF3F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000387CCCE4FFFFFFFFFFF5730A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFF7F150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFF5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CFFFFFF39000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC38000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002995C0EDFFFFFFFFFFFF6B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083CEFFFFB83000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021A5FFFFFFFFFFEC7C17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFF4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB11F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045C0E4FFFFFFFFFFFF8F1F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049ECFFFF7F1F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003CFFFFFFFFFFFFFF7C1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085FFFFFF2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C0D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002272A7DAFFFFFFFFFFFF860A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CC5FFFFC12B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A73FFFFFFFFFFFF85100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFF4D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F0D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002F8DD3FFFFFFFFFFEC7305000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053E1FFFF923000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003CFFFFFFFFFFFFFF3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074FFFFFF4000000000000000000000000000000000000000000000000000000000000000000000000000000000000008B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000228CC0F5FFFFFFFFFF951A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFA41200000000000000000000000000000000000000000000000000000000000000000000000000000000000089FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000167CFFFFFFFFFF971D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000585FFFFFF2D00000000000000000000000000000000000000000000000000000000000000000000000000000000000089FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FA7D3FFFFFFFFFF5C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFF5100000000000000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D0A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022FFFFFFFFFFA833000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005FFFFFF6805000000000000000000000000000000000000000000000000000000000000000000000000000000000089FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000168CBAE4FFFFFFFF730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016BAFFFFFF36000000000000000000000000000000000000000000000000000000000000000000000000000000000070FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003DFFFFFFFFEC971100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024FFFFFF55050000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF990500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000165EBAD3FFFFFFA41500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A9FFFFFFF2D000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF651000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065FFFFFFFF850B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040FFFFFF46000000000000000000000000000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF730E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002FA7D3FFFFFFCC430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049F5FFFF680000000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030FFFFFFFFCE33000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CFFFF7C180000000000000000000000000000000000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF991F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A7CBAFFFFFFCC4E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006AFFFFFF5100000000000000000000000000000000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029FFFFFFFFB42400000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CFFFFFF6105000000000000000000000000000000000000000000000000000000000000000000000000000073FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A7CA8FFFFFFC12F000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A97FFFFFF27000000000000000000000000000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028C8FFFFFFBC240000000000000000000000000000000000000000000000000000000000000000000000000000000000000048FFFFFF46000000000000000000000000000000000000000000000000000000000000000000000000000063FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083C0FFFFFF82000000000000000000000000000000000000000000000000000000000000000000000000000000000000003AF5FFFF6C08000000000000000000000000000000000000000000000000000000000000000000000000006CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE463050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038FFFFFFC53B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000062FFFFFF29000000000000000000000000000000000000000000000000000000000000000000000000007CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD85C08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001083C0FFFFFF6400000000000000000000000000000000000000000000000000000000000000000000000000000000000047A8FFFF3B0000000000000000000000000000000000000000000000000000000000000000000000000061FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8516000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035E4FFFFB44900000000000000000000000000000000000000000000000000000000000000000000000000000000000048FFFF6D1D0000000000000000000000000000000000000000000000000000000000000000000000004DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD87F2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085ADFFFFD829000000000000000000000000000000000000000000000000000000000000000000000000000000000041D8FFFF1D00000000000000000000000000000000000000000000000000000000000000000000000038FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD440A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051FFFFFF5A000000000000000000000000000000000000000000000000000000000000000000000000000000000000AFFFFF2D00000000000000000000000000000000000000000000000000000000000000000000000027FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59E5C240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010659DFFD87F050000000000000000000000000000000000000000000000000000000000000000000000000000000085FFFF6C0E000000000000000000000000000000000000000000000000000000000000000000000021FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8D3D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004DFFFFFF320000000000000000000000000000000000000000000000000000000000000000000000000000000017FFFFFF2D000000000000000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB6B220800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000299FFFFFA42F0000000000000000000000000000000000000000000000000000000000000000000000000000002285FFFF7F03000000000000000000000000000000000000000000000000000000000000000000002DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C45220A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A73FFFF850500000000000000000000000000000000000000000000000000000000000000000000000000000032FFFFFF120000000000000000000000000000000000000000000000000000000000000000000022D8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0A5734B2F180D0303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003797FFFF3F0000000000000000000000000000000000000000000000000000000000000000000000000000003AE1FFFF390000000000000000000000000000000000000000000000000000000000000000000000B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8C0B8A8977C6D553E230A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000589DFF732C00000000000000000000000000000000000000000000000000000000000000000000000000000097FFFF4D0000000000000000000000000000000000000000000000000000000000000000000039EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0CCB18C6B350D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000309DFF7A0000000000000000000000000000000000000000000000000000000000000000000000000000007CFFFF730E00000000000000000000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D653E050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007CFFA83200000000000000000000000000000000000000000000000000000000000000000000000000001DFFFFFF230000000000000000000000000000000000000000000000000000000000000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5531400000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F5DFF8229000000000000000000000000000000000000000000000000000000000000000000000000001685FFFF6300000000000000000000000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA5D230000000000000000000000000000000000000000000000000000000000000000000000000000000000000022ADFF7C050000000000000000000000000000000000000000000000000000000000000000000000000032FFFF700500000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8630D000000000000000000000000000000000000000000000000000000000000000000000000000000005DFFFF580000000000000000000000000000000000000000000000000000000000000000000000000023B1FFFF22000000000000000000000000000000000000000000000000000000000000000022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF932A000000000000000000000000000000000000000000000000000000000000000000000000000000166BFF7C3B0000000000000000000000000000000000000000000000000000000000000000000000000068FFFF3300000000000000000000000000000000000000000000000000000000000000001DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC630D00000000000000000000000000000000000000000000000000000000000000000000000000379FFF9B0A0000000000000000000000000000000000000000000000000000000000000000000000005AFFFF5F0E000000000000000000000000000000000000000000000000000000000000000E9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D220000000000000000000000000000000000000000000000000000000000000000000000000055FFFF4300000000000000000000000000000000000000000000000000000000000000000000000005FFFFFF1D00000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD85300000000000000000000000000000000000000000000000000000000000000000000003055FF8B2F0000000000000000000000000000000000000000000000000000000000000000000000056AFFFF5F000000000000000000000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA45000000000000000000000000000000000000000000000000000000000000000000000030FFFF620500000000000000000000000000000000000000000000000000000000000000000000002CFFFF7405000000000000000000000000000000000000000000000000000000000000009DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C00000000000000000000000000000000000000000000000000000000000000000016855DFF39000000000000000000000000000000000000000000000000000000000000000000000032D8FFFF3F00000000000000000000000000000000000000000000000000000000000000A5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED650000000000000000000000000000000000000000000000000000000000000000000035C0733200000000000000000000000000000000000000000000000000000000000000000000002CFFFF46000000000000000000000000000000000000000000000000000000000000089DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1000000000000000000000000000000000000000000000000000000000000000000005DFF820500000000000000000000000000000000000000000000000000000000000000000000167CFF550E0000000000000000000000000000000000000000000000000000000000007CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF740500000000000000000000000000000000000000000000000000000000000000001DFFFF1D000000000000000000000000000000000000000000000000000000000000000000000023FFFF1D0000000000000000000000000000000000000000000000000000000000006CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD824000000000000000000000000000000000000000000000000000000000000000A29855115000000000000000000000000000000000000000000000000000000000000000000001D9FFF5C08000000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D05000000000000000000000000000000000000000000000000000000000000000051FF62000000000000000000000000000000000000000000000000000000000000000000000048FFFF22000000000000000000000000000000000000000000000000000000000033FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB105000000000000000000000000000000000000000000000000000000000000003029AF3F00000000000000000000000000000000000000000000000000000000000000000000558DFF4A0C0000000000000000000000000000000000000000000000000000000022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3800000000000000000000000000000000000000000000000000000000000000001C9D62240000000000000000000000000000000000000000000000000000000000000000000048FFFF1D000000000000000000000000000000000000000000000000000000001DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F050000000000000000000000000000000000000000000000000000000000000073FFAF1C00000000000000000000000000000000000000000000000000000000000000000041CEFF7A080000000000000000000000000000000000000000000000000000000897FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000000000000000002151FF2C0000000000000000000000000000000000000000000000000000000000000000000051FFFF18000000000000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9900000000000000000000000000000000000000000000000000000000000000297C5F360000000000000000000000000000000000000000000000000000000000000000004E85FF1D000000000000000000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4220000000000000000000000000000000000000000000000000000000000000062FF620000000000000000000000000000000000000000000000000000000000000000000017FF180000000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF730000000000000000000000000000000000000000000000000000000000000A38B846000000000000000000000000000000000000000000000000000000000000000000118D282B0000000000000000000000000000000000000000000000000000001D97FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD02200000000000000000000000000000000000000000000000000000000000022FF6A320000000000000000000000000000000000000000000000000000000000000000002CFF6C1200000000000000000000000000000000000000000000000000000089FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000000005744D820A0000000000000000000000000000000000000000000000000000000000000000235AFF3F00000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73000000000000000000000000000000000000000000000000000000000000003DFF1700000000000000000000000000000000000000000000000000000000000000000023FF4508000000000000000000000000000000000000000000000000000039FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B00000000000000000000000000000000000000000000000000000000000016653B1F000000000000000000000000000000000000000000000000000000000000000016B1FF4400000000000000000000000000000000000000000000000000001DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54400000000000000000000000000000000000000000000000000000000000022FF7C05000000000000000000000000000000000000000000000000000000000000000023FF731800000000000000000000000000000000000000000000000000006CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C00000000000000000000000000000000000000000000000000000000001030FF3F00000000000000000000000000000000000000000000000000000000000000001D5AFF33000000000000000000000000000000000000000000000000000053FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB81600000000000000000000000000000000000000000000000000000000000A7C5A32000000000000000000000000000000000000000000000000000000000000000017FF330E000000000000000000000000000000000000000000000000000EADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF380000000000000000000000000000000000000000000000000000000000533E8B1C000000000000000000000000000000000000000000000000000000000000000A7C48530C0000000000000000000000000000000000000000000000000068FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA3000000000000000000000000000000000000000000000000000000000001DFF510B000000000000000000000000000000000000000000000000000000000000000023FF180000000000000000000000000000000000000000000000000044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD825000000000000000000000000000000000000000000000000000000000A5D2A4600000000000000000000000000000000000000000000000000000000000000001673182D00000000000000000000000000000000000000000000000022BCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D000000000000000000000000000000000000000000000000000000000000307C100000000000000000000000000000000000000000000000000000000000000000053246080000000000000000000000000000000000000000000000007AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA90D000000000000000000000000000000000000000000000000000000000A323F4300000000000000000000000000000000000000000000000000000000000000002C973008000000000000000000000000000000000000000000000061C5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000000000000530972C00000000000000000000000000000000000000000000000000000000000000008DFF4600000000000000000000000000000000000000000000000090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99000000000000000000000000000000000000000000000000000000000022FF682F000000000000000000000000000000000000000000000000000000000000005A6A7A2D00000000000000000000000000000000000000000000005DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA22000000000000000000000000000000000000000000000000000000000A73FF62050000000000000000000000000000000000000000000000000000000000000023FF33080000000000000000000000000000000000000000000012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F000000000000000000000000000000000000000000000000000000003832825F2F0000000000000000000000000000000000000000000000000000000000002A9F5A6F2B000000000000000000000000000000000000000000129EF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45000000000000000000000000000000000000000000000000000000000038FF7C1D000000000000000000000000000000000000000000000000000000000000001DFF4D280000000000000000000000000000000000000000000089FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F000000000000000000000000000000000000000000000000000000001C30745F46000000000000000000000000000000000000000000000000000000000000118D747F3000000000000000000000000000000000000000000065FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC81D00000000000000000000000000000000000000000000000000000000003EFF74170000000000000000000000000000000000000000000000000000000000000051FF5A33000000000000000000000000000000000000000017FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F00000000000000000000000000000000000000000000000000000000293846402F0000000000000000000000000000000000000000000000000000000000003AA8FF6F12000000000000000000000000000000000000000883EAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52A0000000000000000000000000000000000000000000000000000000000103874320500000000000000000000000000000000000000000000000000000000000AFFFF280000000000000000000000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C0500000000000000000000000000000000000000000000000000000000103EFF771C000000000000000000000000000000000000000000000000000000000A559F2D3B000000000000000000000000000000000000000053DAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF460000000000000000000000000000000000000000000000000000000000103DFF511700000000000000000000000000000000000000000000000000000000001DFF4D18000000000000000000000000000000000000000051FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA900000000000000000000000000000000000000000000000000000000002A655AAF44000000000000000000000000000000000000000000000000000000001C3F730630000000000000000000000000000000000000003FADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF650500000000000000000000000000000000000000000000000000000000003DFF8D6A1D00000000000000000000000000000000000000000000000000000000001D40220800000000000000000000000000000000000033FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6305000000000000000000000000000000000000000000000000000000297C5D746F641C000000000000000000000000000000000000000000000000000000116149510E000000000000000000000000000000000022BAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D00000000000000000000000000000000000000000000000000000000000055FFFF74490500000000000000000000000000000000000000000000000000000023FF2808000000000000000000000000000000000018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC46000000000000000000000000000000000000000000000000000000002F4E74FFFF7F3B00000000000000000000000000000000000000000000000000002283494A15000000000000000000000000000000000D6ADAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD03000000000000000000000000000000000000000000000000000000000000A4DFFFF8D390000000000000000000000000000000000000000000000000000000562332D00000000000000000000000000000000004AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF990500000000000000000000000000000000000000000000000000000000295E555D6F6B1F000000000000000000000000000000000000000000000000000061550B080500000000000000000000000000000028A5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF631000000000000000000000000000000000000000000000000000000000000029FFFF512400000000000000000000000000000000000000000000000000000032FF460000000000000000000000000000000028FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD87322000000000000000000000000000000000000000000000000000000162F552A286B733B0E00000000000000000000000000000000000000000000003849182D2400000000000000000000000000002FADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00000000000000000000000000000000000000000000000000000000000029FFFFFF853200000000000000000000000000000000000000000000000032FF40180000000000000000000000000000004DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB4E00000000000000000000000000000000000000000000000000000000103765FFFFCCC153030000000000000000000000000000000000000000002A496A164E1F0000000000000000000000000032B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA6D1D00000000000000000000000000000000000000000000000000000000053EFFFFFFFF7C2C00000000000000000000000000000000000000000000002CFF4D46000000000000000000000000000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E400500000000000000000000000000000000000000000000000000226C96CC8DFF8B7F4B1F0000000000000000000000000000000000000000327C7C68513500000000000000000000000D5DCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D3E000000000000000000000000000000000000000000000000000000000532FFFFFFB46A2C050000000000000000000000000000000000000017FFFF613B1800000000000000000000001DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA54B0D000000000000000000000000000000000000000000000000001D3855656DFFFFA46B2900000000000000000000000000000000000A557397FF7A4A250000000000000000001682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D380000000000000000000000000000000000000000000000000000000032FFFFFFFF8D512400000000000000000000000000000000000011FFFFFF4D2C0E0000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C350000000000000000000000000000000000000000000000001D4E8D97A8FFFFCCB864220000000000000000000000000000000A4EA79F97FF3E1F03000000000000003AADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED8D450A000000000000000000000000000000000000000000000000001DFFFFFFFFFFBC6A2C000000000000000000000000000000000040FFFFFF5A29000000000000000022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC8C4B1800000000000000000000000000000000000000000005387296B09FFFFFC1926336150000000000000000000000000038619697FF6F63360C0000000000228AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D5A220500000000000000000000000000000000000000000000000AFFFFFFFFFFFF6A4A320B0000000000000000000000000049FFFFFFFF4D1800000000000540FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC9E4B0D0000000000000000000000000000000000000A38556C6C6C554D6AFF7A4E1500000000000000000000003FA7B1C59FFF6F7F532903000032A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC87C381700000000000000000000000000000000000000000000001D5DFFFF74512C1100000000000000000000000017FFFFFFFFFF330E000018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECA5734B2B0D00000000000000000000000000000000222F3F321D22463F360A0000000000000000000A3F83CCC5FFFFDFB89263FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF936A3E160000000000000000000000000000000000001032FFFF513B0000000000000000000000005AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECA573350D00000000000000000000002229301D0B145C636B432500000000000047BAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD8562300A00000000000000000000000022FFFFFFFFC57C401D00000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC8C5C351D08000000000016FFFFFFFFFFFFFFFFFFFFCC9964DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8565553D1D0005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %%Trailer %%EndDocument @endspecial 656 950 a FQ(T)-5 b(itle:)822 1098 y FU(Heurika)41 b(\226)g(a)g(decentralised)f(shar)o(ed)h(\002le)822 1213 y(system)21 b(for)g(local)g(ar)o(ea)e(networks)656 1454 y FQ(Project)g(period:)822 1568 y FU(DA)-6 b(T3,)20 b(Sep.)f(12th)h (\226)h(Dec.)f(18th,)g(2003)656 1864 y FQ(Project)f(group:)822 1978 y FU(E1-202)656 2274 y FQ(Members)g(of)j(the)d(group:)822 2389 y FU(Anders)h(Rune)h(Jensen)822 2503 y(Jasper)e(Kjersgaar)o(d)h (Juhl)822 2618 y(Lau)g(Bech)g(Lauritzen)822 2732 y(Michael)g(Gade)g (Nielsen)822 2847 y(Ole)h(Laursen)656 3142 y FQ(Supervisor:)822 3257 y FU(Marius)f(Mikucionis)656 3589 y FQ(Number)g(of)h(copies:)e FU(7)656 3770 y FQ(Report)h(\226)g(number)g(of)h(pages:)e FU(74)656 3951 y FQ(Appendix)f(\226)i(number)g(of)h(pages:)e FU(5)656 4132 y FQ(T)-9 b(otal)20 b(amount)f(of)i(pages:)f FU(79)p 2408 1560 1613 4 v 2408 3547 4 1988 v 2457 1645 a FQ(Abstract)2457 1750 y FR(This)56 b(r)o(eport)d(describes)h(the)i (development)f(of)2457 1855 y(Heurika,)14 b(a)g(distributed)g(shar)o (ed)f(\002le)h(system)g(for)f(lo-)2457 1960 y(cal)27 b(ar)o(ea)f(networks.)g(W)l(ith)h(Heurika,)e(every)h(client)2457 2065 y(in)21 b(a)f(network)g(contributes)g(to)g(the)h(shar)o(ed)e (\002le)h(sys-)2457 2170 y(tem)g(in)g(a)g(peer)o(-to-peer)e(manner)i (to)g(avoid)f(the)h(bot-)2457 2275 y(tleneck)f(and)h(single)e(point)h (of)g(failur)o(e)f(that)j(plagues)2457 2380 y(traditional)e (centralised)f(shar)o(ed)g(\002le)g(systems.)2582 2485 y(A)31 b(design)e(for)h(a)h(decentralised)e(peer)o(-to-peer)2457 2590 y(\002le)c(system)f(is)h(pr)o(esented)e(and)j(its)f (characteristics)2457 2695 y(theor)o(etically)18 b(analysed.)g(Then)h (a)g(pr)o(ototype)e(of)h(the)2457 2800 y(design)27 b(implemented)g(in)g (C++)i(is)d(described)g(and)2457 2905 y(experiments)31 b(in)h(a)g(simulated)g(network)f(with)i(96)2457 3010 y(peers)18 b(pr)o(esented.)2569 3115 y(The)f(theor)o(etical)g(and)g (the)g(empirical)f(r)o(esults)g(in-)2457 3220 y(dicate)31 b(that)i(Heurika)d(can)i(pr)o(ovide)d(better)i(avail-)2457 3325 y(ability)51 b(and)f(scale)g(better)h(than)h(a)f(centralised)2457 3431 y(shar)o(ed)18 b(\002le)h(system.)p 4018 3547 V 2408 3550 1613 4 v eop end %%Page: 1 3 TeXDict begin 1 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 440 241 a 992 x FX(Preface)440 1567 y SDict begin H.S end 440 1567 a 440 1567 a SDict begin 13.79993 H.A end 440 1567 a 440 1567 a SDict begin [ /View [/XYZ H.V] /Dest (chapter*.1) cvn H.B /DEST pdfmark end 440 1567 a 113 x FU(This)34 b(r)o(eport)e(documents)i(the)g(development)f (of)g(a)g(distributed)g(shar)o(ed)f(\002le)i(system)440 1794 y(for)27 b(local)g(ar)o(ea)f(networks.)i(The)f(system)h(has)f (been)g(developed)g(as)g(part)f(of)i(the)f(DA)-6 b(T3)440 1909 y(semester)21 b(at)f(Department)g(of)h(Computer)g(Science,)f (Aalbor)o(g)g(University)-9 b(.)565 2138 y(Sour)o(ce)19 b(code)i(for)f(the)h(pr)o(ototype)g(of)f(the)h(system)h(is)f(available) e(at)440 2265 y SDict begin H.S end 440 2265 a -13 x FP(http://www.cs.auc.dk/~jasper/dat3/) 2134 2199 y SDict begin H.R end 2134 2199 a 2134 2252 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.cs.auc.dk/~jasper/dat3/) >> /Subtype /Link H.B /ANN pdfmark end 2134 2252 a 27 w FU(and)27 b(on)h(the)g(attached)f(CD-ROM.)440 2367 y(The)21 b(log)g(\002les)g(fr)o(om)g(our)g(tests)g(ar)o(e)e(only)j(available)d (on)i(the)g(CD-ROM.)565 2596 y(W)-8 b(e)18 b(would)h(like)g(to)g(thank) f(Martin)g(Qvist)h(fr)o(om)f(the)h(Department)f(of)h(Mathematical)440 2711 y(Sciences,)h(Aalbor)o(g)g(University)h(for)f(his)i(kind)f(help.) 565 3024 y FO(Aalbor)o(g,)f(December)h(2003,)p 641 3433 1182 6 v 1922 3433 V 641 3548 a(Lau)g(Bech)f(Lauritzen)625 b(Jasper)21 b(Kjersgaard)g(Juhl)p 641 3777 V 1922 3777 V 641 3891 a(Michael)g(Gade)f(Nielsen)547 b(Anders)21 b(Rune)h(Jensen)p 641 4121 V 641 4235 a(Ole)f(Laursen)1851 5662 y FU(1)p eop end %%Page: 2 4 TeXDict begin 2 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark end 440 241 a 992 x FX(Contents)440 1567 y SDict begin H.S end 440 1567 a 440 1567 a SDict begin 13.79993 H.A end 440 1567 a 440 1567 a SDict begin [ /View [/XYZ H.V] /Dest (chapter*.2) cvn H.B /DEST pdfmark end 440 1567 a 440 1763 a SDict begin H.S end 440 1763 a FQ(1)83 b(Introduction)1046 1763 y SDict begin 13.79993 H.L end 1046 1763 a 1046 1763 a SDict begin [ /Subtype /Link /Dest (chapter.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1046 1763 a 2217 w FQ(4)565 1877 y SDict begin H.S end 565 1877 a FU(1.1)j(The)20 b(centralised)g(\002le)h(system)1727 1877 y SDict begin 13.79993 H.L end 1727 1877 a 1727 1877 a SDict begin [ /Subtype /Link /Dest (section.1.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1727 1877 a 41 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)166 b(4)565 1992 y SDict begin H.S end 565 1992 a FU(1.2)86 b(The)20 b(r)o(eplicated)f(centralised)h(\002le)h(system)2113 1992 y SDict begin 13.79993 H.L end 2113 1992 a 2113 1992 a SDict begin [ /Subtype /Link /Dest (section.1.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2113 1992 a 29 w FU(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(5)756 2106 y SDict begin H.S end 756 2106 a FU(1.2.1)97 b(Passive)21 b(servers)1578 2106 y SDict begin 13.79993 H.L end 1578 2106 a 1578 2106 a SDict begin [ /Subtype /Link /Dest (subsection.1.2.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1578 2106 a 66 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)166 b(5)756 2221 y SDict begin H.S end 756 2221 a FU(1.2.2)97 b(Active)20 b(servers)1544 2221 y SDict begin 13.79993 H.L end 1544 2221 a 1544 2221 a SDict begin [ /Subtype /Link /Dest (subsection.1.2.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1544 2221 a 38 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(6)756 2335 y SDict begin H.S end 756 2335 a FU(1.2.3)97 b(Advantages)20 b(and)g(disadvantages)2175 2335 y SDict begin 13.79993 H.L end 2175 2335 a 2175 2335 a SDict begin [ /Subtype /Link /Dest (subsection.1.2.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2175 2335 a 29 w FU(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)166 b(6)565 2450 y SDict begin H.S end 565 2450 a FU(1.3)86 b(A)20 b(peer)o(-to-peer)e(decentralised)i(\002le)h(system)2215 2450 y SDict begin 13.79993 H.L end 2215 2450 a 2215 2450 a SDict begin [ /Subtype /Link /Dest (section.1.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2215 2450 a 51 w FU(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(7)565 2565 y SDict begin H.S end 565 2565 a FU(1.4)86 b(Aims)21 b(of)f(this)i(pr)o(oject) 1473 2565 y SDict begin 13.79993 H.L end 1473 2565 a 1473 2565 a SDict begin [ /Subtype /Link /Dest (section.1.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1473 2565 a 46 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(8)565 2679 y SDict begin H.S end 565 2679 a FU(1.5)86 b(Related)20 b(work)1248 2679 y SDict begin 13.79993 H.L end 1248 2679 a 1248 2679 a SDict begin [ /Subtype /Link /Dest (section.1.5) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1248 2679 a 22 w FU(.)41 b(.)h(.)f(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(9)440 2877 y SDict begin H.S end 440 2877 a FQ(2)83 b(Design)838 2877 y SDict begin 13.79993 H.L end 838 2877 a 838 2877 a SDict begin [ /Subtype /Link /Dest (chapter.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 838 2877 a 2383 w FQ(13)565 2991 y SDict begin H.S end 565 2991 a FU(2.1)j(System)20 b(overview)1386 2991 y SDict begin 13.79993 H.L end 1386 2991 a 1386 2991 a SDict begin [ /Subtype /Link /Dest (section.2.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1386 2991 a 71 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(13)565 3106 y SDict begin H.S end 565 3106 a FU(2.2)86 b(Distributed)20 b(hash)i(table)1571 3106 y SDict begin 13.79993 H.L end 1571 3106 a 1571 3106 a SDict begin [ /Subtype /Link /Dest (section.2.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1571 3106 a 73 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)124 b(14)756 3220 y SDict begin H.S end 756 3220 a FU(2.2.1)97 b(Obtaining)22 b(the)f(keys)1716 3220 y SDict begin 13.79993 H.L end 1716 3220 a 1716 3220 a SDict begin [ /Subtype /Link /Dest (subsection.2.2.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1716 3220 a 52 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(14)756 3335 y SDict begin H.S end 756 3335 a FU(2.2.2)99 b FT(X)t(O)t(R)24 b FU(and)c(the)h(topology)h(of)f(the)g(space)2276 3335 y SDict begin 13.79993 H.L end 2276 3335 a 2276 3335 a SDict begin [ /Subtype /Link /Dest (subsection.2.2.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2276 3335 a 53 w FU(.)41 b(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(15)756 3450 y SDict begin H.S end 756 3450 a FU(2.2.3)97 b(Ensuring)22 b(connectivity)f(in)h(the)f(overlay)f (network)2684 3450 y SDict begin 13.79993 H.L end 2684 3450 a 2684 3450 a SDict begin [ /Subtype /Link /Dest (subsection.2.2.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2684 3450 a 81 w FU(.)41 b(.)g(.)g(.)h(.)f(.)124 b(16)756 3564 y SDict begin H.S end 756 3564 a FU(2.2.4)97 b(Ensuring)22 b(data)d(persistency)1974 3564 y SDict begin 13.79993 H.L end 1974 3564 a 1974 3564 a SDict begin [ /Subtype /Link /Dest (subsection.2.2.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1974 3564 a 43 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(18)756 3679 y SDict begin H.S end 756 3679 a FU(2.2.5)97 b(Pr)o(otocol)1326 3679 y SDict begin 13.79993 H.L end 1326 3679 a 1326 3679 a SDict begin [ /Subtype /Link /Dest (subsection.2.2.5) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1326 3679 a 69 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(19)756 3793 y SDict begin H.S end 756 3793 a FU(2.2.6)97 b(Algorithms)1441 3793 y SDict begin 13.79993 H.L end 1441 3793 a 1441 3793 a SDict begin [ /Subtype /Link /Dest (subsection.2.2.6) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1441 3793 a 78 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)124 b(21)565 3908 y SDict begin H.S end 565 3908 a FU(2.3)86 b(File)20 b(system)1166 3908 y SDict begin 13.79993 H.L end 1166 3908 a 1166 3908 a SDict begin [ /Subtype /Link /Dest (section.2.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1166 3908 a 42 w FU(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(23)756 4022 y SDict begin H.S end 756 4022 a FU(2.3.1)97 b(Algorithms)1441 4022 y SDict begin 13.79993 H.L end 1441 4022 a 1441 4022 a SDict begin [ /Subtype /Link /Dest (subsection.2.3.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1441 4022 a 78 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(24)756 4137 y SDict begin H.S end 756 4137 a FU(2.3.2)97 b(Data)20 b(or)o(ganisation)1674 4137 y SDict begin 13.79993 H.L end 1674 4137 a 1674 4137 a SDict begin [ /Subtype /Link /Dest (subsection.2.3.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1674 4137 a 32 w FU(.)41 b(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(27)565 4252 y SDict begin H.S end 565 4252 a FU(2.4)86 b(Garbage)19 b(collector)1399 4252 y SDict begin 13.79993 H.L end 1399 4252 a 1399 4252 a SDict begin [ /Subtype /Link /Dest (section.2.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1399 4252 a 58 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(28)756 4366 y SDict begin H.S end 756 4366 a FU(2.4.1)97 b(The)21 b(garbage)1476 4366 y SDict begin 13.79993 H.L end 1476 4366 a 1476 4366 a SDict begin [ /Subtype /Link /Dest (subsection.2.4.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1476 4366 a 43 w FU(.)42 b(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)124 b(28)756 4481 y SDict begin H.S end 756 4481 a FU(2.4.2)97 b(Collecting)22 b(garbage)1712 4481 y SDict begin 13.79993 H.L end 1712 4481 a 1712 4481 a SDict begin [ /Subtype /Link /Dest (subsection.2.4.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1712 4481 a 56 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(29)756 4595 y SDict begin H.S end 756 4595 a FU(2.4.3)97 b(When)21 b(to)h(r)o(un)f(the)g (collector)1954 4595 y SDict begin 13.79993 H.L end 1954 4595 a 1954 4595 a SDict begin [ /Subtype /Link /Dest (subsection.2.4.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1954 4595 a 63 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)124 b(32)440 4793 y SDict begin H.S end 440 4793 a FQ(3)83 b(Characteristics) 1126 4793 y SDict begin 13.79993 H.L end 1126 4793 a 1126 4793 a SDict begin [ /Subtype /Link /Dest (chapter.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1126 4793 a 2095 w FQ(33)565 4907 y SDict begin H.S end 565 4907 a FU(3.1)j(A)-8 b(vailability)20 b(of)h(blocks)1530 4907 y SDict begin 13.79993 H.L end 1530 4907 a 1530 4907 a SDict begin [ /Subtype /Link /Dest (section.3.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1530 4907 a 52 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(33)756 5022 y SDict begin H.S end 756 5022 a FU(3.1.1)97 b(A)-8 b(vailability)21 b(during)g(a)f(network)h(split)2293 5022 y SDict begin 13.79993 H.L end 2293 5022 a 2293 5022 a SDict begin [ /Subtype /Link /Dest (subsection.3.1.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2293 5022 a 36 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)124 b(33)756 5137 y SDict begin H.S end 756 5137 a FU(3.1.2)97 b(A)-8 b(vailability)21 b(without)h(a)e(network)h(split)2332 5137 y SDict begin 13.79993 H.L end 2332 5137 a 2332 5137 a SDict begin [ /Subtype /Link /Dest (subsection.3.1.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2332 5137 a 59 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(34)565 5251 y SDict begin H.S end 565 5251 a FU(3.2)86 b(File)20 b(consistency)i(guarantees)1757 5251 y SDict begin 13.79993 H.L end 1757 5251 a 1757 5251 a SDict begin [ /Subtype /Link /Dest (section.3.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1757 5251 a 74 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)124 b(36)565 5366 y SDict begin H.S end 565 5366 a FU(3.3)86 b(Loss)21 b(of)f(data)1198 5366 y SDict begin 13.79993 H.L end 1198 5366 a 1198 5366 a SDict begin [ /Subtype /Link /Dest (section.3.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1198 5366 a 72 w FU(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(37)1851 5662 y(2)p eop end %%Page: 3 5 TeXDict begin 3 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark end 440 241 a 1643 211 a FN(CONTENTS)p 440 244 2865 4 v 756 531 a SDict begin H.S end 756 531 a FU(3.3.1)97 b(Analysis)21 b(assumptions)1825 531 y SDict begin 13.79993 H.L end 1825 531 a 1825 531 a SDict begin [ /Subtype /Link /Dest (subsection.3.3.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1825 531 a 68 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)124 b(37)756 646 y SDict begin H.S end 756 646 a FU(3.3.2)97 b(The)21 b(pr)o(obability)f(of)h(loss)h(of)e(blocks)2188 646 y SDict begin 13.79993 H.L end 2188 646 a 2188 646 a SDict begin [ /Subtype /Link /Dest (subsection.3.3.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2188 646 a 78 w FU(.)42 b(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(38)756 760 y SDict begin H.S end 756 760 a FU(3.3.3)97 b(Implications)22 b(of)f(the)g(pr)o(obability) 2136 760 y SDict begin 13.79993 H.L end 2136 760 a 2136 760 a SDict begin [ /Subtype /Link /Dest (subsection.3.3.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2136 760 a 68 w FU(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(42)565 875 y SDict begin H.S end 565 875 a FU(3.4)86 b(Performance)19 b(characteristics) 1765 875 y SDict begin 13.79993 H.L end 1765 875 a 1765 875 a SDict begin [ /Subtype /Link /Dest (section.3.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1765 875 a 66 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)124 b(43)756 990 y SDict begin H.S end 756 990 a FU(3.4.1)97 b(Communication)23 b(over)o(head)c(of)i(the)g(system)2489 990 y SDict begin 13.79993 H.L end 2489 990 a 2489 990 a SDict begin [ /Subtype /Link /Dest (subsection.3.4.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2489 990 a 27 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)124 b(43)756 1104 y SDict begin H.S end 756 1104 a FU(3.4.2)97 b(Scalability)20 b(of)h(r)o(eading)f(and)g(writing)2250 1104 y SDict begin 13.79993 H.L end 2250 1104 a 2250 1104 a SDict begin [ /Subtype /Link /Dest (subsection.3.4.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2250 1104 a 79 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)124 b(45)756 1219 y SDict begin H.S end 756 1219 a FU(3.4.3)97 b(Access)20 b(characteristics)1811 1219 y SDict begin 13.79993 H.L end 1811 1219 a 1811 1219 a SDict begin [ /Subtype /Link /Dest (subsection.3.4.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1811 1219 a 82 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(45)440 1416 y SDict begin H.S end 440 1416 a FQ(4)83 b(Implementation)1182 1416 y SDict begin 13.79993 H.L end 1182 1416 a 1182 1416 a SDict begin [ /Subtype /Link /Dest (chapter.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1182 1416 a 2039 w FQ(46)565 1531 y SDict begin H.S end 565 1531 a FU(4.1)j(Distributed)20 b(hash)i(table)1571 1531 y SDict begin 13.79993 H.L end 1571 1531 a 1571 1531 a SDict begin [ /Subtype /Link /Dest (section.4.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1571 1531 a 73 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)124 b(46)756 1645 y SDict begin H.S end 756 1645 a FU(4.1.1)97 b(Class)21 b(overview)1582 1645 y SDict begin 13.79993 H.L end 1582 1645 a 1582 1645 a SDict begin [ /Subtype /Link /Dest (subsection.4.1.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1582 1645 a 62 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(46)756 1760 y SDict begin H.S end 756 1760 a FU(4.1.2)97 b(W)-8 b(ork)22 b(items)f(and)f(queues)1884 1760 y SDict begin 13.79993 H.L end 1884 1760 a 1884 1760 a SDict begin [ /Subtype /Link /Dest (subsection.4.1.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1884 1760 a 71 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(49)756 1875 y SDict begin H.S end 756 1875 a FU(4.1.3)97 b(Or)o(ganising)21 b(hosts)1642 1875 y SDict begin 13.79993 H.L end 1642 1875 a 1642 1875 a SDict begin [ /Subtype /Link /Dest (subsection.4.1.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1642 1875 a 64 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(51)756 1989 y SDict begin H.S end 756 1989 a FU(4.1.4)97 b(Composition)23 b(and)d(decomposition)i(of)f(messages)2686 1989 y SDict begin 13.79993 H.L end 2686 1989 a 2686 1989 a SDict begin [ /Subtype /Link /Dest (subsection.4.1.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2686 1989 a 79 w FU(.)41 b(.)g(.)g(.)h(.)f(.)124 b(51)565 2104 y SDict begin H.S end 565 2104 a FU(4.2)86 b(File)20 b(system)1166 2104 y SDict begin 13.79993 H.L end 1166 2104 a 1166 2104 a SDict begin [ /Subtype /Link /Dest (section.4.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1166 2104 a 42 w FU(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(53)440 2301 y SDict begin H.S end 440 2301 a FQ(5)83 b(T)-9 b(ests)755 2301 y SDict begin 13.79993 H.L end 755 2301 a 755 2301 a SDict begin [ /Subtype /Link /Dest (chapter.5) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 755 2301 a 2466 w FQ(55)565 2416 y SDict begin H.S end 565 2416 a FU(5.1)86 b(T)-8 b(est)21 b(envir)o(onment)1394 2416 y SDict begin 13.79993 H.L end 1394 2416 a 1394 2416 a SDict begin [ /Subtype /Link /Dest (section.5.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1394 2416 a 63 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(55)565 2531 y SDict begin H.S end 565 2531 a FU(5.2)86 b(Robustness)22 b(of)e(the)h(system)h(during)f (node)g(crashes)2449 2531 y SDict begin 13.79993 H.L end 2449 2531 a 2449 2531 a SDict begin [ /Subtype /Link /Dest (section.5.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2449 2531 a 67 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(56)756 2645 y SDict begin H.S end 756 2645 a FU(5.2.1)97 b(T)-8 b(est)21 b(setup)1389 2645 y SDict begin 13.79993 H.L end 1389 2645 a 1389 2645 a SDict begin [ /Subtype /Link /Dest (subsection.5.2.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1389 2645 a 68 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(57)756 2760 y SDict begin H.S end 756 2760 a FU(5.2.2)97 b(T)-8 b(est)21 b(r)o(esults)1430 2760 y SDict begin 13.79993 H.L end 1430 2760 a 1430 2760 a SDict begin [ /Subtype /Link /Dest (subsection.5.2.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1430 2760 a 27 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(57)756 2874 y SDict begin H.S end 756 2874 a FU(5.2.3)97 b(Evaluation)21 b(of)f(the)h(r)o(esults)1914 2874 y SDict begin 13.79993 H.L end 1914 2874 a 1914 2874 a SDict begin [ /Subtype /Link /Dest (subsection.5.2.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1914 2874 a 41 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)124 b(57)565 2989 y SDict begin H.S end 565 2989 a FU(5.3)86 b(Maximum)20 b(r)o(ead)f(and)h(write)h(thr)o(oughput)2142 2989 y SDict begin 13.79993 H.L end 2142 2989 a 2142 2989 a SDict begin [ /Subtype /Link /Dest (section.5.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2142 2989 a 62 w FU(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(57)756 3103 y SDict begin H.S end 756 3103 a FU(5.3.1)97 b(T)-8 b(est)21 b(setup)1389 3103 y SDict begin 13.79993 H.L end 1389 3103 a 1389 3103 a SDict begin [ /Subtype /Link /Dest (subsection.5.3.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1389 3103 a 68 w FU(.)41 b(.)h(.)f(.)g(.)g(.) h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)124 b(60)756 3218 y SDict begin H.S end 756 3218 a FU(5.3.2)97 b(T)-8 b(est)21 b(r)o(esults)1430 3218 y SDict begin 13.79993 H.L end 1430 3218 a 1430 3218 a SDict begin [ /Subtype /Link /Dest (subsection.5.3.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1430 3218 a 27 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) 124 b(60)756 3332 y SDict begin H.S end 756 3332 a FU(5.3.3)97 b(Evaluation)21 b(of)f(the)h(r)o(esults)1914 3332 y SDict begin 13.79993 H.L end 1914 3332 a 1914 3332 a SDict begin [ /Subtype /Link /Dest (subsection.5.3.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1914 3332 a 41 w FU(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(61)440 3530 y SDict begin H.S end 440 3530 a FQ(6)83 b(Conclusion)1000 3530 y SDict begin 13.79993 H.L end 1000 3530 a 1000 3530 a SDict begin [ /Subtype /Link /Dest (chapter.6) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1000 3530 a 2221 w FQ(63)565 3645 y SDict begin H.S end 565 3645 a FU(6.1)j(Summary)1117 3645 y SDict begin 13.79993 H.L end 1117 3645 a 1117 3645 a SDict begin [ /Subtype /Link /Dest (section.6.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1117 3645 a 29 w FU(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)124 b(63)565 3759 y SDict begin H.S end 565 3759 a FU(6.2)86 b(Ful\002llment)22 b(of)e(the)h(pr)o(oject)g(aims)1858 3759 y SDict begin 13.79993 H.L end 1858 3759 a 1858 3759 a SDict begin [ /Subtype /Link /Dest (section.6.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1858 3759 a 35 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)124 b(64)440 3957 y SDict begin H.S end 440 3957 a FQ(7)83 b(Future)19 b(work)1032 3957 y SDict begin 13.79993 H.L end 1032 3957 a 1032 3957 a SDict begin [ /Subtype /Link /Dest (chapter.7) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1032 3957 a 2189 w FQ(67)565 4071 y SDict begin H.S end 565 4071 a FU(7.1)86 b(File)20 b(permissions)1352 4071 y SDict begin 13.79993 H.L end 1352 4071 a 1352 4071 a SDict begin [ /Subtype /Link /Dest (section.7.1) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1352 4071 a 43 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(67)565 4186 y SDict begin H.S end 565 4186 a FU(7.2)86 b(Locking)21 b(\002les)1223 4186 y SDict begin 13.79993 H.L end 1223 4186 a 1223 4186 a SDict begin [ /Subtype /Link /Dest (section.7.2) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1223 4186 a 47 w FU(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(69)565 4301 y SDict begin H.S end 565 4301 a FU(7.3)86 b(Exploiting)21 b(r)o(esponse)g(times)g (for)f(nodes)2070 4301 y SDict begin 13.79993 H.L end 2070 4301 a 2070 4301 a SDict begin [ /Subtype /Link /Dest (section.7.3) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 2070 4301 a 72 w FU(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)124 b(70)565 4415 y SDict begin H.S end 565 4415 a FU(7.4)86 b(Exploiting)21 b(data)f(locality)h(principles)1996 4415 y SDict begin 13.79993 H.L end 1996 4415 a 1996 4415 a SDict begin [ /Subtype /Link /Dest (section.7.4) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1996 4415 a 21 w FU(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(70)565 4530 y SDict begin H.S end 565 4530 a FU(7.5)86 b(Life)20 b(time)h(of)f(\002les)1346 4530 y SDict begin 13.79993 H.L end 1346 4530 a 1346 4530 a SDict begin [ /Subtype /Link /Dest (section.7.5) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1346 4530 a 49 w FU(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)124 b(71)440 4727 y SDict begin H.S end 440 4727 a FQ(Bibliography)944 4727 y SDict begin 13.79993 H.L end 944 4727 a 944 4727 a SDict begin [ /Subtype /Link /Dest (section.7.5) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 944 4727 a 2277 w FQ(72)440 4925 y SDict begin H.S end 440 4925 a FQ(A)60 b(Throughput)20 b(test)f(results)1456 4925 y SDict begin 13.79993 H.L end 1456 4925 a 1456 4925 a SDict begin [ /Subtype /Link /Dest (appendix.A) cvn /H /I /Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end 1456 4925 a 1765 w FQ(74)1851 5662 y FU(3)p eop end %%Page: 4 6 TeXDict begin 4 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.1) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(1)440 1638 y FX(Introduction)440 2084 y FU(Or)o(ganisations)18 b(usually)g(deploy)g(a)f(wide)h(range)f(of)h(dif)o(fer)o(ent)e (facilities)h(with)i(the)f(single)440 2199 y(purpose)k(of)f(impr)o (oving)h(the)g(work)g(\003ow)h(within)g(the)f(or)o(ganisation.)f(Most)h (often)g(a)f(\002le)440 2313 y(storage)26 b(facility)g(is)g(among)h (these)f(facilities,)f(and)h(the)g(local)g(ar)o(ea)e(network)j(\(LAN\)) d(of)440 2428 y(the)d(or)o(ganisation)g(plays)g(an)g(important)g(r)o (ole)f(in)i(pr)o(oviding)e(access)h(to)g(it.)g(This)g(chapter)440 2543 y(pr)o(esents)29 b(various)h(appr)o(oaches)f(for)g(pr)o(oviding)h (a)f(\002le)h(storage)g(facility)-9 b(,)29 b(and)g(de\002nes)440 2657 y(the)c(scope)g(of)g(the)g(pr)o(oject.)g(It)g(concludes)g(with)g (a)g(pr)o(esentation)g(of)g(useful)f(ideas)h(fr)o(om)440 2772 y(r)o(elated)19 b(systems.)440 2931 y SDict begin H.S end 440 2931 a 440 2931 a SDict begin 13.79993 H.A end 440 2931 a 440 2931 a SDict begin [ /View [/XYZ H.V] /Dest (section.1.1) cvn H.B /DEST pdfmark end 440 2931 a 148 x FL(1.1)119 b(The)29 b(centralised)g(\002le)g(system)440 3284 y FU(A)f(simple)g (appr)o(oach)f(for)h(pr)o(oviding)g(a)f(\002le)h(storage)g(facility)g (is)g(to)h(r)o(un)f(a)g(central)f(\002le)440 3398 y(server)h(on)h(a)f (single)h(machine)g(as)f(shown)i(in)f(Figur)o(e)2222 3398 y SDict begin H.S end 2222 3398 a FU(1.1)2326 3341 y SDict begin H.R end 2326 3341 a 2326 3398 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.1.1) cvn H.B /ANN pdfmark end 2326 3398 a FU(.)f(This)h(pr)o(ovides)f(users)g(with)440 3513 y(concurr)o(ent)c(access)f(to)i(a)f(common)h(place)f(for)g (storing)h(private)e(and)h(shar)o(ed)f(\002les.)h(The)440 3627 y(\002le)h(server)f(may)h(r)o(un)g(the)g(Network)g(File)g(System)g (\(NFS\))e([)2381 3627 y SDict begin H.S end 2381 3627 a FU(2)2423 3627 y SDict begin 13.79993 H.L end 2423 3627 a 2423 3627 a SDict begin [ /Subtype /Link /Dest (cite.dslecturebook) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2423 3627 a FU(])h(pr)o(otocol)h(fr)o(om)f(Sun) h(Mi-)440 3742 y(cr)o(osystems,)f(the)f(Server)f(Message)h(Block)g (\(SMB\))f(pr)o(otocol)i(fr)o(om)f(Micr)o(osoft)f(or)i(other)440 3856 y(\002le)d(systems)h(with)f(similar)g(featur)o(es.)1299 4785 y @beginspecial 91 @llx 565 @lly 314 @urx 722 @ury 1374 @rwi @setspecial %%BeginDocument: introduction/images/many-clients-one-server.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: many-clients-one-server.dvi %%BoundingBox: 91 565 314 722 %%DocumentFonts: Palatino-Roman PazoMath-Italic Palatino-Italic %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o many-clients-one-server.eps %+ many-clients-one-server.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.15:1603 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (many-clients-one-server.dvi) @start /Fa 145[468 110[{ TeXBase1Encoding ReEncodeFont }1 841.29 /Palatino-Italic rf /Fb 205[421 421 49[{ TeXBase1Encoding ReEncodeFont }2 841.29 /Palatino-Roman rf /Fd 156[451 99[{ TeXBase1Encoding ReEncodeFont }1 1106.96 /Palatino-Italic rf /Ff 137[625 1[361 469 437 3[644 1[322 2[322 3[530 3[553 29[785 64[670 2[{ TeXBase1Encoding ReEncodeFont }11 1106.96 /Palatino-Roman rf /Fg 209[553 46[{ TeXBase1Encoding ReEncodeFont }1 2213.92 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 17074 a @beginspecial 0 @llx 0 @lly 208 @urx 154 @ury 2080 @rwi @setspecial %%BeginDocument: many-clients-one-server.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: many-clients-one-server.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Mon Dec 15 16:03:15 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 208 154 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 154 moveto 0 0 lineto 208 0 lineto 208 154 lineto closepath clip newpath -162.0 214.9 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Ellipse 7.500 slw n 4278 2428 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Polyline n 3250 2147 m 3309 2147 l 3309 2194 l 3250 2194 l cp gs col0 s gr % Polyline n 3134 2147 m 3191 2147 l 3191 2194 l 3134 2194 l cp gs col0 s gr % Polyline n 3191 2147 m 3250 2147 l 3250 2194 l 3191 2194 l cp gs col0 s gr % Polyline n 3309 2147 m 3366 2147 l 3366 2194 l 3309 2194 l cp gs col0 s gr % Polyline n 3366 2147 m 3425 2147 l 3425 2194 l 3366 2194 l cp gs col0 s gr % Polyline n 3075 1824 m 3600 1824 l 3600 3000 l 3075 3000 l cp gs col0 s gr % Polyline n 3134 2194 m 3541 2194 l 3541 2885 l 3134 2885 l cp gs col0 s gr % Polyline n 3134 1916 m 3541 1916 l 3541 2031 l 3134 2031 l cp gs col0 s gr % Polyline n 3134 1916 m 3541 1916 l 3541 2100 l 3134 2100 l cp gs col0 s gr % Polyline n 3425 2147 m 3484 2147 l 3484 2194 l 3425 2194 l cp gs col0 s gr % Polyline n 3484 2147 m 3541 2147 l 3541 2194 l 3484 2194 l cp gs col0 s gr % Polyline n 5652 1679 m 5652 1229 l 6102 1229 l 6102 1679 l cp gs col0 s gr % Polyline n 5487 2129 m 5652 2129 l gs col0 s gr % Polyline n 5652 3569 m 5652 3119 l 6102 3119 l 6102 3569 l cp gs col0 s gr % Polyline n 3603 2390 m 4024 2389 l gs col0 s gr % Polyline n 4541 2389 m 5487 2389 l gs col0 s gr % Polyline n 5653 3330 m 5487 3329 l 5487 1454 l 5656 1454 l gs col0 s gr % Polyline n 5652 2354 m 5652 1904 l 6102 1904 l 6102 2354 l cp gs col0 s gr % here ends figure; % % here starts figure with depth 40 % Ellipse 7.500 slw n 4279 2350 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % here ends figure; % % here starts figure with depth 30 % Polyline 15.000 slw n 4167 2388 m 4392 2238 l gs col0 s gr % Polyline n 4167 2238 m 4392 2388 l gs col0 s gr % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 23714 12700 a gsave currentpoint currentpoint translate 90.0 neg rotate neg exch neg exch translate 23714 12700 a 0 0 0 TeXcolorrgb Fg(.)687 b(.)g(.)p Black 23714 12700 a currentpoint grestore moveto 23714 12700 a 0 0 0 TeXcolorrgb 21214 700 a Ff(Clients)p Black 0 0 0 TeXcolorrgb 22875 15900 a Fd(c)23351 16066 y Fa(n)p Black 0 0 0 TeXcolorrgb 22795 3233 a Fd(c)23260 3440 y Fb(1)p Black 0 0 0 TeXcolorrgb 22795 7774 a Fd(c)23260 7968 y Fb(2)p Black 0 0 0 TeXcolorrgb 2214 4700 a Ff(Central)278 b(\002le)e(server)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 684 4973 a FK(Figur)o(e)d(1.1:)1040 4868 y SDict begin H.S end 1040 4868 a 1040 4868 a SDict begin H.R end 1040 4868 a 1040 4868 a SDict begin [ /View [/XYZ H.V] /Dest (figure.1.1) cvn H.B /DEST pdfmark end 1040 4868 a 105 x FK(Clients)g(accessing)i(a)e(central)h(\002le)g(server)-6 b(,)20 b(running)d(on)h(a)h(single)f(machine.)565 5184 y FU(This)24 b(centralised)f(appr)o(oach)f(ensur)o(es)i(that)g(clients) g(can)f(easily)h(locate)g(the)f(\002le)h(ser)o(-)440 5298 y(vice,)33 b(and)h(that)g(administrators)g(can)f(easily)h(perform) f(backup)h(of)f(important)i(data.)440 5413 y(However)-6 b(,)24 b(or)o(ganisations)i(whose)g(work)f(\003ow)h(is)f(highly)i (dependent)d(on)h(the)g(storage)1851 5662 y(4)p eop end %%Page: 5 7 TeXDict begin 5 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 440 531 a FU(facility)25 b(ar)o(e)e(in)i(a)g(critical)f(situation)i(if)f(the)g (\002le)g(server)f(fails.)g(W)-8 b(e)25 b(do)g(not)h(consider)f(the)440 646 y(pr)o(oblem)d(of)f(losing)j(\002les)e(since)g(it,)g(in)g(most)h (cases,)f(can)f(be)h(alleviated)e(by)i(backup.)f(But)440 760 y(the)28 b(failur)o(e)e(of)i(the)g(\002le)g(server)e(may)i (paralyse)f(the)h(or)o(ganisation)g(until)g(the)g(server)f(is)440 875 y(r)o(epair)o(ed)18 b(or)j(r)o(eplaced.)e(In)i(terms)g(of)f(lost)i (work)f(hours,)g(this)h(may)e(be)h(very)f(costly)-9 b(.)565 990 y(Another)17 b(pr)o(oblem)f(is)h(that)g(a)g(single)g(\002le)g (server)f(does)h(not)h(scale)e(well)h(if)g(the)g(number)440 1104 y(of)29 b(r)o(equests)f(gr)o(ow)h(signi\002cantly)-9 b(.)30 b(Bottlenecks)f(ar)o(e)f(likely)h(to)g(occur)g(and)f(the)h(cost) g(of)440 1219 y(adding)20 b(mor)o(e)h(and)f(mor)o(e)h(advanced)e (components)j(raises.)440 1371 y SDict begin H.S end 440 1371 a 440 1371 a SDict begin 13.79993 H.A end 440 1371 a 440 1371 a SDict begin [ /View [/XYZ H.V] /Dest (section.1.2) cvn H.B /DEST pdfmark end 440 1371 a 149 x FL(1.2)119 b(The)29 b(replicated)g(centralised)f(\002le)i(system)440 1724 y FU(One)c(way)f(of)h(achieving)f(higher)h(availability)f(of)h(the)f (\002le)h(sharing)g(service)f(is)h(to)g(have)440 1838 y(another)j(server)f(that)h(can)g(answer)f(clients)i(when)f(the)g (\002rst)h(server)e(is)h(down.)g(This)h(is)440 1953 y(known)22 b(as)e FO(fail)g(over)p FU(,)g(and)g(can)g(transpar)o(ently)f(pr)o (ovide)h(higher)h(availability)e(as)h(long)i(as)440 2068 y(the)27 b(network)h(is)g(still)g(r)o(unning.)g(For)f(the)h(extra)e (servers,)g(ther)o(e)h(ar)o(e)e(two)j(possibilities:)440 2182 y(either)19 b(they)h(can)f(be)g FO(passive)p FU(,)g(meaning)h (that)f(they)h(ar)o(e)e(unused)i(as)f(long)h(as)f(the)h(primary)440 2297 y(server)d(is)g(r)o(unning,)i(or)e(they)h(can)f(be)f FO(active)p FU(,)h(meaning)g(that)h(they)f(participate)f(in)i(serving) 440 2411 y(client)j(\002le)g(r)o(equests)g(with)g(the)g(\002rst)g (server)-6 b(.)440 2554 y SDict begin H.S end 440 2554 a 440 2554 a SDict begin 13.79993 H.A end 440 2554 a 440 2554 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.1) cvn H.B /DEST pdfmark end 440 2554 a 110 x FJ(1.2.1)99 b(Passive)25 b(servers)440 2837 y FU(The)c(passive)h(server)e(appr)o(oach)g(is)i (illustrated)f(in)h(Figur)o(e)2341 2837 y SDict begin H.S end 2341 2837 a FU(1.2)2445 2780 y SDict begin H.R end 2445 2780 a 2445 2837 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.1.2) cvn H.B /ANN pdfmark end 2445 2837 a FU(.)f(An)h(active)f(server)f(is)i(the)440 2952 y(primary)f(server)g (that)g(serves)g(client)h(r)o(equests,)f(and)g(the)h(other)g(secondary) f(servers)g(ar)o(e)440 3066 y(passive)h(as)h(long)g(as)f(the)h(primary) f(server)g(has)h(not)g(failed.)f(Each)g(passive)g(server)g(must)440 3181 y(have)e(the)h(following)h(pr)o(operties:)1013 4256 y @beginspecial 91 @llx 555 @lly 386 @urx 721 @ury 2062 @rwi @setspecial %%BeginDocument: introduction/images/passive-fail-over-server.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: passive-fail-over-server.dvi %%BoundingBox: 91 555 386 721 %%DocumentFonts: Palatino-Roman PazoMath-Italic Palatino-Italic %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o passive-fail-over-server.eps %+ passive-fail-over-server.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.15:1531 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (passive-fail-over-server.dvi) @start /Fa 145[468 110[{ TeXBase1Encoding ReEncodeFont }1 841.29 /Palatino-Italic rf /Fb 205[421 421 49[{ TeXBase1Encoding ReEncodeFont }2 841.29 /Palatino-Roman rf /Fd 156[451 99[{ TeXBase1Encoding ReEncodeFont }1 1106.96 /Palatino-Italic rf /Ff 137[625 1[361 469 437 2[604 644 1[322 2[322 3[530 1[491 1[553 26[615 2[785 64[670 2[{ TeXBase1Encoding ReEncodeFont }14 1106.96 /Palatino-Roman rf /Fg 209[553 46[{ TeXBase1Encoding ReEncodeFont }1 2213.92 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 18207 a @beginspecial 0 @llx 0 @lly 280 @urx 164 @ury 2800 @rwi @setspecial %%BeginDocument: passive-fail-over-server.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: passive-fail-over-server.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Mon Dec 15 15:31:03 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 280 164 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 164 moveto 0 0 lineto 280 0 lineto 280 164 lineto closepath clip newpath -90.0 224.3 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Ellipse 7.500 slw n 4278 2428 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Polyline n 5652 1679 m 5652 1229 l 6102 1229 l 6102 1679 l cp gs col0 s gr % Polyline n 5487 2129 m 5652 2129 l gs col0 s gr % Polyline n 5652 2354 m 5652 1904 l 6102 1904 l 6102 2354 l cp gs col0 s gr % Polyline n 5652 3569 m 5652 3119 l 6102 3119 l 6102 3569 l cp gs col0 s gr % Polyline n 2591 2387 m 4024 2389 l gs col0 s gr % Polyline n 4541 2389 m 5487 2389 l gs col0 s gr % Polyline n 5653 3330 m 5487 3329 l 5487 1454 l 5656 1454 l gs col0 s gr % Polyline 15.000 slw n 2700 1425 m 1875 1425 l 1875 3300 l 2700 3300 l gs col0 s gr % Polyline n 1875 2400 m 2067 2399 l gs col0 s gr % Polyline 7.500 slw n 3525 2400 m 3525 3000 l 3225 3000 l gs col0 s gr % Polyline n 3225 1875 m 3525 1875 l 3525 2400 l gs col0 s gr % Polyline [30] 0 sd n 2067 1799 m 2592 1799 l 2592 2975 l 2067 2975 l cp gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 2126 1891 m 2533 1891 l 2533 2006 l 2126 2006 l cp gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 2126 1891 m 2533 1891 l 2533 2075 l 2126 2075 l cp gs col0 s gr [] 0 sd % Polyline n 2875 1342 m 2934 1342 l 2934 1389 l 2875 1389 l cp gs col0 s gr % Polyline n 2759 1342 m 2816 1342 l 2816 1389 l 2759 1389 l cp gs col0 s gr % Polyline n 2816 1342 m 2875 1342 l 2875 1389 l 2816 1389 l cp gs col0 s gr % Polyline n 2934 1342 m 2991 1342 l 2991 1389 l 2934 1389 l cp gs col0 s gr % Polyline n 2991 1342 m 3050 1342 l 3050 1389 l 2991 1389 l cp gs col0 s gr % Polyline n 2700 1019 m 3225 1019 l 3225 2195 l 2700 2195 l cp gs col0 s gr % Polyline n 2759 1389 m 3166 1389 l 3166 2080 l 2759 2080 l cp gs col0 s gr % Polyline n 2759 1111 m 3166 1111 l 3166 1226 l 2759 1226 l cp gs col0 s gr % Polyline n 2759 1111 m 3166 1111 l 3166 1295 l 2759 1295 l cp gs col0 s gr % Polyline n 3050 1342 m 3109 1342 l 3109 1389 l 3050 1389 l cp gs col0 s gr % Polyline n 3109 1342 m 3166 1342 l 3166 1389 l 3109 1389 l cp gs col0 s gr % Polyline [30] 0 sd n 2700 2550 m 3225 2550 l 3225 3726 l 2700 3726 l cp gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 2759 2920 m 3166 2920 l 3166 3611 l 2759 3611 l cp gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 2759 2642 m 3166 2642 l 3166 2757 l 2759 2757 l cp gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 2759 2642 m 3166 2642 l 3166 2826 l 2759 2826 l cp gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 2126 2169 m 2533 2169 l 2533 2860 l 2126 2860 l cp gs col0 s gr [] 0 sd % here ends figure; % % here starts figure with depth 40 % Ellipse 7.500 slw n 4279 2350 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % here ends figure; % % here starts figure with depth 30 % Polyline 15.000 slw n 4167 2388 m 4392 2238 l gs col0 s gr % Polyline n 4167 2238 m 4392 2388 l gs col0 s gr % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 31715 12787 a gsave currentpoint currentpoint translate 90.0 neg rotate neg exch neg exch translate 31715 12787 a 0 0 0 TeXcolorrgb Fg(.)686 b(.)h(.)p Black 31715 12787 a currentpoint grestore moveto 31715 12787 a 0 0 0 TeXcolorrgb 29215 787 a Ff(Clients)p Black 0 0 0 TeXcolorrgb 30875 15987 a Fd(c)31351 16153 y Fa(n)p Black 0 0 0 TeXcolorrgb 30795 3320 a Fd(c)31260 3526 y Fb(1)p Black 0 0 0 TeXcolorrgb 30795 7860 a Fd(c)31260 8054 y Fb(2)p Black 0 0 0 TeXcolorrgb 2214 2287 a Ff(Fast)278 b(connection)p Black 0 0 0 TeXcolorrgb 14214 1787 a(Central)g(\002le)f (servers)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 4444 a FK(Figur)o(e)27 b(1.2:)876 4339 y SDict begin H.S end 876 4339 a 876 4339 a SDict begin H.R end 876 4339 a 876 4339 a SDict begin [ /View [/XYZ H.V] /Dest (figure.1.2) cvn H.B /DEST pdfmark end 876 4339 a 105 x FK(Clients)g(accessing)h(a)g(central)g(\002le)g(server)-6 b(,)28 b(running)e(on)i(a)f(single)h(machine.)f(Several)511 4549 y(passive)19 b(servers)h(ar)o(e)e(r)o(eady)i(to)f(take)g(over)g (if)f(the)h(active)g(server)h(fails.)565 4789 y FI(\017)41 b FU(It)30 b(must)h(hold)g(exactly)e(the)i(same)f(versions)h(of)f(the)g (\002les)h(in)g(the)f(active)f(server)-6 b(,)648 4904 y(hence)32 b(an)g(entir)o(e)f(r)o(eplica)g(of)h(the)h(\002les)f(is)h (needed.)e(This)h(can)g(be)g(achieved)f(by)648 5018 y(using)21 b(a)f(fully)h(r)o(eplicated)e(\002le)i(system.)565 5184 y FI(\017)41 b FU(It)17 b(must)h(be)g(awar)o(e)e(of)h(the)h(curr)o(ent) f(states)g(of)h(the)f(clients)h(using)h(the)f(active)e(server)-6 b(,)648 5298 y(e.g.)22 b(curr)o(ent)g(work)h(dir)o(ectory)f(and)h(open) g(\002les.)g(This)g(is)g(easily)g(achieved)f(with)i(a)648 5413 y(stateless)c(\002le)h(server)f(pr)o(otocols)h(such)h(as)e(NFS)h ([)2214 5413 y SDict begin H.S end 2214 5413 a FU(2)2256 5413 y SDict begin 13.79993 H.L end 2256 5413 a 2256 5413 a SDict begin [ /Subtype /Link /Dest (cite.dslecturebook) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2256 5413 a -1 w FU(].)1851 5662 y(5)p eop end %%Page: 6 8 TeXDict begin 6 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 565 531 a FU(The)17 b(passive)h(servers)f(must)h(be)g(able)f(to)h(detect)f (when)i(the)f(active)f(server)g(has)h(failed.)440 646 y(This)28 b(can)f(be)g(done)g(in)h(two)g(ways:)f(either)g(the)g (passive)g(servers)g(can)g(continually)h(ask)440 760 y(the)e(active)g(server)g(whether)g(it)h(is)f(operating,)h(or)f(the)g (clients)h(can)f(themselves)h(alert)f(a)440 875 y(passive)20 b(server)g(if)h(the)g(active)f(server)g(is)h(not)g(r)o(esponding.)565 990 y(When)f(a)f(passive)g(server)g(has)h(become)g(active,)e(the)i (technical)g(staf)o(f)e(can)i(disconnect)440 1104 y(the)31 b(failed)g(server)f(and)h(r)o(epair)f(it)h(without)i(disturbing)f (client)f(activities.)g(When)h(the)440 1219 y(failed)e(server)g(is)i (operating)f(corr)o(ectly)f(again,)h(it)g(can)g(be)g(r)o(econnected)f (as)h(a)g(passive)440 1333 y(server)20 b(and)g(ther)o(eby)g(be)h(r)o (eady)e(to)i(take)f(over)h(if)g(the)f(new)i(active)e(server)g(fails.) 440 1483 y SDict begin H.S end 440 1483 a 440 1483 a SDict begin 13.79993 H.A end 440 1483 a 440 1483 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.2) cvn H.B /DEST pdfmark end 440 1483 a 111 x FJ(1.2.2)99 b(Active)25 b(servers)440 1767 y FU(Deployment)c(of)g(passive)f(servers)g(impr)o(oves)g(the)g (availability)g(of)h(the)f(\002le)h(service,)e(but)440 1881 y(having)26 b(passive)g(servers)f(that)h(har)o(dly)f(ever)h (serves)f(the)h(clients)h(seems)f(wasteful.)f(In-)440 1996 y(stead)33 b(all)g(servers)g(can)h(be)f(allowed)g(to)h(answer)g(r) o(equests)f(as)g(illustrated)h(in)g(Figur)o(e)440 2112 y SDict begin H.S end 440 2112 a -2 x FU(1.3)544 2053 y SDict begin H.R end 544 2053 a 544 2110 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.1.3) cvn H.B /ANN pdfmark end 544 2110 a FU(.)22 b(As)h(with)g(the)g(passive)g(appr)o(oach)e(the)i (\002les)g(must)g(be)g(fully)g(r)o(eplicated)e(among)i(the)440 2225 y(servers.)1013 3201 y @beginspecial 91 @llx 555 @lly 417 @urx 721 @ury 2062 @rwi @setspecial %%BeginDocument: introduction/images/active-fail-over-server.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: active-fail-over-server.dvi %%BoundingBox: 91 555 417 721 %%DocumentFonts: Palatino-Roman PazoMath-Italic Palatino-Italic %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o active-fail-over-server.eps %+ active-fail-over-server.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.15:1518 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (active-fail-over-server.dvi) @start /Fa 145[468 110[{ TeXBase1Encoding ReEncodeFont }1 841.29 /Palatino-Italic rf /Fb 205[421 421 49[{ TeXBase1Encoding ReEncodeFont }2 841.29 /Palatino-Roman rf /Fd 156[451 99[{ TeXBase1Encoding ReEncodeFont }1 1106.96 /Palatino-Italic rf /Ff 137[625 1[361 469 437 2[604 644 1[322 2[322 3[530 676 491 612 553 20[676 5[615 2[785 64[670 2[{ TeXBase1Encoding ReEncodeFont }17 1106.96 /Palatino-Roman rf /Fg 209[553 46[{ TeXBase1Encoding ReEncodeFont }1 2213.92 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 18207 a @beginspecial 0 @llx 0 @lly 312 @urx 164 @ury 3120 @rwi @setspecial %%BeginDocument: active-fail-over-server.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: active-fail-over-server.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Mon Dec 15 15:18:17 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 312 164 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 164 moveto 0 0 lineto 312 0 lineto 312 164 lineto closepath clip newpath -58.5 224.3 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 7.500 slw n 1717 2122 m 1776 2122 l 1776 2169 l 1717 2169 l cp gs col0 s gr % Polyline n 1601 2122 m 1658 2122 l 1658 2169 l 1601 2169 l cp gs col0 s gr % Polyline n 1658 2122 m 1717 2122 l 1717 2169 l 1658 2169 l cp gs col0 s gr % Polyline n 1776 2122 m 1833 2122 l 1833 2169 l 1776 2169 l cp gs col0 s gr % Polyline n 1833 2122 m 1892 2122 l 1892 2169 l 1833 2169 l cp gs col0 s gr % Polyline n 1542 1799 m 2067 1799 l 2067 2975 l 1542 2975 l cp gs col0 s gr % Polyline n 1601 2169 m 2008 2169 l 2008 2860 l 1601 2860 l cp gs col0 s gr % Polyline n 1601 1891 m 2008 1891 l 2008 2006 l 1601 2006 l cp gs col0 s gr % Polyline n 1601 1891 m 2008 1891 l 2008 2075 l 1601 2075 l cp gs col0 s gr % Polyline n 1892 2122 m 1951 2122 l 1951 2169 l 1892 2169 l cp gs col0 s gr % Polyline n 1951 2122 m 2008 2122 l 2008 2169 l 1951 2169 l cp gs col0 s gr % Polyline n 2350 1342 m 2409 1342 l 2409 1389 l 2350 1389 l cp gs col0 s gr % Polyline n 2234 1342 m 2291 1342 l 2291 1389 l 2234 1389 l cp gs col0 s gr % Polyline n 2291 1342 m 2350 1342 l 2350 1389 l 2291 1389 l cp gs col0 s gr % Polyline n 2409 1342 m 2466 1342 l 2466 1389 l 2409 1389 l cp gs col0 s gr % Polyline n 2466 1342 m 2525 1342 l 2525 1389 l 2466 1389 l cp gs col0 s gr % Polyline n 2175 1019 m 2700 1019 l 2700 2195 l 2175 2195 l cp gs col0 s gr % Polyline n 2234 1389 m 2641 1389 l 2641 2080 l 2234 2080 l cp gs col0 s gr % Polyline n 2234 1111 m 2641 1111 l 2641 1226 l 2234 1226 l cp gs col0 s gr % Polyline n 2234 1111 m 2641 1111 l 2641 1295 l 2234 1295 l cp gs col0 s gr % Polyline n 2525 1342 m 2584 1342 l 2584 1389 l 2525 1389 l cp gs col0 s gr % Polyline n 2584 1342 m 2641 1342 l 2641 1389 l 2584 1389 l cp gs col0 s gr % Polyline n 2350 2873 m 2409 2873 l 2409 2920 l 2350 2920 l cp gs col0 s gr % Polyline n 2234 2873 m 2291 2873 l 2291 2920 l 2234 2920 l cp gs col0 s gr % Polyline n 2291 2873 m 2350 2873 l 2350 2920 l 2291 2920 l cp gs col0 s gr % Polyline n 2409 2873 m 2466 2873 l 2466 2920 l 2409 2920 l cp gs col0 s gr % Polyline n 2466 2873 m 2525 2873 l 2525 2920 l 2466 2920 l cp gs col0 s gr % Polyline n 2175 2550 m 2700 2550 l 2700 3726 l 2175 3726 l cp gs col0 s gr % Polyline n 2234 2920 m 2641 2920 l 2641 3611 l 2234 3611 l cp gs col0 s gr % Polyline n 2234 2642 m 2641 2642 l 2641 2757 l 2234 2757 l cp gs col0 s gr % Polyline n 2234 2642 m 2641 2642 l 2641 2826 l 2234 2826 l cp gs col0 s gr % Polyline n 2525 2873 m 2584 2873 l 2584 2920 l 2525 2920 l cp gs col0 s gr % Polyline n 2584 2873 m 2641 2873 l 2641 2920 l 2584 2920 l cp gs col0 s gr % Polyline n 3194 2763 m 3194 2013 l 3569 2013 l 3569 2763 l cp gs col0 s gr % Polyline [30] 0 sd n 3192 2389 m 3569 2387 l gs col0 s gr [] 0 sd % Polyline [30] 0 sd n 3177 2144 m 3569 2388 l gs col0 s gr [] 0 sd % Polyline 15.000 slw n 3197 2617 m 3569 2388 l gs col0 s gr % Ellipse 7.500 slw n 4278 2428 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Polyline 15.000 slw n 2175 1425 m 1350 1425 l 1350 3300 l 2175 3300 l gs col0 s gr % Polyline 7.500 slw n 2700 1875 m 3193 2154 l gs col0 s gr % Polyline n 3193 2614 m 2700 3000 l gs col0 s gr % Polyline 15.000 slw n 1350 2400 m 1542 2399 l gs col0 s gr % Polyline 7.500 slw n 5652 1679 m 5652 1229 l 6102 1229 l 6102 1679 l cp gs col0 s gr % Polyline n 5487 2129 m 5652 2129 l gs col0 s gr % Polyline n 5652 2354 m 5652 1904 l 6102 1904 l 6102 2354 l cp gs col0 s gr % Polyline n 5652 3569 m 5652 3119 l 6102 3119 l 6102 3569 l cp gs col0 s gr % Polyline n 3197 2389 m 2070 2389 l gs col0 s gr % Polyline n 3574 2389 m 4024 2389 l gs col0 s gr % Polyline n 4541 2389 m 5487 2389 l gs col0 s gr % Polyline n 5653 3330 m 5487 3329 l 5487 1454 l 5656 1454 l gs col0 s gr % here ends figure; % % here starts figure with depth 40 % Ellipse 7.500 slw n 4279 2350 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % here ends figure; % % here starts figure with depth 30 % Polyline 15.000 slw n 4167 2388 m 4392 2238 l gs col0 s gr % Polyline n 4167 2238 m 4392 2388 l gs col0 s gr % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 35215 12787 a gsave currentpoint currentpoint translate 90.0 neg rotate neg exch neg exch translate 35215 12787 a 0 0 0 TeXcolorrgb Fg(.)687 b(.)f(.)p Black 35215 12787 a currentpoint grestore moveto 35215 12787 a 0 0 0 TeXcolorrgb 2214 2287 a Ff(Fast)278 b(connection)p Black 0 0 0 TeXcolorrgb 14714 13787 a(Load)h(balancer)p Black 0 0 0 TeXcolorrgb 32715 787 a(Clients)p Black 0 0 0 TeXcolorrgb 14214 1787 a(Central)f(\002le)f(servers)p Black 0 0 0 TeXcolorrgb 34375 15987 a Fd(c)34851 16153 y Fa(n)p Black 0 0 0 TeXcolorrgb 34295 3320 a Fd(c)34760 3526 y Fb(1)p Black 0 0 0 TeXcolorrgb 34295 7860 a Fd(c)34760 8054 y Fb(2)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 3389 a FK(Figur)o(e)k(1.3:)877 3284 y SDict begin H.S end 877 3284 a 877 3284 a SDict begin H.R end 877 3284 a 877 3284 a SDict begin [ /View [/XYZ H.V] /Dest (figure.1.3) cvn H.B /DEST pdfmark end 877 3284 a 105 x FK(Clients)g(accessing)h(a)h(central)f(load)g(balancer)-6 b(.)28 b(Several)g(active)h(servers)g(ar)o(e)f(r)o(eady)g(to)511 3494 y(answer)18 b(the)h(clients.)565 3708 y FU(A)26 b(distribution)h(mechanism)g(of)g(r)o(equests)f(is)h(needed)f(to)h (ensur)o(e)f(that)g(one)h(server)440 3822 y(does)f(not)h(carry)e(all)h (of)h(the)f(work)h(load)f(\226)f(the)i(load)f(should)g(be)g(balanced)f (among)i(the)440 3937 y(servers.)19 b(Ther)o(e)g(ar)o(e)g(several)g (appr)o(oaches)f(for)i(load)g(balancing)g([)2538 3937 y SDict begin H.S end 2538 3937 a FU(1)2580 3937 y SDict begin 13.79993 H.L end 2580 3937 a 2580 3937 a SDict begin [ /Subtype /Link /Dest (cite.loadbalancing) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2580 3937 a -1 w FU(])f(but)h(the)g(one)h(shown)440 4051 y(in)k(Figur)o(e)799 4053 y SDict begin H.S end 799 4053 a -2 x FU(1.3)903 3994 y SDict begin H.R end 903 3994 a 903 4051 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.1.3) cvn H.B /ANN pdfmark end 903 4051 a 24 w FU(uses)g(a)f(special)g (dedicated)e(machine)j(to)g(select)f(what)h(servers)f(to)g(dir)o(ect) 440 4166 y(the)k(incoming)i(r)o(equests)e(to.)g(The)g(most)h (sophisticated)g(load-balancing)e(devices)h(can)440 4280 y(detect)21 b(failed)g(and)g(overloaded)f(servers,)h(and)g(use)h(this)h (information)f(to)g(dir)o(ect)f(clients)440 4395 y(to)e(one)g(of)g(the) g(other)f(servers.)g(If)h(a)f(server)g(fails,)g(it)h(can)f(be)g (disconnected,)h(r)o(epair)o(ed)d(and)440 4510 y(subsequently)j(r)o (econnected)e(without)i(disturbing)f(clients)h(as)e(with)i(the)f (passive)f(server)440 4624 y(appr)o(oach.)440 4774 y SDict begin H.S end 440 4774 a 440 4774 a SDict begin 13.79993 H.A end 440 4774 a 440 4774 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.3) cvn H.B /DEST pdfmark end 440 4774 a 110 x FJ(1.2.3)99 b(Advantages)25 b(and)f(disadvantages)440 5057 y FU(Fail)c(over)f(techniques)h(solve)g(the)g(availability)f(pr)o (oblem)g(of)g(the)h(single)g(centralised)f(ap-)440 5172 y(pr)o(oach.)24 b(If)h(a)f(load)h(balancer)f(is)h(added,)f(the)h (scalability)g(incr)o(eases)f(because)g(the)h(extra)440 5286 y(servers)18 b(can)g(serve)g(clients)g(in)h(parallel.)e(Compar)o (ed)g(to)i(the)g(simple)f(appr)o(oach,)f(the)i(per)o(-)1851 5662 y(6)p eop end %%Page: 7 9 TeXDict begin 7 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 440 531 a FU(formance)27 b(may)g(however)g(be)g(worse)g(since)h(\002les)f(need) g(to)g(be)g(r)o(eplicated)e(when)j(they)440 646 y(ar)o(e)19 b(changed.)565 760 y(The)31 b(primary)g(disadvantage)f(is)h(cost.)h (The)f(extra)g(\002le)g(servers)g(and)g(the)h(mainte-)440 875 y(nance)20 b(of)h(them)g(add)f(to)h(the)g(cost)g(of)f(the)h(\002le) g(service)f(and)g(r)o(equir)o(es)g(setting)i(up)e(a)g(r)o(epli-)440 990 y(cated)28 b(\002le)h(system)h(among)f(them.)g(This)h(added)d(cost) j(may)e(even)h(turn)g(out)h(to)f(be)g(too)440 1104 y(high)h(compar)o (ed)d(with)j(the)f(cost)g(of)g(a)g(disr)o(upted)f(work)i(\003ow)g(when) f(a)f(single)i(server)440 1219 y(fails.)19 b(And)g(if)h(additional)f (storage)g(is)h(needed,)f(all)g(of)h(the)g(r)o(eplicated)d(servers)i (will)i(need)440 1333 y(to)k(be)g(upgraded,)f(which)i(causes)e (additional)h(expenses)g(compar)o(ed)f(with)i(the)f(simple)440 1448 y(appr)o(oach.)440 1607 y SDict begin H.S end 440 1607 a 440 1607 a SDict begin 13.79993 H.A end 440 1607 a 440 1607 a SDict begin [ /View [/XYZ H.V] /Dest (section.1.3) cvn H.B /DEST pdfmark end 440 1607 a 149 x FL(1.3)119 b(A)30 b(peer)n(-to-peer)e(decentralised)g(\002le)h(system)440 1960 y FU(An)c(alternative)f(appr)o(oach,)g(and)g(the)h(appr)o(oach)f (we)h(will)h(pursue)f(in)g(this)h(pr)o(oject,)f(for)440 2074 y(pr)o(oviding)30 b(a)g(\002le)g(storage)h(facility)f(without)h(a) f(single)h(point)g(of)f(failur)o(e,)f(with)i(better)440 2189 y(scalability)18 b(and)g(without)i(r)o(esorting)e(to)h(a)f (traditional)g(expensive)g(fail)g(over)g(solution,)i(is)440 2304 y(to)k(avoid)e(any)h(central)g(servers)f(and)h(instead)g(use)g (the)g(clients)h(themselves)f(for)g(storing)440 2418 y(the)h(\002les.)g(Then)g(the)f(clients)h(become)g(peers)f(and)g(form)h (a)f(decentralised)g(peer)o(-to-peer)440 2533 y(network.)17 b(T)-8 b(o)17 b(avoid)f(losing)i(\002les)f(when)g(peers)f(crash)g(or)h (ar)o(e)e(shut)i(down,)g(the)g(\002les)g(must)440 2647 y(r)o(eplicated)i(thr)o(oughout)j(the)f(network.)565 2762 y(This)g(appr)o(oach)e(could)i(achieve:)565 2941 y FI(\017)41 b FU(High)29 b(availability)f(because)g(no)h(single)g (point)h(is)f(r)o(esponsible)f(for)h(the)g(\002le)f(ser)o(-)648 3056 y(vice.)565 3236 y FI(\017)41 b FU(Much)34 b(lower)h(cost)g(since) h(ther)o(e)e(ar)o(e)f(no)i(dedicated)e(\002le)i(servers)g(to)g(buy)g (and)648 3351 y(maintain.)565 3531 y FI(\017)41 b FU(Built-in)18 b(scaling.)h(When)g(the)g(number)f(of)h(peers)f(and)g(thus)h(r)o (equests)g(incr)o(ease,)e(so)648 3646 y(do)j(the)h(r)o(esour)o(ces)f (the)h(\002le)g(service)f(can)g(utilise.)565 3826 y FI(\017)41 b FU(Faster)28 b(serving)g(of)h(r)o(equests)f(since)h(ther)o(e)f(ar)o (e)f(many)i(peers)e(to)i(use,)g(e.g.)f(when)648 3940 y(r)o(etrieving)20 b(a)g(\002le.)565 4121 y FI(\017)41 b FU(Better)25 b(utilisation)h(of)g(the)g(computational)h(r)o(esour)o (ces)d(in)i(an)g(or)o(ganisation,)g(e.g.)648 4235 y(better)c (utilisation)h(of)g(fr)o(ee)e(disk)i(space,)e(unused)i(network)h (bandwidth)e(and)g(un-)648 4350 y(used)e(pr)o(ocessor)h(time)g(in)g (each)f(peer)-6 b(.)440 4529 y(Ther)o(e)20 b(ar)o(e,)f(however)-6 b(,)20 b(also)h(some)h(disadvantages:)565 4709 y FI(\017)41 b FU(The)17 b(behaviour)h(of)f(the)h(\002le)g(service)f(becomes)h(much) g(mor)o(e)g(unpr)o(edictable)e(since)648 4823 y(it)21 b(is)g(spr)o(ead)e(out)i(over)g(the)f(whole)i(network.)565 5004 y FI(\017)41 b FU(If)22 b(the)h(performance)f(is)h(not)h(good)f (enough,)h(impr)o(oving)f(it)g(is)g(much)h(mor)o(e)e(dif)o(\002-)648 5118 y(cult)e(than)h(upgrading)g(a)f(few)h(central)f(servers.)565 5298 y FI(\017)41 b FU(The)24 b(bur)o(den)f(the)h(service)g(puts)g(on)h (the)f(peers)g(may)g(be)g(too)h(high.)g(For)f(instance,)648 5413 y(it)c(may)h(use)g(too)g(much)g(network)g(bandwidth)g(or)f(too)i (much)f(disk)g(space.)e(Due)i(to)1851 5662 y(7)p eop end %%Page: 8 10 TeXDict begin 8 9 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 648 531 a FU(the)28 b(r)o(eplication)f(and)g(decentralised)g(natur)o(e)g(of)h (a)f(peer)o(-to-peer)f(system,)i(ther)o(e)648 646 y(will)20 b(be)f(a)g(certain)f(amount)i(of)g(over)o(head)e(in)i(terms)f(of)h (duplicate)e(data)g(and)h(extra)648 760 y(coor)o(dination)i(messages.) 440 941 y(Hence,)e(choosing)j(between)e(a)f(distributed)g(system)i (appr)o(oach)d(and)i(a)f(traditional)h(cen-)440 1056 y(tralised)31 b(appr)o(oach)f(will)j(be)e(a)g(trade-of)o(f)f(that)h (depends)g(on)i(the)f(particular)e(cir)o(cum-)440 1171 y(stances)e(in)h(an)g(or)o(ganisation.)f(In)h(or)o(der)f(to)h(keep)f (the)g(discussions)i(focused,)e(we)h(will)440 1285 y(make)c(the)h (following)h(assumptions)f(about)f(the)h(or)o(ganisations)g(that)f(our) h(system)g(tar)o(-)440 1400 y(gets:)565 1581 y FI(\017)41 b FU(The)20 b(machines)h(ar)o(e)f(equipped)g(with)i(har)o(d)d(drives)i (with)g(much)g(mor)o(e)g(fr)o(ee)e(space)648 1695 y(disk)g(space)g (compar)o(ed)f(to)h(the)h(amount)g(of)f(data)f(that)h(it)h(should)g(be) f(stor)o(ed)f(in)i(the)648 1810 y(\002le)e(service)g(\(we)h(will)g (later)f(quantify)h(this,)g(but)g(e.g.)f(10)g(Gb)h(fr)o(ee)e(for)h (storing)i(1)e(Gb)648 1924 y(of)23 b(data)g(per)g(machine\).)g(Also,)h (the)f(r)o(est)g(of)h(the)g(har)o(dwar)o(e)d(is)j(powerful)f(enough)648 2039 y(to)k(handle)f(the)h(r)o(equests)f(and)g(r)o(esponses.)g(Hence,)g (thin)i(clients)f(ar)o(e)e(not)i(useful)648 2154 y(for)20 b(our)h(system.)565 2335 y FI(\017)41 b FU(The)29 b(internal)g(network) h(is)f(a)g(LAN)f(with)i(the)g(following)g(characteristics:)e(high)648 2449 y(bandwidth)22 b(\(10/100)d(Mbit\),)i(low)i(latency)f(\(r)o(ound)f (trip)h(time)g(on)h(the)f(or)o(der)f(of)h(1)648 2564 y(ms\))e(and)h(a)f(limited)h(number)g(of)g(clients)g(\(less)g(than,)g (say)-9 b(,)20 b(20,000\).)565 2745 y FI(\017)41 b FU(Malicious)25 b(peers)g(in)h(the)g(network)g(can)g(be)f(tracked)g(down)h(\(and)f(the) g(r)o(esponsi-)648 2859 y(ble)g(person)h(sacked\),)f(thus)h(the)g (system)g(does)g(not)g(need)g(to)g(pr)o(otect)f(itself)h(fr)o(om)648 2974 y(denial-of-service)19 b(attacks.)440 3155 y(W)-8 b(e)17 b(believe)g(these)g(assumptions)i(ar)o(e)d(valid)g(for)h(lar)o (ge)f(number)i(of)f(or)o(ganisations.)g(New)440 3269 y(machines)25 b(ar)o(e)e(sold)i(with)g(100)e(or)i(even)f(1000)f(Mbit)h (Ethernet)g(and)h(several)e(gigabytes)440 3384 y(of)e(fr)o(ee)e(disk)i (space.)440 3544 y SDict begin H.S end 440 3544 a 440 3544 a SDict begin 13.79993 H.A end 440 3544 a 440 3544 a SDict begin [ /View [/XYZ H.V] /Dest (section.1.4) cvn H.B /DEST pdfmark end 440 3544 a 148 x FL(1.4)119 b(Aims)30 b(of)g(this)g(project)440 3896 y FU(The)c(decentralisation)f(of)h(the)f(\002le)h(service)f(intr)o (oduces)h(many)g(pr)o(oblems)f(concerning)440 4011 y(the)f(peer)o (-to-peer)d(network)k(that)e(needs)h(to)g(be)g(solved)f(for)h(it)g(to)g (be)f(a)h(viable)f(solution.)440 4125 y(The)f(aim)g(of)g(this)h(pr)o (oject)e(is)i(to)f(addr)o(ess)f(these)h(pr)o(oblems)g(by)g FO(designing)f(a)h(decentralised)440 4240 y(peer-to-peer)e(\002le)h (system)g FU(with)g(the)g(following)h(r)o(equir)o(ements)f(\(in)g(or)o (der)e(of)i(priority\):)440 4438 y FQ(High)f(availability)e(and)h (fault-tolerance)38 b FU(The)16 b(failur)o(e)e(of)i(a)f(peer)g(must)i (not)f(bring)g(down)648 4552 y(the)j(system)i(and)e(must)h(not)h(cause) e(\002les)h(to)g(be)f(unavailable.)f(Failur)o(e)h(of)h(multiple)648 4667 y(peers)26 b(must)h(not)g(cause)f(the)h(system)g(to)g(end)f(in)h (an)g(unr)o(esolvable)f(inconsistent)648 4781 y(state.)440 4962 y FQ(Self-organising)18 b(and)i(dynamic)40 b FU(The)29 b(system)h(must)f(continue)h(to)f(function)h(r)o(eliable)648 5077 y(when)c(peers)f(join)i(and)e(leave)g(the)h(network)g(dynamically) -9 b(,)26 b(and)f(must)h(itself)g(or)o(-)648 5191 y(ganise)20 b(the)h(peers)g(without)h(human)f(intervention.)1851 5662 y(8)p eop end %%Page: 9 11 TeXDict begin 9 10 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 440 531 a FQ(Reasonable)18 b(performance)40 b FU(T)-8 b(o)22 b(be)g(usable)f(at)g(all,)h(the)f(system)i(must)f(not)h(be)e (too)h(slow)648 646 y(or)i(use)h(too)g(many)g(r)o(esour)o(ces)f(\(such) h(as)f(disk)h(space,)f(network)h(bandwidth)g(and)648 760 y(CPU)20 b(time\).)440 941 y FQ(T)-9 b(ransparency)40 b FU(The)27 b(system)i(should)f(not)g(look)h(any)f(dif)o(fer)o(ent)d (fr)o(om)i(the)h(users')g(per)o(-)648 1056 y(spective)20 b(than)h(other)g(networked)g(\002le)g(systems.)440 1237 y FQ(Scalability)38 b FU(The)29 b(system)h(must)g(be)f(able)g(to)g (scale)g(up)g(to)h(the)f(number)h(of)f(machines)648 1352 y(connected)20 b(to)h(the)g(LAN.)565 1549 y(It)35 b(is)g(also)g(an)g (aim)g(to)g FO(implement)f(a)h(working)g(pr)o(ototype)d FU(of)j(the)h(\002le)f(system)g(that)440 1664 y(demonstrates)24 b(the)g(featur)o(es)f(of)h(the)g(network.)g(Finally)-9 b(,)25 b(the)f(last)g(aim)g(is)g(to)h FO(analyse)f(the)440 1778 y(design)d(theor)o(etically)e(and)h(in)h(practise)g(thr)o(ough)d (the)j(pr)o(ototype)p FU(.)440 1938 y SDict begin H.S end 440 1938 a 440 1938 a SDict begin 13.79993 H.A end 440 1938 a 440 1938 a SDict begin [ /View [/XYZ H.V] /Dest (section.1.5) cvn H.B /DEST pdfmark end 440 1938 a 148 x FL(1.5)119 b(Related)29 b(work)440 2291 y FU(Several)21 b(r)o(elated)g(pr)o (ojects)h(alr)o(eady)f(exist)h(in)h(the)g(pr)o(oblem)f(domain)h (although)g(most)g(of)440 2405 y(the)18 b(r)o(ecent)g(work)h(seems)f (to)h(be)f(intended)g(for)g(a)g(wide-ar)o(ea)e(network,)j(the)f (Internet.)g(W)-8 b(e)440 2520 y(will)28 b(in)g(this)g(section)g(pr)o (esent)f(some)h(of)f(the)h(ideas)f(fr)o(om)g(these)g(r)o(elated)f (systems)i(that)440 2634 y(will)21 b(be)g(r)o(eused)e(in)j(our)f (system.)565 2749 y(For)35 b(a)f(decentralised)g(distributed)h(\002le)g (system,)h(the)f(most)h(basic)f(pr)o(oblem)f(that)440 2863 y(must)29 b(be)e(solved)i(is)f(that)g(of)g(locating)h(the)f(nodes) g(to)h(contact)f(for)g(a)f(given)h(\002le)h(name.)440 2978 y(W)-5 b(ith)25 b(traditional)f(centralised)f(distributed)h (\002le)g(systems)h(such)f(as)g(NFS,)f(the)h(Andr)o(ew)440 3093 y(File)e(System)g(and)g(Coda)f([)1292 3093 y SDict begin H.S end 1292 3093 a FU(2)1334 3093 y SDict begin 13.79993 H.L end 1334 3093 a 1334 3093 a SDict begin [ /Subtype /Link /Dest (cite.dslecturebook) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1334 3093 a FU(])g(the)h(answer)g(is)h(simple:)f(contact)g(the)g(central)g (servers.)f(For)440 3207 y(decentralised)f(systems,)h(ther)o(e)f(ar)o (e)f(various)i(appr)o(oaches:)440 3280 y SDict begin H.S end 440 3280 a 440 3280 a SDict begin 13.79993 H.A end 440 3280 a 440 3280 a SDict begin [ /View [/XYZ H.V] /Dest (Item.1) cvn H.B /DEST pdfmark end 440 3280 a 544 3405 a FU(1.)41 b(One)23 b(can)g(maintain)g(a)g(separate)e(dedicated)h(dir)o(ectory)g (service.)g(T)-8 b(o)24 b(avoid)e(a)h(sin-)648 3519 y(gle)k(point)h(of) f(failur)o(e,)e(this)j(service)f(must)h(itself)f(be)g(r)o(eplicated.)e (For)i(scalability)648 3634 y(r)o(easons,)e(it)i(may)f(be)g(necessary)g (to)g(decentralise)g(the)g(service)g(to)g(some)h(degr)o(ee;)648 3748 y(for)20 b(instance,)h(by)g(or)o(ganising)g(it)g(in)g(a)f(hierar)o (chy)g(such)i(as)e(the)h(Internet)g(DNS.)440 3805 y SDict begin H.S end 440 3805 a 440 3805 a SDict begin 13.79993 H.A end 440 3805 a 440 3805 a SDict begin [ /View [/XYZ H.V] /Dest (Item.2) cvn H.B /DEST pdfmark end 440 3805 a 544 3929 a FU(2.)41 b(A)20 b(completely)h(decentralised,)f(peer)o(-to-peer) e(appr)o(oach)i(is)h(that)f(of)h(Gnutella)g([)3235 3929 y SDict begin H.S end 3235 3929 a FU(5)3277 3929 y SDict begin 13.79993 H.L end 3277 3929 a 3277 3929 a SDict begin [ /Subtype /Link /Dest (cite.gnutellaweb) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 3277 3929 a FU(])648 4044 y(which)35 b(\003oods)i(the)e(neighbour)o (hood)h(of)f(nodes)g(each)g(time)g(a)f(lookup)i(is)g(per)o(-)648 4159 y(formed.)c(The)g(underlying)h(idea)f(is)h(that)g(the)g(active)f (nodes)g(ar)o(e)g(or)o(ganised)g(in)648 4273 y(a)26 b FO(logical)f FU(or)i FO(overlay)f FU(network)h(wher)o(e)f(each)g(node)h (keeps)f(r)o(outing)h(information)648 4388 y(about)20 b(a)g(subset)h(of)g(the)g(other)g(nodes.)440 4423 y SDict begin H.S end 440 4423 a 440 4423 a SDict begin 13.79993 H.A end 440 4423 a 440 4423 a SDict begin [ /View [/XYZ H.V] /Dest (Item.3) cvn H.B /DEST pdfmark end 440 4423 a 544 4569 a FU(3.)41 b(A)21 b(r)o(ecent)f(advance)g(is)i(the)g(application)f (of)g(hash-based)g(lookup)h(in)g(overlay)f(net-)648 4683 y(works.)26 b(Instead)f(of)h(using)h(the)f(r)o(outing)g(information)h (to)f(\003ood)h(the)f(network,)g(a)648 4798 y(hash)c(function)g(is)g (used)f(to)h(determine)g(wher)o(e)f(in)h(the)g(network)g(the)g(lookup)g (key)648 4912 y(is)k(located)f(and)g(the)h(r)o(outing)g(information)g (is)g(then)h(used)e(to)h(guide)g(the)f(lookup)648 5027 y(to)c(the)g(right)g(node.)648 5175 y(The)g(usual)h(hash)f(designs,)h (used)f(for)h(instance)f(in)h(general-purpose)f(data)f(str)o(uc-)648 5289 y(tur)o(es)29 b(such)i(as)f(hash)h(tables,)f(does)g(not)i(work)f (in)f(the)h(face)e(of)i(nodes)f(dynami-)648 5404 y(cally)16 b(joining)j(and)d(leaving,)h(and)f(nodes)i(having)f(dif)o(fer)o(ent)e (incomplete)i(views)g(of)1851 5662 y(9)p eop end %%Page: 10 12 TeXDict begin 10 11 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 648 531 a FU(what)22 b(constitutes)i(the)e(overlay)g(network.)h (Consequently)-9 b(,)24 b(hash-based)d(lookup)648 646 y(r)o(ests)i(on)h(the)g(concept)g(of)g FO(consistent)g(hashing)e FU([)2177 646 y SDict begin H.S end 2177 646 a FU(6)2219 646 y SDict begin 13.79993 H.L end 2219 646 a 2219 646 a SDict begin [ /Subtype /Link /Dest (cite.karger97consistent) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2219 646 a -1 w FU(])i(wher)o(e)f(small)h(changes)g(do)g (not)648 760 y(r)o(equir)o(e)19 b(a)h(global)h(r)o(ehashing)g(of)g(the) g(data.)565 958 y(In)28 b(general,)g(a)g(dedicated)f(dir)o(ectory)g (service)h(has)h(the)f(pr)o(oblem)g(of)h(much)g(added)440 1073 y(complexity)22 b(since)h(it)f(r)o(equir)o(es)f(design,)h (implementation)h(and)e(test)h(of)g(a)f(separate)g(dis-)440 1187 y(tributed)f(system.)565 1302 y(The)29 b(\003ooding)h(appr)o(oach) e(is,)h(at)g(least)g(conceptually)-9 b(,)29 b(very)g(simple)g(but)g (does)h(not)440 1416 y(scale)22 b(well)g([)847 1416 y SDict begin H.S end 847 1416 a FU(12)931 1416 y SDict begin 13.79993 H.L end 931 1416 a 931 1416 a SDict begin [ /Subtype /Link /Dest (cite.gnutellascale) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 931 1416 a -2 w FU(])g(and)g(cannot)g(guarantee)f(that)h(data)f(saved)g(in) h(one)h(end)f(of)g(the)g(overlay)440 1531 y(network)e(is)h(at)e(all)h (available)e(at)h(the)h(other)g(end)g(unless)g(the)g(\003ood)h(queries) f(ar)o(e)e(allowed)440 1645 y(to)j(travel)f(an)h(unlimited)g(number)g (of)g(hops.)565 1760 y(A)28 b(number)i(of)f(systems)h(have)f(been)g (devised)f(for)h(the)h(Internet)f(using)h(the)f(hash-)440 1875 y(based)17 b(appr)o(oach)f([)1061 1875 y SDict begin H.S end 1061 1875 a FU(9)1103 1875 y SDict begin 13.79993 H.L end 1103 1875 a 1103 1875 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1103 1875 a -1 w FU(;)1140 1875 y SDict begin H.S end 1140 1875 a FU(11)1224 1875 y SDict begin 13.79993 H.L end 1224 1875 a 1224 1875 a SDict begin [ /Subtype /Link /Dest (cite.ratnasamy01scalable) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1224 1875 a -1 w FU(;)1261 1875 y SDict begin H.S end 1261 1875 a FU(15)1345 1875 y SDict begin 13.79993 H.L end 1345 1875 a 1345 1875 a SDict begin [ /Subtype /Link /Dest (cite.rowstron01pastry) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1345 1875 a -1 w FU(;)1382 1875 y SDict begin H.S end 1382 1875 a FU(17)1466 1875 y SDict begin 13.79993 H.L end 1466 1875 a 1466 1875 a SDict begin [ /Subtype /Link /Dest (cite.stoica01chord) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1466 1875 a -1 w FU(;)1504 1875 y SDict begin H.S end 1504 1875 a FU(22)1588 1875 y SDict begin 13.79993 H.L end 1588 1875 a 1588 1875 a SDict begin [ /Subtype /Link /Dest (cite.zhao01tapestry) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1588 1875 a -1 w FU(],)g(collectively)i(known)h(as)e (distributed)g(hash)h(tables.)440 1989 y(They)30 b(dif)o(fer)d(in)j (how)g(the)g(peers)f(\(known)h(as)f(nodes\))g(ar)o(e)f(or)o(ganised)h (in)h(the)g(overlay)440 2104 y(network)k(and)f(how)h(the)f(r)o(outing)h (tables)f(ar)o(e)f(used)g(and)h(maintained.)g(Common)i(to)440 2218 y(all)30 b(of)f(them)i(is)f(that)g(node)g(identi\002ers)g(and)f (data)f(keys)j(ar)o(e)d(mapped)h(into)i(the)e(same)440 2333 y(hash)23 b(space.)e(The)i(data)e(associated)h(with)i(a)e(key)g (is)h(then)g(placed)f(on)h(the)g(nodes)f(whose)440 2447 y(identi\002ers)f(ar)o(e)f(closest)i(to)f(the)h(key)f(in)h(this)g(hash) f(space)g(given)g(some)h(distance)f(metric.)440 2562 y(In)27 b(general,)f FO(r)j FU(nodes)d(ar)o(e)g(selected)f(for)i(some)g (r)o(eplication)f(constant)h FO(r)i FU(which)e(should)440 2677 y(be)c(lar)o(ge)g(enough)h(to)h(r)o(ender)d(data)g(loss)j (unlikely)f(\(with)g FO(r)j FU(r)o(eplicas,)22 b FO(r)e FI(\000)e FU(1)23 b(nodes)h(may)440 2791 y(leave)c(without)i(causing)f (data)e(loss\).)565 2906 y(One)25 b(system,)h(Chor)o(d)f([)1334 2906 y SDict begin H.S end 1334 2906 a FU(17)1418 2906 y SDict begin 13.79993 H.L end 1418 2906 a 1418 2906 a SDict begin [ /Subtype /Link /Dest (cite.stoica01chord) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1418 2906 a -1 w FU(],)f(deploys)i(a)f(ring)g(topology)i(wher)o (e)e(each)g(node)g(knows)440 3020 y(about)e(the)g(next)h FO(r)h FU(nodes)f(in)f(the)h(ring)g(to)f(ensur)o(e)g(that)g(nodes)g (can)g(disappear)f(without)440 3135 y(br)o(eaking)e(the)g(ring.)h(Each) f(node)h(also)f(maintains)h(a)f(table)g(of)h(the)f(node)h(halfway)-9 b(,)19 b(thr)o(ee-)440 3249 y(quarter)24 b(way)-9 b(,)24 b(seven-eighth)g(way)h(and)e(so)i(on)g(thr)o(ough)g(the)g(ring)f(to)h (be)f(able)g(to)h(guar)o(-)440 3364 y(antee)i(logarithmic)i(time)f (complexity)h(for)e(\002nding)i(any)f(node.)g(The)g(distance)f(metric) 440 3479 y(is)d(the)f(forwar)o(d)f(numeric)i(distance)f(thr)o(ough)h (the)g(ring)g(with)g(appr)o(opriate)e(wrapping.)440 3593 y(The)d(Cooperative)e(File)i(System)g(\(CFS\))e([)1754 3593 y SDict begin H.S end 1754 3593 a FU(3)1796 3593 y SDict begin 13.79993 H.L end 1796 3593 a 1796 3593 a SDict begin [ /Subtype /Link /Dest (cite.dabek01widearea) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1796 3593 a -1 w FU(])i(is)f(a)g(distributed)h(decentralised)e (\002le)i(system)440 3708 y(built)i(on)h(top)f(of)f(Chor)o(d.)565 3822 y(The)26 b(distance)h(metric)g(in)g(another)g(system,)h(Kademlia)e ([)2446 3822 y SDict begin H.S end 2446 3822 a FU(9)2488 3822 y SDict begin 13.79993 H.L end 2488 3822 a 2488 3822 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2488 3822 a -1 w FU(],)g(is)i(based)e(on)j FT(X)t(O)t(R)r FU('ing)440 3937 y(the)d(hash)g(values)f(and)h(interpr)o (eting)f(the)h(r)o(esult)f(as)h(an)f(integer)-6 b(.)26 b(The)g(r)o(outing)g(table)f(in)440 4051 y(each)30 b(node)g(is)h(split) g(into)g(a)f(number)h(of)f(buckets)g(of)h(\002xed)f(size)g(wher)o(e)g (each)f(bucket)440 4166 y(in)22 b(turn)g(covers)g(mor)o(e)g(distant)g (and)f(logarithmically)i(lar)o(ger)d(ar)o(eas)g(of)i(the)g(hash)g (space.)440 4281 y(Hence)29 b(a)g(given)h(node)g(knows)h(many)e(nodes)h (in)g(its)g(neighbour)o(hood,)h(but)e(only)i(few)440 4395 y(nodes)d(far)e(away)-9 b(.)27 b(For)h(a)f(\002le)h(system)g(on)g (the)g(Internet)f(with)i(potentially)f(millions)h(of)440 4510 y(nodes,)21 b(this)g(pr)o(operty)f(is)g(important)h(to)g(limit)h (the)e(size)g(of)h(the)f(r)o(outing)h(information)h(in)440 4624 y(each)e(node.)565 4739 y(As)29 b(illustrated)f(in)i(Figur)o(e) 1468 4739 y SDict begin H.S end 1468 4739 a FU(1.4)1572 4681 y SDict begin H.R end 1572 4681 a 1572 4739 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.1.4) cvn H.B /ANN pdfmark end 1572 4739 a FU(,)f(the)g(nodes)h(closest)g(to)f(a)g(data) f(key)h(can)g(be)g(found)440 4853 y(by)c(iteratively)g(asking)h(the)f (known)h(nodes)g(for)f(which)h(nodes)f(they)h(think)g(ar)o(e)e(closest) 440 4968 y(to)g(the)f(data.)f(A)g(user)h(on)h(the)f(originating)i(node) e(001)f(has)h(asked)f(for)h(a)g(piece)g(of)g(data)g FO(d)440 5083 y FU(with)e(the)f(key)g(110.)f(The)h(originating)h(node)f(has)g (thr)o(ee)f(buckets)h(\(denoted)g(with)h(dotted)440 5197 y(lines\))f(and)g(initially)h(knows)h(one)e(node)h(in)g(each)e(bucket,) h(the)g(nodes)h(000,)d(011)h(and)h(101.)440 5312 y(Ther)o(e)g(is)h(one) g(mor)o(e)g(node,)f(111,)f(in)i(the)g(network.)1831 5662 y(10)p eop end %%Page: 11 13 TeXDict begin 11 12 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 691 2462 a @beginspecial 91 @llx 462 @lly 396 @urx 722 @ury 2834 @rwi @setspecial %%BeginDocument: introduction/images/kademlia.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: kademlia.dvi %%BoundingBox: 91 462 396 722 %%DocumentFonts: CMR12 CMR8 CMTI12 CMMI8 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o kademlia.eps kademlia.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2004.01.16:1205 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/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 %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 %%BeginFont: CMMI8 %!PS-AdobeFont-1.1: CMMI8 1.100 %%CreationDate: 1996 Jul 23 07:53:54 % 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 (CMMI8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI8 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 100 /d put readonly def /FontBBox{-24 -250 1110 750}readonly def /UniqueXX 5087383 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930e72218b3075925ce1192f11fc8530fcd5e3 038e3a6a6db2dcfbae3b4653e7e02730314e02b54a1e296d2bef8a79411d9225 dad7b4e6d6f9cf0688b69ba21193bf1495807e7a196cf14c95a4e02f9cd2da8c db2546c6df52e524745992e18d9ff87aa25e4e1800bbe4ebb357c6ef55ed6d03 6d3a00c1ee8073266c21d2f0ac85d656abf61d7e5a4fa87da8ec3b5329e434d0 d2adab706b42a2e5331be5295399d803ccac03f631f01f39a022fcdf63486b68 7d15ef284a77def7fde4898543e7b5f7ec267756103e477f547cfb8d2311c4b0 09deff56085f5d419697af1846c8b88c1bbbae149f0f19ca3c8dafe19cec48fe 6b38357246d8b5cef80b53bab4cbbbe8bc8318cc462a4158258f456e697f6058 86010493f252073ee4e4c9531f23485415ad6bc901bbaea659ef701f825f4b6d 5c9bed0dce7b63810f906b33ea4955531ca1ed1fc120cc56dc1e277a33222cc6 c3a97552607b865783faf0895cbeccd0df54f57bd162a88494768435eda71a39 69718c0c5912d3167bb0971546d733e735aa9bcd89f5aa154656031ab3f6fe41 94ec225ad03ab8b67a9da43ab365c4df17c23e79f685c3b6fd5b654e4a6f2603 6cec3a8641b0b57f93eb95f9e238832aeac2061f3153e0f375513c974f1c38f7 b59edcc94716f2862cf71c9a2be8430985da1cd813b1e1c1b9310564a2eb1aff 52c190f50fc981dccb64bb2c1f7a62c216f211c162c2ed1c554ef49fbaf12b31 aa3b2a80fee259dc0a2a4242869ddec7c29e2941792b28bba7f2c6f77ef69638 12b07d6843f33b51e01c8626b26edc34e1e0fffadede5fb468e8cd5de7e5a64c 366967578f415484d122834de4a647541d66989f7d8b25d1712d8d16729bd9a6 472df1ef13518758e7ab8ce8429d80f39ebd0dd390e85a7531e88923e6189144 1070af0fa5ef2431840b79239138c530d9bdef87f42b1085a18480056b1eb6ce a81ed8e850f0cb5c1b72cf0fd7108d85cfefba591e4ffd044a3185ed3b0f2133 8ac034917f371f57af9a86c61fd9a4dbfc4c1fc2bc9203acab058bac0a3658d8 d1132ca916442d11ad12fb4b07942a1fa1bedc243fec785c9c7698f3ecfc575b 6e1fbfb9b295568c994c77689b4e7f0ed5643a38f03b1dd372070ff7e40cff6a 787e47e4feb540580635d84f50d0df02c0edd177c276e56bcb3a86f02c56fddd f4a5380bd6130b358e758fb2bff7b1addfdd8c334921dd33c360498e934b760c 5f7006309aaec1e96450fcf0444786b02982d820a40e08f32311425ad9a3f770 a542553af59df1640e60d916cc001971d503bec43d804d673478a3ad0e78cac9 0d4c7d8b9e3d9ac9f2eed4f422fe8c3f8b462eab86f2c139afc0973416655263 dfc146e4d0451dd19888ca1cc99422c4ecac11655fe1f8fa9220b8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTI12 %!PS-AdobeFont-1.1: CMTI12 1.0 %%CreationDate: 1991 Aug 18 21:06:53 % 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 (CMTI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMTI12 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 48 /zero put dup 49 /one put readonly def /FontBBox{-36 -251 1103 750}readonly def /UniqueXX 5000829 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacee583a5c939393e012707b47e0c1f a47d284a1edc9d01a497d772bca8c543388e6dc0d1e2c4944740470e0914f65e fb0737b0851b2ba713a9a00b36d07da6bcb52920b9b59efe587734027a3c5e65 66aad332fe6fbcced1417802822a3b81d6187875263d6bbda04bbcf6e4870fee ad60f104bb3c5a766610dd11aea64a6b107b0b04439fa2888b8cc39232bb83f7 695aba81f0260cd5248b9e649cd803271dc8bb1656323089e9e2bb50f2b95088 87d31dc36e555668d9578b338402f8c259f6813b0b71e6cbd95e19c20ced8495 2559e47577e612a4d94de3c1b4c6c41a6a3fa9e2313457242de74c7e4c0d722b 3e224d18baa726369542682e9459b951b2ac638494880c42be4e2175a3c067e5 945bfc1a05d3de8c3e8ab97f80ab6000e1f78fc258b85d3c84b038d7d0f5be85 0d43fe03e26cdfbb41c36d14cb552e8447ca678efea1d275e85503123a2263b1 4077587683de69a8f5a88d666172668411d0d0fed3e037ee468627207505dbb3 59cfdc5d7f526fca5416d741073284f5dd2471e09f5916f4bff1a90eea4d1283 7731f6a36e5ea695f4efc3bf5669b7f60ab606df5819149c0c8a4817f06dc172 0543467645daeffe4457293e0c0407c4ec7857558d0452de2ac773f141783edf 81b30215ae8d2d062aeb3cb69eb0d62bf04780997c9c027a22896f456b784378 7f2ccdd4804375321e7946d3d254521249a4d28a360f4d3163912a688c16e807 15d0440bd27bb78fcbc89bc28028aab2f594f8b641e45b9c599180b69663eef0 03465a2425aa4f8b29dade493002fb335b23eb145108ef3ab828755d3753ea8d f0683265497b1cb5cb484c13f7a4e003fa6ab3ed5e24fcc6125cee4e33936122 3cc907af3c64e5aaad882c356e673e6ca2509a71920e99549d8797e9aea189f7 fe18bbf718017cd2e32b4652acf12f16e785462980f5895afc917ea83e9c3eab 6297f1de23785f79172538b39984ab261f14ee296a42cca3159e63fb30583af1 911646257a99b4162635fb79e25404242cccc3bf224d4c279e731333107ab2cb 2598dc582dd185669c1fad35d2be0428389a4b175db159508c08a77e842fd400 bc76b4e095564a1a7247871394026a2cbfc0e6490d8196cfaed4441ca19e70a1 ac6463b8c39cc894daa6b3a0d09e9c1c543c089fb95d8996ff631434625c7f25 7f3b4ea673f80deff53a9dc5186132eb0ba3e81b342799dc9958c24c4d36b64a 72cf1b35e8170945387f08f196dc5f115cb84350fbfa1b9d5888298b78058871 3ac56fffa3af553911178bb7cbc825223aeb61de5cd4b4e718667d07cadd13f1 d5cb154fe5d403a184458bc1e1aa00af58924e133314fd364e413e34b860fab0 cd379b8cf11cb51003e04fdafda65d49351dfcc4840ddb1876db9871e58a2819 feb6037c17eeb2dafd083a60ecacfa3dd554384ac13f0aa4d64375a18b8e49ad bf0e3285d4303a59c6a5f91dee3cab45fd491f5496e3962e8871131d955acd59 ce81b96322abfe8ca7220d69125c2af06849a3e0699f4cbcac469eef986faa31 99a998b4d0eb27f7a61b0c8088948264eaa02513b876249160e9636c7da10c99 67b1123530bcef9e1dda2dc1e7e67b55afa36cbd5c0d76b5021aaad69f880a98 00cfd0c28f3ff99228b936f2c4db2f54c7d152535ce489a8d53bcdc594abe32c 2c38696d8538e7bbee 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR8 %!PS-AdobeFont-1.1: CMR8 1.0 %%CreationDate: 1991 Aug 20 16:39:40 % 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 (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR8 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 48 /zero put dup 49 /one put readonly def /FontBBox{-36 -250 1070 750}readonly def /UniqueXX 5000791 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf 5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b edad3b72ad63c2918b6e5a2017457e0d4ebc204b094541f345ec367ae85ca9bd 24568a01d3b9f8095f7420e6c423c414b3dcce6da48dd1c89a56d078e0d0e2f2 62a13640a06d17e44ee3866c3471fb58fedf5a3b77294517651c16bdd7267d39 a54e7171752dbde63ac19bb4b3021ce95eb5fe67390b09ae4d9ed4d704a67443 f55dce17acd996c1f5e023c9e5a18cbeecc3097f23763acb86cdd7cd13381ae7 4e48495ec7fa520539d87f8a8dcb3c826275469b6800876a457e7d1e5be867c7 b1ccad69742a8c9b0ad943482bf2a4ad0aed40baeb69a0233bad36b4ca2d2da7 322956c70375d152653500b2f22d2ab6990cadde2da14b4917f7515e64bc3d96 bf775258fc7dae4e42a4c9b6da8eddec4a800c8aadc8d75e48cae52137e05c03 677f5d6a82fa46d9f2fc7f56d62e5c605a1b7898b8d1401c2cac1a0122a2c8a7 aae09607f2c5f29293a09b9959399283be89051452898238b777db9830ff4318 a298b221c4a820c700ca964fc99e6b1d9eb0bafc39be9aa9dffa2fa326b2a466 1e67261bb3dbc85844e76f9313ab533ee16bcb478166de5502b68e6ec1ea6110 f53206cf1cfea419571b0243244b32ea38b828a01e62b03bcf476a32c2341cec b8a0fa2a3f3f339315d5f3aa7704408f6617d026ffee4925aa48537a4b2e556d 225be09392546ad561cd46cf766f0ba14c6854c5af1a528c3842b0c5aeefefcf 19f19cbce5d967153c4f88e51c776cfbe10d39328466f7a3b83d85601ef4d1ce 0cc136610fa6a74d9676e4e99291d565cad27b9eb2337b0eba4148efd0eb2866 ebf0a4209ba135ad1376cf9cc2d4110f36121055caa3f2e7fca0cab342a7d99c c6f6ca9d0ae4f64c218e4a53700cd782804da3d5f9f6c5b8d2cac828e67f1fa0 59704b5b32cda160d999f014cb1397b8cb0dc9c4002a184ca216ef8d25b12cee 8284d49fd1b05502f364b46211e323afc5073a0e59be30243c15ee74062bd8e5 5ca7a883ae35f740a136dc322ff93759f96701c31c42a4e0f93831b57b6bc3e4 65a3f9bbf86446887b768f966d12c01b927b2eb1aee5ff419d51ba168cd22d9e 8e727e320de2939595039ef5eadc12124b5cf54c2ed128aeb28d46cb34ef0d08 e036589862e96706324793f7c786fb09f22975a11d157c82d8e420eb19b6663b 1a732bc9a234ea74e5ea138468f8f32eb99639c27707d42311de7b0d61cc8283 19349e76b5cf59a89c61ebc8fc4d3229f7cef66f2000acb3e8861f6c3614dc8b f1eaf2e0f23860f9a897257d9ba441a7d6560039e4cdb3f964fcec94ee8346ec 270787c3e636c2c218f0d2c6bb2941387a38fdc3096a2fafd2a2169597b5ce31 e61bbfaa97517ef7f4ee8b3cb0ef935ace51dfdd42d920cd8892a686c8d882bf 0b11118ca36a0bac40e184fb3df93abc40b3a03c01fc3795c0d28cceebd3e41e b876b6e8c7 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR12 %!PS-AdobeFont-1.1: CMR12 1.0 %%CreationDate: 1991 Aug 20 16:38:05 % 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 (CMR12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR12 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 48 /zero put dup 49 /one put dup 63 /question put readonly def /FontBBox{-34 -251 988 750}readonly def /UniqueXX 5000794 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf 5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b edad3b72ad63c2918b6e5a2017457e0d4ebc204a520640fd7c4d05e35ea5486f a43d0e970787203855daccb1ed0b16325828b13b7c767a1a58c87902f0546ea5 404440fa6526975783c2d7a9572b8e5d5176bac598b8960609f49016aebf3763 89c1adfe6a1ffc0c53b3acd9d168ec3a278fd4f1d9b085dc2df701346c9d0887 3d230a161692b42a45bb5da343b4edd839dd60685a59aaa49fc65cd8e2ad2a9c 5cab953495172a1a9f40d5f38e922443a519dd96f667201a408bd1d89e35f4ab 98e2f68c3366efc14b5afe1018d9c845d808d4f8e07ea8168518a171ab4d6e21 70eeac099eb7ef46eb9781384da1fac3b3133bb718bc80082eaea88759745188 f266b31d0c7e791d633f16ed94e05517a32163e74cbd96dc5db066f2a5313d6d 7f09465608cb404613e0f058073af000e5bdfafbbf9da0c0d5c02a3447f2cdc1 f56481901e34265c26d331ac3f85bdcbc7c51ef9eddf2b9c189c5253f8e74282 d6f053d7d183ae17ea175e5ebc401e67d21a9fea139cbbf3bb1358c713a75843 b39a69aa2b1a7b975f53ff22d1dc3bdf7acd17afa1da21568310c68241b31d3d 03bf404bd30baf9cc19c75b958bce7155f03cb0cfe2cae0327aad4b603284a51 7c26de75b8c6f6aaa9debe4aec08ca4b646d787a9dfac85b2c01760e9c6c6162 fbbc67dbd0796831e00c477d8e23c375ffab46d289be9d2328aec2b7534ae4cd d782ec2453e7787f6e6b4537b46c01545cba6f90b8e9a1bccac1937bceeaa5e7 8e9f368ce067a0a31da98bfbb545be555a7270f0031fadd4f9b186629e5d2c5f d264f8f24cd5a1c0f68399ff4b29fd77c4a54d8296523415b9a933b32bc9bc65 2c1768de06548ffc210838a35ad52d1507bba4dd2120832fbab0736ae961eeb0 b4b5abaaffaf3242a7fcb5e6a7229a5220b2a4aaadb3c1155be39bfa4d630b79 bdfef0705622ca7caaf8771096694c5f4540c77b88f634c97624515b57a692af b4c42cc4f8f6a3e84f97d988edb23b08d7b943c5808e88f7b6c672d6cd7068a8 28b5542e85a50c9fd2bbc80a8051333c5df45fac0dccd243f39e7a67127b784b cfd34212144097194c43e1c741920d141c6d7d5a6dbecb404a255efca60460a2 0360ed6daf94338822c280a9b02b11bf55d0118569a9bba8aa719b3429744cb7 48534c2f40fa736c81bcc443188a77275e73145922a65ca6a15e3de7385a9edf 01763e70c422d85b6d938b78dac9d8d52b44ebf543655eba9765d676d9de1f78 1d4961f88e1d883c4624777ae4a7badd4513c19e0b19dfe4fca99d3afb54e425 1e894b627b249252621c2e30888a8c09949731f141975cda85ab0415aaa2a60d 8a5144e089746a8d630e2581cd956c342c23ca71cd45ae3644de7a6ba39b04ff d8a202ffad2f9ef9889a1daa0833d756f154376dd6fe87915986334eacb37d9d f1531442a7e4cbb2f85c9f870ee37242366fd38ca11115591f5f12a104f36ca6 c5d3a74d43e4457e554cdbc3b5f5a421294d27870cb224373cbcc8b486724564 5477cf92fec8710ca06a781b9f0e3ea0ff72544367967ff681bff2fd8d81e232 cb901e96a491b683a540ce674c6f895dfd8e00d68e06a758f020ad3dae54a107 53f072947b0e7555201c94937a780e9d0110d447126b51e8b3e90ab7b498062f 5e127fc7977ae67af8859a460b259c7e0581efed5464f30bed41c2 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258437 52099154 1000 8000 8000 (kademlia.dvi) @start /Fa 155[484 100[{}1 885.568 /CMMI8 rf /Fb 206[664 664 48[{}2 1328.35 /CMTI12 rf /Fc 206[470 470 48[{}2 885.568 /CMR8 rf /Fd 192[614 13[650 650 48[{}3 1328.35 /CMR12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 28607 a @beginspecial 0 @llx 0 @lly 303 @urx 258 @ury 3030 @rwi @setspecial %%BeginDocument: kademlia.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: kademlia.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Fri Jan 16 12:05:21 2004 %%For: arj@homer.cs.auc.dk (Anders Rune Jensen) %%BoundingBox: 0 0 303 258 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 258 moveto 0 0 lineto 303 0 lineto 303 258 lineto closepath clip newpath -122.1 352.9 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw gs clippath 2470 5066 m 2451 5123 l 2593 5172 l 2490 5105 l 2613 5115 l cp eoclip n 4200.0 300.0 5100.6 70.2 109.8 arc gs col0 s gr gr % arrowhead n 2613 5115 m 2490 5105 l 2593 5172 l 2613 5115 l cp gs 0.00 setgray ef gr col0 s % Arc gs clippath 6028 5192 m 5997 5141 l 5867 5219 l 5986 5183 l 5899 5271 l cp eoclip n 4200.0 2357.1 3343.7 122.6 57.4 arcn gs col0 s gr gr % arrowhead n 5899 5271 m 5986 5183 l 5867 5219 l 5899 5271 l cp gs 0.00 setgray ef gr col0 s % Arc gs clippath 3596 2891 m 3575 2947 l 3716 3001 l 3615 2931 l 3737 2945 l cp eoclip n 4762.5 62.5 3089.5 67.9 112.1 arc gs col0 s gr gr % arrowhead n 3737 2945 m 3615 2931 l 3716 3001 l 3737 2945 l cp gs 0.00 setgray ef gr col0 s % Arc gs clippath 6030 3013 m 5992 2967 l 5876 3063 l 5988 3010 l 5914 3109 l cp eoclip n 4762.5 1600.0 1868.5 131.5 48.5 arcn gs col0 s gr gr % arrowhead n 5914 3109 m 5988 3010 l 5876 3063 l 5914 3109 l cp gs 0.00 setgray ef gr col0 s % Polyline n 4650 3825 m 5850 4125 l gs col0 s gr % Polyline n 3300 4125 m 3750 4425 l gs col0 s gr % Polyline n 3750 4425 m 4200 4875 l gs col0 s gr % Polyline n 3825 4500 m 3450 4875 l gs col0 s gr % Polyline n 3300 4125 m 2700 4500 l gs col0 s gr % Polyline n 2700 4500 m 3075 4875 l gs col0 s gr % Polyline n 2700 4500 m 2325 4875 l gs col0 s gr % Polyline n 5850 4125 m 5250 4500 l 4875 4875 l gs col0 s gr % Polyline n 5250 4500 m 5625 4875 l gs col0 s gr % Polyline n 5850 4125 m 6450 4500 l gs col0 s gr % Polyline n 6450 4500 m 6075 4875 l gs col0 s gr % Polyline n 6450 4500 m 6825 4875 l gs col0 s gr % Polyline n 4650 3825 m 3300 4125 l gs col0 s gr % Polyline n 4650 1650 m 3300 1950 l gs col0 s gr % Polyline n 4650 1650 m 5850 1950 l gs col0 s gr % Polyline n 3300 1950 m 3750 2250 l gs col0 s gr % Polyline n 3750 2250 m 4200 2700 l gs col0 s gr % Polyline n 3825 2325 m 3450 2700 l gs col0 s gr % Polyline n 3300 1950 m 2700 2325 l gs col0 s gr % Polyline n 2700 2325 m 3075 2700 l gs col0 s gr % Polyline n 2700 2325 m 2325 2700 l gs col0 s gr % Polyline n 5850 1950 m 5250 2325 l 4875 2700 l gs col0 s gr % Polyline n 5250 2325 m 5625 2700 l gs col0 s gr % Polyline n 5850 1950 m 6450 2325 l gs col0 s gr % Polyline n 6450 2325 m 6075 2700 l gs col0 s gr % Polyline n 6450 2325 m 6825 2700 l gs col0 s gr % Polyline 15.000 slw n 2942 5125 m 3202 5125 l gs col0 s gr % Polyline n 2942 2945 m 3202 2945 l gs col0 s gr % Polyline 2 slj 7.500 slw [15 45] 45 sd n 3225 3975 m 3169 3981 l 3113 3992 l 3059 4007 l 3006 4025 l 2954 4046 l 2904 4069 l 2857 4094 l 2811 4121 l 2767 4148 l 2725 4176 l 2685 4205 l 2646 4234 l 2609 4263 l 2574 4292 l 2539 4321 l 2506 4351 l 2473 4380 l 2442 4410 l 2411 4439 l 2381 4469 l 2352 4499 l 2323 4529 l 2295 4559 l 2267 4589 l 2240 4620 l 2214 4652 l 2189 4683 l 2164 4716 l 2141 4748 l 2120 4782 l 2100 4815 l 2083 4849 l 2068 4883 l 2057 4917 l 2050 4950 l 2047 4983 l 2050 5015 l 2060 5046 l 2076 5074 l 2100 5100 l 2128 5120 l 2161 5138 l 2198 5153 l 2240 5166 l 2285 5178 l 2333 5187 l 2382 5195 l 2434 5202 l 2486 5207 l 2539 5211 l 2593 5214 l 2646 5216 l 2700 5217 l 2754 5217 l 2807 5217 l 2860 5216 l 2913 5215 l 2966 5213 l 3018 5211 l 3070 5209 l 3122 5206 l 3173 5203 l 3225 5200 l 3277 5196 l 3328 5193 l 3380 5188 l 3432 5184 l 3484 5179 l 3537 5173 l 3590 5168 l 3643 5161 l 3696 5154 l 3750 5147 l 3804 5139 l 3857 5129 l 3911 5119 l 3964 5108 l 4016 5096 l 4068 5083 l 4117 5068 l 4165 5053 l 4210 5035 l 4252 5016 l 4289 4996 l 4322 4974 l 4350 4950 l 4373 4922 l 4389 4893 l 4399 4863 l 4402 4833 l 4401 4801 l 4396 4770 l 4386 4739 l 4373 4709 l 4358 4679 l 4340 4649 l 4320 4620 l 4299 4591 l 4277 4563 l 4253 4536 l 4229 4509 l 4203 4482 l 4178 4456 l 4151 4431 l 4124 4406 l 4097 4381 l 4069 4356 l 4040 4332 l 4011 4308 l 3981 4284 l 3950 4260 l 3919 4236 l 3886 4212 l 3853 4189 l 3818 4166 l 3782 4143 l 3744 4120 l 3705 4099 l 3664 4077 l 3622 4057 l 3578 4039 l 3532 4022 l 3484 4006 l 3434 3994 l 3384 3984 l 3331 3977 l 3278 3974 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4800 4500 m 4774 4526 l 4751 4554 l 4731 4582 l 4713 4611 l 4698 4639 l 4684 4666 l 4673 4692 l 4663 4717 l 4654 4740 l 4646 4763 l 4639 4784 l 4633 4804 l 4628 4824 l 4623 4844 l 4619 4863 l 4615 4881 l 4612 4900 l 4609 4920 l 4608 4939 l 4607 4960 l 4608 4980 l 4610 5002 l 4614 5024 l 4620 5047 l 4629 5071 l 4640 5094 l 4655 5117 l 4674 5138 l 4697 5158 l 4725 5175 l 4757 5188 l 4792 5198 l 4829 5204 l 4867 5207 l 4905 5209 l 4941 5208 l 4977 5206 l 5011 5203 l 5044 5199 l 5076 5194 l 5106 5188 l 5135 5182 l 5164 5176 l 5191 5170 l 5219 5162 l 5246 5155 l 5274 5147 l 5302 5139 l 5331 5130 l 5361 5120 l 5392 5109 l 5425 5098 l 5458 5085 l 5493 5070 l 5529 5055 l 5565 5037 l 5602 5018 l 5637 4997 l 5670 4974 l 5700 4950 l 5725 4924 l 5745 4899 l 5761 4873 l 5773 4848 l 5782 4825 l 5788 4803 l 5791 4782 l 5792 4763 l 5792 4746 l 5790 4729 l 5788 4715 l 5784 4701 l 5780 4687 l 5774 4675 l 5769 4662 l 5762 4650 l 5756 4638 l 5748 4625 l 5740 4612 l 5731 4598 l 5721 4584 l 5710 4568 l 5697 4552 l 5683 4534 l 5667 4516 l 5648 4497 l 5628 4478 l 5605 4459 l 5579 4441 l 5550 4425 l 5517 4410 l 5482 4399 l 5447 4389 l 5413 4382 l 5380 4376 l 5349 4372 l 5321 4369 l 5294 4366 l 5270 4364 l 5247 4363 l 5226 4363 l 5207 4362 l 5187 4362 l 5169 4363 l 5150 4363 l 5131 4365 l 5111 4367 l 5091 4370 l 5068 4374 l 5044 4379 l 5018 4386 l 4991 4394 l 4961 4405 l 4930 4418 l 4897 4434 l 4864 4453 l 4831 4475 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6600 5175 m 6613 5190 l 6630 5201 l 6649 5208 l 6671 5213 l 6693 5216 l 6715 5217 l 6738 5216 l 6760 5215 l 6782 5212 l 6803 5210 l 6825 5206 l 6847 5202 l 6868 5198 l 6890 5193 l 6912 5187 l 6935 5180 l 6957 5172 l 6979 5162 l 7001 5150 l 7020 5136 l 7037 5119 l 7050 5100 l 7058 5079 l 7060 5056 l 7060 5032 l 7056 5009 l 7050 4987 l 7042 4965 l 7034 4945 l 7024 4925 l 7015 4906 l 7004 4887 l 6994 4869 l 6983 4851 l 6971 4833 l 6959 4816 l 6946 4799 l 6932 4782 l 6917 4766 l 6901 4752 l 6884 4739 l 6865 4730 l 6845 4725 l 6825 4725 l 6806 4731 l 6788 4741 l 6771 4755 l 6754 4771 l 6739 4789 l 6725 4808 l 6712 4827 l 6699 4846 l 6688 4866 l 6677 4886 l 6666 4905 l 6656 4925 l 6647 4945 l 6637 4965 l 6628 4986 l 6619 5006 l 6611 5028 l 6604 5050 l 6598 5072 l 6593 5094 l 6590 5117 l 6590 5138 l 6593 5158 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4800 2325 m 4774 2351 l 4751 2379 l 4731 2407 l 4713 2436 l 4698 2464 l 4684 2491 l 4673 2517 l 4663 2542 l 4654 2565 l 4646 2588 l 4639 2609 l 4633 2629 l 4628 2649 l 4623 2669 l 4619 2688 l 4615 2706 l 4612 2725 l 4609 2745 l 4608 2764 l 4607 2785 l 4608 2805 l 4610 2827 l 4614 2849 l 4620 2872 l 4629 2896 l 4640 2919 l 4655 2942 l 4674 2963 l 4697 2983 l 4725 3000 l 4757 3013 l 4792 3023 l 4829 3029 l 4867 3032 l 4905 3034 l 4941 3033 l 4977 3031 l 5011 3028 l 5044 3024 l 5076 3019 l 5106 3013 l 5135 3007 l 5164 3001 l 5191 2995 l 5219 2987 l 5246 2980 l 5274 2972 l 5302 2964 l 5331 2955 l 5361 2945 l 5392 2934 l 5425 2923 l 5458 2910 l 5493 2895 l 5529 2880 l 5565 2862 l 5602 2843 l 5637 2822 l 5670 2799 l 5700 2775 l 5725 2749 l 5745 2724 l 5761 2698 l 5773 2673 l 5782 2650 l 5788 2628 l 5791 2607 l 5792 2588 l 5792 2571 l 5790 2554 l 5788 2540 l 5784 2526 l 5780 2512 l 5774 2500 l 5769 2487 l 5762 2475 l 5756 2463 l 5748 2450 l 5740 2437 l 5731 2423 l 5721 2409 l 5710 2393 l 5697 2377 l 5683 2359 l 5667 2341 l 5648 2322 l 5628 2303 l 5605 2284 l 5579 2266 l 5550 2250 l 5517 2235 l 5482 2224 l 5447 2214 l 5413 2207 l 5380 2201 l 5349 2197 l 5321 2194 l 5294 2191 l 5270 2189 l 5247 2188 l 5226 2188 l 5207 2187 l 5187 2187 l 5169 2188 l 5150 2188 l 5131 2190 l 5111 2192 l 5091 2195 l 5068 2199 l 5044 2204 l 5018 2211 l 4991 2219 l 4961 2230 l 4930 2243 l 4897 2259 l 4864 2278 l 4831 2300 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3225 1725 m 3172 1731 l 3119 1742 l 3066 1756 l 3016 1774 l 2966 1794 l 2918 1817 l 2872 1842 l 2828 1868 l 2786 1895 l 2745 1924 l 2706 1952 l 2668 1982 l 2632 2011 l 2597 2041 l 2564 2070 l 2531 2100 l 2500 2130 l 2469 2160 l 2439 2190 l 2410 2220 l 2381 2250 l 2353 2280 l 2326 2311 l 2299 2341 l 2272 2372 l 2247 2404 l 2221 2436 l 2197 2468 l 2173 2500 l 2151 2533 l 2130 2567 l 2110 2601 l 2092 2635 l 2077 2670 l 2064 2704 l 2054 2739 l 2049 2773 l 2048 2806 l 2051 2839 l 2061 2870 l 2077 2899 l 2100 2925 l 2128 2947 l 2161 2966 l 2198 2982 l 2240 2997 l 2285 3009 l 2333 3020 l 2382 3029 l 2434 3036 l 2486 3041 l 2539 3046 l 2593 3049 l 2646 3052 l 2700 3053 l 2754 3054 l 2807 3054 l 2860 3053 l 2913 3052 l 2966 3051 l 3018 3049 l 3070 3046 l 3122 3044 l 3173 3041 l 3225 3037 l 3277 3034 l 3328 3030 l 3380 3026 l 3432 3021 l 3484 3016 l 3537 3011 l 3590 3005 l 3643 2998 l 3696 2991 l 3750 2983 l 3804 2974 l 3857 2965 l 3911 2954 l 3964 2943 l 4016 2930 l 4068 2916 l 4117 2901 l 4165 2884 l 4210 2866 l 4252 2845 l 4289 2824 l 4322 2800 l 4350 2775 l 4373 2745 l 4389 2714 l 4399 2682 l 4402 2649 l 4401 2616 l 4396 2583 l 4386 2550 l 4373 2517 l 4358 2484 l 4340 2452 l 4320 2421 l 4299 2390 l 4277 2360 l 4253 2331 l 4229 2302 l 4203 2273 l 4178 2245 l 4151 2218 l 4124 2191 l 4097 2164 l 4069 2137 l 4040 2111 l 4011 2085 l 3981 2059 l 3950 2033 l 3919 2008 l 3886 1982 l 3853 1957 l 3818 1932 l 3782 1907 l 3744 1883 l 3705 1860 l 3664 1837 l 3622 1815 l 3578 1795 l 3532 1776 l 3484 1760 l 3434 1746 l 3384 1735 l 3331 1727 l 3278 1724 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6600 3000 m 6613 3015 l 6630 3026 l 6649 3033 l 6671 3038 l 6693 3041 l 6715 3042 l 6738 3041 l 6760 3040 l 6782 3037 l 6803 3035 l 6825 3031 l 6847 3027 l 6868 3023 l 6890 3018 l 6912 3012 l 6935 3005 l 6957 2997 l 6979 2987 l 7001 2975 l 7020 2961 l 7037 2944 l 7050 2925 l 7058 2904 l 7060 2881 l 7060 2857 l 7056 2834 l 7050 2812 l 7042 2790 l 7034 2770 l 7024 2750 l 7015 2731 l 7004 2712 l 6994 2694 l 6983 2676 l 6971 2658 l 6959 2641 l 6946 2624 l 6932 2607 l 6917 2591 l 6901 2577 l 6884 2564 l 6865 2555 l 6845 2550 l 6825 2550 l 6806 2556 l 6788 2566 l 6771 2580 l 6754 2596 l 6739 2614 l 6725 2633 l 6712 2652 l 6699 2671 l 6688 2691 l 6677 2711 l 6666 2730 l 6656 2750 l 6647 2770 l 6637 2790 l 6628 2811 l 6619 2831 l 6611 2853 l 6604 2875 l 6598 2897 l 6593 2919 l 6590 2942 l 6590 2963 l 6593 2983 l cp gs col0 s gr [] 0 sd $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 7822 20400 a Fd(0)p Black 0 0 0 TeXcolorrgb 28172 23401 a(001)p Black 0 0 0 TeXcolorrgb 11822 20400 a(1)p Black 0 0 0 TeXcolorrgb -8150 w(1)p Black 0 0 0 TeXcolorrgb 7822 17900 a(1)p Black 0 0 0 TeXcolorrgb 15822 20400 a(0)p Black 0 0 0 TeXcolorrgb 12822 17900 a(0)p Black 0 0 0 TeXcolorrgb 14822 15400 a(1)p Black 0 0 0 TeXcolorrgb 7851 w(0)p Black 0 0 0 TeXcolorrgb 21323 20400 a(1)p Black 0 0 0 TeXcolorrgb 3350 w(0)p Black 0 0 0 TeXcolorrgb 7350 w(0)p Black 0 0 0 TeXcolorrgb -4650 w(1)p Black 0 0 0 TeXcolorrgb 29823 17900 a(0)p Black 0 0 0 TeXcolorrgb -5650 w(1)p Black 0 0 0 TeXcolorrgb 20172 23401 a(011)p Black 0 0 0 TeXcolorrgb -11450 w(101)p Black -9450 w(111)p 0 0 0 TeXcolorrgb 28051 w(000)p Black 16442 26401 a Fc(110)p 0 0 0 TeXcolorrgb 8151 23401 a Fb(110)p Black 0 0 0 TeXcolorrgb 7822 5900 a Fd(0)p Black 0 0 0 TeXcolorrgb 28172 8900 a(001)p Black 0 0 0 TeXcolorrgb 11822 5900 a(1)p Black 0 0 0 TeXcolorrgb -8150 w(1)p Black 0 0 0 TeXcolorrgb 7822 3400 a(1)p Black 0 0 0 TeXcolorrgb 15822 5900 a(0)p Black 0 0 0 TeXcolorrgb 12822 3400 a(0)p Black 0 0 0 TeXcolorrgb 14822 900 a(1)p Black 0 0 0 TeXcolorrgb 7851 w(0)p Black 0 0 0 TeXcolorrgb 21323 5900 a(1)p Black 0 0 0 TeXcolorrgb 3350 w(0)p Black 0 0 0 TeXcolorrgb 7350 w(0)p Black 0 0 0 TeXcolorrgb -4650 w(1)p Black 0 0 0 TeXcolorrgb 29823 3400 a(0)p Black 0 0 0 TeXcolorrgb -5650 w(1)p Black 0 0 0 TeXcolorrgb 20172 8900 a(011)p Black 0 0 0 TeXcolorrgb -11450 w(101)p Black 0 0 0 TeXcolorrgb 20551 w(000)p Black 19942 11400 a Fc(110)16906 28401 y Fa(d)p 0 0 0 TeXcolorrgb 3840 8900 a Fd(?)p Black 19942 13400 a Fc(111)p 0 0 0 TeXcolorrgb 8151 8900 a Fb(110)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 2650 a FK(Figur)o(e)22 b(1.4:)872 2545 y SDict begin H.S end 872 2545 a 872 2545 a SDict begin H.R end 872 2545 a 872 2545 a SDict begin [ /View [/XYZ H.V] /Dest (figure.1.4) cvn H.B /DEST pdfmark end 872 2545 a 105 x FK(Example)h(of)g(Kademlia)g(data)g(r)o(etrieval)g(with)g (3-bit)f(keys)i(and)f(buckets)g(of)f(size)h(1)h(fr)o(om)511 2755 y(the)19 b(view)g(point)f(of)h(the)g(node)g(001.)565 3024 y FU(At)h(the)h(\002rst)g(step,)f(the)h(node)g(101)e(is)j(found)e (to)i(be)e(the)h(closest)g(node)g(to)g(110)f(since)1502 3220 y(101)c FI(\010)h FU(110)22 b FE(=)i FU(011)f FE(=)g FU(3)1502 3359 y(011)16 b FI(\010)h FU(110)22 b FE(=)i FU(101)f FE(=)g FU(5)1502 3499 y(000)16 b FI(\010)h FU(110)22 b FE(=)i FU(110)f FE(=)g FU(6)440 3694 y(Node)28 b(101)f(is)h(then)h (asked)f(for)f(what)i(it)f(believes)g(to)h(be)e(the)i(closest)g(nodes)f (to)h(110.)d(It)440 3809 y(only)21 b(knows)h(of)e(the)g(node)h(111)d (so)j(it)f(r)o(esponds)g(with)h(111.)e(The)h(originating)h(node)g(then) 440 3924 y(asks)f(node)f(111)g(for)g(what)h(it)f(believes)h(to)g(be)f (the)h(closest)g(nodes)g(to)g(110,)e(but)h(since)h(node)440 4038 y(111)f(is)i(storing)i FO(d)f FU(itself)e(as)h(ther)o(e)f(is)h(no) g(node)g(at)f(110,)g(it)h(simply)g(r)o(esponds)g(with)h FO(d)q FU(.)565 4153 y(In)29 b(Kademlia,)g(the)h(r)o(outing)g(tables)f (ar)o(e)g(mostly)h(maintained)g(by)g(learning)f(about)440 4267 y(other)g(nodes)f(fr)o(om)g(the)h(messages)f(that)h(a)f(node)g(r)o (eceives)f(\226)h(in)h(the)f(above)g(example,)440 4382 y(the)20 b(originating)g(node)g(could)g(have)f(inserted)g(node)h(111)e (in)i(its)g(bucket)f(of)h(most)g(distant)440 4496 y(nodes)33 b(if)g(the)g(bucket)g(was)g(not)h(alr)o(eady)d(full.)i(T)-8 b(o)33 b(handle)g(new)h(nodes)f(joining)i(and)440 4611 y(nodes)21 b(being)g(inactive,)f(extra)g(random)h(lookups)h(ar)o(e)d (simulated)i(fr)o(om)f(time)h(to)g(time.)565 4726 y(Both)j(Chor)o(d)g (and)g(Kademlia)g(ar)o(e)f(attractive)g(because)h(they)h(ar)o(e)e(\(at) g(least)i(concep-)440 4840 y(tually\))i(quite)g(simple.)g(The)g(main)g (advantages)e(of)i(using)j FT(X)t(O)t(R)g FU(instead)c(of)h(a)f(ring)i (ar)o(e)440 4955 y(that)d(it)h(is)g(simpler)g(to)g(guarantee)e(the)i (logarithmic)g(lookup,)g(that)i FT(X)t(O)t(R)h FU(make)c(it)h(mor)o(e) 440 5069 y(feasible)i(to)i(use)f(all)g(messages)g(for)g(ensuring)g(the) h(connectivity)g(of)f(the)g(overlay)f(net-)440 5184 y(work)c(\(this)g (will)g(be)g(explained)e(in)i(Section)1887 5184 y SDict begin H.S end 1887 5184 a FU(2.2)1991 5126 y SDict begin H.R end 1991 5126 a 1991 5184 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.2) cvn H.B /ANN pdfmark end 1991 5184 a FU(\),)f(and)g(that)g(ther)o(e)g(is)h(mor)o(e)f(fr)o(eedom)g(in) 440 5298 y(maintaining)j(the)f(r)o(outing)h(information)g(since)f (Kademlia)g(can)g(choose)h(to)f(r)o(emember)440 5413 y(any)c(node)g(in)h(a)e(bucket)h(instead)g(of)g(having)h(to)f(\002nd)g (the)h(node)f(halfway)-9 b(,)20 b(thr)o(ee-quarter)1831 5662 y(11)p eop end %%Page: 12 14 TeXDict begin 12 13 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark end 440 241 a 1427 211 a FN(Chapter)20 b(1.)46 b(Intr)o(oduction)p 440 244 2865 4 v 440 531 a FU(way)-9 b(,)20 b(etc.)g(thr)o(ough)i(a)e(ring.)565 646 y(Thus)31 b(the)g(design)h(of)f(our)g(system)h(is)g(based)e(on)i (the)f(ar)o(chitectur)o(e)e(of)i(Kademlia.)440 760 y(Other)j (distributed)g(hash)g(table)g(systems)h(that)f(will)h(not)f(be)g (further)g(consider)o(ed)f(in)440 875 y(this)f(pr)o(oject)f(include)g (Content-Addr)o(essable)e(Network)j(\(CAN\))e([)2672 875 y SDict begin H.S end 2672 875 a FU(11)2756 875 y SDict begin 13.79993 H.L end 2756 875 a 2756 875 a SDict begin [ /Subtype /Link /Dest (cite.ratnasamy01scalable) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2756 875 a -2 w FU(])h(which)h(uses)g(a)441 990 y FO(d)q FU(-dimensional)23 b(coor)o(dinate)f(space,)g(Pastry)h([)1933 990 y SDict begin H.S end 1933 990 a FU(15)2017 990 y SDict begin 13.79993 H.L end 2017 990 a 2017 990 a SDict begin [ /Subtype /Link /Dest (cite.rowstron01pastry) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2017 990 a -1 w FU(])f(which)i(uses)f(a)g(technique)g(known)i(as)440 1104 y(pr)o(e\002x)j(r)o(outing,)g(and)g(T)-8 b(apestry)29 b([)1546 1104 y SDict begin H.S end 1546 1104 a FU(22)1630 1104 y SDict begin 13.79993 H.L end 1630 1104 a 1630 1104 a SDict begin [ /Subtype /Link /Dest (cite.zhao01tapestry) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1630 1104 a -2 w FU(])f(which)i(uses)f(a)f(topology)i (called)e(Plaxton)g(tr)o(ees,)440 1219 y(and)22 b(is)h(used)g(in)g(the) g(Oceanstor)o(e)f(pr)o(oject)h([)1851 1219 y SDict begin H.S end 1851 1219 a FU(7)1893 1219 y SDict begin 13.79993 H.L end 1893 1219 a 1893 1219 a SDict begin [ /Subtype /Link /Dest (cite.oceanstore-asplos) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1893 1219 a -1 w FU(])f(for)h(a)f(global-scale)g(\002le)h(system.)g(A)g(mor)o(e) 440 1333 y(detailed)d(summary)h(for)f(Chor)o(d)h(is)g(given)g(in)g([) 1941 1333 y SDict begin H.S end 1941 1333 a FU(17)2025 1333 y SDict begin 13.79993 H.L end 2025 1333 a 2025 1333 a SDict begin [ /Subtype /Link /Dest (cite.stoica01chord) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2025 1333 a -1 w FU(].)1831 5662 y(12)p eop end %%Page: 13 15 TeXDict begin 13 14 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.2) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(2)440 1638 y FX(Design)440 2084 y FU(This)26 b(chapter)e(pr)o(esents) h(the)g(design)g(of)g(the)h(system.)f(First)h(an)f(overview)g(of)g(the) g(com-)440 2199 y(ponent)i(ar)o(chitectur)o(e)d(is)i(given,)g(followed) g(by)g(a)f(mor)o(e)h(detailed)f(description)h(of)g(each)440 2313 y(component)k(to)f(de\002ne)f(the)h(underlying)g(pr)o(otocol,)f (algorithms)i(and)e(data)f(or)o(ganisa-)440 2428 y(tion)22 b(in)f(the)g(system.)440 2588 y SDict begin H.S end 440 2588 a 440 2588 a SDict begin 13.79993 H.A end 440 2588 a 440 2588 a SDict begin [ /View [/XYZ H.V] /Dest (section.2.1) cvn H.B /DEST pdfmark end 440 2588 a 148 x FL(2.1)119 b(System)30 b(overview)440 2940 y FU(The)c(system)g(is)h(based)e(on)h(a)f (distributed)h(hash)g(table)f(and)h(consists)h(of)f(thr)o(ee)f(compo-) 440 3055 y(nents,)d(the)g(distributed)f(hash)h(table,)e(the)i(actual)f (\002le)g(system)h(and)g(the)f(garbage)f(collec-)440 3169 y(tor)-6 b(,)21 b(see)f(Figur)o(e)974 3169 y SDict begin H.S end 974 3169 a FU(2.1)1078 3112 y SDict begin H.R end 1078 3112 a 1078 3169 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.1) cvn H.B /ANN pdfmark end 1078 3169 a FU(.)691 4417 y @beginspecial 91 @llx 481 @lly 595 @urx 721 @ury 2834 @rwi @setspecial %%BeginDocument: design/images/components.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: components.dvi %%BoundingBox: 91 481 595 721 %%DocumentFonts: Palatino-Roman Palatino-Bold Palatino-Italic %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o components.eps components.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.06:1410 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (components.dvi) @start /Fa 136[959 2[442 1[517 1[664 590 739 1[369 590 1[369 2[369 517 1[541 1[590 97[{TeXBase1Encoding ReEncodeFont}13 1328.35 /Palatino-Italic rf /Fb 139[442 5[812 1[442 2[442 3[664 1[590 99[{TeXBase1Encoding ReEncodeFont}6 1328.35 /Palatino-Bold rf /Fc 134[739 3[801 433 563 525 2[725 773 1173 387 2[387 773 739 442 636 812 590 735 664 97[{ TeXBase1Encoding ReEncodeFont}18 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 26427 a @beginspecial 0 @llx 0 @lly 502 @urx 238 @ury 5020 @rwi @setspecial %%BeginDocument: components.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: components.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Oct 6 14:10:24 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 502 238 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 238 moveto 0 0 lineto 502 0 lineto 502 238 lineto closepath clip newpath -111.5 364.2 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % 7.500 slw [60] 0 sd % Ellipse n 4866 4338 3000 1725 0 360 DrawEllipse gs col0 s gr [] 0 sd % Polyline n 2730 3300 m 2625 3300 2625 3945 105 arcto 4 {pop} repeat 2625 4050 4620 4050 105 arcto 4 {pop} repeat 4725 4050 4725 3405 105 arcto 4 {pop} repeat 4725 3300 2730 3300 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 5205 3900 m 5100 3900 5100 4545 105 arcto 4 {pop} repeat 5100 4650 7095 4650 105 arcto 4 {pop} repeat 7200 4650 7200 4005 105 arcto 4 {pop} repeat 7200 3900 5205 3900 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 2955 4650 m 2850 4650 2850 5070 105 arcto 4 {pop} repeat 2850 5175 4545 5175 105 arcto 4 {pop} repeat 4650 5175 4650 4755 105 arcto 4 {pop} repeat 4650 4650 2955 4650 105 arcto 4 {pop} repeat cp gs col0 s gr [15 45] 45 sd 1 slc % Ellipse n 8925 5232 168 168 0 360 DrawEllipse gs col0 s gr [] 0 sd [15 45] 45 sd % Ellipse n 9750 4200 168 168 0 360 DrawEllipse gs col0 s gr [] 0 sd [15 45] 45 sd % Ellipse n 8475 4125 168 168 0 360 DrawEllipse gs col0 s gr [] 0 sd % Polyline 0 slc 15.000 slw gs clippath 3189 3350 m 3280 3272 l 3103 3066 l 3214 3288 l 3012 3144 l cp eoclip n 2325 2250 m 3225 3300 l gs col0 s gr gr % arrowhead 7.500 slw n 3012 3144 m 3214 3288 l 3103 3066 l 3012 3144 l cp gs 0.00 setgray ef gr col0 s % Polyline 15.000 slw gs clippath 2585 2124 m 2494 2202 l 2672 2407 l 2561 2187 l 2763 2329 l cp eoclip n 3525 3300 m 2550 2175 l gs col0 s gr gr % arrowhead 7.500 slw n 2763 2329 m 2561 2187 l 2672 2407 l 2763 2329 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3552 4105 m 3492 4115 l 3516 4256 l 3526 4133 l 3575 4246 l cp eoclip n 3600 4575 m 3525 4125 l gs col0 s gr gr % arrowhead 3.750 slw n 3575 4246 m 3526 4133 l 3516 4256 l 3575 4246 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw gs clippath 5055 4665 m 5019 4616 l 4904 4702 l 5019 4655 l 4940 4750 l cp eoclip n 4725 4875 m 5025 4650 l gs col0 s gr gr % arrowhead 3.750 slw n 4940 4750 m 5019 4655 l 4904 4702 l 4940 4750 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw gs clippath 7181 4396 m 7188 4456 l 7330 4440 l 7208 4424 l 7323 4380 l cp eoclip n 7200 4425 m 7875 4350 l gs col0 s gr gr % arrowhead 3.750 slw n 7323 4380 m 7208 4424 l 7330 4440 l 7323 4380 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw gs clippath 7886 4306 m 7893 4246 l 7751 4230 l 7867 4274 l 7744 4290 l cp eoclip n 7875 4275 m 7200 4200 l gs col0 s gr gr % arrowhead 3.750 slw n 7744 4290 m 7867 4274 l 7751 4230 l 7744 4290 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw [15 45] 45 sd n 8550 4275 m 8850 5100 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 9675 4350 m 9000 5100 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 8325 4125 m 7875 4350 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 9075 5325 m 9750 5850 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 9825 4350 m 10200 4725 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 8775 5325 m 8475 5775 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 8625 4125 m 9600 4200 l gs col0 s gr [] 0 sd % Polyline [15 60] 60 sd n 7875 4350 m 8775 5250 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 9825 4050 m 10125 3600 l gs col0 s gr [] 0 sd % Polyline n 3225 2775 m 3600 2325 l gs col0 s gr % Polyline n 7950 4125 m 8175 3450 l gs col0 s gr % Polyline 15.000 slw gs clippath 5097 4158 m 5128 4106 l 4984 4020 l 5072 4108 l 4953 4071 l cp eoclip n 4725 3900 m 5100 4125 l gs col0 s gr gr % arrowhead n 4953 4071 m 5072 4108 l 4984 4020 l 4953 4071 l cp gs 0.00 setgray ef gr col0 s $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 11182 10960 a Fc(file)332 b(system)p Black 0 0 0 TeXcolorrgb 24421 14960 a(distributed)e(hash)j (table)p Black 0 0 0 TeXcolorrgb 9812 18960 a(garbage)f(collector)p Black 0 0 0 TeXcolorrgb 25328 7960 a Fb(client)p Black 0 0 0 TeXcolorrgb 45732 16960 a Fc(other)g(clients)p Black 0 0 0 TeXcolorrgb 10827 960 a Fa(application)h(interface)p Black 0 0 0 TeXcolorrgb 40186 8460 a(network)e(interface)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 1081 4605 a FK(Figur)o(e)e(2.1:)1437 4500 y SDict begin H.S end 1437 4500 a 1437 4500 a SDict begin H.R end 1437 4500 a 1437 4500 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.1) cvn H.B /DEST pdfmark end 1437 4500 a 105 x FK(The)h(ar)o(chitectur)o(e)g(of)f(a)h(client)f(of)h(the)g (system.)565 4817 y FU(The)c(distributed)h(hash)g(table)f(component,)i (described)d(in)j(Section)2718 4817 y SDict begin H.S end 2718 4817 a FU(2.2)2821 4759 y SDict begin H.R end 2821 4759 a 2821 4817 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.2) cvn H.B /ANN pdfmark end 2821 4817 a FU(,)f(is)g(concerned)440 4931 y(with)27 b(the)g(distributed)f(storage)h(and)f(r)o(etrieval)f(of) i(data)e(blocks)i(which)h(ar)o(e)d(at)h(most)31 b FO(B)440 5046 y FU(bytes)18 b(lar)o(ge.)f(T)-8 b(o)18 b(achieve)f(high)i (availability)f(and)f(ensur)o(e)g(that)h(blocks)h(can)e(be)h(r)o (etrieved)440 5160 y(when)j(nodes)h(crash,)e(it)h(must)g(r)o(eplicate)e (the)i(data)f(on)h(dif)o(fer)o(ent)e(nodes.)565 5275 y(The)k(\002le)g(system)i(component,)f(described)e(in)i(Section)2366 5277 y SDict begin H.S end 2366 5277 a -2 x FU(2.3)2470 5217 y SDict begin H.R end 2470 5217 a 2470 5275 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.3) cvn H.B /ANN pdfmark end 2470 5275 a FU(,)f(is)h(concerned)f(with)h(us-)440 5390 y(ing)d(the)g(distributed)g(hash)g(table)f(component)i(to)f(stor)o (e)f(\002les)h(and)g(dir)o(ectories)e(by)i(split-)1831 5662 y(13)p eop end %%Page: 14 16 TeXDict begin 14 15 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(ting)25 b(them)g(into)h(blocks,)f(and)f(pr)o(esents)g(an)h(or) o(dinary)e(\002le)i(system)h(interface)d(to)i(appli-)440 646 y(cations,)i(albeit)f(with)h(looser)h(guarantees)d(than)i(a)f (local)h(\002le)g(system)g(or)g(a)f(centralised)440 760 y(\002le)21 b(system)g(such)h(as)e(NFS)h(\(Section)1634 762 y SDict begin H.S end 1634 762 a -2 x FU(3.2)1738 703 y SDict begin H.R end 1738 703 a 1738 760 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.2) cvn H.B /ANN pdfmark end 1738 760 a 21 w FU(will)g(examine)f(this\).)565 875 y(The)h(garbage)f(collector)i(component,)g(described)e(in)i (Section)2587 875 y SDict begin H.S end 2587 875 a FU(2.4)2691 818 y SDict begin H.R end 2691 818 a 2691 875 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.4) cvn H.B /ANN pdfmark end 2691 875 a FU(,)f(is)h(necessary)f(be-)440 990 y(cause)k(the)h(two)h(other)f(components)i(may)e(leave)f(blocks)h (that)g(ar)o(e)f(not)h(needed)f(or)h(us-)440 1104 y(able,)c(i.e.)h(if)g (we)h(visit)g(all)f(blocks)h(in)g(all)f(\002les)g(in)h(all)f(dir)o (ectories,)g(some)h(blocks)g(will)g(not)440 1219 y(be)c(visited.)440 1357 y SDict begin H.S end 440 1357 a 440 1357 a SDict begin 13.79993 H.A end 440 1357 a 440 1357 a SDict begin [ /View [/XYZ H.V] /Dest (section.2.2) cvn H.B /DEST pdfmark end 440 1357 a 170 x FL(2.2)119 b(Distributed)28 b(hash)i(table)440 1731 y FU(The)e(interface)f(to)h(the)h(distributed)e(hash)i(table)e (component)i(is)g FN(put\(key)-9 b(,)27 b(block\))38 b FU(that)440 1846 y(stor)o(es)17 b(a)g(block)h(and)f FN(get\(key\))27 b FU(that)17 b(r)o(eturns)g(a)g(block.)h(Underneath)f (this)h(interface,)e(each)440 1960 y(node)32 b(participating)e(in)i (the)g(overlay)f(network)h(keeps)f(track)g(of)g(the)h(addr)o(esses)d (of)j(a)440 2075 y(subset)24 b(of)g(other)g(nodes)h(in)f(the)g(network) h(and)e(maintains)i(a)e(list)i(of)f(the)g(data)e(blocks)j(it)440 2189 y(is)c(storing)h(itself.)e(This)i(makes)e(it)h(possible)h(to)f (\002nd)g(and)f(distribute)h(the)g(blocks.)565 2304 y(The)j(design)h (of)g(the)g(distributed)f(hash)h(table)g(is)g(almost)g(completely)g(r)o (eused)f(fr)o(om)440 2418 y(the)29 b(design)g(of)g(Kademlia)g([)1372 2418 y SDict begin H.S end 1372 2418 a FU(9)1414 2418 y SDict begin 13.79993 H.L end 1414 2418 a 1414 2418 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1414 2418 a -1 w FU(])f(and)h(uses)g(the)i FT(X)t(O)t(R)h FU(metric)d(to)h(measur)o(e)d(distance)i(be-)440 2533 y(tween)21 b(keys.)565 2648 y(Each)e(node)i(and)f(each)g(dif)o(fer)o (ent)f(data)g(block)i(is)g(identi\002ed)f(by)h(a)f(unique)i FO(m)q FU(-bit)e(key)440 2762 y(\(for)g(some)h(\002xed)f(value)g(of)i FO(m)q FU(\).)e(T)-8 b(o)21 b(\002nd)g(out)g(wher)o(e)f(to)h(place)f(a) g(given)h(block,)f(its)h(key)h FO(k)3270 2780 y FB(b)440 2877 y FU(is)g FT(X)t(O)t(R)r FU('ed)e(with)h(the)f(key)g(of)f(a)g (node)i FO(k)1679 2889 y FB(n)1739 2877 y FU(and)e(the)h(r)o(esult)g FO(d)25 b FE(=)g FO(k)2459 2894 y FB(b)2509 2877 y FI(\010)17 b FO(k)2631 2889 y FB(n)2671 2877 y FU(,)i(an)i FO(m)q FU(-bit)e(integer)-6 b(,)440 2991 y(is)24 b(interpr)o(eted)e(as)i(a)f (distance.)g(The)h(block)g(is)g(then)g(distributed)f(to)h(the)g FO(r)i FU(nodes)e(in)g(the)440 3106 y(network)h(for)g(which)g(the)g (distance)g FO(d)h FU(is)f(shortest.)g(Similarly)-9 b(,)24 b(a)g(block)h(is)g(r)o(etrieved)e(by)440 3220 y(contacting)e(anyone)h (of)e(the)h FO(r)i FU(nodes)e(that)g(the)g(block)g(is)g(closest)h(to.) 565 3335 y(Since)j(we)h(do)g(not)h(r)o(equir)o(e)e(each)g(node)h(to)g (know)h(about)f(all)g(the)g(other)g(nodes,)g(the)440 3450 y(storage)32 b(and)f(r)o(etrieval)g(pr)o(ocess)g(must)i(be)e(pr)o (eceded)f(by)i(a)g(lookup)g(pr)o(ocedur)o(e)e(that)440 3564 y(\002nds)21 b(the)h(closest)f(nodes.)g(Figur)o(e)1566 3564 y SDict begin H.S end 1566 3564 a FU(2.2)1670 3507 y SDict begin H.R end 1670 3507 a 1670 3564 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.2) cvn H.B /ANN pdfmark end 1670 3564 a 20 w FU(illustrates)h(the)f(pr)o(oblem.)f(As)h (explained)f(in)h(Sec-)440 3679 y(tion)616 3681 y SDict begin H.S end 616 3681 a -2 x FU(1.5)719 3621 y SDict begin H.R end 719 3621 a 719 3679 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.1.5) cvn H.B /ANN pdfmark end 719 3679 a 31 w FU(and)30 b(in)h(Figur)o(e)1293 3679 y SDict begin H.S end 1293 3679 a FU(1.4)1397 3621 y SDict begin H.R end 1397 3621 a 1397 3679 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.1.4) cvn H.B /ANN pdfmark end 1397 3679 a FU(,)f(this)h(can)g(be)f(done)h(by)g(iteratively)f(asking)h(the) g(known)440 3793 y(nodes)21 b(for)g(what)g(nodes)g(they)g(think)g(ar)o (e)f(closest)h(to)g(the)g(block)g(key)-9 b(.)691 4331 y @beginspecial 91 @llx 658 @lly 450 @urx 721 @ury 2834 @rwi @setspecial %%BeginDocument: design/images/hash-space.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: hash-space.dvi %%BoundingBox: 91 658 450 721 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o hash-space.eps hash-space.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.22:1545 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (hash-space.dvi) @start /Fa 141[525 2[725 5[387 773 739 442 636 812 1[735 19[1104 5[1105 1014 739 812 1028 942 812 1033 65[{ TeXBase1Encoding ReEncodeFont }18 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 6748 a @beginspecial 0 @llx 0 @lly 357 @urx 61 @ury 3570 @rwi @setspecial %%BeginDocument: hash-space.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: hash-space.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Wed Oct 22 15:45:43 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 357 61 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 61 moveto 0 0 lineto 357 0 lineto 357 61 lineto closepath clip newpath -131.8 258.5 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % % here starts figure with depth 50 % Ellipse 7.500 slw n 6277 3307 160 160 0 360 DrawEllipse gs col0 s gr % Polyline 1 slc 30.000 slw [15 60] 60 sd n 4746 3552 m 4746 3732 l gs col0 s gr [] 0 sd % Polyline n 5523 3552 m 5523 3732 l gs col0 s gr % Polyline n 4441 3552 m 4441 3732 l gs col0 s gr % Polyline n 6259 3552 m 6259 3732 l gs col0 s gr % Polyline [15 60] 60 sd n 7057 3552 m 7057 3732 l gs col0 s gr [] 0 sd % Polyline n 3539 3552 m 3539 3732 l gs col0 s gr % Polyline n 2612 3552 m 2612 3732 l gs col0 s gr % Polyline [15 60] 60 sd n 3794 3553 m 3794 3733 l gs col0 s gr [] 0 sd % Polyline 0 slc 7.500 slw n 2252 3576 m 2380 3576 l 2380 3705 l 2252 3705 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline [60] 0 sd n 2254 3409 m 2104 3409 2104 3714 150 arcto 4 {pop} repeat 2104 3864 3848 3864 150 arcto 4 {pop} repeat 3998 3864 3998 3559 150 arcto 4 {pop} repeat 3998 3409 2254 3409 150 arcto 4 {pop} repeat cp gs col0 s gr [] 0 sd % Polyline gs clippath 7754 3677 m 7755 3617 l 7604 3616 l 7724 3647 l 7603 3676 l cp eoclip n 2279 3641 m 7740 3647 l gs col0 s gr gr % arrowhead n 7603 3676 m 7724 3647 l 7604 3616 l 7603 3676 l cp gs 0.00 setgray ef gr col0 s % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 0 0 0 TeXcolorrgb 13714 1645 a Fa(C)p Black 0 0 0 TeXcolorrgb -2832 w(B)p Black 0 0 0 TeXcolorrgb 7693 w(E)p Black 0 0 0 TeXcolorrgb -3017 w(D)p Black 0 0 0 TeXcolorrgb 6846 w(F)p Black 0 0 0 TeXcolorrgb 9656 w(H)p Black 0 0 0 TeXcolorrgb -6460 w(G)p Black 0 0 0 TeXcolorrgb -26527 w(A)p Black 0 0 0 TeXcolorrgb -3070 w(b)p Black 0 0 0 TeXcolorrgb 3320 6370 a(Neighbor)-24 b(hood)331 b(of)i(b)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 4519 a FK(Figur)o(e)22 b(2.2:)872 4414 y SDict begin H.S end 872 4414 a 872 4414 a SDict begin H.R end 872 4414 a 872 4414 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.2) cvn H.B /DEST pdfmark end 872 4414 a 105 x FK(Nodes)h(order)o(ed)h(on)h FA(X)t(O)t(R)e FK(distances)h(to)f (the)g(block)h(b)q(.)e(The)h(nodes)g(within)g(the)g(stippled)511 4624 y(box)16 b(ar)o(e)g(r)o(esponsible)f(for)h(storing)h(b)q(.)e(The)h (dotted)g(nodes)g(ar)o(e)g(the)g(nodes)h(that)f(G)g(does)g(not)g(know)f (about.)511 4729 y(T)-8 b(o)18 b(stor)o(e)i(b)q(,)e(G)g(must)g(know)h (about)f(C.)440 4966 y SDict begin H.S end 440 4966 a 440 4966 a SDict begin 13.79993 H.A end 440 4966 a 440 4966 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.1) cvn H.B /DEST pdfmark end 440 4966 a 110 x FJ(2.2.1)99 b(Obtaining)25 b(the)g(keys)440 5249 y FU(T)-8 b(o)25 b(obtain)h(the)f(keys)g(needed)f (to)h(communicate)h(with)f(the)g(component,)h(a)f(hash)g(func-)440 5364 y(tion)32 b FO(H)d FU(is)e(r)o(equir)o(ed)f(to)h(pr)o(oduce)e(an)j FO(m)q FU(-bit)e(number)-6 b(.)27 b(Examples)f(of)h(such)g(hash)g (func-)1831 5662 y(14)p eop end %%Page: 15 17 TeXDict begin 15 16 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(tions)22 b(ar)o(e)d(SHA-1)g([)1069 531 y SDict begin H.S end 1069 531 a FU(16)1153 531 y SDict begin 13.79993 H.L end 1153 531 a 1153 531 a SDict begin [ /Subtype /Link /Dest (cite.sha1) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1153 531 a -1 w FU(],)h(RIPEMD-160)f([)1749 531 y SDict begin H.S end 1749 531 a FU(4)1791 531 y SDict begin 13.79993 H.L end 1791 531 a 1791 531 a SDict begin [ /Subtype /Link /Dest (cite.ripe) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1791 531 a -1 w FU(])h(and)h(MD5)f([)2233 531 y SDict begin H.S end 2233 531 a FU(14)2317 531 y SDict begin 13.79993 H.L end 2317 531 a 2317 531 a SDict begin [ /Subtype /Link /Dest (cite.md5) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2317 531 a -2 w FU(].)g(T)-8 b(o)22 b(balance)d(the)i(work)h(load)440 646 y(among)j(the)f(nodes,)g(it)h(is)f(important)h(that)f(the)g(hash)g (function)h(distributes)f(the)h(values)440 760 y(evenly)-9 b(.)22 b(The)h(pseudo-randomness)g(pr)o(operty)f(of)h(the)g(hash)g (functions)h(above)e(assur)o(es)440 875 y(this.)440 1003 y SDict begin H.S end 440 1003 a 440 1003 a SDict begin 13.79993 H.A end 440 1003 a 440 1003 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.2) cvn H.B /DEST pdfmark end 440 1003 a 132 x FJ(2.2.2)101 b Fx(X)t(O)t(R)30 b FJ(and)24 b(the)h(topology)i (of)e(the)g(space)440 1308 y FU(Using)33 b FT(X)t(O)t(R)h FU(as)d(the)g(distance)f(metric)h(gives)g(a)f(topology)i(that)f(per)o (haps)e(best)i(can)g(be)440 1423 y(explained)f(by)h(a)g(tr)o(ee,)f(see) h(Figur)o(e)1633 1425 y SDict begin H.S end 1633 1425 a -2 x FU(2.3)1736 1365 y SDict begin H.R end 1736 1365 a 1736 1423 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.3) cvn H.B /ANN pdfmark end 1736 1423 a FU(.)g(The)g(leaves)g(corr)o (espond)f(to)i(nodes)f(and)g(the)440 1537 y(paths)22 b(fr)o(om)g(the)h(r)o(oot)f(to)h(the)f(leaves)g(enumerate)f(the)i(node) f(hash)h(values.)e(Then)i(given)440 1652 y(a)g(node)h FO(n)h FU(and)e(a)g(subtr)o(ee)f(that)i(does)f(not)h(contain)h FO(n)q FU(,)e(the)h(distance)f(fr)o(om)g(any)g(node)h(in)440 1767 y(that)d(subtr)o(ee)f(to)i FO(n)g FU(is)f(on)g(the)g(same)g(or)o (der)e(of)i(magnitude)g(\(in)g(base)f(2\))g([)2756 1767 y SDict begin H.S end 2756 1767 a FU(9)2798 1767 y SDict begin 13.79993 H.L end 2798 1767 a 2798 1767 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2798 1767 a -1 w FU(].)691 2865 y @beginspecial 91 @llx 596 @lly 396 @urx 722 @ury 2834 @rwi @setspecial %%BeginDocument: design/images/space-arcs.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: space-arcs.dvi %%BoundingBox: 91 596 396 722 %%DocumentFonts: Palatino-Roman PazoMath-Italic Palatino-Italic %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o space-arcs.eps space-arcs.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.13:1458 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (space-arcs.dvi) @start /Fa 206[498 498 48[{TeXBase1Encoding ReEncodeFont}2 996.264 /Palatino-Roman rf /Fb 139[442 116[{ TeXBase1Encoding ReEncodeFont}1 1328.35 /Palatino-Italic rf /Fd 206[664 664 48[{TeXBase1Encoding ReEncodeFont}2 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 13627 a @beginspecial 0 @llx 0 @lly 301 @urx 123 @ury 3010 @rwi @setspecial %%BeginDocument: space-arcs.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: space-arcs.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Oct 13 14:58:05 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 301 123 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 123 moveto 0 0 lineto 301 0 lineto 301 123 lineto closepath clip newpath -118.3 218.9 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % % Polyline 7.500 slw n 4650 1650 m 3375 1950 l gs col0 s gr % Polyline n 4650 1650 m 5850 1950 l gs col0 s gr % Polyline n 3375 1950 m 3900 2325 l gs col0 s gr % Polyline n 3900 2325 m 4275 2700 l gs col0 s gr % Polyline n 3900 2325 m 3525 2700 l gs col0 s gr % Polyline n 3375 1950 m 2700 2325 l gs col0 s gr % Polyline n 2700 2325 m 3075 2700 l gs col0 s gr % Polyline n 2700 2325 m 2325 2700 l gs col0 s gr % Polyline n 5850 1950 m 5250 2325 l 4875 2700 l gs col0 s gr % Polyline n 5250 2325 m 5625 2700 l gs col0 s gr % Polyline n 5850 1950 m 6450 2325 l gs col0 s gr % Polyline n 6450 2325 m 6075 2700 l gs col0 s gr % Polyline n 6450 2325 m 6825 2700 l gs col0 s gr % Polyline n 2325 2700 m 2175 3075 l gs col0 s gr % Polyline n 3075 2700 m 2925 3075 l gs col0 s gr % Polyline n 3525 2700 m 3375 3075 l gs col0 s gr % Polyline n 3075 2700 m 3225 3075 l gs col0 s gr % Polyline n 2325 2700 m 2475 3075 l gs col0 s gr % Polyline n 3525 2700 m 3675 3075 l gs col0 s gr % Polyline n 4275 2700 m 4125 3075 l gs col0 s gr % Polyline n 4875 2700 m 4725 3075 l gs col0 s gr % Polyline n 4875 2700 m 5025 3075 l gs col0 s gr % Polyline n 6825 2700 m 6975 3075 l gs col0 s gr % Polyline n 5625 2700 m 5475 3075 l gs col0 s gr % Polyline n 6075 2700 m 5925 3075 l gs col0 s gr % Polyline n 6825 2700 m 6675 3075 l gs col0 s gr % Polyline n 6075 2700 m 6225 3075 l gs col0 s gr % Polyline n 5625 2700 m 5775 3075 l gs col0 s gr % Polyline n 4275 2700 m 4425 3075 l gs col0 s gr % Polyline 2 slj [15 45] 45 sd n 4500 3150 m 4526 3115 l 4546 3078 l 4560 3040 l 4570 3001 l 4575 2962 l 4576 2923 l 4574 2884 l 4569 2847 l 4561 2810 l 4551 2774 l 4539 2740 l 4526 2706 l 4511 2674 l 4495 2642 l 4479 2612 l 4461 2582 l 4443 2554 l 4424 2526 l 4405 2498 l 4385 2472 l 4365 2445 l 4344 2419 l 4322 2393 l 4300 2366 l 4278 2340 l 4254 2313 l 4230 2286 l 4205 2259 l 4179 2231 l 4152 2203 l 4124 2174 l 4094 2144 l 4063 2114 l 4030 2084 l 3995 2053 l 3959 2021 l 3920 1990 l 3880 1959 l 3838 1928 l 3794 1899 l 3748 1871 l 3700 1844 l 3651 1821 l 3600 1800 l 3543 1782 l 3487 1768 l 3431 1758 l 3377 1751 l 3325 1748 l 3275 1747 l 3228 1748 l 3185 1752 l 3144 1757 l 3106 1764 l 3071 1771 l 3038 1780 l 3008 1789 l 2981 1799 l 2955 1810 l 2930 1821 l 2907 1832 l 2886 1844 l 2864 1856 l 2844 1869 l 2823 1882 l 2803 1895 l 2782 1909 l 2760 1924 l 2738 1939 l 2714 1956 l 2689 1973 l 2663 1991 l 2635 2010 l 2605 2031 l 2574 2052 l 2541 2076 l 2506 2101 l 2470 2128 l 2433 2156 l 2395 2187 l 2357 2219 l 2319 2253 l 2283 2288 l 2250 2325 l 2220 2363 l 2193 2401 l 2169 2439 l 2148 2477 l 2130 2513 l 2113 2547 l 2099 2580 l 2086 2612 l 2074 2641 l 2063 2668 l 2054 2694 l 2045 2718 l 2037 2741 l 2029 2762 l 2022 2782 l 2015 2800 l 2009 2818 l 2003 2836 l 1998 2852 l 1994 2869 l 1990 2885 l 1987 2901 l 1984 2918 l 1983 2935 l 1983 2953 l 1985 2971 l 1988 2990 l 1993 3010 l 2000 3031 l 2010 3053 l 2023 3076 l 2039 3100 l 2058 3125 l 2082 3150 l 2110 3176 l 2143 3203 l 2180 3229 l 2223 3254 l 2271 3278 l 2325 3300 l 2376 3317 l 2430 3332 l 2485 3345 l 2543 3356 l 2601 3366 l 2659 3375 l 2717 3382 l 2775 3388 l 2831 3393 l 2886 3398 l 2940 3402 l 2993 3405 l 3044 3408 l 3094 3410 l 3142 3412 l 3189 3414 l 3235 3415 l 3280 3417 l 3324 3418 l 3367 3418 l 3410 3419 l 3452 3419 l 3494 3419 l 3535 3418 l 3577 3417 l 3619 3416 l 3661 3415 l 3704 3412 l 3747 3409 l 3791 3406 l 3835 3401 l 3881 3396 l 3927 3389 l 3973 3382 l 4021 3373 l 4069 3362 l 4117 3350 l 4166 3337 l 4214 3321 l 4261 3303 l 4308 3284 l 4353 3262 l 4395 3237 l 4434 3211 l 4470 3181 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5775 2550 m 5756 2516 l 5736 2483 l 5714 2453 l 5693 2425 l 5672 2399 l 5652 2375 l 5633 2354 l 5616 2334 l 5600 2316 l 5586 2299 l 5572 2284 l 5560 2269 l 5548 2256 l 5536 2243 l 5525 2231 l 5513 2220 l 5501 2209 l 5488 2198 l 5474 2188 l 5459 2178 l 5441 2169 l 5422 2161 l 5399 2154 l 5375 2148 l 5347 2145 l 5317 2143 l 5284 2145 l 5249 2151 l 5212 2160 l 5175 2175 l 5142 2192 l 5110 2213 l 5079 2237 l 5049 2262 l 5020 2288 l 4994 2315 l 4968 2341 l 4944 2367 l 4921 2393 l 4900 2419 l 4880 2443 l 4860 2467 l 4842 2491 l 4824 2514 l 4807 2536 l 4791 2559 l 4775 2581 l 4760 2604 l 4744 2627 l 4730 2650 l 4715 2674 l 4701 2699 l 4688 2725 l 4675 2752 l 4663 2780 l 4652 2810 l 4643 2841 l 4635 2873 l 4629 2906 l 4626 2940 l 4626 2975 l 4629 3009 l 4637 3043 l 4650 3075 l 4668 3105 l 4690 3131 l 4716 3155 l 4744 3176 l 4773 3195 l 4804 3211 l 4835 3225 l 4866 3236 l 4896 3246 l 4926 3254 l 4956 3261 l 4985 3266 l 5014 3271 l 5042 3274 l 5070 3277 l 5097 3279 l 5125 3281 l 5153 3283 l 5181 3284 l 5210 3284 l 5239 3285 l 5269 3285 l 5300 3285 l 5333 3285 l 5366 3284 l 5401 3282 l 5437 3280 l 5475 3277 l 5513 3273 l 5552 3267 l 5590 3260 l 5629 3251 l 5665 3239 l 5700 3225 l 5735 3206 l 5766 3184 l 5792 3161 l 5814 3138 l 5832 3115 l 5847 3092 l 5858 3070 l 5866 3050 l 5872 3030 l 5876 3012 l 5878 2994 l 5878 2978 l 5878 2962 l 5877 2947 l 5875 2931 l 5873 2916 l 5870 2900 l 5866 2883 l 5863 2865 l 5859 2846 l 5855 2825 l 5850 2802 l 5845 2777 l 5839 2750 l 5833 2721 l 5825 2689 l 5816 2656 l 5804 2621 l 5791 2585 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6375 2850 m 6360 2827 l 6342 2804 l 6324 2784 l 6306 2765 l 6289 2747 l 6273 2732 l 6258 2717 l 6244 2704 l 6231 2691 l 6219 2680 l 6206 2669 l 6194 2658 l 6181 2648 l 6167 2639 l 6152 2630 l 6135 2622 l 6116 2615 l 6096 2610 l 6073 2608 l 6049 2609 l 6025 2614 l 6000 2625 l 5979 2640 l 5960 2658 l 5943 2679 l 5928 2701 l 5914 2724 l 5903 2746 l 5893 2768 l 5884 2789 l 5876 2809 l 5869 2829 l 5862 2849 l 5856 2869 l 5851 2888 l 5846 2909 l 5841 2929 l 5837 2951 l 5833 2973 l 5830 2997 l 5828 3022 l 5827 3048 l 5829 3074 l 5833 3101 l 5840 3127 l 5850 3150 l 5866 3172 l 5885 3189 l 5905 3202 l 5926 3212 l 5947 3218 l 5967 3222 l 5987 3224 l 6005 3224 l 6022 3223 l 6039 3221 l 6056 3219 l 6073 3216 l 6091 3212 l 6109 3208 l 6129 3204 l 6150 3200 l 6172 3194 l 6196 3188 l 6222 3181 l 6248 3173 l 6275 3162 l 6300 3150 l 6322 3135 l 6341 3120 l 6357 3104 l 6370 3089 l 6380 3076 l 6388 3064 l 6394 3053 l 6398 3043 l 6402 3035 l 6404 3027 l 6406 3019 l 6408 3011 l 6409 3002 l 6409 2993 l 6410 2982 l 6409 2970 l 6408 2955 l 6405 2938 l 6402 2919 l 6395 2897 l 6387 2874 l cp gs col0 s gr [] 0 sd $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 8242 5800 a Fd(0)p Black 0 0 0 TeXcolorrgb 3336 w(1)p Black 0 0 0 TeXcolorrgb -8164 w(1)p Black 0 0 0 TeXcolorrgb 8242 3300 a(1)p Black 0 0 0 TeXcolorrgb 16242 5800 a(0)p Black 0 0 0 TeXcolorrgb 13242 3300 a(0)p Black 0 0 0 TeXcolorrgb 15242 800 a(1)p Black 0 0 0 TeXcolorrgb 7836 w(0)p Black 0 0 0 TeXcolorrgb 21742 5800 a(1)p Black 0 0 0 TeXcolorrgb 3336 w(0)p Black 0 0 0 TeXcolorrgb 7337 w(0)p Black 0 0 0 TeXcolorrgb -4665 w(1)p Black 0 0 0 TeXcolorrgb 30243 3300 a(0)p Black 0 0 0 TeXcolorrgb -5665 w(1)p Black 0 0 0 TeXcolorrgb 3242 8800 a(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb 2336 w(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb 9336 w(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb 2336 w(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb 336 w(1)p Black 0 0 0 TeXcolorrgb 4337 w(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb -24665 w(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb 2336 w(1)p Black 0 0 0 TeXcolorrgb 1336 w(0)p Black 0 0 0 TeXcolorrgb 11337 w(0)p Black 0 0 0 TeXcolorrgb 29079 11800 a Fb(t)29538 12039 y Fa(001)p Black 0 0 0 TeXcolorrgb 23328 12300 a Fb(t)23787 12539 y Fa(01)p Black 0 0 0 TeXcolorrgb 10577 13300 a Fb(t)11036 13539 y Fa(1)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 3054 a FK(Figur)o(e)f(2.3:)869 2948 y SDict begin H.S end 869 2948 a 869 2948 a SDict begin H.R end 869 2948 a 869 2948 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.3) cvn H.B /DEST pdfmark end 869 2948 a 106 x FK(Illustration)f(of)i(the)g(topology)i(of)e(the)g(hash)h (space.)g(The)h FA(X)t(O)t(R)f FK(distance)f(fr)o(om)g(the)g(nodes)511 3159 y(0000)e(and)e(0001)i(to)e(a)h(node)g(in)e(the)i(subtr)o(ee)f(t) 1698 3174 y Fw(001)1806 3159 y FK(is)g(0010)i(or)f(0011)g(\(2)g(or)g (3\).)f(T)-8 b(o)16 b(a)h(node)f(in)g(the)g(subtr)o(ee)512 3264 y(t)538 3279 y Fw(01)600 3264 y FK(,)i(the)g(distance)g(is)g (0100,)h(0101,)h(0110)f(or)f(0111)i(\(4,)e(5,)g(6,)g(7\).)g(T)-8 b(o)18 b(the)g(subtr)o(ee)g(t)2671 3279 y Fw(1)2704 3264 y FK(,)g(the)g(distances)g(ar)o(e)511 3369 y(1000,)i(1001,)f(.)11 b(.)g(.)g(,)18 b(1111)i(\(8,)e(9,)h(.)11 b(.)g(.)g(,)18 b(15\).)h(Hence,)f(for)g(any)h(nodes)i(a)i Fv(2)f FK(t)2419 3384 y Fw(001)2510 3369 y FR(,)13 b FK(b)23 b Fv(2)f FK(t)2698 3384 y Fw(01)2760 3369 y FR(,)13 b FK(c)23 b Fv(2)f FK(t)2943 3384 y Fw(1)2995 3369 y FK(we)c(have)511 3474 y(the)h(ordering)h(d)r Ft(\()s FK(a)r Ft(\))j Fy(<)g FK(d)r Ft(\()r FK(b)r Ft(\))f Fy(<)g FK(d)r Ft(\()r FK(c)r Ft(\))e FK(on)f(the)g(distances)g(fr)o(om)f(0000)i(and)f(0001)h(to)h(a) q(,)e(b)h(and)f(c)q(.)565 3685 y FU(Apart)25 b(fr)o(om)h(the)h(r)o(ule) g(that)f(nodes)h(in)g(subtr)o(ees)f(ar)o(e)f(on)i(the)g(same)g(or)o (der)e(of)i(mag-)440 3800 y(nitude)g(away)-9 b(,)25 b(the)i(tr)o(ee)e (does)i(not)g(give)g(any)f(visual)h(clue)f(pr)o(ecisely)g(how)h(far)f (away)g(a)440 3914 y(given)h(node)f(is,)h(though.)g(As)f(illustrated)g (in)h(Figur)o(e)2193 3914 y SDict begin H.S end 2193 3914 a FU(2.4)2297 3857 y SDict begin H.R end 2297 3857 a 2297 3914 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.4) cvn H.B /ANN pdfmark end 2297 3914 a FU(,)f(when)h(the)g(point)g(of)f (view)h(is)440 4029 y(switched)19 b(fr)o(om)g(one)g(node)g(to)g (another)-6 b(,)19 b(the)g(distances)f(inside)i(a)e(subtr)o(ee)g(that)h (does)g(not)440 4143 y(contain)i(the)g(two)h(nodes)f(ar)o(e)e (exchanged)h(too!)927 4973 y @beginspecial 91 @llx 611 @lly 388 @urx 722 @ury 2267 @rwi @setspecial %%BeginDocument: design/images/space-distances.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: space-distances.dvi %%BoundingBox: 91 611 388 722 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o space-distances.eps %+ space-distances.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.14:1027 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (space-distances.dvi) @start /Fa 200[664 664 664 664 664 664 664 664 48[{ TeXBase1Encoding ReEncodeFont}8 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 12014 a @beginspecial 0 @llx 0 @lly 293 @urx 109 @ury 2930 @rwi @setspecial %%BeginDocument: space-distances.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: space-distances.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Tue Oct 14 10:27:49 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 293 109 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 109 moveto 0 0 lineto 293 0 lineto 293 109 lineto closepath clip newpath -117.8 204.4 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % % Polyline 7.500 slw n 4650 1650 m 3375 1950 l gs col0 s gr % Polyline n 4650 1650 m 5850 1950 l gs col0 s gr % Polyline n 3375 1950 m 3900 2325 l gs col0 s gr % Polyline n 3900 2325 m 4275 2700 l gs col0 s gr % Polyline n 3900 2325 m 3525 2700 l gs col0 s gr % Polyline n 3375 1950 m 2700 2325 l gs col0 s gr % Polyline n 2700 2325 m 3075 2700 l gs col0 s gr % Polyline n 2700 2325 m 2325 2700 l gs col0 s gr % Polyline n 5850 1950 m 5250 2325 l 4875 2700 l gs col0 s gr % Polyline n 5250 2325 m 5625 2700 l gs col0 s gr % Polyline n 5850 1950 m 6450 2325 l gs col0 s gr % Polyline n 6450 2325 m 6075 2700 l gs col0 s gr % Polyline n 6450 2325 m 6825 2700 l gs col0 s gr % Polyline 2 slj [15 45] 45 sd n 4125 2025 m 4163 2060 l 4198 2097 l 4231 2134 l 4261 2172 l 4288 2210 l 4314 2247 l 4337 2283 l 4359 2318 l 4379 2352 l 4398 2384 l 4416 2415 l 4432 2445 l 4448 2473 l 4463 2500 l 4477 2525 l 4490 2550 l 4503 2574 l 4515 2598 l 4527 2621 l 4538 2644 l 4548 2667 l 4557 2690 l 4566 2713 l 4574 2737 l 4580 2761 l 4586 2786 l 4590 2812 l 4592 2840 l 4592 2868 l 4589 2898 l 4584 2928 l 4576 2960 l 4565 2993 l 4549 3027 l 4529 3061 l 4504 3096 l 4475 3130 l 4439 3164 l 4398 3195 l 4350 3225 l 4304 3248 l 4254 3269 l 4201 3288 l 4146 3304 l 4090 3319 l 4034 3332 l 3977 3343 l 3920 3352 l 3864 3361 l 3809 3368 l 3755 3373 l 3702 3378 l 3650 3382 l 3600 3386 l 3550 3389 l 3502 3391 l 3455 3392 l 3409 3393 l 3364 3394 l 3319 3395 l 3275 3395 l 3231 3394 l 3187 3394 l 3144 3393 l 3100 3391 l 3057 3390 l 3012 3387 l 2968 3385 l 2922 3382 l 2876 3378 l 2829 3373 l 2781 3368 l 2732 3362 l 2683 3355 l 2632 3347 l 2581 3338 l 2529 3327 l 2477 3315 l 2424 3301 l 2372 3286 l 2321 3269 l 2271 3249 l 2223 3228 l 2178 3204 l 2137 3178 l 2100 3150 l 2064 3115 l 2035 3078 l 2013 3039 l 1996 3000 l 1985 2961 l 1978 2922 l 1976 2884 l 1977 2847 l 1981 2812 l 1988 2777 l 1997 2744 l 2008 2713 l 2021 2682 l 2034 2653 l 2049 2625 l 2066 2597 l 2082 2571 l 2100 2545 l 2118 2519 l 2138 2494 l 2157 2468 l 2178 2443 l 2199 2417 l 2221 2391 l 2243 2364 l 2267 2336 l 2292 2308 l 2318 2278 l 2346 2248 l 2375 2216 l 2405 2183 l 2438 2149 l 2472 2114 l 2509 2079 l 2548 2043 l 2589 2007 l 2632 1971 l 2678 1937 l 2725 1905 l 2775 1875 l 2829 1847 l 2884 1823 l 2938 1803 l 2991 1786 l 3041 1772 l 3090 1761 l 3135 1752 l 3178 1745 l 3217 1739 l 3254 1736 l 3287 1733 l 3318 1732 l 3347 1732 l 3374 1732 l 3399 1733 l 3422 1735 l 3445 1738 l 3466 1740 l 3488 1744 l 3509 1748 l 3530 1752 l 3552 1757 l 3575 1763 l 3599 1769 l 3624 1776 l 3651 1785 l 3680 1794 l 3712 1804 l 3746 1817 l 3782 1830 l 3820 1846 l 3861 1864 l 3903 1884 l 3947 1906 l 3992 1932 l 4038 1960 l 4082 1991 l cp gs col0 s gr [] 0 sd $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 8289 5800 a Fa(0)p Black 0 0 0 TeXcolorrgb 3336 w(1)p Black 0 0 0 TeXcolorrgb -8164 w(1)p Black 0 0 0 TeXcolorrgb 8289 3300 a(1)p Black 0 0 0 TeXcolorrgb 16289 5800 a(0)p Black 0 0 0 TeXcolorrgb 13289 3300 a(0)p Black 0 0 0 TeXcolorrgb 15289 800 a(1)p Black 0 0 0 TeXcolorrgb 7836 w(0)p Black 0 0 0 TeXcolorrgb 21789 5800 a(1)p Black 0 0 0 TeXcolorrgb 3336 w(0)p Black 0 0 0 TeXcolorrgb 7336 w(0)p Black 0 0 0 TeXcolorrgb -4664 w(1)p Black 0 0 0 TeXcolorrgb 30289 3300 a(0)p Black 0 0 0 TeXcolorrgb -5664 w(1)p Black 0 0 0 TeXcolorrgb 4289 10300 a(4)p Black 0 0 0 TeXcolorrgb 7336 w(6)p Black 0 0 0 TeXcolorrgb 4336 w(7)p Black 0 0 0 TeXcolorrgb 3336 w(0)p Black 0 0 0 TeXcolorrgb 4336 w(1)p Black 0 0 0 TeXcolorrgb 2336 w(2)p Black 0 0 0 TeXcolorrgb 4336 w(3)p Black 0 0 0 TeXcolorrgb -25664 w(5)p Black 0 0 0 TeXcolorrgb 4289 8800 a(7)p Black 0 0 0 TeXcolorrgb 7336 w(5)p Black 0 0 0 TeXcolorrgb 4336 w(4)p Black 0 0 0 TeXcolorrgb 3336 w(3)p Black 0 0 0 TeXcolorrgb 4336 w(2)p Black 0 0 0 TeXcolorrgb 2336 w(1)p Black 0 0 0 TeXcolorrgb 4336 w(0)p Black 0 0 0 TeXcolorrgb -25664 w(6)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 5161 a FK(Figur)o(e)e(2.4:)868 5056 y SDict begin H.S end 868 5056 a 868 5056 a SDict begin H.R end 868 5056 a 868 5056 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.4) cvn H.B /DEST pdfmark end 868 5056 a 105 x FK(The)i(distances)f(fr)o(om)h(the)f(node)h(000)g(and)g(the)g (node)f(011,)h(r)o(espectively)m(,)h(to)e(all)g(the)h(other)511 5266 y(nodes.)d(Note)h(that)g(of)f(the)h(nodes)f(in)g(the)h(left)f (subtr)o(ee)f(\(marked)i(with)g(a)f(dotted)i(line\),)d(000)i(is)f (closest)h(to)511 5371 y(100,)h(wher)o(eas)g(011)h(is)f(closest)g(to)g (111.)1831 5662 y FU(15)p eop end %%Page: 16 18 TeXDict begin 16 17 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 565 531 a FU(In)27 b(spite)g(of)g(this,)i FT(X)t(O)t(R)i FU(is)c(in)g(fact)g(a)f(valid)h(metric)g(since)i FO(x)21 b FI(\010)g FO(x)38 b FE(=)d FU(0,)28 b FO(x)21 b FI(\010)f FO(y)37 b FG(>)e FU(0)26 b(if)442 646 y FO(x)k FI(6)r FE(=)f FO(y)q FU(,)22 b(and)i FI(8)s FO(x)r FU(,)15 b FO(y)28 b FU(:)j FO(x)19 b FI(\010)g FO(y)29 b FE(=)g FO(y)18 b FI(\010)i FO(x)r FU(.)i(Mor)o(eover)-6 b(,)24 b FT(X)t(O)t(R)i FU(has)d(the)g(triangle)g(pr)o(operty)-9 b(,)22 b(i.e.,)440 760 y(that)h FI(8)s FO(x)r FU(,)15 b FO(y)q FU(,)g FO(z)25 b FU(:)i FO(x)19 b FI(\010)f FO(y)h FE(+)f FO(y)g FI(\010)g FO(z)26 b FI(\025)h FO(x)20 b FI(\010)e FO(z)q FU(,)j(which)h(follows)h(fr)o(om)e(the)h (combination)h(of)e(the)440 875 y(facts)f(that)i FE(\()s FO(x)d FI(\010)f FO(y)r FE(\))g FI(\010)f FE(\()r FO(y)i FI(\010)e FO(z)r FE(\))26 b(=)f FO(x)19 b FI(\010)f FO(z)k FU(and)f FI(8)s FO(a)k FI(\025)f FU(0,)15 b FO(b)25 b FI(\025)e FU(0)h(:)i FO(a)18 b FE(+)g FO(b)25 b FI(\025)h FO(a)18 b FI(\010)g FO(b)k FU([)2939 875 y SDict begin H.S end 2939 875 a FU(9)2981 875 y SDict begin 13.79993 H.L end 2981 875 a 2981 875 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2981 875 a -1 w FU(].)565 990 y(Furthermor)o(e,)k FT(X)t(O)t(R)i FU(as)d(distance)f (metric)h(is)g FO(unidir)o(ectional)g FU([)2552 990 y SDict begin H.S end 2552 990 a FU(9)2594 990 y SDict begin 13.79993 H.L end 2594 990 a 2594 990 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2594 990 a -1 w FU(])f(which)i(means)f(that)440 1104 y(for)h(any)g(point)j FO(x)f FU(and)d(distance)i FO(d)q FU(,)f(ther)o(e)f(is)h(exactly)g(one) g(point)i FO(y)f FU(such)f(that)i FO(x)21 b FI(\010)f FO(y)35 b FE(=)441 1219 y FO(d)q FU(.)30 b(T)-8 b(o)32 b(verify)e(this,)i(consider)h FT(X)t(O)t(R)r FU('ing)g(1010)c(with)j (some)f(unknown)i(number)f FO(y)g FU(and)440 1333 y(obtaining)f(the)f (distance)g(1100.)e(The)j(four)f(digits)g(of)h FO(y)g FU(will)g(then)g(cover)f(all)g(possible)440 1448 y(cases.)20 b(In)h(tabulated)f(form:)1666 1586 y(1)137 b(0)g(1)g(0)1482 1701 y FI(\010)101 b FO(y)1691 1716 y FC(4)1827 1701 y FO(y)1870 1716 y FC(3)2006 1701 y FO(y)2049 1716 y FC(2)2185 1701 y FO(y)2228 1716 y FC(1)p 1431 1739 882 4 v 1666 1819 a FU(1)137 b(1)g(0)g(0)440 1970 y(If)29 b(0)20 b FI(\010)h FO(y)716 1985 y FC(1)791 1970 y FE(=)40 b FU(0,)29 b(then)h FO(y)1224 1985 y FC(1)1289 1970 y FU(must)g(be)f(0)g(since)h(0)20 b FI(\010)g FU(1)39 b FE(=)h FU(1.)29 b(Similar)g(r)o(easoning)g(leads)g(to)440 2084 y(the)22 b(conclusion)h(that)f FO(y)1202 2099 y FC(2)1263 2084 y FE(=)j FU(1,)c FO(y)1480 2099 y FC(3)1541 2084 y FE(=)k FU(1)c(and)h FO(y)1900 2100 y FC(4)1960 2084 y FE(=)j FU(0.)c(Thus,)i FO(y)f FU(is)g(uniquely)g(determined.)440 2199 y(The)c(unidir)o(ectionality)g(of)i FT(X)t(O)t(R)h FU(is)d(contrary)f(to)i(the)f(Euclidean)f(distance)g(metric)h(wher)o(e) 440 2313 y(two)j(points)h(may)e(be)h(equidistant)g(to)g(another)g (point,)g(e.g.)g FI(\000)q FU(5,)e(5)h(and)h(the)f(point)i(0,)e(and)440 2428 y(ensur)o(es)30 b(that)g(ther)o(e)g(will)h(not)g(be)f(two)h(dif)o (fer)o(ent)d(gr)o(oups)i(of)g(node)h(to)f(contact)h(when)440 2543 y(looking)e(up)e(a)g(hash)h(value,)e(see)i(Figur)o(e)1802 2545 y SDict begin H.S end 1802 2545 a -2 x FU(2.5)1905 2485 y SDict begin H.R end 1905 2485 a 1905 2543 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.5) cvn H.B /ANN pdfmark end 1905 2543 a FU(.)f(This)h(means)g(that)f(only)i(a)d (single)j(gr)o(oup)440 2657 y(needs)21 b(to)g(keep)f(track)g(of)h(the)g (what)g(is)g(near)f(the)h(hash)g(value.)927 2999 y @beginspecial 91 @llx 681 @lly 422 @urx 721 @ury 2267 @rwi @setspecial %%BeginDocument: design/images/unidirectional-distance.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: unidirectional-distance.dvi %%BoundingBox: 91 681 422 721 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o unidirectional-distance.eps %+ unidirectional-distance.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.23:1125 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (unidirectional-distance.dvi) @start /Fa 189[812 1033 65[{ TeXBase1Encoding ReEncodeFont }2 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 4179 a @beginspecial 0 @llx 0 @lly 329 @urx 38 @ury 3290 @rwi @setspecial %%BeginDocument: unidirectional-distance.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: unidirectional-distance.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Thu Oct 23 11:25:01 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 329 38 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 38 moveto 0 0 lineto 329 0 lineto 329 38 lineto closepath clip newpath -142.8 247.4 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 7.500 slw n 2970 3870 m 4905 3870 l gs col0 s gr % Polyline n 2970 3825 m 2970 3915 l gs col0 s gr % Polyline n 4905 3825 m 4905 3915 l gs col0 s gr % Polyline n 4905 3870 m 6840 3870 l gs col0 s gr % Polyline n 4905 3825 m 4905 3915 l gs col0 s gr % Polyline n 6840 3825 m 6840 3915 l gs col0 s gr % Polyline n 2279 3639 m 7470 3645 l gs col0 s gr % Polyline 1 slc 30.000 slw n 6840 3552 m 6840 3732 l gs col0 s gr % Polyline n 2970 3555 m 2970 3735 l gs col0 s gr % Polyline 0 slc 7.500 slw n 2835 3555 m 2835 3735 l gs col0 s gr % Polyline n 3105 3555 m 3105 3735 l gs col0 s gr % Polyline n 3195 3555 m 3195 3735 l gs col0 s gr % Polyline n 3285 3555 m 3285 3735 l gs col0 s gr % Polyline n 3375 3555 m 3375 3735 l gs col0 s gr % Polyline n 2745 3555 m 2745 3735 l gs col0 s gr % Polyline n 2655 3555 m 2655 3735 l gs col0 s gr % Polyline n 2565 3555 m 2565 3735 l gs col0 s gr % Polyline n 6750 3555 m 6750 3735 l gs col0 s gr % Polyline n 6660 3555 m 6660 3735 l gs col0 s gr % Polyline n 6570 3555 m 6570 3735 l gs col0 s gr % Polyline n 6480 3555 m 6480 3735 l gs col0 s gr % Polyline n 6930 3555 m 6930 3735 l gs col0 s gr % Polyline n 7020 3555 m 7020 3735 l gs col0 s gr % Polyline n 7200 3555 m 7200 3735 l gs col0 s gr % Polyline n 7110 3555 m 7110 3735 l gs col0 s gr % Polyline 1 slc 30.000 slw n 4909 3552 m 4909 3732 l gs col0 s gr % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 0 0 0 TeXcolorrgb 6820 945 a Fa(A)p Black 0 0 0 TeXcolorrgb 26055 w(B)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 3187 a FK(Figur)o(e)e(2.5:)869 3082 y SDict begin H.S end 869 3082 a 869 3082 a SDict begin H.R end 869 3082 a 869 3082 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.5) cvn H.B /DEST pdfmark end 869 3082 a 105 x FK(The)g(gr)o(oup)h(of)g(nodes)g(in)g(the)g(vicinity)f(of)h(A)g (and)g(of)g(B)f(ar)o(e)h(equally)f(close)i(to)f(hash)g(value)511 3292 y(in)e(the)h(middle.)g(This)f(cannot)h(happen)g(with)g(the)i FA(X)t(O)t(R)e FK(metric.)565 3495 y FU(Another)29 b(important)g(pr)o (operty)g(of)i FT(X)t(O)t(R)h FU(is)e(that)f(it)g(is)h(symmetric)f([) 2810 3495 y SDict begin H.S end 2810 3495 a FU(9)2852 3495 y SDict begin 13.79993 H.L end 2852 3495 a 2852 3495 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2852 3495 a FU(])f(\(i.e.)i FI(8)s FO(x)r FU(,)15 b FO(y)39 b FU(:)442 3609 y FO(x)16 b FI(\010)f FO(y)24 b FE(=)g FO(y)15 b FI(\010)h FO(x)r FU(\),)g(unlike)i(the)f (distance)g(metric)g(in)g(a)g(ring-based)g(system)g(such)h(as)f(Chor)o (d.)440 3724 y(W)-5 b(ith)22 b(an)e(Internet-wide)h(system)g(wher)o(e)f (the)h(r)o(outing)h(tables)e(ar)o(e)f(always)i(incomplete,)440 3838 y(this)26 b(is)f(important)g(because)f(it)h(means)g(that)g(nodes)g (that)g(ar)o(e)f(close)h(to)g(each)g(other)g(and)440 3953 y(hence)h(ar)o(e)g(mor)o(e)g(likely)h(to)f(know)i(about)e(each)g (other)-6 b(,)27 b(ar)o(e)e(also)h(mor)o(e)g(likely)h(to)g(com-)440 4068 y(municate.)g(This)h(communication)h(helps)e(keeping)h(the)f(most) i(important)e(part)g(of)g(the)440 4182 y(r)o(outing)d(tables,)f(the)g (part)g(that)h(covers)f(the)h(near)o(est)e(nodes,)i(up)f(to)h(date.)e (The)i(symme-)440 4297 y(try)j(is)f(less)h(important)g(for)f(a)h(local) f(ar)o(ea)f(network)i(wher)o(e)f(the)g(r)o(outing)h(tables)f(can)h(be) 440 4411 y(allowed)21 b(to)g(gr)o(ow)g(to)g(the)g(size)f(of)h(the)g (network.)440 4557 y SDict begin H.S end 440 4557 a 440 4557 a SDict begin 13.79993 H.A end 440 4557 a 440 4557 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.3) cvn H.B /DEST pdfmark end 440 4557 a 110 x FJ(2.2.3)99 b(Ensuring)25 b(connectivity)i(in)e(the)f(overlay)i(network)440 4840 y FU(T)-8 b(o)20 b(be)e(able)g(to)i(scale)e(to)h(millions)i(of)e (hosts,)h(Kademlia)e(can)h(not)g(af)o(for)o(d)e(to)i(stor)o(e)g(r)o (outing)440 4955 y(information)33 b(about)f(all)g(nodes)g(in)g(the)h (network)f(at)g(every)f(node.)h(But)g(this)h(is)f(not)h(a)440 5069 y(pr)o(oblem)20 b(for)g(a)g(local)g(ar)o(ea)e(network)j(with)g (less)g(than)f(20,000)e(nodes.)i(Hence,)g(a)f(node)i(in)440 5184 y(our)g(system)g(should)h(never)e(thr)o(ow)h(away)f(information)i (about)f(other)g(nodes.)565 5298 y(It)30 b(would,)g(however)-6 b(,)30 b(be)g(very)g(expensive)f(to)i(update)e(all)h(the)g(available)f (r)o(outing)440 5413 y(information)d(r)o(egularly)-9 b(.)23 b(Since)i(an)f(incoming)j(message)d(fr)o(om)h(a)f(node)h(A)f(to) h(a)g(node)g(B)1831 5662 y(16)p eop end %%Page: 17 19 TeXDict begin 17 18 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(has)22 b(the)g(side)f(ef)o(fect)f(of)i(telling)h(node)f(B)f (that)h(node)g(A)f(is)h(alive,)g(the)f(total)h(number)k FO(N)f FU(of)440 646 y(necessary)e(ping)i(messages)f(for)g FO(n)31 b FI(!)g FF(\245)25 b FU(nodes)f(would)h(be)e(\(assuming)h (nodes)h(do)f(not)440 760 y(otherwise)d(communicate\):)911 998 y FO(N)27 b FE(=)e FO(n)18 b FI(\000)f FU(1)f FE(+)i FO(n)g FI(\000)f FU(2)g FE(+)h FU(.)e(.)g(.)h FE(+)h FO(n)g FI(\000)g FO(n)25 b FE(=)2203 908 y FB(n)2176 1015 y Fr(\345)2171 1088 y FB(i)r Fp(=)q FC(1)2272 998 y FE(\()q FO(i)19 b FI(\000)e FU(1)q FE(\))25 b(=)g FF(Q)r FE(\()r FO(n)2767 963 y FC(2)2804 998 y FE(\))440 1248 y FU(Since)i(it)g FO(is)h FU(necessary)f(to)h(update)e(the)h(r)o (outing)h(tables)f(fr)o(om)f(time)i(to)g(time)f(to)h(ensur)o(e)440 1363 y(that)i(the)g(connectivity)h(in)f(the)g(overlay)f(network)i(is)f (not)g(lost,)h(we)e(instead)h(simulate)440 1477 y(the)g(bucket)f(appr)o (oach)g(in)h(Kademlia.)f(The)g(r)o(outing)h(table)f(for)h(a)f(node)h (is)g(iteratively)440 1592 y(divided)e(into)j FE([)q FU(2)998 1562 y FB(i)1019 1592 y FU(,)14 b(2)1097 1562 y FB(i)r Fo(\000)q FC(1)1202 1592 y FE(\))30 b FU(ranges)f(with)g(0)39 b FG(<)f FO(i)j FI(\024)f FO(m)29 b FU(and)g FO(i)i FU(starting)e(at)g FO(m)q FU(,)f(as)h(long)h(as)440 1707 y(ther)o(e)20 b(ar)o(e)f(mor)o(e) h(than)h FO(r)i FU(nodes)e(in)g(the)g(range)f(that)h(contains)g(the)g (node)g(itself)g(as)f(shown)440 1821 y(in)h(Figur)o(e)792 1823 y SDict begin H.S end 792 1823 a -2 x FU(2.6)895 1764 y SDict begin H.R end 895 1764 a 895 1821 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.6) cvn H.B /ANN pdfmark end 895 1821 a FU(.)1163 3024 y @beginspecial 91 @llx 545 @lly 322 @urx 721 @ury 1700 @rwi @setspecial %%BeginDocument: design/images/dividing-table.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: dividing-table.dvi %%BoundingBox: 91 545 322 721 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o dividing-table.eps %+ dividing-table.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.22:1434 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (dividing-table.dvi) @start /Fa 206[553 553 1[277 46[{ TeXBase1Encoding ReEncodeFont }3 1106.96 /Palatino-Roman rf /Fb 206[664 664 48[{ TeXBase1Encoding ReEncodeFont }2 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 19298 a @beginspecial 0 @llx 0 @lly 229 @urx 174 @ury 2290 @rwi @setspecial %%BeginDocument: dividing-table.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: dividing-table.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Wed Oct 22 14:34:36 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 229 174 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 174 moveto 0 0 lineto 229 0 lineto 229 174 lineto closepath clip newpath -112.6 321.1 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 7.500 slw n 1800 3420 m 3600 3420 l 3600 3645 l 1800 3645 l cp gs col0 s gr % Polyline n 3600 3645 m 4500 3645 l 4500 3870 l 3600 3870 l cp gs col0 s gr % Polyline n 4050 3645 m 4500 3420 l 4950 3645 l gs col0 s gr % Polyline n 2700 4410 m 3600 4185 l 4500 4410 l gs col0 s gr % Polyline n 1800 4410 m 3600 4410 l 3600 4635 l 1800 4635 l cp gs col0 s gr % Polyline n 3600 4635 m 4500 4635 l 4500 4860 l 3600 4860 l cp gs col0 s gr % Polyline n 4050 4635 m 4500 4410 l 4950 4635 l gs col0 s gr % Polyline n 2700 2655 m 3600 2430 l 4500 2655 l gs col0 s gr % Polyline n 3600 2655 m 3600 2880 l gs col0 s gr % Polyline n 4725 4860 m 4950 4635 l 5175 4860 l gs col0 s gr % Polyline n 1800 2655 m 5400 2655 l 5400 2880 l 1800 2880 l cp gs col0 s gr % Polyline n 4500 3645 m 5400 3645 l 5400 3870 l 4500 3870 l cp gs col0 s gr % Polyline n 4500 4860 m 4950 4860 l 4950 5085 l 4500 5085 l cp gs col0 s gr % Polyline n 2700 3420 m 3600 3195 l 4500 3420 l gs col0 s gr % Polyline n 4950 4860 m 5400 4860 l 5400 5085 l 4950 5085 l cp gs col0 s gr % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 0 0 0 TeXcolorrgb 10802 6300 a Fb(1)p Black 0 0 0 TeXcolorrgb 18047 8504 a(1)p Black 0 0 0 TeXcolorrgb 5321 w(0)p Black 0 0 0 TeXcolorrgb 10802 13229 a(1)p Black 0 0 0 TeXcolorrgb 7211 w(0)p Black 0 0 0 TeXcolorrgb 18047 15434 a(1)p Black 0 0 0 TeXcolorrgb 5321 w(0)p Black 0 0 0 TeXcolorrgb 10802 945 a(1)p Black 0 0 0 TeXcolorrgb 7211 w(0)p Black 0 0 0 TeXcolorrgb 25921 17324 a(0)p Black 0 0 0 TeXcolorrgb 7023 3465 a Fa(1...)p Black 0 0 0 TeXcolorrgb 11530 w(0...)p Black 0 0 0 TeXcolorrgb 7023 8819 a(1...)p Black 0 0 0 TeXcolorrgb 7023 15749 a(1...)p Black 0 0 0 TeXcolorrgb 17102 10394 a(01...)p Black 0 0 0 TeXcolorrgb 4363 w(00...)p Black 0 0 0 TeXcolorrgb 17102 17324 a(01...)p Black 0 0 0 TeXcolorrgb 21512 18899 a(001...)p Black 0 0 0 TeXcolorrgb 660 w(000...)p Black 0 0 0 TeXcolorrgb 22142 17324 a Fb(1)p Black 0 0 0 TeXcolorrgb 18677 6300 a(0)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 3212 a FK(Figur)o(e)27 b(2.6:)877 3107 y SDict begin H.S end 877 3107 a 877 3107 a SDict begin H.R end 877 3107 a 877 3107 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.6) cvn H.B /DEST pdfmark end 877 3107 a 105 x FK(Division)h(of)g(the)h(r)o(outing)e(table)h(for)g(the)h(node) f(000.)11 b(.)g(.)g(.)29 b(First)f(step)h(is)f(to)g(divide)h(the)511 3317 y(r)o(outing)19 b(table)h(into)f(two)i(equal-sized)e(ranges.)i (All)e(nodes)i(with)f(pr)o(e\002x)h(1)g(ar)o(e)f(in)g(the)g(leftmost)g (range)511 3422 y(and)j(nodes)g(with)g(pr)o(e\002x)h(0)f(ar)o(e)g(in)f (the)i(rightmost.)f(When)f(ther)o(e)i(ar)o(e)e(mor)o(e)h(than)g(r)i (elements)e(in)f(the)511 3527 y(range)28 b(containing)f(the)h(node)g (itself,)f(that)i(range)f(is)g(divided)h(again.)e(The)h(division)g(pr)o (ocess)h(stops)511 3632 y(when)18 b(ther)o(e)h(ar)o(e)g(less)g(than)f (r)j(nodes)e(in)f(the)h(range)g(that)g(contains)f(the)h(node.)565 3844 y FU(After)28 b(the)h(ranges)g(have)f(been)h(constr)o(ucted,)g(a)g (lookup)h(is)f(performed)g(on)g(a)g(ran-)440 3958 y(dom)19 b(hash)g(value)g(in)g(each)f(range.)g(Each)g(lookup)i(r)o(eturns)f (information)g(about)g FO(r)i FU(nodes,)440 4073 y(which)31 b(ensur)o(es)f(that)f(the)i(node)f(has)g(updated)f(r)o(outing)h (information)h(for)f(all)g(ranges)440 4187 y(and)20 b(that)h(it)g (knows)h(its)f(neighbour)o(hood)h(particularly)e(well.)565 4302 y(When)28 b(a)g(node)h(joins)g(the)g(overlay)f(network,)g(it)h (must)g(perform)f(a)g(lookup)h(for)f(its)440 4416 y(own)j(identi\002er) f(followed)h(by)f(the)g(above)g(pr)o(ocedur)o(e.)e(This)i(ensur)o(es)g (that)g(it)h(gets)f(to)440 4531 y(know)22 b(its)f(neighbour)o(hood)h (and)e(that)h(the)g(neighbour)o(hood)g(get)g(to)g(know)h(it.)565 4646 y(W)-5 b(ith)22 b(this)g(appr)o(oach)e(for)h(updating)h(r)o (outing)f(tables,)g(one)h(can)f(pr)o(ove)g(that)g(the)g(net-)440 4760 y(work)d(will)g(r)o(emain)f(connected)g(with)h(very)f(high)h(pr)o (obability)-9 b(,)17 b(and)f(that)i(a)f(lookup)h(\002nds)440 4875 y(the)24 b(closest)g(nodes)g(to)g(a)f(key)h(in)f FO(O)r FE(\()q FU(log)15 b FO(n)r FE(\))25 b FU(time)f([)2052 4875 y SDict begin H.S end 2052 4875 a FU(9)2094 4875 y SDict begin 13.79993 H.L end 2094 4875 a 2094 4875 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2094 4875 a -1 w FU(].)f(The)h(pr)o(obability)f(of)h(loosing)h (con-)440 4989 y(nectivity)c(depends)f(on)h FO(r)r FU(,)f(how)h(often)g (nodes)g(crashes,)e(joins)j(and)e(the)h(time)f(interval)i FO(T)3274 5001 y FB(r)440 5104 y FU(between)f(updates.)1831 5662 y(17)p eop end %%Page: 18 20 TeXDict begin 18 19 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.4) cvn H.B /DEST pdfmark end 440 448 a 83 x FJ(2.2.4)99 b(Ensuring)25 b(data)f(persistency)440 704 y FU(This)c(section)h(describes)e(how)h(data)f(persistency)h(is)g (ensur)o(ed)f(by)h(maintaining)g(that)g(the)440 819 y FO(r)31 b FU(nodes)e(closest)g(to)h(a)e(block)h(stor)o(e)f(it.)h(This)g (can)g(be)f(violated)g(by)h(nodes)g(crashing)g(or)440 933 y(joining.)440 1175 y FQ(Crashing)20 b(nodes)440 1254 y SDict begin H.S end 440 1254 a 440 1254 a SDict begin 13.79993 H.A end 440 1254 a 440 1254 a SDict begin [ /View [/XYZ H.V] /Dest (section*.3) cvn H.B /DEST pdfmark end 440 1254 a 94 x FU(A)33 b(node)g(A)g(that)g(crashes)g(or)g(otherwise)h (leaves)e(the)i(network)f(will)h(r)o(esult)f(in)h(some)440 1462 y(blocks)21 b(being)g(stor)o(ed)e(by)i(only)g FO(r)e FI(\000)e FU(1)j(live)g(nodes.)g(Another)h(node)f(B)g(will)i(then)e (become)440 1577 y(r)o(esponsible)e(for)f(storing)i(these)f(blocks)h (and)e(must)h(somehow)i(r)o(eceive)c(them.)i(One)g(way)440 1691 y(of)27 b(doing)g(this)h(is)f(to)h(let)e(all)h(nodes)g(send)g(all) g(the)g(blocks)h(they)f(ar)o(e)e(r)o(esponsible)i(for)g(at)440 1806 y(r)o(egular)f(intervals,)h(to)h(the)f(other)h FO(r)22 b FI(\000)d FU(1)26 b(nodes)i(that)f(ar)o(e)f(r)o(esponsible)h(for)g (the)h(blocks.)440 1920 y(Eventually)-9 b(,)20 b(B)h(will)g(then)g(r)o (eceive)f(the)h(blocks)g(it)g(is)g(missing.)565 2035 y(The)29 b(time)h(interval)i FO(T)1291 2053 y FB(b)1354 2035 y FU(at)e(which)g(the)g(above)f(pr)o(ocedur)o(e,)f(which)j(we)e(r) o(efer)f(to)j(as)440 2150 y FO(r)o(epublishing)25 b FU([)913 2150 y SDict begin H.S end 913 2150 a FU(9)955 2150 y SDict begin 13.79993 H.L end 955 2150 a 955 2150 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 955 2150 a -1 w FU(],)g(is)g(performed)g(must)h(be)e(short)i(enough)h (to)e(r)o(ender)f(it)h(very)g(unlikely)440 2264 y(that)19 b FO(r)j FU(nodes)d(leave)g(within)h(it.)f(Republishing)i(is)f(the)f (corner)g(stone)h(in)g(securing)g(a)e(high)440 2379 y(availability)h (for)h(the)g(system.)h(Unfortunately)-9 b(,)19 b(with)i(a)f (straightforwar)o(d)e(implementa-)440 2493 y(tion)j(it)f(is)g(also)g (very)f(expensive)h(when)g(the)g(system)h(is)f(storing)h(many)f (blocks.)g(Thus)g(we)440 2608 y(intr)o(oduce)g(two)i(optimisations.)565 2722 y(Instead)d(of)g(sending)i(the)e(entir)o(e)g(blocks,)h(we)g(let)f (each)g(node)h(send)g(a)f FO(r)o(eplication)g(offer)440 2837 y FU(message)28 b(to)g(the)g(other)g(r)o(esponsible)g(nodes.)g (The)f(message)h(contains)g(a)g(list)g(of)g(block)440 2952 y(keys,)g(and)f(the)h(r)o(eceiver)e(may)h(then)h(obtain)g(any)g (blocks)g(it)g(is)g(missing)h(either)e(by)h(the)440 3066 y(usual)j FN(get)39 b FU(pr)o(ocedur)o(e)28 b(or)j(dir)o(ectly)f(fr)o (om)g(the)g(sender)-6 b(.)30 b(As)h(long)g(as)f(crashes)h(happen)440 3181 y(infr)o(equently)-9 b(,)21 b(this)g(r)o(educes)f(the)h(amount)g (of)g(data)f(sent)h(by)g(or)o(ders)f(of)g(magnitude.)h(For)440 3295 y(instance)f(if)f(a)h(key)g(is)g(4)g FO(b)r(y)r(t)r(e)r(s)h FU(and)e(a)h(block)g(is)g(4000)f FO(b)r(y)r(t)r(e)r(s)i FU(the)f(or)o(der)e(of)i(magnitude)g(is)g(3.)565 3410 y(Furthermor)o(e,)k(fr)o(om)h(Kademlia)g([)1689 3410 y SDict begin H.S end 1689 3410 a FU(9)1731 3410 y SDict begin 13.79993 H.L end 1731 3410 a 1731 3410 a SDict begin [ /Subtype /Link /Dest (cite.maymounkov02kademlia) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1731 3410 a -1 w FU(])g(we)h(get)f(the)h(optimisation)g(that)g(a)f (node)g(does)440 3524 y(not)34 b(have)e(to)i(send)f(a)g(r)o(eplication) f(of)o(fer)g(for)h(a)g(block)g(if)g(it)h(has)f(r)o(ecently)f(r)o (eceived)g(a)440 3639 y(r)o(eplication)d(of)o(fer)g(for)g(that)h (block.)g(This)h(is)f(not)g(necessary)g(because)f(the)h FO(r)23 b FI(\000)d FU(1)29 b(other)440 3754 y(nodes)e(r)o(esponsible)g (for)g(the)g(block)g(must)g(also)g(have)g(r)o(eceived)e(the)i(r)o (eplication)f(of)o(fer)-6 b(.)440 3868 y(W)h(ith)18 b(this)g(scheme,)e (only)i(one)f(node)g(will)h(have)e(to)i(send)f(a)f(r)o(eplication)g(of) o(fer)g(for)h(a)f(given)440 3983 y(block)21 b(and)g(the)f(other)h FO(r)f FI(\000)d FU(1)j(of)o(fers)g(may)g(be)h(saved.)440 4224 y FQ(Joining)f(nodes)440 4303 y SDict begin H.S end 440 4303 a 440 4303 a SDict begin 13.79993 H.A end 440 4303 a 440 4303 a SDict begin [ /View [/XYZ H.V] /Dest (section*.4) cvn H.B /DEST pdfmark end 440 4303 a 94 x FU(A)h(node)g(B)f(that)h(joins) i(the)e(network)g(may)g(end)g(up)g(being)g(closer)g(to)h(a)e(block)i (than)f(some)440 4511 y(of)f(the)g FO(r)i FU(nodes)e(that)g(pr)o (eviously)g(has)g(been)g(storing)h(the)f(block.)g(The)g(above)f(r)o (epublish-)440 4626 y(ing)25 b(pr)o(ocedur)o(e)d(will)j(ensur)o(e)f (that)g(eventually)g(B)g(will)h(r)o(eceive)d(a)i(r)o(eplication)g(of)o (fer)f(for)440 4740 y(the)e(block.)565 4855 y(The)i(r)o(epublishing)h (pr)o(ocedur)o(e)e(can)h(easily)g(be)h(impr)o(oved)e(upon)j(by)e (having)h(B)f(ask)440 4970 y(some)j(nodes)f(to)g(send)g(a)g(r)o (eplication)f(of)o(fer)g(immediately)-9 b(,)24 b(since)h(B)g(knows)h (that)f(it)g(has)440 5084 y(just)j(joined)g(the)f(network.)h(It)f(is)h (enough)g(to)g(ask)f(the)g(nodes)h(in)f(the)h(smallest)f(subtr)o(ee)440 5199 y(which)j(consists)h(of)e(B)g(and)f(at)h(least)g(one)g(other)h (node.)f(T)-8 b(o)30 b(see)f(this,)g(consider)h(Figur)o(e)440 5313 y SDict begin H.S end 440 5313 a FU(2.7)544 5256 y SDict begin H.R end 544 5256 a 544 5313 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.7) cvn H.B /ANN pdfmark end 544 5313 a 33 w FU(which)j(shows)i(the)e(situation)g(befor)o(e)f(and) h(after)e(B)i(joins.)h(Initially)g(the)f(node)g(A)1831 5662 y(18)p eop end %%Page: 19 21 TeXDict begin 19 20 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(is)28 b(the)f(only)i(node)e(in)h(the)g(leftmost)g(subtr)o(ee)f (and)g(must)h(thus)g(stor)o(e)f(all)g(blocks)h(\(since)440 646 y FO(r)36 b FE(=)c FU(2)26 b(and)f(ther)o(e)g(is)h(only)h(one)f (node)g(in)g(the)g(rightmost)h(subtr)o(ee\).)d(When)i(B)g(enters,)f(it) 440 760 y(will)i(shar)o(e)f(the)h(r)o(esponsibility)g(of)g(storing)g (the)g(nodes)g(in)g(the)g(leftmost)g(subtr)o(ee)e(with)440 875 y(A)e(\(since)g(all)g(nodes)g(within)i(this)f(subtr)o(ee)e(ar)o(e)f (within)k(the)e(same)g(or)o(der)f(of)h(magnitude)440 990 y(apart)18 b(fr)o(om)g(any)h(other)g(node)g(outside)g(the)g(subtr)o (ee\).)e(B)i(will)g(further)f(take)h(over)f(fr)o(om)h(A)440 1104 y(the)g(r)o(esponsibility)h(of)f(half)g(of)g(the)g(rightmost)h (subtr)o(ee)f(\(due)f(to)h(the)g(way)i FT(X)t(O)t(R)i FU(distance)440 1219 y(works\).)32 b(But)g(since)g(A)f(must)i(have)e (been)g(storing)i(the)f(blocks)h(fr)o(om)e(this)h(subtr)o(ee,)f(it)440 1333 y(suf)o(fers)c(for)g(B)h(to)g(ask)g(A)f(to)i(send)f(a)f(r)o (eplication)g(of)o(fer)g(for)h(the)g(blocks)g(that)g(B)f(should)440 1448 y(stor)o(e.)455 2095 y @beginspecial 91 @llx 601 @lly 711 @urx 722 @ury 3401 @rwi @setspecial %%BeginDocument: design/images/joining-node.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: joining-node.dvi %%BoundingBox: 91 601 711 722 %%DocumentFonts: Palatino-Roman Palatino-Bold %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o joining-node.eps joining-node.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.04:1521 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (joining-node.dvi) @start /Fa 140[516 481 1[732 665 709 1[354 2[354 3[583 744 1[673 609 30[744 947 65[{TeXBase1Encoding ReEncodeFont}13 1217.66 /Palatino-Roman rf /Fb 189[886 66[{ TeXBase1Encoding ReEncodeFont}1 1328.35 /Palatino-Bold rf /Fc 188[942 1[1033 15[664 664 48[{TeXBase1Encoding ReEncodeFont}4 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 13127 a @beginspecial 0 @llx 0 @lly 618 @urx 119 @ury 6180 @rwi @setspecial %%BeginDocument: joining-node.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: joining-node.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Thu Dec 4 15:21:36 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 618 119 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 119 moveto 0 0 lineto 618 0 lineto 618 119 lineto closepath clip newpath -134.3 209.9 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % % Polyline 7.500 slw n 4650 1650 m 3375 1950 l gs col0 s gr % Polyline n 4650 1650 m 5850 1950 l gs col0 s gr % Polyline n 3375 1950 m 3900 2325 l gs col0 s gr % Polyline n 3900 2325 m 4275 2700 l gs col0 s gr % Polyline n 3900 2325 m 3525 2700 l gs col0 s gr % Polyline n 3375 1950 m 2700 2325 l gs col0 s gr % Polyline n 2700 2325 m 3075 2700 l gs col0 s gr % Polyline n 2700 2325 m 2325 2700 l gs col0 s gr % Polyline n 5850 1950 m 5250 2325 l 4875 2700 l gs col0 s gr % Polyline n 5250 2325 m 5625 2700 l gs col0 s gr % Polyline n 5850 1950 m 6450 2325 l gs col0 s gr % Polyline n 6450 2325 m 6075 2700 l gs col0 s gr % Polyline n 6450 2325 m 6825 2700 l gs col0 s gr % Polyline n 10275 1575 m 9000 1875 l gs col0 s gr % Polyline n 10275 1575 m 11475 1875 l gs col0 s gr % Polyline n 9000 1875 m 9525 2250 l gs col0 s gr % Polyline n 9525 2250 m 9900 2625 l gs col0 s gr % Polyline n 9525 2250 m 9150 2625 l gs col0 s gr % Polyline n 9000 1875 m 8325 2250 l gs col0 s gr % Polyline n 8325 2250 m 8700 2625 l gs col0 s gr % Polyline n 8325 2250 m 7950 2625 l gs col0 s gr % Polyline n 11475 1875 m 10875 2250 l 10500 2625 l gs col0 s gr % Polyline n 10875 2250 m 11250 2625 l gs col0 s gr % Polyline n 11475 1875 m 12075 2250 l gs col0 s gr % Polyline n 12075 2250 m 11700 2625 l gs col0 s gr % Polyline n 12075 2250 m 12450 2625 l gs col0 s gr % Polyline n 2250 3075 m 6825 3075 l gs col0 s gr % Polyline gs clippath 7740 2302 m 7740 2197 l 7586 2197 l 7706 2250 l 7586 2302 l cp eoclip n 7125 2250 m 7725 2250 l gs col0 s gr gr % arrowhead 15.000 slw n 7586 2302 m 7706 2250 l 7586 2197 l 7586 2302 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 7875 3075 m 9975 3075 l gs col0 s gr % Polyline n 10425 3075 m 11325 3075 l gs col0 s gr % Polyline n 11625 3075 m 12525 3075 l gs col0 s gr $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 6462 6300 a Fc(0)p Black 0 0 0 TeXcolorrgb 3336 w(1)p Black 0 0 0 TeXcolorrgb -8164 w(1)p Black 0 0 0 TeXcolorrgb 6462 3800 a(1)p Black 0 0 0 TeXcolorrgb 14462 6300 a(0)p Black 0 0 0 TeXcolorrgb 11462 3800 a(0)p Black 0 0 0 TeXcolorrgb 13462 1300 a(1)p Black 0 0 0 TeXcolorrgb 7836 w(0)p Black 0 0 0 TeXcolorrgb 19962 6300 a(1)p Black 0 0 0 TeXcolorrgb 3336 w(0)p Black 0 0 0 TeXcolorrgb 7337 w(0)p Black 0 0 0 TeXcolorrgb -4665 w(1)p Black 0 0 0 TeXcolorrgb 28462 3800 a(0)p Black 0 0 0 TeXcolorrgb -5664 w(1)p Black 0 0 0 TeXcolorrgb 2277 9800 a(A)p Black 0 0 0 TeXcolorrgb 16013 w(C)p Black 0 0 0 TeXcolorrgb 43963 5800 a(0)p Black 0 0 0 TeXcolorrgb 3336 w(1)p Black 0 0 0 TeXcolorrgb -8164 w(1)p Black 0 0 0 TeXcolorrgb 43963 3300 a(1)p Black 0 0 0 TeXcolorrgb 51963 5800 a(0)p Black 0 0 0 TeXcolorrgb 48963 3300 a(0)p Black 0 0 0 TeXcolorrgb 50963 800 a(1)p Black 0 0 0 TeXcolorrgb 7836 w(0)p Black 0 0 0 TeXcolorrgb 57463 5800 a(1)p Black 0 0 0 TeXcolorrgb 3336 w(0)p Black 0 0 0 TeXcolorrgb 7336 w(0)p Black 0 0 0 TeXcolorrgb -4664 w(1)p Black 0 0 0 TeXcolorrgb 65963 3300 a(0)p Black 0 0 0 TeXcolorrgb -5664 w(1)p Black 0 0 0 TeXcolorrgb 39778 9300 a(A)p Black 0 0 0 TeXcolorrgb 16013 w(C)p Black 0 0 0 TeXcolorrgb -9971 w Fb(B)p Black 0 0 0 TeXcolorrgb 13008 11800 a Fa(A)305 b(is)g(r)-22 b(esponsible)p Black 0 0 0 TeXcolorrgb 40411 12300 a(A)305 b(and)f(B)h(ar)-22 b(e)304 b(r)-22 b(esponsible)p Black 0 0 0 TeXcolorrgb 58795 11800 a(A)305 b(is)p Black 0 0 0 TeXcolorrgb 57295 12800 a(r)-22 b(esponsible)p Black 0 0 0 TeXcolorrgb 66795 11800 a(B)305 b(is)p Black 0 0 0 TeXcolorrgb 64795 12800 a(r)-22 b(esponsible)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 2284 a FK(Figur)o(e)18 b(2.7:)868 2178 y SDict begin H.S end 868 2178 a 868 2178 a SDict begin H.R end 868 2178 a 868 2178 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.7) cvn H.B /DEST pdfmark end 868 2178 a 106 x FK(T)-8 b(o)19 b(the)h(left)f(is)g(the)h(hash)g(space)h(befor)o (e)d(B)h(joins)g(the)h(network)f(and)h(to)f(the)h(right)g(the)f(hash) 511 2389 y(space)h(after)e(B)h(has)g(joined)f(\(with)h(r)k Ft(=)f FR(2)p FK(\).)d(B)f(takes)h(over)g(fr)o(om)g(A)g(the)g(r)o (esponsibility)e(of)i(a)g(subtr)o(ee.)565 2615 y FU(If)j(ther)o(e)f(is) i(mor)o(e)f(than)h(one)g(other)f(node)h(in)g(the)g(smallest)f(subtr)o (ee)g(that)g(contains)i(B)440 2729 y(and)h(another)h(node,)g(each)f(of) h(these)g(other)g(nodes)g(will)h(have)e(been)g(r)o(esponsible)h(for)g (a)440 2844 y(dif)o(fer)o(ent)20 b(part)h(of)h(the)h(subtr)o(ee)e(that) h(B)f(becomes)i(r)o(esponsible.)e(Hence,)h(B)g(must)h(ask)e(all)440 2958 y(of)g(them)g(for)f(r)o(eplication)h(of)o(fers.)440 3105 y SDict begin H.S end 440 3105 a 440 3105 a SDict begin 13.79993 H.A end 440 3105 a 440 3105 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.5) cvn H.B /DEST pdfmark end 440 3105 a 110 x FJ(2.2.5)99 b(Protocol)440 3388 y FU(Having)21 b(given)h(a)e(detailed)g(description)i(of)f(the)g(distributed)g(hash)g (table,)f(we)h(continue)440 3503 y(with)g(a)f(de\002nition)h(of)g(what) f(messages)h(a)f(client)g(pr)o(ocess)g(participating)g(in)h(our)g (system)440 3617 y(must)g(support)g(for)g(the)g(communication)h (between)f(the)g(distributed)f(hash)h(tables.)440 3855 y FQ(Supported)e(protocol)h(primitives)440 3935 y SDict begin H.S end 440 3935 a 440 3935 a SDict begin 13.79993 H.A end 440 3935 a 440 3935 a SDict begin [ /View [/XYZ H.V] /Dest (section*.5) cvn H.B /DEST pdfmark end 440 3935 a 93 x FU(The)g(distributed)f(hash)h(table)f(must)h(be)g(able)f(to)h(query)g (for)f(other)h(nodes,)g(r)o(equest)f(r)o(ead-)440 4143 y(ing)34 b(and)f(writing)i(of)e(a)g(block,)h(of)o(fer)e(blocks)j(that)e (should)i(be)e(r)o(eplicated)f(and)h(ping)440 4257 y(nodes)e(to)f(see)g (if)g(they)h(ar)o(e)e(alive.)g(Besides)h(these,)g(ther)o(e)g(must)h(be) f(messages)g(for)g(the)440 4372 y(r)o(eplies)20 b(to)h(these)g(r)o (equests.)442 4552 y Fn(FI)t(N)t(D)k(C)t(L)t(O)t(S)t(E)t(S)t(T)g FQ(\()t Fn(K)t(E)t(Y)t FQ(\))r(:)41 b FU(Sent)18 b(when)i(a)e(node)h (needs)g(to)g(discover)g(the)g(neighbour)o(hood)648 4666 y(ar)o(ound)28 b(a)g(key)-9 b(.)29 b(Upon)g(r)o(eceipt,)f(a)g(node)h (should)h(r)o(eply)e(with)i(a)g FT(FI)t(N)t(D)35 b(C)t(L)t(O)t(S)t(E)t (S)t(T)650 4781 y(R)t(E)t(P)t(L)n(Y)25 b FU(message)f(that)f(contains)h (the)g(identi\002er)f(keys)h(for)f(the)h FO(r)i FU(nodes)d(it)h(knows) 648 4895 y(of)31 b(closest)h(to)f(the)h(key)-9 b(.)31 b(Since)f(no)i(nodes)g(ar)o(e)e(assur)o(ed)g(to)h(know)i(all)e (available)648 5010 y(nodes,)c(a)f(node)h(that)g(wants)h(to)f(\002nd)g (the)g FO(r)j FU(near)o(est)c(nodes)h(may)g(have)f(to)i(issue)648 5125 y(multiple)21 b(iterative)h FT(FI)t(N)t(D)k(C)t(L)t(O)t(S)t(E)t(S) t(T)c FU(messages)f(to)g(dif)o(fer)o(ent)e(nodes.)442 5298 y Fn(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)24 b(B)t(L)t(O)t(C)t(K)h FQ(\()t Fn(K)t(E)t(Y)t FQ(\))r(:)41 b FU(Sent)30 b(to)g(a)g(node)g(to)h (r)o(etrieve)e(the)h(block)h(with)g(the)f(given)648 5413 y(key)-9 b(.)31 b(If)h(the)g(node)h(does)f(not)h(have)e(the)i(block,)f (it)g(r)o(eturns)g(a)g(negative)f(answer)1831 5662 y(19)p eop end %%Page: 20 22 TeXDict begin 20 21 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 650 531 a FT(N)t(E)t(G)t(A)t(C)t(K)r FU(,)16 b(otherwise)i(it)f(r)o(eplies) f(with)h(a)h FT(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)k(B)t(L)t(O)t(C)t(K)e(R)t (E)t(P)t(L)n(Y)g FU(message)c(that)648 646 y(contains)21 b(the)g(block.)442 827 y Fn(S)t(T)t(O)t(R)t(E)k(B)t(L)t(O)t(C)t(K)g FQ(\()t Fn(K)t(E)t(Y)o FQ(,)f Fn(B)t(L)t(O)t(C)t(K)t FQ(\))r(:)41 b FU(Sent)31 b(to)h(a)f(node)g(to)h(r)o(equest)f(that)g (the)h(node)f(stor)o(es)648 941 y(the)22 b(block.)g(The)g(r)o(eceiving) g(node)g(must)h(henceforth)f(fr)o(om)g(time)g(to)h(time)f(ask)g(the)648 1056 y(other)c(neighbours)h(ar)o(ound)e(the)h(key)g(whether)g(they)g (maintain)g(their)g(r)o(eplicate)e(of)648 1171 y(the)h(block;)g(at)g (\002rst,)g(the)g(sending)h(node)f(will)h(itself)f(send)g(out)j FT(S)t(T)s(O)t(R)t(E)h(B)t(L)t(O)t(C)t(K)e FU(mes-)648 1285 y(sages)i(to)h(the)g FO(r)i FU(closest)e(neighbours.)h(The)f(r)o (eceiving)f(node)h(must)g(r)o(eply)f(with)h(an)648 1400 y(acknowledgement)h FT(A)t(C)t(K)r FU(,)e(or)f(a)j FT(N)t(E)t(G)t(A)t (C)t(K)g FU(if)d(it)h(was)g(unable)f(to)h(stor)o(e)g(the)g(block.)442 1581 y Fn(R)t(E)t(P)t(L)t(I)t(C)t(A)n(T)t(I)t(O)t(N)k(O)t(FF)t(E)t(R)g FQ(\()t Fn(K)t(E)t(Y)f(L)t(I)t(S)t(T)t FQ(\))r(:)41 b FU(Sent)28 b(to)g(a)g(node)g(to)g(ask)g(it)h(to)f(check)g(if)g(it)g (main-)648 1695 y(tains)c(the)h(of)o(fer)o(ed)d(blocks.)j(The)f(r)o (eceiving)g(node)g(should)h(r)o(equest)f(any)h(missing)648 1810 y(blocks)18 b(with)i FT(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)i(B)t(L)t(O) t(C)t(K)d FU(and)e(r)o(eply)g(to)h(the)g(initial)g(r)o(equest)f(with)h (an)h FT(A)t(C)t(K)r FU(.)442 1991 y Fn(S)t(E)t(N)t(D)25 b(R)t(E)t(P)t(L)t(I)t(C)t(A)n(T)t(I)t(O)t(N)g(O)t(FF)t(E)t(R)r FQ(:)41 b FU(Sent)32 b(to)h(a)f(node)g(to)h(ask)f(it)h(to)g(generate)e (and)h(send)h(a)648 2105 y(r)o(eplication)f(of)o(fer)f(to)i(the)f (sender)-6 b(.)32 b(The)h(r)o(eplication)f(of)o(fer)f(should)i(contain) g(all)648 2220 y(keys)21 b(of)f(the)h(blocks)h(that)e(the)h(sender)g (should)g(stor)o(e.)442 2401 y Fn(P)t(I)t(N)t(G)r FQ(:)42 b FU(Sent)22 b(to)h(a)f(node)h(to)g(see)f(if)g(it)h(is)g(still)g (alive.)f(A)g(live)g(node)h(should)g(r)o(eply)f(with)h(an)650 2516 y FT(A)t(C)t(K)i FU(message.)e(Any)g(message)g(r)o(eceived)e (counts)j(as)e(a)h(ping)g(r)o(eply)-9 b(,)22 b(so)i(it)f(is)g(only)648 2630 y(necessary)d(to)h(ping)g(nodes)g(that)g(have)f(not)i(been)e(hear) o(d)g(fr)o(om)g(in)h(some)h(time.)565 2828 y(The)e(r)o(eplies)g(to)h (the)g(above)g(ar)o(e:)442 3025 y Fn(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)j(B) t(L)t(O)t(C)t(K)h(R)t(E)t(P)t(L)n(Y)f FQ(\()t Fn(B)t(L)t(O)t(C)t(K)t FQ(\))t(\))r(:)41 b FU(Sent)16 b(to)g(a)f(node)h(that)g(issued)g(a)h FT(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)j(B)t(L)t(O)t(C)t(K)648 3140 y FU(r)o(equest.)442 3321 y Fn(FI)t(N)t(D)25 b(C)t(L)t(O)t(S)t(E)t (S)t(T)g(R)t(E)t(P)t(L)n(Y)f FQ(\()t Fn(H)t(O)t(S)t(T)h(L)t(I)t(S)t(T)t FQ(\))r(:)41 b FU(Sent)18 b(to)h(a)f(node)h(that)f(issued)h(a)h FT(FI)t(N)t(D)k(C)t(L)t(O)t(S)t(E)t(S)t(T)648 3435 y FU(r)o(equest.)442 3616 y Fn(A)t(C)t(K)r FQ(:)41 b FU(Sent)29 b(to)h(a)e(node)i(that)f(either)g(issued)h(a)h FT(S)t(T)s(O)t(R)t(E)i (B)t(L)t(O)t(C)t(K)r FU(,)e FT(R)t(E)t(P)t(L)t(I)t(C)t(A)o(T)t(I)t(O)t (N)k(O)t(FF)t(E)t(R)648 3731 y FU(or)24 b(a)h FT(P)t(I)t(N)t(G)i FU(r)o(equest)c(indicating)h(that)g(the)g(message)g(has)g(been)g(r)o (eceived)e(and)h(ac-)648 3846 y(cepted.)442 4027 y Fn(N)t(E)t(G)t(A)t (C)t(K)r FQ(:)41 b FU(Sent)22 b(instead)g(of)f(an)j FT(A)t(C)t(K)g FU(in)f(case)e(a)g(r)o(equest)h(was)g(r)o(eceived)e(but)i(could)g(not) 648 4141 y(be)e(ful\002lled.)440 4382 y FQ(T)-9 b(ransport)20 b(protocol)440 4462 y SDict begin H.S end 440 4462 a 440 4462 a SDict begin 13.79993 H.A end 440 4462 a 440 4462 a SDict begin [ /View [/XYZ H.V] /Dest (section*.6) cvn H.B /DEST pdfmark end 440 4462 a 93 x FU(The)g(User)f(Datagram)h(Pr)o(otocol)g (\(UDP\))g(is)g(used)g(for)g(transmitting)h(the)f(pr)o(otocol)g(prim-) 440 4670 y(itives)h(over)f(the)h(network.)f(UDP)h(is)g(chosen)g(mainly) g(because)e(all)i(messages)f(easily)h(can)440 4784 y(be)16 b(made)g(to)h(\002t)g(within)h(the)e(limit)i(on)f(the)f(size)h(of)f (the)h(UDP)f(datagrams)f(\(which)j(is)e(about)440 4899 y(64)32 b(kb\),)h(and)g(using)i(UDP)e(saves)g(the)g(connection-setup)i (latency)e(of)g(a)g(connection-)440 5013 y(oriented)21 b(pr)o(otocol)g(such)g(as)f(T)-7 b(ransmission)22 b(Contr)o(ol)f(Pr)o (otocol.)565 5128 y(UDP)e(does)g(guarantee)g(the)g(integrity)h(of)f (the)h(r)o(eceived)d(message)j(so)g(that)f(either)g(the)440 5243 y(message)24 b(is)h(r)o(eceived)d(intact)i(or)g(it)h(is)f(not)h(r) o(eceived)e(at)g(all.)h(But)g(our)g(application)h(level)440 5357 y(pr)o(otocol)j(must)h(itself)f(ensur)o(e)f(that)h(messages)g(ar)o (e)f(r)o(esent)g(if)h(they)h(ar)o(e)d(lost,)j(and)e(that)1831 5662 y(20)p eop end %%Page: 21 23 TeXDict begin 21 22 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(duplicates)30 b(ar)o(e)f(suppr)o(essed.)h(The)g(\002rst)h(can) g(be)f(taken)g(car)o(e)g(of)g(easily)h(by)g(means)f(of)440 646 y(timeouts,)23 b(and)g(the)f(latter)h(is)g(ensur)o(ed)e(via)i (sequence)g(numbers.)f(The)h(sequence)g(num-)440 760 y(bers)17 b(ar)o(e)e(needed)h(anyway)h(for)g(matching)g(an)g(incoming)i (r)o(eply)d(with)i(a)e(pr)o(eviously)h(sent)440 875 y(r)o(equest.)440 1114 y FQ(Message)i(layout)440 1193 y SDict begin H.S end 440 1193 a 440 1193 a SDict begin 13.79993 H.A end 440 1193 a 440 1193 a SDict begin [ /View [/XYZ H.V] /Dest (section*.7) cvn H.B /DEST pdfmark end 440 1193 a 93 x FU(All)i(messages)g(ar)o (e)e(byte)i(sequences)g(and)f(consist)i(of)f(at)f(least)g(the)h (following:)565 1456 y FI(\017)41 b FU(An)21 b(identi\002er)h(for)f (determining)i(which)f(pr)o(otocol)g(primitive)g(the)g(message)g(is)g (\(1)648 1571 y(byte\).)565 1746 y FI(\017)41 b FU(A)16 b(sequence)h(number)g(that)g(is)g(used)g(for)f(matching)i(r)o(eplies)e (to)h(r)o(equests)g(\(4)f(bytes\).)440 1916 y(A)22 b(message)g(r)o (equest)g(and)g(a)f(r)o(eply)h(may)g(furthermor)o(e)f(contain)i(a)f (payload)f(that)i(corr)o(e-)440 2030 y(sponds)d(to)g(the)g(input)g(and) f(output)h(of)f(the)h(pr)o(otocol)g(primitive,)f(r)o(espectively)-9 b(.)18 b(The)i(size)440 2145 y(of)25 b(the)h(payload)e(may)h(vary)g (and)g(is)g(indicated)g(via)g(length)h(\002elds)f(in)h(the)f(messages;) g(it)440 2260 y(must,)c(however)-6 b(,)21 b(not)g(exceed)f(the)h(UDP)f (maximum)i(datagram)d(size.)440 2407 y SDict begin H.S end 440 2407 a 440 2407 a SDict begin 13.79993 H.A end 440 2407 a 440 2407 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2.6) cvn H.B /DEST pdfmark end 440 2407 a 110 x FJ(2.2.6)99 b(Algorithms)440 2690 y FU(This)23 b(section)h(pr)o(ovides)e(a)g (high-level)h(description)h(of)e(the)h(various)g(algorithms)h(in)f(the) 440 2805 y(distributed)e(hash)h(table.)f(The)h(algorithm)g(uses)g(the)g (global)g(variables)e FO(r)k FU(and)e FO(t)h FU(that)e(de-)440 2919 y(scribes)i(the)g(number)g(of)g(r)o(eplications)g(and)f(the)i (time)f(between)g(r)o(epublishing,)g(r)o(espec-)440 3034 y(tively)-9 b(.)440 3272 y FQ(Finding)20 b(the)f(closest)h(nodes)f(to)i (a)f(key)440 3352 y SDict begin H.S end 440 3352 a 440 3352 a SDict begin 13.79993 H.A end 440 3352 a 440 3352 a SDict begin [ /View [/XYZ H.V] /Dest (section*.8) cvn H.B /DEST pdfmark end 440 3352 a 93 x FU(When)25 b(\002nding)g(the)g FO(r)h FU(closest)f(nodes)g(to)g(a)f(given)g(key)i FO(k)q FU(,)e(the)h(r)o(equesting)g(node)i FO(B)e FU(\002rst)440 3560 y(looks)d(up)f(the)g FO(r)i FU(closest)f(nodes)f(curr)o(ently)g (known)h(to)i FO(B)q FU(.)c(These)h(nodes)h(ar)o(e)d(bound)i(to)h(a)440 3674 y(list)f(of)g FO(curr)o(ently)g(closest)g(nodes)p FU(.)568 3789 y FO(B)f FU(iteratively)f(asks)h(each)g(of)g(nodes)g(in)h FO(curr)o(ently)e(closest)h(nodes)g FU(which)h FO(r)i FU(nodes)d(they)440 3904 y(believe)j(is)g(the)g(closest)h(node.)f(If)g (one)g(of)h(the)f(nodes)g(r)o(eceived)f(in)h(the)h(answer)f(is)g (closer)440 4018 y(than)17 b(one)h(of)f(the)g(nodes)g(in)g FO(curr)o(ently)g(closest)g(nodes)g FU(this)h(new)f(node)g(is)h (included)f(instead)440 4133 y(of)32 b(the)h(node)g(the)f(furthest)h (away)-9 b(.)31 b(This)i(pr)o(ocess)f(r)o(epeats)f(until)i(no)h(closer) e(nodes)h(is)440 4247 y(r)o(eceived.)648 4431 y()g FQ(Closest)d(\()p FU(key)j FO(k)q FQ(\))f FU(=)g(\223)440 4501 y SDict begin H.S end 440 4501 a 440 4501 a SDict begin 13.79993 H.A end 440 4501 a 440 4501 a SDict begin [ /View [/XYZ H.V] /Dest (Item.4) cvn H.B /DEST pdfmark end 440 4501 a 726 4606 a FU(1.)41 b(Build)21 b(a)f(list)h FO(curr)o(ently)g(closest)g(nodes)g FU(with)g FO(r)i FU(nodes)f(closest)f(to)h FO(k)440 4643 y SDict begin H.S end 440 4643 a 440 4643 a SDict begin 13.79993 H.A end 440 4643 a 440 4643 a SDict begin [ /View [/XYZ H.V] /Dest (Item.5) cvn H.B /DEST pdfmark end 440 4643 a 726 4748 a FU(2.)41 b(For)21 b(each)f(node)26 b FO(A)c FU(in)g FO(curr)o(ently)e(closest)h(nodes)440 4799 y SDict begin H.S end 440 4799 a 440 4799 a SDict begin 13.79993 H.A end 440 4799 a 440 4799 a SDict begin [ /View [/XYZ H.V] /Dest (Item.6) cvn H.B /DEST pdfmark end 440 4799 a 847 4890 a FU(\(a\))40 b(Send)21 b(the)g(pr)o(otocol)g(primitive)i FT(FI)t(N)t(D)i(C)t(L)t(O)t(S)t(E)t(S)t(T)g FU(\()s FO(k)s FU(\))e(to)j FO(A)440 4928 y SDict begin H.S end 440 4928 a 440 4928 a SDict begin 13.79993 H.A end 440 4928 a 440 4928 a SDict begin [ /View [/XYZ H.V] /Dest (Item.7) cvn H.B /DEST pdfmark end 440 4928 a 843 5019 a FU(\(b\))40 b(If)28 b(one)h(of)g(the)f(nodes)h(r)o(eceived)e(in)h(the)h(answer)f(is)h (closer)g(than)985 5133 y(a)c(node)f(in)h FO(curr)o(ently)g(closest)f (nodes)h FU(r)o(eplace)e(the)i(node)f(with)i(the)985 5248 y(one)c(the)f(furthest)f(away)g(and)h(go)g(to)g(step)g(2.)440 5285 y SDict begin H.S end 440 5285 a 440 5285 a SDict begin 13.79993 H.A end 440 5285 a 440 5285 a SDict begin [ /View [/XYZ H.V] /Dest (Item.8) cvn H.B /DEST pdfmark end 440 5285 a 726 5390 a FU(3.)41 b(r)o(eturn)20 b FO(curr)o(ently)h(closest)g (nodes)p FU(\224)1831 5662 y(21)p eop end %%Page: 22 24 TeXDict begin 22 23 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FQ(Joining)20 b(the)g(network)440 611 y SDict begin H.S end 440 611 a 440 611 a SDict begin 13.79993 H.A end 440 611 a 440 611 a SDict begin [ /View [/XYZ H.V] /Dest (section*.9) cvn H.B /DEST pdfmark end 440 611 a 93 x FU(The)28 b(r)o(equir)o(ement)f(for)h(joining)i(the)e(network)g(is)h(a)e(known)i (node)k FO(A)c FU(in)g(the)f(network,)440 819 y(and)20 b(the)h(following)h(steps:)648 1016 y FQ(Join)e(\()p FU(a)g(known)i(node)k FO(A)q FQ(\))21 b FU(=)g(\223)440 1085 y SDict begin H.S end 440 1085 a 440 1085 a SDict begin 13.79993 H.A end 440 1085 a 440 1085 a SDict begin [ /View [/XYZ H.V] /Dest (Item.9) cvn H.B /DEST pdfmark end 440 1085 a 726 1197 a FU(1.)41 b(The)19 b(joining)i(node)h FO(B)e FU(uses)f(Algorithm)h(Closest\()q FO(k)2459 1213 y FB(B)2503 1197 y FU(\))e(at)24 b FO(A)c FU(to)f(\002nd)h(the)830 1312 y(closest)i(nodes)f(to)g(itself.)440 1330 y SDict begin H.S end 440 1330 a 440 1330 a SDict begin 13.79993 H.A end 440 1330 a 440 1330 a SDict begin [ /View [/XYZ H.V] /Dest (Item.10) cvn H.B /DEST pdfmark end 440 1330 a 726 1460 a FU(2.)41 b(Refr)o(esh)20 b(the)h(r)o(outing)g(table)g(accor)o (ding)f(to)h(Section)2518 1462 y SDict begin H.S end 2518 1462 a -2 x FU(2.2.3)2684 1402 y SDict begin H.R end 2684 1402 a 2684 1460 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.2.3) cvn H.B /ANN pdfmark end 2684 1460 a FU(.\224)565 1657 y(After)e(each)h(query)h(the)g(view)g(of)j FO(B)d FU(expands,)f(and)g(can)h(be)f(summarised)h(as:)565 1855 y FI(\017)41 b FU(1st)20 b(view)h(is)g(the)g(know)h(node)i FO(B)q FU(.)565 2036 y FI(\017)41 b FU(2nd)20 b(view)h(is)g(the)g (closest)g(nodes)g(to)j FO(B)565 2217 y FI(\017)41 b FU(3r)o(d)19 b(and)h(\002nal)h(view)g(is)g(the)g(view)g(of)g(the)f (complete)h(network)440 2458 y FQ(Republishing)440 2538 y SDict begin H.S end 440 2538 a 440 2538 a SDict begin 13.79993 H.A end 440 2538 a 440 2538 a SDict begin [ /View [/XYZ H.V] /Dest (section*.10) cvn H.B /DEST pdfmark end 440 2538 a 93 x FU(A)30 b(\002le)g(block)h(is)g(r)o(epublished)e(every)i FO(t)g FU(minutes)h(to)e(compensate)h(for)f(nodes)g(failing.)440 2746 y(This)22 b(aids)e(in)i(ensuring)g(that)f(at)g(least)g FO(r)i FU(closest)f(nodes)f(stor)o(e)g(the)g(block.)h(Republishing)440 2860 y(a)e(block)h(with)h(key)g FO(k)1105 2878 y FB(b)1160 2860 y FU(amounts)f(to)g(performing)g(the)g(following)h(steps:)648 3058 y FQ(Republish)c(\(\))i FU(=)h(\223)440 3129 y SDict begin H.S end 440 3129 a 440 3129 a SDict begin 13.79993 H.A end 440 3129 a 440 3129 a SDict begin [ /View [/XYZ H.V] /Dest (Item.11) cvn H.B /DEST pdfmark end 440 3129 a 726 3239 a FU(1.)41 b(Find)21 b(the)g FO(r)i FU(closest)f(nodes)f(by)g (using)g(Algorithm)h(Closest\()q FO(k)2794 3256 y FB(b)2828 3239 y FU(\).)440 3295 y SDict begin H.S end 440 3295 a 440 3295 a SDict begin 13.79993 H.A end 440 3295 a 440 3295 a SDict begin [ /View [/XYZ H.V] /Dest (Item.12) cvn H.B /DEST pdfmark end 440 3295 a 847 3387 a FU(\(a\))40 b(Send)21 b(a)h FT(R)t(E)t(P)t(L)t(I)t(C)t(A)o(T)t(I)t(O)t(N)k(O)t(FF)t(E)t(R)f FU(\()s FO(k)2090 3404 y FB(b)2126 3387 y FU(\))e(to)e(the)g FO(r)i FU(nodes.)440 3422 y SDict begin H.S end 440 3422 a 440 3422 a SDict begin 13.79993 H.A end 440 3422 a 440 3422 a SDict begin [ /View [/XYZ H.V] /Dest (Item.13) cvn H.B /DEST pdfmark end 440 3422 a 726 3534 a FU(2.)41 b(If)27 b(a)f(node)32 b FO(A)c FU(r)o(eceives)e(a)g(r)o(eplication)g(of)o(fer)g (of)h(block)g(key)h FO(k)2817 3552 y FB(b)2878 3534 y FU(and)e(it)830 3649 y(does)j(not)g(stor)o(e)g(that)g(block,)g(it)g (sends)g(a)h FT(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)j(B)t(L)t(O)t(C)t(K)g FU(\()s FO(k)2930 3667 y FB(b)2966 3649 y FU(\))d(to)830 3763 y(whom)22 b(it)f(r)o(eceived)e(the)i(of)o(fer)f(fr)o(om.\224)440 3961 y(Hence)26 b FO(A)21 b FU(now)h(stor)o(es)f(the)g(block)h FO(k)1596 3979 y FB(b)1651 3961 y FU(thus)f(ful\002lling)h(the)f(r)o (eplication)f(of)o(fer)-6 b(.)565 4076 y(T)e(o)18 b(avoid)g(sending)h (too)g(many)g(r)o(eplication)f(of)o(fer)f(messages,)h(when)h(a)f(block) h(r)o(epub-)440 4190 y(lish)k(is)f(due)g(the)g(node)g(checks)g(if)g (any)g(other)g(blocks)g(ar)o(e)f(also)h(due)g(and)f(cr)o(eates)f(a)i (list)h FO(l)3271 4208 y FB(k)440 4305 y FU(containing)g(the)f(block)g (keys.)f(It)h(then)g(sends)g(a)f(r)o(eplication)g(of)o(fer)f(using)25 b FT(R)t(E)t(P)t(L)t(I)t(C)t(A)o(T)t(I)t(O)t(N)442 4419 y(O)t(FF)t(E)t(R)g FU(\()s FO(l)746 4437 y FB(b)782 4419 y FU(\))d(to)f(its)g FO(r)j FU(closest)d(nodes.)565 4534 y(The)27 b(worst)g(case)g(scenario)g(is)g(that)g(the)g FO(r)j FU(nodes)d(ar)o(e)f(very)g(closely)i(located)f(in)g(the)440 4648 y(hash)g(space)f(and)h(fail)f(simultaneously)-9 b(,)28 b(which)g(means)f(that)g(they)g(ar)o(e)f(the)h(only)h(ones)440 4763 y(storing)19 b(the)e(blocks.)h(If)f(this)i(happens)e(befor)o(e)g (any)g(of)h(the)f(nodes)h(have)f(r)o(epublished)g(the)440 4878 y(blocks,)j(the)g(blocks)g(ar)o(e)f(unavailable)g(until)h(any)g (of)g(the)f(nodes)i(r)o(e-enters)d(the)i(network.)1831 5662 y(22)p eop end %%Page: 23 25 TeXDict begin 23 24 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.23) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (section.2.3) cvn H.B /DEST pdfmark end 440 448 a 87 x FL(2.3)119 b(File)30 b(system)440 739 y FU(The)25 b(interface)e(of)i(the)f(\002le)h(system)h(component)f(has)g(means)g (of)f(opening)i(and)e(closing)440 853 y(the)16 b(\002le)g(and)f(the)h (operations)g FN(seek\(bytes,)f(r)o(elative,)g(forwar)o(d\))p FU(,)e FN(r)o(ead\(bytes\))p FU(,)h FN(write\(buf)o(fer\))p FU(,)440 968 y FN(symlink\(name\))p FU(,)23 b FN(r)o(emove\(\))32 b FU(and)23 b FN(makedir\(name\))p FU(,)e(that)i(work)h(with)g(dir)o (ectories)e(and)440 1083 y(sequential)f(\002les)g(named)g(by)g(unique)g (paths.)g(The)f(task)h(of)g(the)g(\002le)g(system)g(component)440 1197 y(is)e(to)g(map)f(this)h(into)h(keyed)e(blocks)h(that)g(can)f(be)g (stor)o(ed)g(in)h(the)g(distributed)f(hash)h(table.)565 1312 y(Files)28 b(ar)o(e)f(keyed)h(on)g(their)h(complete)f(paths,)g (including)h(the)f(\002le)h(name)f(itself.)g(T)-8 b(o)440 1426 y(lookup)23 b(the)g(\002le)g(with)g(the)g(\002le)f(path)29 b FO(p)q FU(,)21 b(the)i(hash)f(function)28 b FO(H)d FU(is)e(applied)f(to)h(yield)f(the)440 1541 y(key)32 b FO(H)t FE(\()7 b FO(p)r FE(\))q FU(.)27 b(This)h(key)g(is)g(used)f (to)h(r)o(etrieve)e(a)h FO(\002le)h(identi\002er)g(block)g FU(that)f(contains)i(some)440 1655 y(house-keeping)f(information)h(and) f(a)f(\002le)h(identi\002er)g(that)g(must)g(be)g(unique)g(for)g(each) 440 1770 y(\002le)21 b(and)f(for)h(each)f(version)h(of)g(the)g(\002le.) 565 1885 y(Keys)27 b(for)g(the)g(blocks)g(with)h(the)f(actual)f (contents)i(of)f(a)f(\002le)h(ar)o(e)e(obtained)i(by)g(con-)440 1999 y(catenating)d(the)g(block)g(number)h(with)f(the)h(\002le)f (identi\002er)g(and)f(hashing)i(the)f(r)o(esult,)g(so)440 2114 y(the)e(key)f(for)h(the)f FO(i)r FU('th)h(contents)h(block)f(of)f (the)h(\002le)g(with)g(identi\002er)33 b FO(f)h FU(is)23 b FO(k)2803 2131 y FB(f)10 b FC(,)q FB(i)2894 2114 y FE(=)29 b FO(H)t FE(\()13 b FO(f)f(i)s FE(\))q FU(.)23 b(A)440 2228 y(\002le)31 b FO(f)611 2243 y FC(S)667 2228 y FU(smaller)19 b(than)j FO(B)d FU(bytes)g(simply)h(consists)g(of)f(a)f (single)h(partial)f(block,)h(keyed)h FO(k)3182 2246 y FB(f)3203 2259 y Fm(S)3232 2246 y FC(,1)3284 2228 y FU(,)440 2343 y(wher)o(eas)d(a)h(lar)o(ge)f(\002le)30 b FO(f)1194 2358 y FC(L)1255 2343 y FU(is)19 b(split)f(up)h(into)g(a)e(number)i(of) f(full-sized)f(blocks,)i(keyed)f FO(k)3177 2360 y FB(f)3198 2373 y Fm(L)3232 2360 y FC(,1)3284 2343 y FU(,)441 2457 y FO(k)489 2475 y FB(f)510 2488 y Fm(L)544 2475 y FC(,2)595 2457 y FU(,)j(.)12 b(.)g(.)g(,)22 b FO(k)827 2475 y FB(f)848 2488 y Fm(L)881 2475 y FC(,)q FB(n)r Fo(\000)q FC(1)1041 2457 y FU(and)e(a)h(partial)e(block)j(with)f(the)g(r)o(emainder)-6 b(,)20 b FO(k)2537 2475 y FB(f)2558 2488 y Fm(L)2592 2475 y FC(,)q FB(n)2648 2457 y FU(.)927 3266 y @beginspecial 91 @llx 587 @lly 467 @urx 721 @ury 2267 @rwi @setspecial %%BeginDocument: design/images/file-structure.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: file-structure.dvi %%BoundingBox: 91 587 467 721 %%DocumentFonts: Palatino-Roman PazoMath-Italic Palatino-Italic PazoMath %%+ CMR10 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o file-structure.eps %+ file-structure.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.13:1445 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: f7b6d320.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 % cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8 % cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10 % cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10 % /TeXf7b6d320Encoding [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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: 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 0 /.notdef put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueID 5000793 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 7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3C8578EF9A20A0E06E 4F7ADDAF0E7D1E182D115BF1AD931977325AD391E72E2B13CC108E3726C11099 E2000623188AAAC9F3E233EB253BDD8B0A4759A66A113E066238B0086AC1B634 5ABFF90E4B5ED3FA69C22541981B2BFC9710AEF6B50A8BB53431C7B4D380D721 639E005D6B4688EE16BFF48443E7C9E5FB5BC5883E271CB034289232A0694CCE 12A5A2637485FB47BC281A2129EDC23D8091FB4F93A6B82E666703E6A2816BBA EA4D74E605325F713552A653349310EA0929FA02D1F9ED57DE58E1928E0CA31D 070A4C7036ED071AC3F6429C76912FCB605A98A3307024A00AFE54D463628836 E6098757CD50E1D40FA54D41BC2FDC30F5CC9042E5D704D1712FC0A4B907A61A 3FBC6271BEA1021043E2C35E830D2C44E1A54ABA687535A0E1CB727BB7C902D2 5DF97D44FB85C8397F1C1E14C11DBFD563A205F1E248F250549CD4689F361C71 948EBFD988B5B8B8FB1D7051F234E4EA5C9CB798D99C17715D0799F60FEAC8A8 8589452E8932A9E7844E816B3D0F18F1D542D05600CAD430E88F8298961D8FDA A630894C90D2505F9AD25F555F8C56518921AD52B39BEB69F9AD1ED552B3CF16 13CCADBC2933A59AF6CF80F892EFDB0D4E5CD766094AEF332323CCFFAFA32FA0 07BFEB8985C120D623C4E2323F6E4A3FE0086795C3043B988701ADD821404586 0CD3E21E107A25D661BCB329DB6A7083217B438F19710CA275E336AD37E90D10 4CF8E8410E0311297D1E1DCEB8C8A662C6735DA66E9CD443 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258437 52099154 1000 8000 8000 (file-structure.dvi) @start /Fa 214[517 517 40[{ TeXf7b6d320Encoding ReEncodeFont }2 1328.35 /CMR10 rf /Fc 143[664 6[369 2[369 29[1033 72[{ TeXBase1Encoding ReEncodeFont }4 1328.35 /Palatino-Italic rf /Fe 139[433 563 3[725 773 1[387 2[387 2[442 636 812 590 1[664 18[1104 1257 6[739 17[664 664 664 664 664 2[442 45[{ TeXBase1Encoding ReEncodeFont }20 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 14657 a @beginspecial 0 @llx 0 @lly 372 @urx 132 @ury 3720 @rwi @setspecial %%BeginDocument: file-structure.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: file-structure.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Mon Oct 13 14:45:10 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 372 132 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 132 moveto 0 0 lineto 372 0 lineto 372 132 lineto closepath clip newpath -21.3 255.9 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 7.500 slw n 3420 2070 m 3735 2070 l 3735 2340 l 3420 2340 l cp gs col0 s gr % Polyline n 4590 2610 m 4905 2610 l 4905 2880 l 4590 2880 l cp gs col0 s gr % Polyline n 3960 3015 m 4275 3015 l 4275 3285 l 3960 3285 l cp gs col0 s gr % Polyline n 3645 3690 m 3960 3690 l 3960 3960 l 3645 3960 l cp gs col0 s gr % Polyline n 4050 2160 m 4365 2160 l 4365 2430 l 4050 2430 l cp gs col0 s gr % Ellipse n 666 3413 320 320 0 360 DrawEllipse gs col0 s gr % Polyline gs clippath 2085 3450 m 2085 3390 l 1934 3390 l 2054 3420 l 1934 3450 l cp eoclip n 990 3420 m 2070 3420 l gs col0 s gr gr % arrowhead n 1934 3450 m 2054 3420 l 1934 3390 l 1934 3450 l cp gs 0.00 setgray ef gr col0 s % Polyline n 2430 3240 m 2430 3600 l gs col0 s gr % Polyline n 2070 3240 m 2835 3240 l 2835 3600 l 2070 3600 l cp gs col0 s gr % Polyline n 2610 3465 m 3645 3825 l gs col0 s gr % Polyline n 2610 3465 m 4725 3555 l gs col0 s gr % Polyline n 2610 3465 m 3960 3195 l gs col0 s gr % Polyline n 2610 3465 m 4590 2745 l gs col0 s gr % Polyline n 2610 3465 m 3420 2205 l gs col0 s gr % Polyline n 4725 3420 m 5040 3420 l 5040 3690 l 4725 3690 l cp gs col0 s gr % Polyline [60] 0 sd n 3660 2565 m 3555 2565 3555 3945 105 arcto 4 {pop} repeat 3555 4050 5025 4050 105 arcto 4 {pop} repeat 5130 4050 5130 2670 105 arcto 4 {pop} repeat 5130 2565 3660 2565 105 arcto 4 {pop} repeat cp gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 3390 1980 m 3285 1980 3285 2384 105 arcto 4 {pop} repeat 3285 2489 4382 2489 105 arcto 4 {pop} repeat 4487 2489 4487 2085 105 arcto 4 {pop} repeat 4487 1980 3390 1980 105 arcto 4 {pop} repeat cp gs col0 s gr [] 0 sd % Polyline n 2610 3465 m 4050 2295 l gs col0 s gr % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 0 0 0 TeXcolorrgb 24368 2149 a Fe(-1)p Black 0 0 0 TeXcolorrgb 32760 5887 a(2)p Black 0 0 0 TeXcolorrgb 28350 8721 a(1)p Black 0 0 0 TeXcolorrgb 26145 13446 a(3)p Black 0 0 0 TeXcolorrgb 28980 2737 a(0)p Black 0 0 0 TeXcolorrgb 8420 9533 a Fc(H)70 b Fa(\()105 b Fc(p)34 b Fa(\))p Black 0 0 0 TeXcolorrgb 15282 10793 a Fe(f)p Black 0 0 0 TeXcolorrgb 33663 11430 a(4)p Black 0 0 0 TeXcolorrgb 31976 1344 a(Meta)332 b(data)p Black 0 0 0 TeXcolorrgb 36386 5754 a(File)f(contents)p Black 0 0 0 TeXcolorrgb 2998 10478 a(Node)p Black 0 0 0 TeXcolorrgb 17869 5439 a Fc(H)70 b Fa(\()205 b Fc(f)f(i)43 b Fa(\))p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 3454 a FK(Figur)o(e)h(2.8:)871 3349 y SDict begin H.S end 871 3349 a 871 3349 a SDict begin H.R end 871 3349 a 871 3349 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.8) cvn H.B /DEST pdfmark end 871 3349 a 105 x FK(The)h(structur)o(e)g(of)g(a)h(\002le.)f(First)g(the)g(hash)h (of)g(the)f(\002le)h(path,)k(H)t Ft(\()6 b FK(p)r Ft(\))q FK(,)22 b(is)g(used)g(to)g(r)o(etrieve)511 3559 y(the)d(\002le)g (identi\002er)29 b(f)h(which)19 b(is)g(then)f(used)h(to)g(to)f(r)o (etrieve)h(the)g(\002le)g(meta)g(data)g(and)g(contents.)565 3758 y FU(File)k(meta)g(data)f(such)i(as)f(size,)f(time)i(stamps)f(and) g(access)g(contr)o(ol)g(lists)i(ar)o(e)c(placed)440 3873 y(in)k(the)h(blocks)g FO(k)985 3891 y FB(f)10 b FC(,0)1064 3873 y FU(,)25 b FO(k)1158 3891 y FB(f)10 b FC(,)q Fo(\000)q FC(1)1287 3873 y FU(,)26 b FO(k)1382 3891 y FB(f)10 b FC(,)q Fo(\000)q FC(2)1511 3873 y FU(,)25 b(.)12 b(.)g(.)g(for)25 b(the)g(\002le)37 b FO(f)12 b FU(.)25 b(W)-5 b(ith)26 b(this)g(scheme,)f(user)o(-de\002ned)440 3988 y(extended)20 b(meta)g(data)g(can)g(be)h(added)e(easily)-9 b(.)20 b(Figur)o(e)2193 3990 y SDict begin H.S end 2193 3990 a -2 x FU(2.8)2297 3930 y SDict begin H.R end 2297 3930 a 2297 3988 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.8) cvn H.B /ANN pdfmark end 2297 3988 a 21 w FU(illustrates)h(the)g(str)o(uctur)o(e.) 565 4102 y(An)27 b(immediate)g(consequence)h(of)f(the)g(indir)o(ect)g (appr)o(oach)f(is)i(that)f(when)h(a)e(\002le)i(is)440 4217 y(r)o(enamed)e(or)h(moved)h(fr)o(om)k FO(p)c FU(to)33 b FO(p)1610 4187 y Fo(0)1659 4217 y FU(r)o(esulting)27 b(in)h(a)f(dif)o(fer)o(ent)e(hash,)31 b FO(H)t FE(\()7 b FO(p)2900 4187 y Fo(0)2923 4217 y FE(\))37 b FI(6)r FE(=)j FO(H)t FE(\()7 b FO(p)r FE(\))q FU(,)440 4331 y(only)24 b(the)e(\002le)h(identi\002er)f(block)h(must)h(be)e(moved)g (to)h(other)g(nodes,)g(and)f(not)h(the)g(entir)o(e)440 4446 y(\002le.)i(Fr)o(om)f(a)h(r)o(obustness)g(point)g(of)g(view)-8 b(,)25 b(the)g(most)g(useful)g(pr)o(operty)f(of)g(the)h(indir)o(ec-)440 4560 y(tion)h(is)g(that)g(two)g(nodes)g(can)f(start)h(distributing)g (the)g(blocks)g(of)f(a)g(\002le)h(and)f(then)h(only)440 4675 y(r)o(eplace)20 b(the)h(\002le)h(identi\002er)f(block)h(when)g (they)g(ar)o(e)e(\002nished.)i(As)f(will)h(be)f(explained)g(in)440 4790 y(Section)729 4792 y SDict begin H.S end 729 4792 a -2 x FU(3.2)833 4732 y SDict begin H.R end 833 4732 a 833 4790 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.2) cvn H.B /ANN pdfmark end 833 4790 a FU(,)j(this)h(ensur)o(es)f (that)g(the)g(contents)i(of)e(one)g(node's)h(version)g(of)f(a)g(\002le) g(is)h(not)440 4904 y(interleaved)20 b(with)h(the)g(contents)h(of)f (another)f(node's)i(version.)565 5019 y(Dir)o(ectories)h(have)g(a)g (special)g(bit)h(set)g(in)g(the)f(house-keeping)i(information)f(in)g (their)440 5133 y(\002le)29 b(identi\002er)g(block)g(but)g(ar)o(e)f (otherwise)h(just)h(or)o(dinary)e(\002les)h(that)g(contain)g(a)g(list)g (of)440 5248 y(dir)o(ectory)c(and)h(\002le)g(names.)f(No)i(other)f (meta)f(data)g(about)h(the)g(\002les)g(ar)o(e)e(stor)o(ed)i(in)g(the) 440 5362 y(dir)o(ectory)20 b(\002le)g(lists.)h(The)g(name)f(listings)i (ar)o(e)d(only)j(needed)d(for)i(listing)g(the)g(contents)g(of)1831 5662 y(23)p eop end %%Page: 24 26 TeXDict begin 24 25 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.24) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(dir)o(ectories)21 b(or)i(for)e(building)i(a)f(tr)o(ee)f(of)h (the)g(\002le)g(system)h(\(for)f(sear)o(ching)g(or)g(displaying)440 646 y(purposes\))d(and)f(not)i(for)e(or)o(dinary)g(\002le)h(r)o(eading) f(since)h(\002les)h(ar)o(e)d(looked)i(up)g(dir)o(ectly)f(by)440 760 y(hashing)k(their)f(paths.)1163 1746 y @beginspecial 91 @llx 559 @lly 359 @urx 722 @ury 1700 @rwi @setspecial %%BeginDocument: design/images/dir-file-sym.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: dir-file-sym.dvi %%BoundingBox: 91 559 359 722 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o dir-file-sym.eps dir-file-sym.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.15:1522 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 %! 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 %! 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 TeXDict begin 40258437 52099154 1000 8000 8000 (dir-file-sym.dvi) @start /Fa 139[433 563 525 2[725 773 1173 387 2[387 1[739 1[636 812 590 1[664 12[814 697 5[1257 6[739 1[1028 18[664 664 45[804 2[{ TeXBase1Encoding ReEncodeFont }21 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin end %%EndSetup 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 0 a SDict begin H.S end 0 0 a Black Black 0 0 a SDict begin H.R end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end 0 0 a Black 0 0 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end 0 0 a 0 0 a SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark end 0 0 a 0 0 a SDict begin H.S end 0 0 a 0 0 a SDict begin 13.79993 H.A end 0 0 a 0 0 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end 0 0 a 2214 17807 a @beginspecial 0 @llx 0 @lly 264 @urx 161 @ury 2640 @rwi @setspecial %%BeginDocument: dir-file-sym.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: dir-file-sym.fig %%Creator: fig2dev Version 3.2 Patchlevel 4 %%CreationDate: Wed Oct 15 15:22:37 2003 %%For: lau@night (Lau Bech Lauritzen,,,) %%BoundingBox: 0 0 264 161 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 161 moveto 0 0 lineto 264 0 lineto 264 161 lineto closepath clip newpath -104.1 258.7 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 7.500 slw n 2070 2790 m 2070 3105 l gs col0 s gr % Polyline n 1665 2790 m 3555 2790 l 3555 3105 l 1665 3105 l cp gs col0 s gr % Polyline n 2070 1575 m 2070 1890 l gs col0 s gr % Polyline n 1665 1575 m 3555 1575 l 3555 1890 l 1665 1890 l cp gs col0 s gr % Polyline n 4320 1620 m 4635 1620 l 4635 1890 l 4320 1890 l cp gs col0 s gr % Polyline n 3375 1755 m 4320 2340 l gs col0 s gr % Polyline n 3375 1755 m 4321 1751 l gs col0 s gr % Polyline [60] 0 sd n 4455 1960 m 4455 2205 l gs col0 s gr [] 0 sd % Polyline n 4320 2205 m 4635 2205 l 4635 2475 l 4320 2475 l cp gs col0 s gr % Polyline n 2070 2340 m 2070 2655 l gs col0 s gr % Polyline n 1665 2340 m 3555 2340 l 3555 2655 l 1665 2655 l cp gs col0 s gr % Polyline n 4320 3195 m 4635 3195 l 4635 3465 l 4320 3465 l cp gs col0 s gr % Polyline n 4320 2835 m 4635 2835 l 4635 3105 l 4320 3105 l cp gs col0 s gr % Polyline n 3375 2970 m 4320 2970 l gs col0 s gr % Polyline n 3375 2970 m 4320 3915 l gs col0 s gr % Polyline n 3375 2970 m 4321 3326 l gs col0 s gr % Polyline [60] 0 sd n 4455 3535 m 4455 3780 l gs col0 s gr [] 0 sd % Polyline n 4320 3780 m 4635 3780 l 4635 4050 l 4320 4050 l cp gs col0 s gr % Polyline [60] 0 sd n 4335 3150 m 4230 3150 4230 3990 105 arcto 4 {pop} repeat 4230 4095 4620 4095 105 arcto 4 {pop} repeat 4725 4095 4725 3255 105 arcto 4 {pop} repeat 4725 3150 4335 3150 105 arcto 4 {pop} repeat cp gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4335 2790 m 4230 2790 4230 3045 105 arcto 4 {pop} repeat 4230 3150 4620 3150 105 arcto 4 {pop} repeat 4725 3150 4725 2895 105 arcto 4 {pop} repeat 4725 2790 4335 2790 105 arcto 4 {pop} repeat cp gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4335 1575 m 4230 1575 4230 2415 105 arcto 4 {pop} repeat 4230 2520 4620 2520 105 arcto 4 {pop} repeat 4725 2520 4725 1680 105 arcto 4 {pop} repeat 4725 1575 4335 1575 105 arcto 4 {pop} repeat cp gs col0 s gr [] 0 sd % here ends figure; $F2psEnd rs showpage %%EndDocument @endspecial 0 0 0 TeXcolorrgb 3243 10163 a Fa(F)p Black 0 0 0 TeXcolorrgb 3243 1659 a(D)p Black 0 0 0 TeXcolorrgb 21666 1792 a(1)p Black 0 0 0 TeXcolorrgb 21512 5754 a(n)p Black 0 0 0 TeXcolorrgb 3243 7014 a(S)p Black 0 0 0 TeXcolorrgb 1823 w(T)-122 b(ar)-24 b(get)332 b(\002le)f(name)p Black 0 0 0 TeXcolorrgb 5763 1659 a(File)g(identi\002er)p Black 0 0 0 TeXcolorrgb 5763 10163 a(File)g(identi\002er)p Black 0 0 0 TeXcolorrgb 21666 12816 a(1)p Black 0 0 0 TeXcolorrgb 21666 10296 a(0)p Black 0 0 0 TeXcolorrgb 24347 9533 a(Meta)h(data)p Black 0 0 0 TeXcolorrgb 24347 12683 a(File)f(contents)p Black 0 0 0 TeXcolorrgb 21512 16778 a(n)p Black 0 0 0 TeXcolorrgb 24347 1344 a(File)g(list)p Black Black Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 1934 a FK(Figur)o(e)g(2.9:)871 1829 y SDict begin H.S end 871 1829 a 871 1829 a SDict begin H.R end 871 1829 a 871 1829 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.9) cvn H.B /DEST pdfmark end 871 1829 a 105 x FK(Illustration)g(of)i(\002le)f(identi\002er)h(blocks)g(for)f (dir)o(ectories,)h(symbolic)f(links)g(and)h(ordinary)511 2039 y(\002les.)565 2250 y FU(Symbolic)c(links)h(can)e(be)h (implemented)g(by)g(setting)h(a)e(special)h(bit)g(in)g(the)g(\002le)g (identi-)440 2365 y(\002er)h(block)g(and)g(letting)h(the)f(contents)h (of)f(it)g(be)g(the)g(path)g(of)g(the)g(\002le)g(that)g(the)g(link)h(r) o(efers)440 2479 y(to.)g(Figur)o(e)812 2481 y SDict begin H.S end 812 2481 a -2 x FU(2.9)916 2422 y SDict begin H.R end 916 2422 a 916 2479 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.9) cvn H.B /ANN pdfmark end 916 2479 a 21 w FU(summarises)g(the)g(thr)o(ee)f(possible)h(types)g(of)g (\002les.)440 2629 y SDict begin H.S end 440 2629 a 440 2629 a SDict begin 13.79993 H.A end 440 2629 a 440 2629 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.3.1) cvn H.B /DEST pdfmark end 440 2629 a 110 x FJ(2.3.1)99 b(Algorithms)440 2912 y FU(This)27 b(sections)g(gives)g(a)f(description)h(of)f(the)h (high-level)f(algorithms)i(associated)d(with)440 3027 y(the)16 b(\002le)g(system's)h(operation.)e(Each)h(algorithm)g(works)h (on)f(an)g(input)g(\002le)g(path,)g(denoted)446 3141 y FO(p)q FU(.)440 3383 y FQ(Creating)j(a)h(\002le)440 3462 y SDict begin H.S end 440 3462 a 440 3462 a SDict begin 13.79993 H.A end 440 3462 a 440 3462 a SDict begin [ /View [/XYZ H.V] /Dest (section*.11) cvn H.B /DEST pdfmark end 440 3462 a 94 x FU(Cr)o(eating)29 b(and)f(saving)i(a)f(new)h(\002le)41 b FO(f)h FU(with)30 b(full)f(path)36 b FO(p)29 b FU(involves)h(the)g (following)h(se-)440 3670 y(quence)21 b(of)g(steps:)648 3868 y FQ(Create)e(\()p FU(\002le)h(path)27 b FO(p)q FQ(\))19 b FU(=)i(\223)440 3941 y SDict begin H.S end 440 3941 a 440 3941 a SDict begin 13.79993 H.A end 440 3941 a 440 3941 a SDict begin [ /View [/XYZ H.V] /Dest (Item.14) cvn H.B /DEST pdfmark end 440 3941 a 726 4049 a FU(1.)41 b(Generate)20 b(the)h(\002le)g(identi\002er)g(block)h FO(b)2079 4066 y FB(f)2110 4049 y FU(.)440 4100 y SDict begin H.S end 440 4100 a 440 4100 a SDict begin 13.79993 H.A end 440 4100 a 440 4100 a SDict begin [ /View [/XYZ H.V] /Dest (Item.15) cvn H.B /DEST pdfmark end 440 4100 a 726 4197 a FU(2.)42 b FO(b)878 4214 y FB(f)939 4197 y FU(consists)30 b(of)f(a)g(\002le)g(type)g(\003ag,)g(\002le)g(size,)g(meta)f(data)g (size,)h(a)f(ran-)830 4311 y(dom)h(bit)f(sequence,)g(modi\002ed)g(date) f(and)h(cr)o(eation)f(date.)h FO(k)2835 4329 y FB(f)2894 4311 y FU(is)h(the)830 4426 y(identi\002er)21 b(key)g(which)h(consists) h(of)e(a)f(hash)i(of)f(the)g(random)g(number)-6 b(,)830 4540 y(version)21 b(and)g(date.)440 4559 y SDict begin H.S end 440 4559 a 440 4559 a SDict begin 13.79993 H.A end 440 4559 a 440 4559 a SDict begin [ /View [/XYZ H.V] /Dest (Item.16) cvn H.B /DEST pdfmark end 440 4559 a 726 4688 a FU(3.)41 b(Split)27 b(the)g(meta)g(data)f(\002le)h(into)i FO(n)1927 4700 y FB(m)2008 4688 y FU(and)e(for)f(each)h(meta)f(data)g (block)831 4803 y FO(m)898 4819 y FB(i)941 4803 y FU(=)c FO(m)1079 4818 y FC(0)1114 4803 y FU(..)q FO(m)1224 4818 y FB(n)r Fo(\000)q FC(1)1345 4803 y FU(:)440 4856 y SDict begin H.S end 440 4856 a 440 4856 a SDict begin 13.79993 H.A end 440 4856 a 440 4856 a SDict begin [ /View [/XYZ H.V] /Dest (Item.17) cvn H.B /DEST pdfmark end 440 4856 a 847 4950 a FU(\(a\))40 b(Find)18 b(the)g FO(r)i FU(closest)e(nodes)g(by)g (using)g(Algorithm)g(Closest\()q FO(k)2931 4968 y FB(f)10 b FC(,)q Fo(\000)r FB(i)3048 4950 y FU(\).)440 5002 y SDict begin H.S end 440 5002 a 440 5002 a SDict begin 13.79993 H.A end 440 5002 a 440 5002 a SDict begin [ /View [/XYZ H.V] /Dest (Item.18) cvn H.B /DEST pdfmark end 440 5002 a 843 5082 a FU(\(b\))40 b(Stor)o(e)22 b(the)g(block)h(in)g(each)e(of)h (the)h FO(r)h FU(nodes)f(using)i FT(S)t(T)s(O)t(R)t(E)i(B)t(L)t(O)t(C)t (K)987 5196 y FU(\()s FO(k)1066 5214 y FB(f)10 b FC(,)q Fo(\000)r FB(i)1185 5196 y FU(,)s FO(m)1276 5212 y FB(i)1300 5196 y FU(\))440 5248 y SDict begin H.S end 440 5248 a 440 5248 a SDict begin 13.79993 H.A end 440 5248 a 440 5248 a SDict begin [ /View [/XYZ H.V] /Dest (Item.19) cvn H.B /DEST pdfmark end 440 5248 a 726 5344 a FU(4.)41 b(Split)21 b(the)g(\002le)g(into)h FO(n)1513 5362 y FB(f)1565 5344 y FU(and)f(for)f(each)g(\002le)h(block)h FO(b)2434 5360 y FB(i)2478 5344 y FU(=)g FO(b)2588 5359 y FC(1)2624 5344 y FU(..)q FO(b)2706 5356 y FB(n)2745 5344 y FU(:)1831 5662 y(24)p eop end %%Page: 25 27 TeXDict begin 25 26 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.25) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (Item.20) cvn H.B /DEST pdfmark end 440 448 a 847 531 a FU(\(a\))40 b(Find)22 b(the)e FO(r)k FU(closest)d(nodes)g (by)g(using)h(Algorithm)f(Closest\()q FO(k)2957 549 y FB(f)10 b FC(,)q FB(i)3023 531 y FU(\).)440 582 y SDict begin H.S end 440 582 a 440 582 a SDict begin 13.79993 H.A end 440 582 a 440 582 a SDict begin [ /View [/XYZ H.V] /Dest (Item.21) cvn H.B /DEST pdfmark end 440 582 a 843 661 a FU(\(b\))40 b(Stor)o(e)22 b(the)g(block)h(in)g(each)e(of)h(the)h FO(r)h FU(nodes)f(using)i FT(S)t(T)s(O)t(R)t(E)i(B)t(L)t(O)t(C)t(K)987 776 y FU(\()s FO(k)1066 794 y FB(f)10 b FC(,)q FB(i)1134 776 y FU(,)s FO(b)1197 792 y FB(i)1222 776 y FU(\))r(.)440 827 y SDict begin H.S end 440 827 a 440 827 a SDict begin 13.79993 H.A end 440 827 a 440 827 a SDict begin [ /View [/XYZ H.V] /Dest (Item.22) cvn H.B /DEST pdfmark end 440 827 a 726 922 a FU(5.)41 b(Stor)o(e)20 b(the)h(\002le)g(identi\002er)g (block)h FO(b)1934 939 y FB(f)1986 922 y FU(using)h FT(S)t(T)s(O)t(R)t (E)i(B)t(L)t(O)t(C)t(K)g FU(\()6 b FO(H)t FE(\()h FO(p)r FE(\))s FU(,)s FO(b)3027 939 y FB(f)3060 922 y FU(\))440 972 y SDict begin H.S end 440 972 a 440 972 a SDict begin 13.79993 H.A end 440 972 a 440 972 a SDict begin [ /View [/XYZ H.V] /Dest (Item.23) cvn H.B /DEST pdfmark end 440 972 a 726 1068 a FU(6.)41 b(Add)26 b(a)f(line)i(with)g(the)f(\002le)h(name) f(without)i(the)e(path)g(to)h(the)f(appr)o(o-)830 1182 y(priate)20 b(dir)o(ectory)g(\002le.\224)440 1422 y FQ(Looking)g(up)g (and)g(retrieving)f(a)i(\002le)440 1502 y SDict begin H.S end 440 1502 a 440 1502 a SDict begin 13.79993 H.A end 440 1502 a 440 1502 a SDict begin [ /View [/XYZ H.V] /Dest (section*.12) cvn H.B /DEST pdfmark end 440 1502 a 93 x FU(Looking)27 b(up)f(and)f(r)o(etrieving)g(a)h(\002le)38 b FO(f)g FU(with)26 b(full)g(path)32 b FO(p)26 b FU(involves)g(the)g(following)i(se-)440 1710 y(quence)21 b(of)g(steps:)648 1902 y()21 b FQ(Retrieve)e(\()p FU(path)26 b FO(p)q FQ(\))19 b FU(=)i(\223)440 1974 y SDict begin H.S end 440 1974 a 440 1974 a SDict begin 13.79993 H.A end 440 1974 a 440 1974 a SDict begin [ /View [/XYZ H.V] /Dest (Item.24) cvn H.B /DEST pdfmark end 440 1974 a 726 2081 a FU(1.)41 b(Retrieve)21 b(the)g(\002le)f(identi\002er)h(block)h FO(b)2052 2099 y FB(f)2104 2081 y FU(by)f(using)j FT(G)t(E)t(T)g FU(\()6 b FO(H)t FE(\()h FO(p)r FE(\))s FU(\))r(.)440 2132 y SDict begin H.S end 440 2132 a 440 2132 a SDict begin 13.79993 H.A end 440 2132 a 440 2132 a SDict begin [ /View [/XYZ H.V] /Dest (Item.25) cvn H.B /DEST pdfmark end 440 2132 a 726 2227 a FU(2.)41 b(Retrieve)22 b(the)g(\002le)h(meta)e(data)h FO(m)1894 2245 y FB(f)1947 2227 y FU(by)g(r)o(equesting)h(blocks)g FO(k)2776 2245 y FB(f)10 b FC(,0)2855 2227 y FU(,)23 b FO(k)2947 2245 y FB(f)10 b FC(,)q Fo(\000)q FC(1)3076 2227 y FU(,)831 2341 y FO(k)879 2359 y FB(f)g FC(,)q Fo(\000)q FC(2)1008 2341 y FU(,)21 b(.)12 b(.)g(.)g(using)24 b FT(G)t(E)t(T)g FU(\()s FO(k)1620 2359 y FB(f)10 b FC(,)q FB(i)1688 2341 y FU(\))r(,)20 b(see)h(Figur)o(e)2153 2343 y SDict begin H.S end 2153 2343 a -2 x FU(2.10)2298 2284 y SDict begin H.R end 2298 2284 a 2298 2341 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.10) cvn H.B /ANN pdfmark end 2298 2341 a FU(.)440 2392 y SDict begin H.S end 440 2392 a 440 2392 a SDict begin 13.79993 H.A end 440 2392 a 440 2392 a SDict begin [ /View [/XYZ H.V] /Dest (Item.26) cvn H.B /DEST pdfmark end 440 2392 a 726 2487 a FU(3.)41 b(Retrieve)21 b(the)f(r)o(emaining)h(blocks)g(of)g(the)g (\002le)f(sequentially)i(by)f(incr)o(e-)830 2602 y(menting)h(the)f (block)g(number)g(\226)f(starting)h(with)i FO(k)2428 2619 y FB(f)10 b FC(,1)2506 2602 y FU(.)440 2668 y SDict begin H.S end 440 2668 a 440 2668 a SDict begin 13.79993 H.A end 440 2668 a 440 2668 a SDict begin [ /View [/XYZ H.V] /Dest (Item.27) cvn H.B /DEST pdfmark end 440 2668 a 847 2747 a FU(\(a\))40 b(Use)23 b FO(k)1196 2765 y FB(f)10 b FC(,)q FB(i)1284 2747 y FU(to)23 b(\002nd)f(the)h(closest)f(node)h (and)e(query)i(it)f(for)g(the)g(block)985 2862 y(assigned)f(to)g(that)g (key)-9 b(.)440 2901 y SDict begin H.S end 440 2901 a 440 2901 a SDict begin 13.79993 H.A end 440 2901 a 440 2901 a SDict begin [ /View [/XYZ H.V] /Dest (Item.28) cvn H.B /DEST pdfmark end 440 2901 a 726 3008 a FU(4.)41 b(The)27 b(\002le)f(is)h(completed)f(once)h(the)f(block)h(number)f(r)o(eaches)f (the)i(\002le-)830 3122 y(size)21 b(divided)f(by)g(the)h(block)g (size.\224)1223 4126 y @beginspecial 91 @llx 594 @lly 296 @urx 721 @ury 1559 @rwi @setspecial %%BeginDocument: design/images/file-retrieval.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: file-retrieval.dvi %%BoundingBox: 91 594 296 721 %%DocumentFonts: PazoMath-Italic Palatino-Italic Palatino-Roman PazoMath %%+ CMR10 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o file-retrieval.eps %+ file-retrieval.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.10.08:1236 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 %%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 40 /parenleft put dup 41 /parenright put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueXX 5000793 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202 3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5 2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12 cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e 4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618 99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8 ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b 1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af 154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e 44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40 a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e 3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7 dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552 315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3 62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5 87f907572b8354a5c3165eea7e8b2ba4e4f834663063e9a307d8ff6f8b61acd8 799bc105cddcf8f95f2160494fc01f7ec3effb95de571b8d7f27a2f9ad203c09 cd4cffd98a119a507460e7fef5c910405e877aa1f8da68d1272e59e3adccef8d 82e692b3229926fbe621080b7831a2ee248948dd3ae55082a939f02875a7a0eb 7ae7d50270a576fbdfde7109c670f51be75b80b6fe3045ea50e2121025dfefb3 ab99e4f56a608203a590a3fa689226e987f47895adf25323b1c076cbcfa620a1 b77324af15a99391a4e54a138d66aec0ec4f5ea328bc810f45fb212d947a5036 0947be2d72b92d39fb7c33fbf4c959ccf721cbdb6af3da8d226da1db0a201603 043d0d15172ee82db01eac68d48645d63b6cd0a4cafc0e9b7e69241a5a88b142 3e5e566bb30702cdbb1c5f9e2ba742bd24584eccc470d13ee46aa5f2a5e7ce06 50c1b4d2dc52f16a6dd8a8631252930a31a85a5fd5bc3f2ea7297a9240a51f6f aae2f02196785f954434f9b9d9c5cbecb4feb3bf325c5f1f6c091cc98665e710 0d5f64c55c80801137201266e8fece745022e63b0fb2b6a1fb664f7f53713ad5 887fbd18a8bb7655b15b894ff59c6d61760577f44d5a7af5f8b756cc2b590214 b050328b79df60240d202e7451fbabbffaf6ab4773bceeb87c58fe260dd4852d efcc2de24870e845c48aa133963ed06e567a6651c8407ce13bb661a5f5ea9b16 7b793fabd289209bc716f588143d3d70788c506ca4232425e289406ca33ba2dc b07e7fd3a4945a7dd29bf7fd990d5f2ba62fcef759ecf4f261de13e010185b6f f1ec76c1310784 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258437 52099154 1000 8000 8000 (file-retrieval.dvi) @start /Fa 214[517 517 40[{}2 1328.35 /CMR10 rf /Fc 153[277 102[{TeXBase1Encoding ReEncodeFont}1 996.264 /Palatino-Italic rf /Fe 205[498 498 4[249 44[{TeXBase1Encoding ReEncodeFont}3 996.264 /Palatino-Roman rf /Ff 143[664 4[590 8[615 25[1033 72[{TeXBase1Encoding ReEncodeFont}4 1328.35 /Palatino-Italic rf /Fg 187[1028 942 812 1033 65[{TeXBase1Encoding ReEncodeFont}4 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 13880 a @beginspecial 0 @llx 0 @lly 203 @urx 125 @ury 2030 @rwi @setspecial %%BeginDocument: file-retrieval.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: file-retrieval.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Wed Oct 8 12:36:46 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 203 125 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 125 moveto 0 0 lineto 203 0 lineto 203 125 lineto closepath clip newpath -115.6 276.5 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % 7.500 slw [15 45] 45 sd 1 slc % Ellipse n 5132 3484 161 161 0 360 DrawEllipse gs col0 s gr [] 0 sd [15 45] 45 sd % Ellipse n 4727 4338 161 161 0 360 DrawEllipse gs col0 s gr [] 0 sd % Ellipse n 4277 3588 161 161 0 360 DrawEllipse gs col0 s gr % Ellipse n 2095 3335 161 161 0 360 DrawEllipse gs col0 s gr % Ellipse n 3810 4440 161 161 0 360 DrawEllipse gs col0 s gr % Ellipse n 4160 2696 161 161 0 360 DrawEllipse gs col0 s gr % Polyline 0 slc [15 45] 45 sd n 4447 3592 m 4980 3495 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4650 4185 m 4354 3730 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4777 4177 m 5090 3642 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4247 3425 m 4174 2861 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3887 4301 m 4192 3727 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd gs clippath 4129 3576 m 4136 3516 l 4052 3507 l 4109 3544 l 4045 3566 l cp eoclip n 2257 3322 m 4118 3545 l gs col0 s gr gr [] 0 sd % arrowhead n 4045 3566 m 4109 3544 l 4052 3507 l 4045 3566 l cp gs 0.00 setgray ef gr col0 s % Polyline [60] 0 sd gs clippath 2238 3350 m 2231 3410 l 2315 3419 l 2259 3383 l 2322 3360 l cp eoclip n 4117 3600 m 2250 3382 l gs col0 s gr gr [] 0 sd % arrowhead n 2322 3360 m 2259 3383 l 2315 3419 l 2322 3360 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2220 3237 m 2236 3294 l 2316 3272 l 2251 3260 l 2300 3214 l cp eoclip n 4007 2759 m 2243 3262 l gs col0 s gr gr % arrowhead n 2300 3214 m 2251 3260 l 2316 3272 l 2300 3214 l cp gs 0.00 setgray ef gr col0 s % Polyline [60] 0 sd gs clippath 3671 4371 m 3702 4320 l 3631 4276 l 3667 4333 l 3600 4327 l cp eoclip n 2220 3453 m 3674 4338 l gs col0 s gr gr [] 0 sd % arrowhead n 3600 4327 m 3667 4333 l 3631 4276 l 3600 4327 l cp gs 0.00 setgray ef gr col0 s % Polyline [60] 0 sd gs clippath 2157 3452 m 2126 3503 l 2197 3547 l 2162 3491 l 2228 3496 l cp eoclip n 3655 4393 m 2155 3486 l gs col0 s gr gr [] 0 sd % arrowhead n 2228 3496 m 2162 3491 l 2197 3547 l 2228 3496 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 4020 2723 m 4004 2666 l 3924 2688 l 3990 2701 l 3940 2746 l cp eoclip n 2206 3211 m 3998 2699 l gs col0 s gr gr % arrowhead n 3940 2746 m 3990 2701 l 3924 2688 l 3940 2746 l cp gs 0.00 setgray ef gr col0 s % Polyline [15 45] 45 sd n 4305 2763 m 5032 3347 l gs col0 s gr [] 0 sd $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 11858 7794 a Ff(b)12470 8032 y Fe(1)p Black 0 0 0 TeXcolorrgb 2817 5680 a Fg(A)p Black 0 0 0 TeXcolorrgb 16722 1480 a(B)p Black 0 0 0 TeXcolorrgb 17430 7434 a(C)p Black 0 0 0 TeXcolorrgb 14300 13087 a(D)p Black 0 0 0 TeXcolorrgb 11911 3653 a Ff(b)12665 3927 y Fc(f)p Black 0 0 0 TeXcolorrgb 10191 9460 a Ff(k)10960 9734 y Fc(f)147 b Fe(,2)p Black 0 0 0 TeXcolorrgb 11391 5593 a Ff(k)12160 5867 y Fc(f)g Fe(,1)p Black 0 0 0 TeXcolorrgb 8644 10994 a Ff(b)9256 11217 y Fe(2)p Black 0 0 0 TeXcolorrgb 8941 2153 a Ff(H)70 b Fa(\()105 b Ff(p)34 b Fa(\))p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 4314 a FK(Figur)o(e)i(2.10:)910 4209 y SDict begin H.S end 910 4209 a 910 4209 a SDict begin H.R end 910 4209 a 910 4209 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.10) cvn H.B /DEST pdfmark end 910 4209 a 105 x FK(Example)i(of)g(a)f(\002le)h(r)o(etrieval)f(wher)o(e)30 b(A)25 b(fetches)g(the)f(\002rst)h(block)h(b)2708 4329 y Fw(1)2765 4314 y FK(fr)o(om)f(C)h(and)e(the)511 4419 y(second)19 b(block)h(b)937 4433 y Fw(2)988 4419 y FK(fr)o(om)h(D)r(.) 440 4754 y FQ(Updating)e(a)h(\002le)440 4834 y SDict begin H.S end 440 4834 a 440 4834 a SDict begin 13.79993 H.A end 440 4834 a 440 4834 a SDict begin [ /View [/XYZ H.V] /Dest (section*.13) cvn H.B /DEST pdfmark end 440 4834 a 93 x FU(Updating)j(an)h (existing)g(\002le)36 b FO(f)f FU(with)25 b(a)e(\002le)h(identi\002er)g FO(k)2245 4945 y FB(old)2350 4927 y FU(involves)h(the)f(following)h (se-)440 5042 y(quence)c(of)g(steps:)648 5234 y FQ(Update)d(\()p FU(\002le)j(path)26 b FO(p)q FQ(\))20 b FU(=)h(\223)440 5306 y SDict begin H.S end 440 5306 a 440 5306 a SDict begin 13.79993 H.A end 440 5306 a 440 5306 a SDict begin [ /View [/XYZ H.V] /Dest (Item.29) cvn H.B /DEST pdfmark end 440 5306 a 726 5413 a FU(1.)41 b(Generate)20 b(a)h(new)g(\002le)g (identi\002er)g FO(k)1965 5431 y FB(f)2017 5413 y FU(and)g(its)g(block) h FO(b)2553 5431 y FB(f)2584 5413 y FU(.)1831 5662 y(25)p eop end %%Page: 26 28 TeXDict begin 26 27 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.26) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (Item.30) cvn H.B /DEST pdfmark end 440 448 a 726 531 a FU(2.)c FO(b)878 549 y FB(f)939 531 y FU(consists)30 b(of)f(a)g(\002le)g(type)g(\003ag,)g(\002le)g(size,)g(meta)f(data)g (size,)h(a)f(ran-)830 646 y(dom)h(bit)f(sequence,)g(modi\002ed)g(date)f (and)h(cr)o(eation)f(date.)h FO(k)2835 664 y FB(f)2894 646 y FU(is)h(the)830 760 y(identi\002er)21 b(key)g(which)h(consists)h (of)e(a)f(hash)i(of)f(the)g(random)g(number)-6 b(,)830 875 y(version)21 b(and)g(date.)440 888 y SDict begin H.S end 440 888 a 440 888 a SDict begin 13.79993 H.A end 440 888 a 440 888 a SDict begin [ /View [/XYZ H.V] /Dest (Item.31) cvn H.B /DEST pdfmark end 440 888 a 726 1012 a FU(3.)41 b(Split)27 b(the)g(meta)g(data)f(\002le)h(into)i FO(n)1927 1024 y FB(m)2008 1012 y FU(and)e(for)f(each)h(meta)f(data)g(block)831 1126 y FO(m)898 1143 y FB(i)941 1126 y FU(=)c FO(m)1079 1141 y FC(0)1114 1126 y FU(..)q FO(m)1224 1142 y FB(n)r Fo(\000)q FC(1)1345 1126 y FU(:)440 1170 y SDict begin H.S end 440 1170 a 440 1170 a SDict begin 13.79993 H.A end 440 1170 a 440 1170 a SDict begin [ /View [/XYZ H.V] /Dest (Item.32) cvn H.B /DEST pdfmark end 440 1170 a 847 1263 a FU(\(a\))40 b(Find)18 b(the)g FO(r)i FU(closest)e(nodes)g(by)g(using) g(Algorithm)g(Closest\()q FO(k)2931 1281 y FB(f)10 b FC(,)q Fo(\000)r FB(i)3048 1263 y FU(\).)440 1310 y SDict begin H.S end 440 1310 a 440 1310 a SDict begin 13.79993 H.A end 440 1310 a 440 1310 a SDict begin [ /View [/XYZ H.V] /Dest (Item.33) cvn H.B /DEST pdfmark end 440 1310 a 843 1389 a FU(\(b\))40 b(Stor)o(e)22 b(the)g(block)h(in)g(each)e(of)h(the)h FO(r)h FU(nodes)f(using)i FT(S)t(T)s(O)t(R)t(E)i(B)t(L)t(O)t(C)t(K)987 1504 y FU(\()s FO(k)1066 1521 y FB(f)10 b FC(,)q Fo(\000)r FB(i)1185 1504 y FU(,)s FO(m)1276 1520 y FB(i)1300 1504 y FU(\))440 1550 y SDict begin H.S end 440 1550 a 440 1550 a SDict begin 13.79993 H.A end 440 1550 a 440 1550 a SDict begin [ /View [/XYZ H.V] /Dest (Item.34) cvn H.B /DEST pdfmark end 440 1550 a 726 1641 a FU(4.)41 b(Split)21 b(the)g(\002le)g(into) h FO(n)1513 1658 y FB(f)1565 1641 y FU(and)f(for)f(each)g(\002le)h (block)h FO(b)2434 1657 y FB(i)2478 1641 y FU(=)g FO(b)2588 1656 y FC(1)2624 1641 y FU(..)q FO(b)2706 1653 y FB(n)2745 1641 y FU(:)440 1698 y SDict begin H.S end 440 1698 a 440 1698 a SDict begin 13.79993 H.A end 440 1698 a 440 1698 a SDict begin [ /View [/XYZ H.V] /Dest (Item.35) cvn H.B /DEST pdfmark end 440 1698 a 847 1777 a FU(\(a\))40 b(Find)22 b(the)e FO(r)k FU(closest)d(nodes)g(by)g(using)h(Algorithm)f(Closest\() q FO(k)2957 1795 y FB(f)10 b FC(,)q FB(i)3023 1777 y FU(\).)440 1824 y SDict begin H.S end 440 1824 a 440 1824 a SDict begin 13.79993 H.A end 440 1824 a 440 1824 a SDict begin [ /View [/XYZ H.V] /Dest (Item.36) cvn H.B /DEST pdfmark end 440 1824 a 843 1903 a FU(\(b\))40 b(Stor)o(e)22 b(the)g(block)h(in)g(each)e(of)h(the)h FO(r)h FU(nodes)f(using)i FT(S)t(T)s(O)t(R)t(E)i(B)t(L)t(O)t(C)t(K)987 2018 y FU(\()s FO(k)1066 2035 y FB(f)10 b FC(,)q FB(i)1134 2018 y FU(,)s FO(b)1197 2034 y FB(i)1222 2018 y FU(\))440 2064 y SDict begin H.S end 440 2064 a 440 2064 a SDict begin 13.79993 H.A end 440 2064 a 440 2064 a SDict begin [ /View [/XYZ H.V] /Dest (Item.37) cvn H.B /DEST pdfmark end 440 2064 a 726 2155 a FU(5.)41 b(Stor)o(e)15 b(the)h(new)g(\002le)g(identi\002er)g (block)h FO(b)2082 2172 y FB(f)2129 2155 y FU(using)i FT(S)t(T)s(O)t(R)t(E)h(B)t(L)t(O)t(C)t(K)f FU(\()6 b FO(H)t FE(\()h FO(p)r FE(\))s FU(,)s FO(b)3155 2172 y FB(f)3188 2155 y FU(\))r(.\224)565 2325 y(Using)23 b(this)g(algorithm,) g(it)g(is)g(very)f(unlikely)i(for)e(two)h(or)g(mor)o(e)f(clients)h (updating)g(a)440 2440 y(\002le)g(at)g(the)h(same)f(time)g(to)h(leave)e (the)h(system)h(in)g(an)f(inconsistent)i(state,)e(since)g(for)g(that) 440 2554 y(to)g(happen)f(the)g(random)g(IDs)h(would)g(have)e(to)i(be)f (the)g(same)g(number)-6 b(.)22 b(In)h(such)f(a)g(case,)440 2669 y(the)f(data)e(of)i(the)g(node)g(\002nishing)i(last)d(will)i(be)e (the)h(new)g(data.)565 2783 y(The)e(data)g(blocks)i(of)e(the)h(pr)o (evious)g(version)g(of)g(the)g(\002le)g(ar)o(e)f(left)g(as)h(garbage)e (for)i(the)440 2898 y(garbage)g(collector)h(to)g(clean)f(up.)440 3134 y FQ(Deleting)f(a)h(\002le)440 3213 y SDict begin H.S end 440 3213 a 440 3213 a SDict begin 13.79993 H.A end 440 3213 a 440 3213 a SDict begin [ /View [/XYZ H.V] /Dest (section*.14) cvn H.B /DEST pdfmark end 440 3213 a 94 x FU(Deleting)27 b(a)f(\002le)h(or)f(dir)o(ectory)g(with)h(full)g(path)32 b FO(p)27 b FU(is)g(done)f(using)i(the)e(following)i(algo-)440 3421 y(rithm.)648 3592 y FQ(Remove)19 b(\()p FU(path)27 b FO(p)q FQ(\))19 b FU(=)i(\223)440 3659 y SDict begin H.S end 440 3659 a 440 3659 a SDict begin 13.79993 H.A end 440 3659 a 440 3659 a SDict begin [ /View [/XYZ H.V] /Dest (Item.38) cvn H.B /DEST pdfmark end 440 3659 a 726 3762 a FU(1.)41 b(If)27 b FO(p)21 b FU(is)g(a)f(sequential)h(\002le)g(or)g (symbolic)h(link:)440 3807 y SDict begin H.S end 440 3807 a 440 3807 a SDict begin 13.79993 H.A end 440 3807 a 440 3807 a SDict begin [ /View [/XYZ H.V] /Dest (Item.39) cvn H.B /DEST pdfmark end 440 3807 a 847 3899 a FU(\(a\))40 b(Get)21 b(the)g(dir)o(ectory)f(list)i(containing)g(the)e(\002le.)440 3933 y SDict begin H.S end 440 3933 a 440 3933 a SDict begin 13.79993 H.A end 440 3933 a 440 3933 a SDict begin [ /View [/XYZ H.V] /Dest (Item.40) cvn H.B /DEST pdfmark end 440 3933 a 843 4024 a FU(\(b\))40 b(Remove)28 b FO(p)21 b FU(fr)o(om)f(the)h(dir)o(ectory)f(list.)440 4059 y SDict begin H.S end 440 4059 a 440 4059 a SDict begin 13.79993 H.A end 440 4059 a 440 4059 a SDict begin [ /View [/XYZ H.V] /Dest (Item.41) cvn H.B /DEST pdfmark end 440 4059 a 726 4161 a FU(2.)41 b(Else)27 b FO(p)21 b FU(is)g(a)f(dir)o(ectory:)440 4207 y SDict begin H.S end 440 4207 a 440 4207 a SDict begin 13.79993 H.A end 440 4207 a 440 4207 a SDict begin [ /View [/XYZ H.V] /Dest (Item.42) cvn H.B /DEST pdfmark end 440 4207 a 847 4298 a FU(\(a\))40 b(Get)21 b(the)g(dir)o(ectory)f(list)i (containing)g(the)e(dir)o(ectory)-9 b(.)440 4333 y SDict begin H.S end 440 4333 a 440 4333 a SDict begin 13.79993 H.A end 440 4333 a 440 4333 a SDict begin [ /View [/XYZ H.V] /Dest (Item.43) cvn H.B /DEST pdfmark end 440 4333 a 843 4424 a FU(\(b\))40 b(Remove)28 b FO(p)21 b FU(fr)o(om)f(the)h(dir)o (ectory)f(list.)440 4458 y SDict begin H.S end 440 4458 a 440 4458 a SDict begin 13.79993 H.A end 440 4458 a 440 4458 a SDict begin [ /View [/XYZ H.V] /Dest (Item.44) cvn H.B /DEST pdfmark end 440 4458 a 852 4550 a FU(\(c\))40 b(Recursively)18 b(r)o(un)h(down)f(the)g(dir)o(ectory)f(str)o(uctur)o(e)g(fr)o(om)g(the) h(po-)985 4664 y(sition)k(of)27 b FO(p)q FU(.)440 4698 y SDict begin H.S end 440 4698 a 440 4698 a SDict begin 13.79993 H.A end 440 4698 a 440 4698 a SDict begin [ /View [/XYZ H.V] /Dest (Item.45) cvn H.B /DEST pdfmark end 440 4698 a 838 4790 a FU(\(d\))40 b(While)21 b(doing)g(this,)g(delete)f(all)g (dir)o(ectories)g(and)g(\002les)h(fr)o(om)f(their)985 4904 y(associated)h(dir)o(ectory)-9 b(.\224)565 5069 y(This)22 b(pr)o(ocess)g(will)h(leave)f(the)g(blocks)h(of)f(each)g (\002le)h(in)f(the)h(system)g(for)f(the)g(garbage)440 5184 y(collector)30 b(to)h(deal)e(with.)h(The)g(r)o(eason)f(for)h(the)g (r)o(ecursive)f(deletion)h(of)g(entries)g(in)g(the)440 5298 y(deleted)i(dir)o(ectory)g(is)i(due)f(to)g(the)g(str)o(uctur)o(e)g (of)g(\002le)h(lookups)g(which)g(r)o(eply)e(on)i(the)440 5413 y(entries)21 b(of)g(a)f(dir)o(ectory)g(to)h(determine)f(if)h(the)g (\002le)g(exists.)1831 5662 y(26)p eop end %%Page: 27 29 TeXDict begin 27 28 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.27) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FQ(Renaming)19 b(and)h(moving)g(a)g(\002le)440 611 y SDict begin H.S end 440 611 a 440 611 a SDict begin 13.79993 H.A end 440 611 a 440 611 a SDict begin [ /View [/XYZ H.V] /Dest (section*.15) cvn H.B /DEST pdfmark end 440 611 a 93 x FU(Renaming)k(and)f(moving)h(\002les)g(in)g(the)f(system)h(is)g (very)e(convenient)j(due)d(to)i(the)f(str)o(uc-)440 819 y(tur)o(e)f(of)i(the)f(distributed)g(hash)g(table.)g(The)g(\002le)g (identi\002er)h(holds)g(the)f(necessary)g(infor)o(-)440 933 y(mation)j(to)g(\002nd)f(the)g(\002le)h(blocks)g(and)e(implicitly)j (holds)f(the)f(\002le)g(name)h(in)f(form)h(of)f(its)440 1048 y(hashed)c(block)g(key)-9 b(.)565 1163 y(Since)25 b(these)g(two)h(characteristics)f(ar)o(e)f(not)i(corr)o(elated,)e(it)i (is)f(possible)h(to)g(move)g(or)440 1277 y(r)o(ename)20 b(the)h(\002le)g(simply)g(by)g(generating)g(a)f(new)h(block)g(key)g (using)h(the)f(new)g(\002le)g(path.)440 1427 y SDict begin H.S end 440 1427 a 440 1427 a SDict begin 13.79993 H.A end 440 1427 a 440 1427 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.3.2) cvn H.B /DEST pdfmark end 440 1427 a 110 x FJ(2.3.2)99 b(Data)25 b(organisation)440 1710 y FU(Having)f(given)h(a)e(detailed)g (description)h(of)h(the)f(\002le)g(system,)h(we)f(continue)h(with)f (how)440 1825 y(\002les,)d(dir)o(ectories,)f(symbolic)h(links)h(ar)o(e) d(r)o(epr)o(esented)g(in)i(the)g(\002le)g(system.)565 1939 y(The)e(uniqueness)i(of)f(a)g(\002le)g(is)g(guaranteed)e(by)i (letting)h(the)f(\002le)g(identi\002er)f(consist)i(of)440 2054 y(the)f(cr)o(eation)f(date)g(of)h(the)g(\002le,)g(a)g(random)f (bit)i(sequence)f(and)f(a)h(time)g(stamp)g(when)g(last)440 2169 y(modi\002ed.)565 2283 y(The)c(\002le)h(system)h(utilises)f(thr)o (ee)f(dif)o(fer)o(ent)f(\002le)i(types,)f(namely)h(dir)o(ectories,)f (sequen-)440 2398 y(tial)33 b(\002les)g(and)f(symbolic)i(links.)f(Dir)o (ectories)f(and)h(sequential)g(\002les)g(shar)o(e)f(the)g(same)440 2512 y(identi\002er)c(block)f(str)o(uctur)o(e)g(illustrated)h(in)g (Figur)o(e)2157 2512 y SDict begin H.S end 2157 2512 a FU(2.11)2302 2455 y SDict begin H.R end 2302 2455 a 2302 2512 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.2.11) cvn H.B /ANN pdfmark end 2302 2512 a FU(.)f(The)h(random)f(number)-6 b(,)28 b(cr)o(e-)440 2627 y(ation)k(time)g(stamp)f(and)g (modi\002cation)i(time)f(stamp,)f(used)g(to)h(generate)f(the)g(identi-) 440 2741 y(\002er)21 b(key)-9 b(,)21 b(ensur)o(es)g(that)g(the)g (system)h(will)g(not)g(expr)o(ess)e(name)h(clashes)h(r)o(egar)o(ding)d (keys.)440 2856 y(Symbolic)34 b(links)g(vary)e(fr)o(om)h(dir)o (ectories)g(and)f(\002les)i(by)f(not)h(having)g(associated)e(\002le)440 2971 y(blocks)25 b(and)f(having)h(to)g(point)h(to)f(other)g (identi\002er)f(blocks.)h(An)g(in)g(depth)f(description)440 3085 y(of)d(the)g(\002les)g(is)g(found)g(below)-8 b(.)1045 3407 y @beginspecial 91 @llx 681 @lly 398 @urx 722 @ury 1984 @rwi @setspecial %%BeginDocument: design/images/ident-structure.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: ident-structure.dvi %%BoundingBox: 91 681 398 722 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o ident-structure.eps %+ ident-structure.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.04:1421 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (ident-structure.dvi) @start /Fa 138[667 361 1[437 2[604 644 977 3[322 2[369 530 676 1[612 553 14[739 4[1047 9[785 67[{TeXBase1Encoding ReEncodeFont} 15 1106.96 /Palatino-Roman rf /Fb 133[664 5[433 563 6[387 2[387 3[636 3[664 12[814 6[1257 6[739 13[664 6[664 49[{ TeXBase1Encoding ReEncodeFont}12 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 4249 a @beginspecial 0 @llx 0 @lly 305 @urx 39 @ury 3050 @rwi @setspecial %%BeginDocument: ident-structure.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: ident-structure.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Thu Dec 4 14:21:02 2003 %%For: lau@homer.cs.auc.dk (Lau Bech Lauritzen) %%BoundingBox: 0 0 305 39 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 39 moveto 0 0 lineto 305 0 lineto 305 39 lineto closepath clip newpath -143.8 185.6 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06299 0.06299 sc % % Fig objects follow % % Polyline 7.500 slw n 2655 2565 m 2655 2925 l gs col0 s gr % Polyline n 5220 2565 m 5220 2925 l gs col0 s gr % Polyline n 6165 2565 m 6165 2610 l 6165 2655 l 6165 2700 l 6165 2745 l 6165 2790 l 6165 2835 l 6165 2880 l 6165 2925 l gs col0 s gr % Polyline n 3510 2565 m 3510 2925 l gs col0 s gr % Polyline n 2295 2565 m 7110 2565 l 7110 2925 l 2295 2925 l cp gs col0 s gr % Polyline n 4365 2565 m 4365 2925 l gs col0 s gr % Polyline 15.000 slw n 2655 2565 m 5220 2565 l 5220 2925 l 2655 2925 l cp gs col0 s gr $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 2928 3465 a Fb(T)p Black 0 0 0 TeXcolorrgb 26274 w(Meta)332 b(size)p Black 0 0 0 TeXcolorrgb -12186 w(File)f(size)p Black 0 0 0 TeXcolorrgb 32221 945 a(8)p Black 0 0 0 TeXcolorrgb -7278 w(8)p Black 0 0 0 TeXcolorrgb -6964 w(8)p Black 0 0 0 TeXcolorrgb -6334 w(8)p Black 0 0 0 TeXcolorrgb -6648 w(8)p Black 0 0 0 TeXcolorrgb -5074 w(1)p Black 0 0 0 TeXcolorrgb 5448 3780 a Fa(number)p Black 0 0 0 TeXcolorrgb 5448 2835 a(Random)p Black 0 0 0 TeXcolorrgb 1791 w(Cr)-20 b(eation)p Black 0 0 0 TeXcolorrgb 11432 3780 a(time)p Black 0 0 0 TeXcolorrgb 3795 w(time)p Black 0 0 0 TeXcolorrgb 17417 2835 a(Modified)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 3595 a FK(Figur)o(e)21 b(2.11:)908 3490 y SDict begin H.S end 908 3490 a 908 3490 a SDict begin H.R end 908 3490 a 908 3490 a SDict begin [ /View [/XYZ H.V] /Dest (figure.2.11) cvn H.B /DEST pdfmark end 908 3490 a 105 x FK(The)g(structur)o(e)g(of)h(an)f(identi\002er)h(block)f(with)h (size)g(in)f(bytes.)g(Its)h(components)g(ar)o(e)f(\002le)511 3700 y(type,)i(a)g(random)f(number)-6 b(,)22 b(cr)o(eation)g(time,)h (modi\002cation)g(time,)f(\002le)h(size)f(and)h(meta)g(data)g(size.)f (The)511 3806 y(bold)c(box)h(r)o(epr)o(esents)g(the)f(components)i (used)e(to)h(generate)g(the)g(identi\002er)g(key)m(.)440 4165 y FQ(Directory)440 4245 y SDict begin H.S end 440 4245 a 440 4245 a SDict begin 13.79993 H.A end 440 4245 a 440 4245 a SDict begin [ /View [/XYZ H.V] /Dest (section*.16) cvn H.B /DEST pdfmark end 440 4245 a 93 x FU(A)33 b(dir)o(ectory)g (consists)j(of)e(an)f(identi\002er)h(block)g(which)h(r)o(efer)o(ences)d (to)i(a)f(number)h(of)440 4453 y(blocks)20 b(containing)g(the)g(dir)o (ectories,)e(\002les)h(and)g(symbolic)i(links)f(within)g(dir)o(ectory) -9 b(.)18 b(The)440 4567 y(number)25 b(of)g(blocks)h(is)f(determined)g (by)g(the)g(\002le)g(size)g(and)g(the)g(maximum)g(block)h(size.)440 4682 y(The)21 b(same)f(is)h(tr)o(ue)g(for)g(meta)f(data)g(blocks.)565 4796 y(The)29 b(dir)o(ectory)g(listings)h(consist)h(of)e(a)g(number)h (of)f(entries)h(delimited)f(by)g(a)g(new-)440 4911 y(line)j(character) -6 b(.)29 b(The)i(entries)h(ar)o(e)e(\002le)h(names)h(stripped)e(fr)o (om)h(the)h(path.)f(All)g(house-)440 5025 y(keeping)24 b(information,)h(such)g(as)f(security)g(and)g(time)g(stamps,)g(is)h (located)f(in)g(the)h(meta)440 5140 y(data)20 b(blocks.)1831 5662 y(27)p eop end %%Page: 28 30 TeXDict begin 28 29 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.28) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FQ(Sequential)17 b(\002le)440 611 y SDict begin H.S end 440 611 a 440 611 a SDict begin 13.79993 H.A end 440 611 a 440 611 a SDict begin [ /View [/XYZ H.V] /Dest (section*.17) cvn H.B /DEST pdfmark end 440 611 a 93 x FU(Sequential)22 b(blocks)g(consist)g(of)g(an)f(identi\002er)h(block)g(which)h(points)f (to)g(the)g(blocks)g(con-)440 819 y(taining)29 b(the)f(\002le)g (contents.)g(The)g(number)g(of)g(blocks)h(is)f(determined)f(by)h(the)h (\002le)f(size)440 933 y(and)20 b(the)h(maximum)g(block)h(size,)e(as)g (with)i(the)f(meta)f(data)g(blocks.)565 1048 y(The)g(data)g(blocks)h (contain)h(the)e(user)h(data.)440 1288 y FQ(Symbolic)f(link)440 1368 y SDict begin H.S end 440 1368 a 440 1368 a SDict begin 13.79993 H.A end 440 1368 a 440 1368 a SDict begin [ /View [/XYZ H.V] /Dest (section*.18) cvn H.B /DEST pdfmark end 440 1368 a 93 x FU(A)28 b(symbolic)i(link)f(is)g(an)f(identi\002er)g(block) h(that)g(basically)f(r)o(efer)o(ence)e(other)i(identi\002er)440 1576 y(blocks)d(which)g(may)f(either)g(be)g(other)h(symbolic)g(links)g (or)g(plain)f(sequential)h(\002les.)f(The)440 1691 y(identi\002er)j (block)g(contains)g(a)g(\002le)g(type)f(\003ag,)h(as)f(in)i(dir)o (ectories)e(and)g(sequential)h(\002les,)440 1805 y(and)17 b(the)h(tar)o(get's)f(\002le)h(path.)f(The)h(tar)o(geted)e(\002le)i (path)f(contained)h(in)g(the)g(symbolic)h(link's)440 1920 y(identi\002er)31 b(block)g(can)f(obtain)h(the)g(maximum)g(length) g(of)g(the)f(maximum)i(block)f(size)440 2034 y(minus)22 b(the)f(\002le)g(type)f(\003ag's)h(size.)440 2193 y SDict begin H.S end 440 2193 a 440 2193 a SDict begin 13.79993 H.A end 440 2193 a 440 2193 a SDict begin [ /View [/XYZ H.V] /Dest (section.2.4) cvn H.B /DEST pdfmark end 440 2193 a 149 x FL(2.4)119 b(Garbage)29 b(collector)440 2546 y FU(The)22 b(distributed)f(hash)h(table)f(and)g(\002le)h(system)g(components)h (leaves)e FO(garbage)g FU(in)h(terms)440 2660 y(of)28 b(blocks)h(that)g(ar)o(e)e(not)i(needed)f(anymor)o(e.)g(These)g(blocks) h(must)g(be)f(r)o(emoved)g(fr)o(om)440 2775 y(the)23 b(system)h(because)e(they)i(waste)e(r)o(esour)o(ce,)g(not)i(only)g (disk)f(space)f(but)h(also)h(network)440 2889 y(bandwidth)d(due)f(to)h (r)o(epublishing.)565 3004 y(The)k(following)i(sections)g(explain)e (why)h(the)g(garbage)e(occurs)i(and)f(how)i(it)e(can)h(be)440 3119 y(safely)20 b(r)o(emoved.)440 3268 y SDict begin H.S end 440 3268 a 440 3268 a SDict begin 13.79993 H.A end 440 3268 a 440 3268 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.1) cvn H.B /DEST pdfmark end 440 3268 a 110 x FJ(2.4.1)99 b(The)25 b(garbage)440 3551 y FU(The)c(garbage)e(that)i(may)g(occur)f (is:)565 3729 y FI(\017)41 b FU(Blocks)23 b(of)g(a)f(\002le)h(that)f (is)i(not)f(in)g(any)g(dir)o(ectory)-9 b(.)22 b(This)h(could)g(be)f (because)g(the)h(\002le)648 3844 y(has)j(been)h(deleted,)e(or)i(it)f (could)h(be)g(because)e(the)i(node)g(writing)g(the)g(\002le)g(never)648 3958 y(completed)d(the)g(write)h(so)g(that)f(the)h(\002le)g(name)f(was) g(not)h(inserted)g(into)g(the)g(r)o(ele-)648 4073 y(vant)20 b(dir)o(ectory)-9 b(.)565 4252 y FI(\017)41 b FU(Blocks)30 b(of)h(an)f(old)h(version)g(of)f(a)g(\002le.)g(Because)g(of)g(the)g (\002le)h(update)e(algorithm)648 4367 y(in)24 b(Section)1034 4369 y SDict begin H.S end 1034 4369 a -2 x FU(2.3.1)1200 4309 y SDict begin H.R end 1200 4309 a 1200 4367 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.3.1) cvn H.B /ANN pdfmark end 1200 4367 a FU(,)g(the)g(blocks)h(of)g(old)f(\002le)h (versions)g(ar)o(e)e(never)h(overwritten)g(but)648 4481 y(simply)d(ignor)o(ed.)565 4661 y FI(\017)41 b FU(Blocks)25 b(fr)o(om)g(a)g(version)h(of)g(a)f(\002le)g(that)h(is)f(in)h (con\003ict)h(with)f(another)f(version)h(of)648 4775 y(the)c(same)g(\002le.)f(These)h(con\003icts)i(may)e(arise)f(when)i (multiple)f(nodes)h(ar)o(e)d(writing)648 4890 y(the)g(same)f(\002le)h (simultaneously)-9 b(,)21 b(or)f(during)g(a)f FO(network)h(split)f FU(wher)o(e)h(the)g(network)648 5004 y(is)f(temporarily)g(partitioned)h (into)g(two)g(or)f(mor)o(e)g(subnetworks.)h(One)g(of)f(the)h(ver)o(-) 648 5119 y(sions)i(must)f(be)f(chosen)i(and)e(the)h(other)g(r)o (emoved.)565 5298 y FI(\017)41 b FU(Blocks)27 b(stor)o(ed)f(by)i(nodes) f(that)g(ar)o(e)e(no)j(longer)g(among)f(the)h FO(r)h FU(closest)f(nodes)f(to)648 5413 y(the)20 b(blocks.)i(This)f(happens)g (when)g(new)g(nodes)g(join)h(the)f(system.)1831 5662 y(28)p eop end %%Page: 29 31 TeXDict begin 29 30 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.29) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 565 531 a FU(Some)21 b(of)h(this)h(garbage)e(could)h(be)f(alleviated)g(by)h (letting)g(the)g(distributed)g(hash)g(ta-)440 646 y(ble)j(and)f(\002le) h(system)h(algorithms)g(clean)e(up)h(after)f(themselves;)h(for)f (instance,)h(the)g(\002le)440 760 y(update)d(algorithm)i(could)f (actively)g(r)o(emove)g(the)g(old)g(blocks.)h(But)f(pushing)h(the)f (com-)440 875 y(plexity)e(to)g(the)f(garbage)g(collector)h(makes)f(the) h(algorithms)g(much)g(simpler:)g(without)h(a)440 990 y(garbage)15 b(collector)-6 b(,)15 b(a)h(transaction)g(pr)o(otocol)g (with)g(explicit)g(commit)h(operations)f(would)440 1104 y(be)24 b(needed)f(to)h(ensur)o(e)f(that)h(the)g(system)h(cleans)e(up)h (after)f(algorithms)i(that)f(terminate)440 1219 y(without)e (\002nishing)h(\(e.g.)c(due)i(to)g(a)f(crash\).)440 1367 y SDict begin H.S end 440 1367 a 440 1367 a SDict begin 13.79993 H.A end 440 1367 a 440 1367 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.2) cvn H.B /DEST pdfmark end 440 1367 a 110 x FJ(2.4.2)99 b(Collecting)26 b(garbage)440 1650 y FU(W)-8 b(e)33 b(distribute)f(the)h(r)o(esponsibility)h(of)e (collecting)i(the)f(garbage)e(and)h(let)h(each)f(node)440 1764 y(examine)21 b(its)h(own)g(blocks)g(to)g(avoid)f(a)g(central)g (bottleneck.)g(For)h(each)f(block)i FO(b)2993 1781 y FB(i)3015 1764 y FU(,)e(a)g(node)440 1879 y(should)h(do)e(the)h (following:)440 1929 y SDict begin H.S end 440 1929 a 440 1929 a SDict begin 13.79993 H.A end 440 1929 a 440 1929 a SDict begin [ /View [/XYZ H.V] /Dest (Item.46) cvn H.B /DEST pdfmark end 440 1929 a 544 2051 a FU(1.)41 b(Check)17 b(that)i FO(b)1097 2068 y FB(i)1137 2051 y FU(has)f(not)g(been)g(r)o (eceived)e(within)j(some)f(time)g(interval)h FO(T)2941 2063 y FB(g)2978 2051 y FU(.)e(If)h(it)f(has,)648 2166 y(the)k(block)h(should)g(not)h(be)e(garbage)f(collected)h(since)h(it)g (may)f(be)g(part)g(of)h(a)f(lar)o(ger)648 2280 y(\002le)f(write)h(that) g(has)g(not)g(been)g(completed)f(yet.)440 2335 y SDict begin H.S end 440 2335 a 440 2335 a SDict begin 13.79993 H.A end 440 2335 a 440 2335 a SDict begin [ /View [/XYZ H.V] /Dest (Item.47) cvn H.B /DEST pdfmark end 440 2335 a 544 2457 a FU(2.)41 b(Else)20 b(r)o(emove)h FO(b)1155 2473 y FB(i)1199 2457 y FU(if)f(any)h(of)g(the)g(following)h(checks)f(fail:) 440 2542 y SDict begin H.S end 440 2542 a 440 2542 a SDict begin 13.79993 H.A end 440 2542 a 440 2542 a SDict begin [ /View [/XYZ H.V] /Dest (Item.48) cvn H.B /DEST pdfmark end 440 2542 a 692 2648 a FU(\(a\))40 b(If)22 b FO(b)947 2664 y FB(i)990 2648 y FU(is)f(a)f(\002le)h(identi\002er)g(block)g (then:)440 2700 y SDict begin H.S end 440 2700 a 440 2700 a SDict begin 13.79993 H.A end 440 2700 a 440 2700 a SDict begin [ /View [/XYZ H.V] /Dest (Item.49) cvn H.B /DEST pdfmark end 440 2700 a 899 2797 a FU(i.)41 b(Check)21 b(that)g(the)g(\002le) g(name)f(for)i FO(b)2062 2814 y FB(i)2105 2797 y FU(appears)e(in)h(any) g(dir)o(ectory)-9 b(.)440 2835 y SDict begin H.S end 440 2835 a 440 2835 a SDict begin 13.79993 H.A end 440 2835 a 440 2835 a SDict begin [ /View [/XYZ H.V] /Dest (Item.50) cvn H.B /DEST pdfmark end 440 2835 a 875 2926 a FU(ii.)41 b(Check)23 b(that)g(ther)o(e)e(is)i(not)h(a)e(newer)g(version)i FO(b)2491 2896 y Fo(0)2490 2954 y FB(i)2537 2926 y FU(of)f FO(b)2672 2943 y FB(i)2717 2926 y FU(that)h FO(b)2924 2943 y FB(i)2969 2926 y FU(is)f(in)g(con-)985 3041 y(\003ict)f(with.) 440 3063 y SDict begin H.S end 440 3063 a 440 3063 a SDict begin 13.79993 H.A end 440 3063 a 440 3063 a SDict begin [ /View [/XYZ H.V] /Dest (Item.51) cvn H.B /DEST pdfmark end 440 3063 a 688 3190 a FU(\(b\))40 b(Else)21 b(if)g FO(b)1113 3207 y FB(i)1157 3190 y FU(is)g(not)g(a)g(\002le)f (identi\002er)h(block:)440 3243 y SDict begin H.S end 440 3243 a 440 3243 a SDict begin 13.79993 H.A end 440 3243 a 440 3243 a SDict begin [ /View [/XYZ H.V] /Dest (Item.52) cvn H.B /DEST pdfmark end 440 3243 a 899 3340 a FU(i.)41 b(Check)21 b(that)g(the)g(\002le)g(identi\002er)f(for)i FO(b)2196 3356 y FB(i)2239 3340 y FU(exists.)440 3371 y SDict begin H.S end 440 3371 a 440 3371 a SDict begin 13.79993 H.A end 440 3371 a 440 3371 a SDict begin [ /View [/XYZ H.V] /Dest (Item.53) cvn H.B /DEST pdfmark end 440 3371 a 875 3469 a FU(ii.)41 b(Check)21 b(that)g FO(b)1440 3485 y FB(i)1483 3469 y FU(is)g(part)e(of)i(the)f(latest)g(version)h (of)f(the)h(\002le)f(it)h(belongs)g(to.)440 3513 y SDict begin H.S end 440 3513 a 440 3513 a SDict begin 13.79993 H.A end 440 3513 a 440 3513 a SDict begin [ /View [/XYZ H.V] /Dest (Item.54) cvn H.B /DEST pdfmark end 440 3513 a 697 3618 a FU(\(c\))40 b(Check)21 b(that)g(the)g(node)f(is)i(among)f(the)g FO(r)i FU(closest)e(to)h FO(b)2530 3634 y FB(i)2553 3618 y FU(.)440 3809 y(W)-5 b(ith)22 b(this)g(pr)o(ocedur)o(e,)d(\002le)j (identi\002er)f(blocks,)g(e.g.)g(of)g(deleted)f(\002les,)i(ar)o(e)e(r)o (emoved)g(be-)440 3924 y(for)o(e)g(the)h(blocks)g(with)h(the)f(\002le)f (data.)565 4038 y(Note)28 b(that)h(the)g(above)f(formulation)h(assumes) g(that)f(it)h(is)g(possible)g(to)g(get)g(fr)o(om)f(a)440 4153 y(data)21 b(block)i(to)f(its)h(\002le)f(identi\002er)g(block)h (and)f(fr)o(om)g(a)f(\002le)i(identi\002er)f(block)h(to)f(the)g(path) 440 4267 y(of)f(the)g(\002le.)g(T)-8 b(o)21 b(r)o(ealise)f(this,)h(we)g (need)g(to)g(extend)f(a)h(data)e(block)j(to)f(contain)g(the)h(key)f (for)440 4382 y(the)27 b(\002le)h(identi\002er)f(\()q FO(m)g FU(bits\))h(along)f(with)h(the)g(actual)e(\002le)i(data.)d(And)i (a)g(\002le)g(identi\002er)440 4496 y(block)d(must)f(contain)h(the)f (path)g(of)g(the)g(\002le)h(in)f(addition)g(to)h(the)f(other)g(data)f (de\002ned)h(in)440 4611 y(Section)726 4613 y SDict begin H.S end 726 4613 a -2 x FU(2.3)830 4554 y SDict begin H.R end 830 4554 a 830 4611 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.3) cvn H.B /ANN pdfmark end 830 4611 a FU(.)565 4726 y(It)c(would)h(be)f(possible)h(to)g(avoid)f(this)h (over)o(head)e(by)h(means)h(of)f(a)g(mark-and-sweep)440 4840 y(garbage)k(collection)j(algorithm)f(that)g(marked)f(live)g (blocks)i(by)e(visiting)i(the)f(\002le)g(iden-)440 4955 y(ti\002er)34 b(for)f(each)g(\002le)g(in)h(each)f(dir)o(ectory)g(and)g (afterwar)o(ds)e(r)o(emoved)i(the)h(unmarked)440 5069 y(blocks.)29 b(But)g(then)g(each)f(node)h(would)h(have)e(to)h(r)o (etrieve)f(all)g(\002le)h(identi\002ers,)g(even)f(if)440 5184 y(they)21 b(did)f(not)i(stor)o(e)e(blocks)i(fr)o(om)e(some)h (\002les.)565 5298 y(The)e(next)g(sections)i(will)f(discuss)g(how)g (the)f(checks)h(in)g(the)f(garbage)g(collection)h(pr)o(o-)440 5413 y(cedur)o(e)f(can)i(be)f(designed.)1831 5662 y(29)p eop end %%Page: 30 32 TeXDict begin 30 31 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.30) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FQ(Detecting)19 b(whether)g(a)h(\002le)g(appears)f(in)h(any)g (directory)440 611 y SDict begin H.S end 440 611 a 440 611 a SDict begin 13.79993 H.A end 440 611 a 440 611 a SDict begin [ /View [/XYZ H.V] /Dest (section*.19) cvn H.B /DEST pdfmark end 440 611 a 93 x FU(This)i(is)g(easily)f(done)h(when)g(the)g (\002le)f(identi\002er)h(block)f(contains)i(the)e(entir)o(e)g(path)g (name)440 819 y(of)32 b(the)f(\002le.)h(Simply)g(look)h(up)e(the)h(dir) o(ectory)f(and)g(see)g(if)h(the)g(\002le)f(name)h(is)g(in)g(it.)g(T)-8 b(o)440 933 y(avoid)17 b(r)o(emoving)g(blocks)h(because)e(of)h(a)g (temporary)f(failur)o(e)g(in)i(the)f(network,)h(the)f(block)440 1048 y(should)33 b(be)g(timestamped)f(with)h(the)g(time)g(that)f(the)h (condition)h(occurr)o(ed)d(and)h(then)440 1163 y(checked)20 b(again)h(at)f(some)h(later)f(r)o(un)i(befor)o(e)d(it)i(can)g(be)f(r)o (emoved.)565 1277 y(It)25 b(is)i(unfortunately)f(possible)g(that)g(a)f (live)h(block)g(is)g(r)o(emoved)f(during)h(a)g(network)440 1392 y(split)c(even)g(with)h(the)f(time)g(stamp)g(pr)o(otection)g(if)g (the)g(split)g(lasts)g(longer)h(than)f(the)g(time)440 1506 y(stamp)30 b(delay)-9 b(.)29 b(It)i(is)f(unlikely)i(that)e(data)f (will)i(be)f(completely)g(lost,)h(though,)g(since)g(it)440 1621 y(r)o(equir)o(es:)565 1802 y FI(\017)41 b FU(That)20 b(all)h FO(r)i FU(r)o(eplicas)c(of)i(a)f(the)h(dir)o(ectory)f(is)h (stor)o(ed)g(in)g(one)g(part)f(of)h(the)g(network.)565 1983 y FI(\017)41 b FU(That)20 b(all)h FO(r)i FU(r)o(eplicas)c(of)i(a)f (block)i(is)f(stor)o(ed)f(in)h(the)g(other)g(part)f(of)h(the)g (network.)565 2164 y FI(\017)41 b FU(That)24 b(the)g(garbage)f (collector)i(for)f(all)g(of)g(the)h FO(r)h FU(nodes)f(storing)g(the)g (block)f(decide)648 2278 y(to)d(r)o(emove)f(it.)440 2520 y FQ(Detecting)f(con\003icting)g(versions)440 2599 y SDict begin H.S end 440 2599 a 440 2599 a SDict begin 13.79993 H.A end 440 2599 a 440 2599 a SDict begin [ /View [/XYZ H.V] /Dest (section*.20) cvn H.B /DEST pdfmark end 440 2599 a 93 x FU(When)24 b(multiple)g(nodes)g(ar)o(e)e(writing)j(to)f(the)f (same)h(\002le,)f(the)h(\002le)g(data)e(blocks)i(will)h(not)440 2807 y(interfer)o(e)17 b(with)i(each)f(other)h(\(since)f(they)h(have)e (dif)o(fer)o(ent)g(keys\),)h(but)g(the)h(\002le)f(identi\002ers)440 2922 y(will.)j(It)g(is)g(possible)g(that)g(the)g(system)h(will)f(end)g (up)f(with)i(multiple)f(dif)o(fer)o(ent)e(\002le)i(iden-)440 3036 y(ti\002er)k(blocks)h(unless)g(one)f(of)h(the)f(nodes)g (overwrites)h(all)f(of)g(the)g(\002le)g(identi\002er)h(blocks)440 3151 y(of)21 b(the)g(other)g(nodes.)565 3265 y(The)30 b(pr)o(oblem)f(is)i(even)f(worse)g(during)h(a)e(network)i(split)g (since)f(the)g(con\003ict)i(will)440 3380 y(emer)o(ge)23 b(even)g(if)h(the)g(nodes)g(do)g(not)g(write)g(to)g(the)g(\002le)g(at)g (the)f(same)h(time.)g(T)-8 b(o)24 b(see)g(this,)440 3494 y(consider)g(the)g(example)f(in)i(T)-8 b(able)1567 3494 y SDict begin H.S end 1567 3494 a FU(2.1)1670 3437 y SDict begin H.R end 1670 3437 a 1670 3494 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (table.2.1) cvn H.B /ANN pdfmark end 1670 3494 a 24 w FU(wher)o(e)24 b(a)f(network)i(consisting)h(of)d (the)i(nodes)f(A,)440 3609 y(B,)e(C,)g(D,)h(E,)f(F)-8 b(,)23 b(G)g(is)g(partitioned)g(into)g(the)g(two)h(subnetworks)f(A,)f (B,)h(C,)f(D)h(and)f(E,)g(F)-8 b(,)23 b(G.)440 3724 y(After)i(the)h (network)g(is)g(r)o(estor)o(ed,)e(ther)o(e)h(ar)o(e)g(multiple)h (versions)h(of)e(the)h(\002le)g(identi\002er)440 3838 y(block.)565 3953 y(The)g(con\003ict)i(can)e(be)g(detected)f(by)i(r)o (etrieving)f(the)g(r)o(eplicas)g(of)g(the)h(\002le)f(identi\002er)440 4067 y(block)d(fr)o(om)g(the)g FO(r)i FU(closest)f(nodes)f(and)g (comparing)g(them)h(to)f(the)g(locally)g(stor)o(ed)g(iden-)440 4182 y(ti\002er)e(block.)565 4296 y(The)27 b(question)h(is)f(how)h(to)g (r)o(esolve)e(the)i(con\003ict.)f(A)g(r)o(easonable)f(strategy)h(is)g (to)h(be)440 4411 y(to)c(r)o(emove)g(the)g(local)g(block)h(if)e(its)i (modi\002cation)g(time)f(stamp)g(is)h(older)f(than)g(the)g(time)440 4526 y(stamp)d(of)g(one)h(of)f(the)h(r)o(etrieved)d(blocks.)j(If)f(the) g(timestamps)h(happen)f(to)g(be)g(the)h(same,)440 4640 y(choose)29 b(the)f(block)h(wher)o(e)e(the)h(random)g(bit)g(sequence)h (interpr)o(eted)d(as)i(an)g(integer)g(is)440 4755 y(highest.)565 4869 y(For)22 b(this)h(to)g(work,)g(the)f(clocks)h(of)g(the)f(nodes)h (participating)f(in)h(the)g(network)g(must)440 4984 y(of)e(course)g(be) f(synchr)o(onised)h(fr)o(om)g(time)g(to)g(time.)1831 5662 y(30)p eop end %%Page: 31 33 TeXDict begin 31 32 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.31) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 1180 455 1384 7 v 1235 558 a FO(A)104 b(B)126 b(C)g(D)223 b(E)144 b(F)k(G)1576 673 y(b)141 b(b)251 b(b)1755 788 y(b)1802 805 y FB(f)2044 788 y FO(b)2091 805 y FB(f)2238 788 y FO(b)2285 805 y FB(f)p 1180 841 1384 5 v 1689 945 a FK(b)19 b Fl(is)f(written)p 1180 997 V 1235 1101 a FO(A)104 b(B)126 b(C)g(D)p 1936 1135 4 115 v 1940 1135 V 223 w(E)144 b(F)k(G)1576 1215 y(b)141 b(b)p 1936 1250 V 1940 1250 V 251 w(b)1755 1330 y(b)1802 1348 y FB(f)p 1936 1365 4 116 v 1940 1365 V 2044 1330 a FO(b)2091 1348 y FB(f)2238 1330 y FO(b)2285 1348 y FB(f)p 1180 1383 1384 5 v 1508 1487 a Fl(a)19 b(network)f(split)g(occurs)p 1180 1540 V 1235 1643 a FO(A)104 b(B)126 b(C)g(D)p 1936 1678 4 115 v 1940 1678 V 223 w(E)144 b(F)k(G)1397 1758 y(b)1437 1728 y Fo(0)1576 1758 y FO(b)1616 1728 y Fo(0)1755 1758 y FO(b)1795 1728 y Fo(0)p 1936 1792 V 1940 1792 V 2044 1758 a FO(b)2084 1728 y Fo(0)r(0)2238 1758 y FO(b)2278 1728 y Fo(0)r(0)2433 1758 y FO(b)2473 1728 y Fo(0)r(0)1397 1872 y FO(b)1437 1842 y Fo(0)1444 1902 y FB(f)1576 1872 y FO(b)1616 1842 y Fo(0)1623 1902 y FB(f)1755 1872 y FO(b)1795 1842 y Fo(0)1802 1902 y FB(f)p 1936 1919 4 128 v 1940 1919 V 2044 1872 a FO(b)2084 1842 y Fo(0)r(0)2091 1902 y FB(f)2238 1872 y FO(b)2278 1842 y Fo(0)r(0)2285 1902 y FB(f)2433 1872 y FO(b)2473 1842 y Fo(0)r(0)2480 1902 y FB(f)p 1180 1938 1384 5 v 1677 2041 a FK(f)29 b Fl(is)18 b(updated)p 1180 2094 V 1235 2197 a FO(A)104 b(B)126 b(C)g(D)223 b(E)144 b(F)k(G)1397 2312 y(b)1437 2282 y Fo(0)1576 2312 y FO(b)1616 2282 y Fo(0)1755 2312 y FO(b)1795 2282 y Fo(0)2044 2312 y FO(b)2084 2282 y Fo(0)r(0)2238 2312 y FO(b)2278 2282 y Fo(0)r(0)2433 2312 y FO(b)2473 2282 y Fo(0)r(0)1397 2426 y FO(b)1437 2396 y Fo(0)1444 2456 y FB(f)1576 2426 y FO(b)1616 2396 y Fo(0)1623 2456 y FB(f)1755 2426 y FQ(b)1808 2396 y Fo(0)1808 2455 y Fi(f)2044 2426 y FQ(b)2097 2396 y Fo(0)r(0)2097 2455 y Fi(f)2238 2426 y FQ(b)2291 2396 y Fo(0)r(0)2291 2455 y Fi(f)2433 2426 y FO(b)2473 2396 y Fo(0)r(0)2480 2456 y FB(f)p 1180 2492 V 1470 2595 a Fl(the)20 b(two)f(networks)f(mer) o(ge)p 1180 2650 1384 7 v 511 2820 a FK(T)-8 b(able)16 b(2.1:)823 2715 y SDict begin H.S end 823 2715 a 823 2715 a SDict begin H.R end 823 2715 a 823 2715 a SDict begin [ /View [/XYZ H.V] /Dest (table.2.1) cvn H.B /DEST pdfmark end 823 2715 a 105 x FK(The)h(\002le)28 b(f)11 b(,)16 b(consisting)h(of)g(the)g(data)h(block)g(b)g(and)f(the)g(\002le)h (identi\002er)g(b)2688 2837 y Fg(f)2715 2820 y FK(,)f(is)g(written)f (befor)o(e)511 2925 y(the)h(network)g(is)g(partitioned.)g(During)g(the) g(network)g(split,)27 b(f)h(is)17 b(updated)h(in)e(both)h(subnetworks)g (\(but)511 3030 y(not)25 b(necessarily)h(at)f(the)h(same)g(time\).)f (When)g(the)h(network)f(is)h(r)o(estor)o(ed,)f(it)g(is)g(possible)h(to) f(r)o(etrieve)511 3135 y(differ)o(ent)18 b(versions)g(of)i(b)1167 3152 y Fg(f)1194 3135 y FK(.)440 3417 y FQ(Detecting)f(whether)g(the)h (\002le)f(identi\002er)f(exists)440 3497 y SDict begin H.S end 440 3497 a 440 3497 a SDict begin 13.79993 H.A end 440 3497 a 440 3497 a SDict begin [ /View [/XYZ H.V] /Dest (section*.21) cvn H.B /DEST pdfmark end 440 3497 a 93 x FU(Given)31 b(a)g(data)f(block)i FO(b)1227 3606 y FB(i)1280 3590 y FU(with)g(the)f(key)g(for)g(the)g(\002le)g(identi\002er)-6 b(,)30 b(the)h FO(r)i FU(closest)f(nodes)440 3704 y(should)c(simply)g (be)f(asked)f(for)h(the)g(\002le)g(identi\002er)-6 b(.)27 b(But)g(since)g(failur)o(e)f(to)i(r)o(etrieve)d(the)440 3819 y(\002le)j(identi\002er)f(may)h(stem)g(fr)o(om)f(a)g(failur)o(e)f (in)i(the)g(network,)g(the)g(block)h FO(b)2887 3835 y FB(i)2937 3819 y FU(should)g(be)440 3934 y(timestamped)24 b(and)g(\002rst)h(be)f(allowed)h(to)g(be)f(r)o(emoved)f(at)h(a)h(later) e(r)o(un)i(of)g(the)f(garbage)440 4048 y(collector)-6 b(.)440 4289 y FQ(Detecting)19 b(whether)g(the)h(block)f(is)i(outdated) 440 4369 y SDict begin H.S end 440 4369 a 440 4369 a SDict begin 13.79993 H.A end 440 4369 a 440 4369 a SDict begin [ /View [/XYZ H.V] /Dest (section*.22) cvn H.B /DEST pdfmark end 440 4369 a 93 x FU(Even)j(if)g(the)h(\002le)g(identi\002er)f(for)g (the)h(block)h FO(b)1899 4479 y FB(i)1946 4462 y FU(exists,)e(it)h(may) f(be)h(a)e(\002le)i(identi\002er)g(for)f(a)440 4577 y(new)i(version)g (of)f(the)h(\002le.)f(Hence,)g(if)g(the)h(r)o(etrieval)e(pr)o(ocedur)o (e)f(\002nds)j(a)f(\002le)g(identi\002er)440 4691 y(block,)d(further)g (check)g(whether)g(the)h(key)f(for)h FO(b)1979 4708 y FB(i)2024 4691 y FU(is)f(in)h(the)f(set)g(of)g(hash)h(values)e(that)i (can)440 4806 y(be)d(obtained)h(fr)o(om)f(the)h(\002le)g(identi\002er) -6 b(.)20 b(If)h(it)g(is)g(not,)g(the)g(block)g(should)h(be)e(r)o (emoved.)440 5047 y FQ(Detecting)f(a)h(block)g(stored)g(by)g(a)h(node)f (not)g(among)g(the)g FO(r)j FQ(closest)440 5127 y SDict begin H.S end 440 5127 a 440 5127 a SDict begin 13.79993 H.A end 440 5127 a 440 5127 a SDict begin [ /View [/XYZ H.V] /Dest (section*.23) cvn H.B /DEST pdfmark end 440 5127 a 93 x FU(This)h(can)e(be)h(detected)e(by)i(keeping)h(track)e(of)h(when)g (the)h(block)f(was)g(lasted)f(of)o(fer)o(ed)f(in)440 5335 y(a)h(r)o(eplication)g(of)o(fer)f(by)i(a)f(node.)g(If)h(it)f(is)h (mor)o(e)g(than)h FO(T)2202 5352 y FB(b)2258 5335 y FU(time)f(ago)g (then)g(either)f(another)1831 5662 y(31)p eop end %%Page: 32 34 TeXDict begin 32 33 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.32) cvn H.B /DEST pdfmark end 440 241 a 1529 211 a FN(Chapter)20 b(2.)46 b(Design)p 440 244 2865 4 v 440 531 a FU(node)26 b(or)h(the)f(node)h(itself)f(would)h(have)e(of)o(fer)o (ed)f(it)j(for)f(r)o(eplication)f(if)h(the)h(node)f(wer)o(e)440 646 y(still)c(among)f(the)g FO(r)i FU(closest.)e(T)-8 b(o)21 b(appr)o(eciate)e(this,)i(consider)g(the)g(following)h(example:) 440 703 y SDict begin H.S end 440 703 a 440 703 a SDict begin 13.79993 H.A end 440 703 a 440 703 a SDict begin [ /View [/XYZ H.V] /Dest (Item.55) cvn H.B /DEST pdfmark end 440 703 a 544 827 a FU(1.)41 b(The)27 b(network)i(consists)g(of)f(nodes)g (A,)f(B,)g(C)g(with)i FO(r)39 b FE(=)e FU(3)27 b(and)h(each)f(node)h (stor)o(e)648 941 y(block)22 b FO(b)907 958 y FB(i)929 941 y FU(.)440 992 y SDict begin H.S end 440 992 a 440 992 a SDict begin 13.79993 H.A end 440 992 a 440 992 a SDict begin [ /View [/XYZ H.V] /Dest (Item.56) cvn H.B /DEST pdfmark end 440 992 a 544 1122 a FU(2.)41 b(A,)31 b(B)h(and)g(C)g(send)g(out) h(r)o(eplication)e(of)o(fers)g(for)i FO(b)2314 1139 y FB(i)2369 1122 y FU(to)g(A,)e(B)h(and)g(C)g(at)g(r)o(egular)648 1237 y(intervals.)440 1272 y SDict begin H.S end 440 1272 a 440 1272 a SDict begin 13.79993 H.A end 440 1272 a 440 1272 a SDict begin [ /View [/XYZ H.V] /Dest (Item.57) cvn H.B /DEST pdfmark end 440 1272 a 544 1418 a FU(3.)41 b(D)22 b(joins)h(the)f(network)g(and)g(is)g(closer)g(to)h FO(b)2009 1434 y FB(i)2053 1418 y FU(than)f(C.)g(Eventually)-9 b(,)21 b(D)h(will)g(also)g(get)649 1533 y FO(b)688 1549 y FB(i)731 1533 y FU(after)d(having)j(r)o(eceived)d(a)h(r)o(eplication) g(of)o(fer)-6 b(.)440 1589 y SDict begin H.S end 440 1589 a 440 1589 a SDict begin 13.79993 H.A end 440 1589 a 440 1589 a SDict begin [ /View [/XYZ H.V] /Dest (Item.58) cvn H.B /DEST pdfmark end 440 1589 a 544 1714 a FU(4.)41 b(A,)20 b(B,)g(C)h(and)f(D)h(now)g(send)g(out)g(r)o(eplication)g(of)o(fers)e (to)j(A,)e(B)g(and)g(D.)440 1895 y(Thus)f(the)g(r)o(eplication)g(of)o (fer)e(time)i(stamp)g(for)h FO(b)1973 1911 y FB(i)2014 1895 y FU(in)g(C)e(is)i(henceforth)f(not)g(updated,)f(and)440 2009 y(C)j(can)f(safely)g(r)o(emove)h FO(b)1239 2026 y FB(i)1283 2009 y FU(after)e(some)j(time.)440 2159 y SDict begin H.S end 440 2159 a 440 2159 a SDict begin 13.79993 H.A end 440 2159 a 440 2159 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4.3) cvn H.B /DEST pdfmark end 440 2159 a 110 x FJ(2.4.3)99 b(When)24 b(to)h(run)g(the)g(collector)440 2442 y FU(One)c(last)g(pr)o(oblem)f(that)h(must)g(be)g(solved)g(is)g (when)g(to)g(start)g(the)g(garbage)e(collector)-6 b(.)565 2557 y(A)27 b(memory)h(garbage)e(collector)i(can)f(keep)g(track)g(of)g (the)h(fr)o(ee)e(memory)i(and)f(only)440 2671 y(start)h(when)h(the)f (memory)h(is)f(r)o(unning)i(out.)e(In)g(our)h(system,)f(all)g(blocks)h (must)g(be)f(r)o(e-)440 2786 y(published)i(as)g(long)i(they)e(have)g (not)h(been)f(r)o(emoved.)f(Hence,)h(waiting)h(for)f(the)g(disk)440 2901 y(space)18 b(to)i(r)o(un)g(out)f(befor)o(e)f(starting)i(the)f (garbage)f(collector)i(may)f(be)g(a)g(pr)o(oblem)g(since)g(it)440 3015 y(will)i(waste)g(network)g(bandwidth.)565 3130 y(Another)e (possibility)i(is)f(to)f(monitor)i(the)f(network)g(activity)f(and)g (start)g(the)g(garbage)440 3244 y(collector)g(whenever)g(the)g (activity)g(is)h(low)-8 b(.)20 b(A)e(convenient)i(pr)o(operty)e(of)h (the)g(algorithms)440 3359 y(described)24 b(in)h(the)g(pr)o(eceding)f (sections)i(is)f(that)g(they)g(allow)h(the)f(garbage)f(collector)h(to) 440 3473 y(be)30 b(incr)o(emental;)g(the)h(garbage)e(collector)i(can)g (check)f(one)h(block,)g(stop)g(and)g(then)g(be)440 3588 y(r)o(estarted)19 b(with)j(the)e(next)h(block.)565 3703 y(Whatever)f(the)i(appr)o(oach,)d(it)j(should)g(be)f(combined)h(with)g (randomisation)g(so)g(that)440 3817 y(all)k(nodes)g(do)h(not)f(start)g (collecting)h(garbage)e(at)h(the)g(same)g(time)h(\226)e(this)i(could)f (use)g(all)440 3932 y(available)19 b(network)j(bandwidth)f(for)f(some)h (time.)1831 5662 y(32)p eop end %%Page: 33 35 TeXDict begin 33 34 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.33) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.3) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(3)440 1638 y FX(Characteristics)440 2084 y FU(This)30 b(chapter)f(will)i(analytically)e(characterise)g(the)h(design)g (described)f(in)h(Chapter)3263 2084 y SDict begin H.S end 3263 2084 a FU(2)3304 2027 y SDict begin H.R end 3304 2027 a 3304 2084 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.2) cvn H.B /ANN pdfmark end 3304 2084 a 440 2199 a FU(and)21 b(try)g(to)h(highlight)h(the)e(str)o(engths)h(and)e (weaknesses.)i(Even)f(if)g(blocks)g(ar)o(e)f(not)i(com-)440 2313 y(pletely)c(lost,)h(they)f(may)g(still)h(be)e(temporarily)h (unavailable)f(for)h(r)o(easons)g(we)g(explor)o(e)f(in)440 2428 y(Section)722 2430 y SDict begin H.S end 722 2430 a -2 x FU(3.1)826 2370 y SDict begin H.R end 826 2370 a 826 2428 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.1) cvn H.B /ANN pdfmark end 826 2428 a FU(.)g(Section)1146 2430 y SDict begin H.S end 1146 2430 a -2 x FU(3.2)1250 2370 y SDict begin H.R end 1250 2370 a 1250 2428 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.2) cvn H.B /ANN pdfmark end 1250 2428 a 17 w FU(explains)g(the)h(consistency)g (guarantees)f(that)g(the)g(system)h(pr)o(o-)440 2543 y(vides)25 b(for)h(entir)o(e)e(\002les.)i(Section)1516 2545 y SDict begin H.S end 1516 2545 a -2 x FU(3.3)1619 2485 y SDict begin H.R end 1619 2485 a 1619 2543 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.3) cvn H.B /ANN pdfmark end 1619 2543 a 26 w FU(quanti\002es)g(the)g(pr)o(obability)f (of)g(data)g(loss)h(\(under)440 2657 y(some)f(assumptions\),)g(and)f (\002nally)h(Section)1909 2659 y SDict begin H.S end 1909 2659 a -2 x FU(3.4)2013 2600 y SDict begin H.R end 2013 2600 a 2013 2657 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.4) cvn H.B /ANN pdfmark end 2013 2657 a 25 w FU(examines)f(the)g (performance)g(charac-)440 2772 y(teristics.)440 2910 y SDict begin H.S end 440 2910 a 440 2910 a SDict begin 13.79993 H.A end 440 2910 a 440 2910 a SDict begin [ /View [/XYZ H.V] /Dest (section.3.1) cvn H.B /DEST pdfmark end 440 2910 a 170 x FL(3.1)119 b(A)-8 b(vailability)29 b(of)h(blocks)440 3284 y FU(Under)c(normal)g(operation,)h(all)f(blocks)h(ar)o(e)e(always) h(available)f(because)g(of)i(the)f(r)o(epli-)440 3399 y(cation)20 b(in)f(the)h(distributed)f(hash)h(table.)e(Ther)o(e)h(ar)o (e,)e(however)-6 b(,)19 b(some)h(situations)h(wher)o(e)440 3513 y(abnormal)36 b(conditions)i(in)e(the)h(network)f(might)i(af)o (fect)c(the)i(availability)g(of)g(certain)440 3628 y(blocks.)440 3756 y SDict begin H.S end 440 3756 a 440 3756 a SDict begin 13.79993 H.A end 440 3756 a 440 3756 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.1.1) cvn H.B /DEST pdfmark end 440 3756 a 132 x FJ(3.1.1)99 b(A)-7 b(vailability)26 b(during)f(a)f (network)h(split)440 4061 y FU(Consider)20 b(a)e(network)25 b FO(M)c FU(which)g(is)e(partitioned)h(into)g(the)f(two)h(separate)e (subnetworks)445 4175 y FO(M)523 4191 y FC(1)590 4175 y FU(and)35 b FO(M)844 4190 y FC(2)911 4175 y FU(by)c(a)f(network)i (failur)o(e.)d(Under)h(these)i(cir)o(cumstances,)e(it)h(may)g(not)h(be) 440 4290 y(possible)17 b(to)h(r)o(etrieve)d(a)h(certain)g(block)i(in)f (one)g(of)g(the)g(subnetworks.)g(Let)h FI(j)6 b FO(M)2901 4305 y FC(1)2937 4290 y FI(j)18 b FU(and)f FI(j)6 b FO(M)3243 4305 y FC(2)3280 4290 y FI(j)440 4405 y FU(be)24 b(the)h(number)f(of)h (nodes)f(in)30 b FO(M)1525 4420 y FC(1)1585 4405 y FU(and)f FO(M)1833 4420 y FC(2)1869 4405 y FU(,)24 b(r)o(espectively)-9 b(.)23 b(A)h(block)h(is)g(then)g(available)440 4519 y(fr)o(om)g(a)f (node)i(in)k FO(M)1099 4535 y FC(1)1160 4519 y FU(if)25 b(one)h(of)f(the)g FO(r)j FU(r)o(eplicating)c(nodes)i(is)f(in)31 b FO(M)2622 4535 y FC(1)2657 4519 y FU(.)25 b(W)-8 b(e)26 b(will)g(pr)o(oceed)440 4634 y(with)i(deducing)g(the)g(pr)o(obability)i FO(P)1638 4649 y FB(M)1698 4662 y Fm(1)1757 4634 y FU(of)d(this)i(with) f(the)g(assumption)h(that)e(the)h(hash)440 4748 y(function)22 b(distributes)e(the)h(block)g(evenly)g(over)g(the)g(nodes.)565 4863 y(In)g(the)h(case)f(wher)o(e)h FI(j)6 b FO(M)1332 4878 y FC(2)1368 4863 y FI(j)27 b FG(<)e FO(r)r FU(,)d(at)f(least)g (one)h(of)f(the)h FO(r)i FU(r)o(eplicating)d(nodes)g(will)i(be)e(in)445 4977 y FO(M)523 4993 y FC(1)579 4977 y FU(so)h(the)f(pr)o(obability)f (is)k FO(P)1374 4992 y FB(M)1434 5005 y Fm(1)1489 4977 y FE(=)g FU(1.)565 5092 y(When)29 b FI(j)6 b FO(M)920 5107 y FC(2)957 5092 y FI(j)38 b(\025)g FO(r)r FU(,)28 b(we)g(instead)g(consider)g(the)g(pr)o(obability)g(of)g(a)g(block)g (not)h(being)440 5207 y(available.)19 b(A)i(block)g(is)g(unavailable)f (fr)o(om)h(a)f(node)h(in)27 b FO(M)2288 5222 y FC(1)2344 5207 y FU(if)21 b(and)f(only)i(if)f(all)g FO(r)i FU(r)o(eplicat-)440 5321 y(ing)g(nodes)h(ar)o(e)d(in)28 b FO(M)1137 5336 y FC(2)1173 5321 y FU(.)22 b(The)h(number)g(of)g(combinations)h(wher)o (e)e(all)h(r)o(eplicating)f(nodes)1831 5662 y(33)p eop end %%Page: 34 36 TeXDict begin 34 35 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.34) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 531 a FU(ar)o(e)19 b(in)27 b FO(M)750 546 y FC(2)806 531 y FU(is:)1432 558 y Fs(\022)1495 619 y FI(j)6 b FO(M)1602 634 y FC(2)1639 619 y FI(j)1561 732 y FO(r)1664 558 y Fs(\023)1750 675 y FE(=)1980 619 y FI(j)g FO(M)2087 634 y FC(2)2124 619 y FI(j)r FU(!)p 1848 656 456 4 v 1848 732 a FO(r)s FU(!)r FE(\()r FI(j)g FO(M)2049 747 y FC(2)2087 732 y FI(j)18 b(\000)f FO(r)s FE(\))r FU(!)440 872 y(The)k(number)g(of) f(combinations)j(for)d(the)h(entir)o(e)f(network)27 b FO(M)22 b FU(is:)1315 968 y Fs(\022)1378 1029 y FI(j)6 b FO(M)s FI(j)1427 1142 y FO(r)1513 968 y Fs(\023)1599 1085 y FE(=)1795 1029 y(\()r FI(j)g FO(M)1936 1045 y FC(1)1973 1029 y FI(j)18 b FE(+)g FI(j)6 b FO(M)2204 1044 y FC(2)2241 1029 y FI(j)r FE(\))r FU(!)p 1698 1066 723 4 v 1698 1142 a FO(r)s FU(!)r FE(\()r FI(j)g FO(M)1899 1158 y FC(1)1936 1142 y FI(j)18 b FE(+)g FI(j)6 b FO(M)2167 1157 y FC(2)2204 1142 y FI(j)18 b(\000)f FO(r)s FE(\))r FU(!)440 1316 y(The)25 b(pr)o(obability)g(for)f(a)h(block)g(to)h(be)e (unavailable)g(fr)o(om)h(any)g(node)g(in)31 b FO(M)2870 1331 y FC(1)2930 1316 y FU(must)26 b(then)440 1430 y(be:)1587 1586 y FO(P)1635 1601 y FB(M)1695 1614 y Fm(1)1722 1601 y FC(,un)1841 1586 y FE(=)1941 1457 y Fs(\000)1981 1488 y Fo(j)5 b FB(M)2064 1500 y Fm(2)2092 1488 y Fo(j)2032 1553 y FB(r)2111 1457 y Fs(\001)p 1940 1567 211 4 v 1955 1594 a(\000)1995 1624 y Fo(j)g FB(M)r Fo(j)2032 1690 y FB(r)2097 1594 y Fs(\001)440 1809 y FU(Hence,)20 b(the)h(pr)o (obability)g(for)f(a)g(block)h(to)h(be)e(available)f(fr)o(om)i(some)g (node)g(in)26 b FO(M)3029 1824 y FC(1)3086 1809 y FU(is:)963 2069 y FO(P)1011 2084 y FB(M)1071 2097 y Fm(1)1126 2069 y FE(=)e FU(1)17 b FI(\000)1366 1940 y Fs(\000)1406 1971 y Fo(j)5 b FB(M)1489 1983 y Fm(2)1517 1971 y Fo(j)1457 2036 y FB(r)1537 1940 y Fs(\001)p 1365 2050 V 1380 2077 a(\000)1420 2107 y Fo(j)g FB(M)r Fo(j)1457 2173 y FB(r)1523 2077 y Fs(\001)1610 2069 y FE(=)23 b FU(1)17 b FI(\000)1884 2013 y(j)6 b FO(M)1991 2028 y FC(2)2028 2013 y FI(j)r FU(!)r FE(\()r FI(j)g FO(M)2219 2028 y FC(2)2256 2013 y FI(j)18 b FE(+)g FI(j)6 b FO(M)2487 2028 y FC(1)2524 2013 y FI(j)18 b(\000)e FO(r)s FE(\))r FU(!)p 1849 2050 926 4 v 1850 2126 a FE(\()r FI(j)6 b FO(M)1991 2141 y FC(2)2028 2126 y FI(j)18 b(\000)f FO(r)s FE(\))r FU(!)r FE(\()r FI(j)6 b FO(M)2386 2141 y FC(2)2423 2126 y FI(j)19 b FE(+)e FI(j)6 b FO(M)2654 2142 y FC(1)2691 2126 y FI(j)r FE(\))r FU(!)440 2325 y(Note)20 b(that)j FO(P)856 2340 y FB(M)916 2353 y Fm(1)967 2325 y FU(is)d(the)g(pr)o(obability)f(of)h (a)f(single)h(block)h(being)f(available.)e(The)h(pr)o(obabil-)440 2439 y(ity)i(of)g FO(b)h FU(blocks)e(being)h(available)e(is)h(simply)i FE(\()t FO(P)1977 2455 y FB(M)2037 2468 y Fm(1)2070 2439 y FE(\))2104 2409 y FB(b)2138 2439 y FU(.)e(Examples)g(of)g(how)h(the)f (pr)o(obabil-)440 2554 y(ity)f(changes)f(as)g(a)g(function)h(of)g FO(b)h FU(and)e(with)h(dif)o(fer)o(ent)d(values)i(of)h FO(r)h FU(ar)o(e)d(shown)j(in)f(Figur)o(e)440 2671 y SDict begin H.S end 440 2671 a -2 x FU(3.1)544 2611 y SDict begin H.R end 544 2611 a 544 2669 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.1) cvn H.B /ANN pdfmark end 544 2669 a 20 w FU(for)i(a)f(symmetric)h(network)g(split)g(and)f(in)h (Figur)o(e)2184 2671 y SDict begin H.S end 2184 2671 a -2 x FU(3.2)2288 2611 y SDict begin H.R end 2288 2611 a 2288 2669 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.2) cvn H.B /ANN pdfmark end 2288 2669 a 20 w FU(for)g(an)f(asymmetric)h (network)440 2783 y(split.)565 2898 y(As)31 b(Figur)o(e)965 2900 y SDict begin H.S end 965 2900 a -2 x FU(3.1)1069 2840 y SDict begin H.R end 1069 2840 a 1069 2898 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.1) cvn H.B /ANN pdfmark end 1069 2898 a 32 w FU(shows)i(it)f(is)g(unlikely)g(that)g(it) g(is)g(possible)g(to)g(r)o(etrieve)e(an)i(entir)o(e)440 3012 y(\002le)d(during)g(a)f(symmetric)i(network)f(split)g(if)g(the)g (\002le)g(consists)h(of)e(many)h(blocks)h(and)440 3127 y(moderate)d(values)f(of)i FO(r)h FU(ar)o(e)d(chosen,)i(e.g.)e(3)36 b FI(\024)g FO(r)i FI(\024)e FU(5.)26 b(Small)h(\002les)h(that)f(only)h (consist)440 3241 y(of)23 b(two)h(blocks)g(\(the)f(\002le)h (identi\002er)f(block)h(plus)g(one)g(data)e(block\))h(ar)o(e)f(still)i (r)o(etrievable)440 3356 y(with)e(a)e(pr)o(obability)g(above)g(90\045,) g(though.)565 3471 y(During)26 b(an)g(asymmetric)g(network)h(split)f (wher)o(e)f(the)i(r)o(equesting)f(node)g(is)g(part)f(of)440 3585 y(the)g(lar)o(ger)f(subnetwork,)h(the)g(pr)o(obability)f(of)h (availability)f(is)i(much)f(better)f(as)h(Figur)o(e)440 3702 y SDict begin H.S end 440 3702 a -2 x FU(3.2)544 3642 y SDict begin H.R end 544 3642 a 544 3700 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.2) cvn H.B /ANN pdfmark end 544 3700 a 18 w FU(shows.)19 b(Only)g(very)e(lar)o(ge)g(\002les) i(will)f(not)h(be)f(r)o(etrievable.)e(For)i(a)f(r)o(equesting)i(node)f (in)440 3814 y(the)i(smaller)f(subnetwork)i(the)e(pr)o(obability)g(is)h (unfortunately)g(so)g(low)g(that)g(the)g(system)440 3929 y(is)27 b(completely)g(useless.)g(For)g(instance,)f(the)h(pr)o (obability)f(of)h(two)g(blocks)g(being)g(avail-)440 4043 y(able)20 b(with)i FO(r)k FE(=)e FU(7)c(is)h(only:)1210 4180 y Fs(\022)1272 4297 y FU(1)c FI(\000)1457 4241 y FU(90)q(!)r FE(\()q FU(90)f FE(+)g FU(10)h FI(\000)f FU(7)q FE(\))r FU(!)p 1423 4278 676 4 v 1424 4354 a FE(\()q FU(90)g FI(\000)h FU(7)q FE(\))r FU(!)r FE(\()q FU(90)f FE(+)h FU(10)q FE(\))r FU(!)2109 4180 y Fs(\023)2172 4201 y FC(2)2231 4297 y FE(=)24 b FU(28.4\045)565 4527 y(Hence,)k(symmetric)i(network)g(splits)g(will)g(sever)o(ely)e(hamper)g (the)i(availability)e(of)440 4642 y(lar)o(ge)15 b(\002les)i(r)o (equested)e(fr)o(om)h(any)g(node,)g(wher)o(eas)g(asymmetric)g(network)h (splits)g(mostly)440 4757 y(af)o(fect)i(the)i(nodes)g(in)g(the)g (smallest)g(subnetwork.)440 4885 y SDict begin H.S end 440 4885 a 440 4885 a SDict begin 13.79993 H.A end 440 4885 a 440 4885 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.1.2) cvn H.B /DEST pdfmark end 440 4885 a 132 x FJ(3.1.2)99 b(A)-7 b(vailability)26 b(without)f(a)g(network)g(split)440 5190 y FU(Even)16 b(when)g(the)g(network)h(is)f(not)h(partitioned,)e (it)h(is)g(possible)h(that)f(a)f(block)h(temporarily)440 5304 y(cannot)21 b(be)g(r)o(etrieved:)1831 5662 y(34)p eop end %%Page: 35 37 TeXDict begin 35 36 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.35) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 573 2426 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: characteristics/images/netsplit50-50.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: netsplit50-50.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Sun Dec 14 13:27:10 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 1302 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 2183 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 3065 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3946 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4828 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 1) Cshow 1341 420 M 0 31 V 0 4421 R 0 -31 V 1708 420 M 0 31 V 0 4421 R 0 -31 V 1968 420 M 0 31 V 0 4421 R 0 -31 V 2170 420 M 0 31 V 0 4421 R 0 -31 V 2335 420 M 0 31 V 0 4421 R 0 -31 V 2474 420 M 0 31 V 0 4421 R 0 -31 V 2595 420 M 0 31 V 0 4421 R 0 -31 V 2701 420 M 0 31 V 0 4421 R 0 -31 V 2797 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 3424 420 M 0 31 V 0 4421 R 0 -31 V 3790 420 M 0 31 V 0 4421 R 0 -31 V 4051 420 M 0 31 V 0 4421 R 0 -31 V 4252 420 M 0 31 V 0 4421 R 0 -31 V 4417 420 M 0 31 V 0 4421 R 0 -31 V 4557 420 M 0 31 V 0 4421 R 0 -31 V 4678 420 M 0 31 V 0 4421 R 0 -31 V 4784 420 M 0 31 V 0 4421 R 0 -31 V 4879 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 5506 420 M 0 31 V 0 4421 R 0 -31 V 5873 420 M 0 31 V 0 4421 R 0 -31 V 6133 420 M 0 31 V 0 4421 R 0 -31 V 6335 420 M 0 31 V 0 4421 R 0 -31 V 6500 420 M 0 31 V 0 4421 R 0 -31 V 6639 420 M 0 31 V 0 4421 R 0 -31 V 6760 420 M 0 31 V 0 4421 R 0 -31 V 6867 420 M 0 31 V 0 4421 R 0 -31 V 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1000) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Probability of the blocks being available) Cshow grestore 3838 70 M (Number of blocks) Cshow 1.000 UL LT0 6311 4739 M (r = 2) Rshow 6395 4739 M 399 0 V 714 3737 M 63 -67 V 63 -71 V 63 -74 V 63 -78 V 64 -81 V 63 -85 V 63 -88 V 63 -91 V 63 -95 V 63 -97 V 63 -101 V 63 -103 V 63 -106 V 64 -109 V 63 -110 V 63 -111 V 63 -113 V 63 -113 V 63 -113 V 63 -112 V 63 -112 V 63 -109 V 64 -107 V 63 -104 V 63 -101 V 63 -96 V 63 -91 V 63 -86 V 63 -80 V 63 -74 V 63 -67 V 64 -61 V 63 -54 V 63 -48 V 63 -41 V 63 -36 V 63 -29 V 63 -25 V 63 -19 V 63 -16 V 64 -12 V 63 -10 V 63 -6 V 63 -5 V 63 -4 V 63 -2 V 63 -2 V 63 -1 V 63 0 V 64 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT1 6311 4599 M (r = 3) Rshow 6395 4599 M 399 0 V 714 4294 M 63 -36 V 63 -39 V 63 -40 V 63 -43 V 64 -46 V 63 -48 V 63 -51 V 63 -54 V 63 -57 V 63 -60 V 63 -63 V 63 -67 V 63 -69 V 64 -74 V 63 -76 V 63 -80 V 63 -84 V 63 -87 V 63 -90 V 63 -94 V 63 -96 V 63 -100 V 64 -103 V 63 -105 V 63 -108 V 63 -109 V 63 -111 V 63 -112 V 63 -113 V 63 -114 V 63 -112 V 64 -112 V 63 -110 V 63 -108 V 63 -105 V 63 -102 V 63 -97 V 63 -93 V 63 -88 V 63 -81 V 64 -76 V 63 -70 V 63 -62 V 63 -57 V 63 -49 V 63 -43 V 63 -38 V 63 -31 V 63 -26 V 64 -21 V 63 -17 V 63 -13 V 63 -10 V 63 -8 V 63 -5 V 63 -4 V 63 -3 V 63 -1 V 64 -1 V 63 -1 V 63 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT2 6311 4459 M (r = 4) Rshow 6395 4459 M 399 0 V 714 4569 M 63 -18 V 63 -19 V 63 -21 V 63 -22 V 64 -23 V 63 -25 V 63 -27 V 63 -29 V 63 -30 V 63 -32 V 63 -34 V 63 -36 V 63 -39 V 64 -41 V 63 -43 V 63 -46 V 63 -49 V 63 -51 V 63 -54 V 63 -58 V 63 -60 V 63 -64 V 64 -67 V 63 -70 V 63 -73 V 63 -78 V 63 -80 V 63 -84 V 63 -87 V 63 -91 V 63 -94 V 64 -97 V 63 -101 V 63 -103 V 63 -105 V 63 -108 V 63 -110 V 63 -111 V 63 -112 V 63 -113 V 64 -113 V 63 -113 V 63 -112 V 63 -110 V 63 -107 V 63 -105 V 63 -101 V 63 -97 V 63 -92 V 64 -87 V 63 -81 V 63 -75 V 63 -68 V 63 -62 V 63 -55 V 63 -49 V 63 -43 V 63 -36 V 64 -31 V 63 -25 V 63 -20 V 63 -17 V 63 -12 V 63 -10 V 63 -7 V 63 -6 V 63 -3 V 64 -3 V 63 -1 V 63 -2 V 63 0 V 63 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT3 6311 4319 M (r = 5) Rshow 6395 4319 M 399 0 V 714 4704 M 63 -9 V 63 -9 V 63 -11 V 63 -10 V 64 -12 V 63 -12 V 63 -13 V 63 -15 V 63 -15 V 63 -16 V 63 -17 V 63 -18 V 63 -20 V 64 -21 V 63 -22 V 63 -24 V 63 -25 V 63 -27 V 63 -29 V 63 -31 V 63 -32 V 63 -35 V 64 -37 V 63 -39 V 63 -41 V 63 -44 V 63 -47 V 63 -49 V 63 -52 V 63 -55 V 63 -58 V 64 -61 V 63 -65 V 63 -67 V 63 -71 V 63 -75 V 63 -78 V 63 -81 V 63 -85 V 63 -88 V 64 -91 V 63 -95 V 63 -98 V 63 -101 V 63 -103 V 63 -107 V 63 -108 V 63 -110 V 63 -112 V 64 -112 V 63 -113 V 63 -113 V 63 -113 V 63 -111 V 63 -109 V 63 -107 V 63 -104 V 63 -100 V 64 -96 V 63 -91 V 63 -86 V 63 -79 V 63 -74 V 63 -67 V 63 -60 V 63 -54 V 63 -48 V 64 -40 V 63 -35 V 63 -30 V 63 -24 V 63 -19 V 63 -16 V 63 -12 V 63 -9 V 63 -7 V 64 -5 V 63 -3 V 63 -2 V 63 -2 V 63 -1 V 63 0 V 63 -1 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT4 6311 4179 M (r = 6) Rshow 6395 4179 M 399 0 V 714 4769 M 63 -4 V 63 -5 V 63 -4 V 63 -6 V 64 -5 V 63 -6 V 63 -6 V 63 -7 V 63 -8 V 63 -7 V 63 -9 V 63 -9 V 63 -9 V 64 -10 V 63 -11 V 63 -12 V 63 -13 V 63 -13 V 63 -14 V 63 -16 V 63 -16 V 63 -17 V 64 -19 V 63 -20 V 63 -21 V 63 -23 V 63 -24 V 63 -25 V 63 -28 V 63 -29 V 63 -31 V 64 -33 V 63 -35 V 63 -37 V 63 -39 V 63 -42 V 63 -45 V 63 -47 V 63 -49 V 63 -53 V 64 -56 V 63 -58 V 63 -62 V 63 -65 V 63 -68 V 63 -72 V 63 -75 V 63 -78 V 63 -82 V 64 -86 V 63 -88 V 63 -92 V 63 -96 V 63 -98 V 63 -102 V 63 -104 V 63 -106 V 63 -109 V 64 -110 V 63 -112 V 63 -113 V 63 -113 V 63 -113 V 63 -112 V 63 -111 V 63 -109 V 63 -107 V 64 -103 V 63 -99 V 63 -95 V 63 -90 V 63 -85 V 63 -78 V 63 -73 V 63 -65 V 63 -60 V 64 -52 V 63 -46 V 63 -40 V 63 -34 V 63 -29 V 63 -23 V 63 -19 V 63 -14 V 63 -12 V 64 -8 V 63 -7 V 63 -4 V 63 -3 V 63 -3 V 63 -1 V 63 -1 V 63 0 V 63 -1 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT5 6311 4039 M (r = 7) Rshow 6395 4039 M 399 0 V 714 4800 M 63 -2 V 63 -2 V 63 -2 V 63 -2 V 64 -3 V 63 -3 V 63 -3 V 63 -3 V 63 -3 V 63 -4 V 63 -4 V 63 -4 V 63 -5 V 64 -5 V 63 -5 V 63 -6 V 63 -6 V 63 -6 V 63 -7 V 63 -7 V 63 -8 V 63 -8 V 64 -9 V 63 -10 V 63 -10 V 63 -11 V 63 -12 V 63 -12 V 63 -14 V 63 -14 V 63 -16 V 64 -16 V 63 -18 V 63 -18 V 63 -20 V 63 -21 V 63 -23 V 63 -24 V 63 -26 V 63 -28 V 64 -29 V 63 -31 V 63 -33 V 63 -35 V 63 -38 V 63 -39 V 63 -42 V 63 -45 V 63 -47 V 64 -50 V 63 -53 V 63 -56 V 63 -58 V 63 -62 V 63 -65 V 63 -69 V 63 -72 V 63 -75 V 64 -79 V 63 -82 V 63 -86 V 63 -89 V 63 -92 V 63 -96 V 63 -98 V 63 -102 V 63 -104 V 64 -107 V 63 -109 V 63 -110 V 63 -112 V 63 -113 V 63 -113 V 63 -113 V 63 -112 V 63 -111 V 64 -109 V 63 -106 V 63 -103 V 63 -99 V 63 -95 V 63 -89 V 63 -84 V 63 -79 V 63 -71 V 64 -66 V 63 -59 V 63 -52 V 63 -45 V 63 -40 V 63 -33 V 63 -28 V 63 -23 V 63 -19 V 64 -14 V 63 -12 V 63 -8 V 63 -6 V 63 -5 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 2614 a FK(Figur)o(e)22 b(3.1:)871 2509 y SDict begin H.S end 871 2509 a 871 2509 a SDict begin H.R end 871 2509 a 871 2509 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.1) cvn H.B /DEST pdfmark end 871 2509 a 105 x FK(The)h(pr)o(obability)f(of)h(a)g(given)f(number)g(of)h (blocks)g(being)f(available)g(in)g(the)h(subnetwork)515 2719 y(M)586 2734 y Fw(1)637 2719 y FK(during)c(a)g(network)f(split)h (for)f(differ)o(ent)g(values)h(of)f(r)j(with)f Fv(j)5 b FK(M)2289 2734 y Fw(1)2322 2719 y Fv(j)22 b Ft(=)h Fv(j)5 b FK(M)2543 2733 y Fw(2)2576 2719 y Fv(j)23 b Ft(=)e FR(50)p FK(.)573 4941 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: characteristics/images/netsplit90-10.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: netsplit90-10.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Sun Dec 14 13:27:10 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 1302 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 2183 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 3065 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3946 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4828 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 1) Cshow 1384 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 2053 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 2723 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1000) Cshow 3392 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10000) Cshow 4062 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100000) Cshow 4731 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+06) Cshow 5401 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+07) Cshow 6070 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+08) Cshow 6740 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+09) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Probability of the blocks being available) Cshow grestore 3838 70 M (Number of blocks) Cshow 1.000 UL LT0 6311 4739 M (r = 2) Rshow 6395 4739 M 399 0 V 714 4788 M 63 -10 V 63 -12 V 63 -15 V 63 -18 V 64 -23 V 63 -28 V 63 -34 V 63 -43 V 63 -52 V 63 -64 V 63 -78 V 63 -95 V 63 -115 V 64 -138 V 63 -165 V 63 -194 V 63 -226 V 63 -259 V 63 -292 V 63 -321 V 63 -341 V 63 -352 V 64 -344 V 63 -320 V 63 -276 V 63 -219 V 63 -155 V 63 -97 V 63 -51 V 63 -22 V 63 -7 V 64 -2 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 1.000 UL LT1 6311 4599 M (r = 3) Rshow 6395 4599 M 399 0 V 714 4825 M 63 -1 V 63 -1 V 63 -1 V 63 -2 V 64 -2 V 63 -2 V 63 -3 V 63 -4 V 63 -4 V 63 -6 V 63 -7 V 63 -8 V 63 -11 V 64 -13 V 63 -16 V 63 -20 V 63 -25 V 63 -31 V 63 -38 V 63 -46 V 63 -57 V 63 -70 V 64 -86 V 63 -103 V 63 -124 V 63 -150 V 63 -177 V 63 -208 V 63 -240 V 63 -274 V 63 -305 V 64 -331 V 63 -348 V 63 -350 V 63 -336 V 63 -303 V 63 -252 V 63 -191 V 63 -129 V 63 -75 V 64 -36 V 63 -14 V 63 -4 V 63 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT2 6311 4459 M (r = 4) Rshow 6395 4459 M 399 0 V 714 4828 M 63 0 V 63 0 V 63 -1 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 -1 V 63 0 V 63 -1 V 63 0 V 63 -1 V 64 -1 V 63 -1 V 63 -2 V 63 -2 V 63 -2 V 63 -3 V 63 -3 V 63 -5 V 63 -5 V 64 -7 V 63 -8 V 63 -10 V 63 -13 V 63 -16 V 63 -20 V 63 -24 V 63 -30 V 63 -37 V 64 -46 V 63 -55 V 63 -69 V 63 -83 V 63 -101 V 63 -122 V 63 -146 V 63 -174 V 63 -204 V 64 -237 V 63 -270 V 63 -302 V 63 -328 V 63 -347 V 63 -351 V 63 -338 V 63 -308 V 63 -258 V 64 -199 V 63 -135 V 63 -80 V 63 -40 V 63 -16 V 63 -5 V 63 -1 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT3 6311 4319 M (r = 5) Rshow 6395 4319 M 399 0 V 714 4828 M 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 -1 V 64 0 V 63 -1 V 63 0 V 63 -1 V 63 -1 V 63 -2 V 63 -1 V 63 -2 V 63 -2 V 64 -3 V 63 -4 V 63 -5 V 63 -5 V 63 -7 V 63 -9 V 63 -11 V 63 -14 V 63 -16 V 64 -21 V 63 -25 V 63 -32 V 63 -39 V 63 -47 V 63 -59 V 63 -71 V 63 -87 V 63 -106 V 64 -127 V 63 -152 V 63 -181 V 63 -211 V 63 -244 V 63 -278 V 63 -308 V 63 -333 V 63 -349 V 64 -350 V 63 -333 V 63 -298 V 63 -246 V 63 -184 V 63 -122 V 63 -69 V 63 -33 V 63 -13 V 64 -3 V 63 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 1.000 UL LT4 6311 4179 M (r = 6) Rshow 6395 4179 M 399 0 V 714 4828 M 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 -1 V 63 0 V 64 0 V 63 0 V 63 0 V 63 -1 V 63 0 V 63 0 V 63 -1 V 63 -1 V 63 -1 V 64 -1 V 63 -1 V 63 -2 V 63 -2 V 63 -3 V 63 -3 V 63 -4 V 63 -5 V 63 -6 V 64 -8 V 63 -10 V 63 -12 V 63 -14 V 63 -19 V 63 -22 V 63 -28 V 63 -35 V 63 -42 V 64 -52 V 63 -64 V 63 -78 V 63 -95 V 63 -114 V 63 -138 V 63 -164 V 63 -193 V 63 -226 V 64 -259 V 63 -291 V 63 -320 V 63 -342 V 63 -351 V 63 -345 V 63 -320 V 63 -277 V 63 -219 V 64 -157 V 63 -97 V 63 -52 V 63 -22 V 63 -8 V 63 -2 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT5 6311 4039 M (r = 7) Rshow 6395 4039 M 399 0 V 714 4828 M 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 -1 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 -1 V 63 0 V 63 -1 V 63 0 V 63 -1 V 63 -1 V 63 -1 V 63 -2 V 63 -2 V 64 -2 V 63 -3 V 63 -4 V 63 -4 V 63 -6 V 63 -7 V 63 -8 V 63 -11 V 63 -13 V 64 -16 V 63 -20 V 63 -25 V 63 -31 V 63 -38 V 63 -46 V 63 -58 V 63 -69 V 63 -86 V 64 -103 V 63 -125 V 63 -149 V 63 -177 V 63 -208 V 63 -240 V 63 -274 V 63 -305 V 63 -331 V 64 -348 V 63 -350 V 63 -336 V 63 -303 V 63 -252 V 63 -191 V 63 -129 V 63 -75 V 63 -36 V 64 -14 V 63 -4 V 63 -1 V 63 0 V 63 0 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 5129 a(Figur)o(e)h(3.2:)871 5024 y SDict begin H.S end 871 5024 a 871 5024 a SDict begin H.R end 871 5024 a 871 5024 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.2) cvn H.B /DEST pdfmark end 871 5024 a 105 x FK(The)h(pr)o(obability)f(of)h(a)g(given)f(number)g(of)h(blocks)g (being)f(available)g(in)g(the)h(subnetwork)515 5234 y(M)586 5249 y Fw(1)637 5234 y FK(during)c(a)g(network)f(split)h(for)f(differ)o (ent)g(values)h(of)f(r)j(with)f Fv(j)5 b FK(M)2289 5249 y Fw(1)2322 5234 y Fv(j)22 b Ft(=)g FR(90)d FK(and)h Fv(j)5 b FK(M)2767 5248 y Fw(2)2801 5234 y Fv(j)22 b Ft(=)g FR(10)p FK(.)1831 5662 y FU(35)p eop end %%Page: 36 38 TeXDict begin 36 37 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.36) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 565 531 a FI(\017)41 b FU(If)24 b(many)h(nodes)f(join)i(the)f (network)g(within)h(a)e(short)h(period)f(of)h(time,)f FO(r)j FU(of)e(them)648 646 y(may)h(end)g(up)h(closest)g(to)f(a)g (block)h(although)h(it)e(is)h(not)g(possible)g(to)g(r)o(etrieve)e(the) 648 760 y(block)c(fr)o(om)f(them,)h(yet.)565 941 y FI(\017)41 b FU(If)24 b(a)g(block)h(is)g(cr)o(eated)e(in)i(a)f(split)h(network)g (that)g(is)g(subsequently)g(r)o(econnected,)648 1055 y(the)20 b(block)i(may)e(not)i(r)o(eside)e(on)h(the)g FO(r)i FU(nodes)e(closest)g(to)h(it.)565 1235 y(Since)k(the)h(hash)h (function)f(distributes)h(keys)f(uniformly)h(in)f(the)g(hash)h(space,)e (it)h(is)440 1349 y(unlikely)f(that)e(just)i FO(r)h FU(nodes)e(joining) h(could)f(end)g(up)f(closest)h(to)g(a)g(block)g(\226)f(their)h(iden-) 440 1464 y(ti\002ers)f(ar)o(e)f(expected)f(to)j(be)e(mapped)g(to)i(dif) o(fer)o(ent)c(places)j(in)g(the)g(hash)g(space.)f(This)i(is)440 1579 y(also)k(the)g(case)g(if)f(the)i(network)f(was)g(split)h(into)f (two)h(equal)f(sized)f(subnetworks;)i(the)440 1693 y(hash)c(function)g (is)g(expected)e(to)i(map)f(to)h(nodes)g(on)g(both)h(sides)e(of)h(the)f (network)h(after)440 1808 y(the)21 b(connection)h(has)f(been)f(r)o (eestablished.)565 1922 y(Note)h(that)g(after)g(some)h(time)f(the)h (unavailable)e(blocks)i(will)h(be)e(r)o(epublished)f(to)i(the)440 2037 y(appr)o(opriate)29 b(nodes)j(as)f(described)f(in)i(Section)2050 2039 y SDict begin H.S end 2050 2039 a -2 x FU(2.2.6)2216 1979 y SDict begin H.R end 2216 1979 a 2216 2037 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.2.6) cvn H.B /ANN pdfmark end 2216 2037 a FU(,)f(and)g(the)g(blocks)h(will)g(then)g(be) 440 2151 y(available)19 b(again.)440 2311 y SDict begin H.S end 440 2311 a 440 2311 a SDict begin 13.79993 H.A end 440 2311 a 440 2311 a SDict begin [ /View [/XYZ H.V] /Dest (section.3.2) cvn H.B /DEST pdfmark end 440 2311 a 148 x FL(3.2)119 b(File)30 b(consistency)g(guarantees)440 2663 y FU(On)d(a)g(local)g (centralised)f(\002le)h(system)g(all)g(\002le)g(r)o(efer)o(ences)e(ar)o (e)g(kept)i(on)g(the)g(same)g(ma-)440 2778 y(chine)h(and)g(all)g (\002le)g(operations)g(ar)o(e)f(pr)o(ocessed)g(on)i(the)f(same)g (caches)f(with)i(local)f(\002le)440 2892 y(system.)k(When)g(multiple)g (users)f(access)g(the)g(same)g(\002le)h(this)g(ensur)o(es)f(that)g(all) g(users)440 3007 y(operate)20 b(on)h(the)g(same)g(copy)g(of)f(the)h (\002le)g(and)g(see)f(each)g(other)6 b('s)22 b(changes.)565 3122 y(W)-5 b(ith)28 b(a)g(distributed)f(\002le)h(system,)g(pr)o (opagation)f(delays)g(and)h(the)g(lack)f(of)h(central)440 3236 y(storage)20 b(space)f(r)o(esults)g(in)i(concurr)o(ency)e(pr)o (oblems.)h(W)-8 b(eaker)19 b(consistency)i(guarantees)440 3351 y(ar)o(e)26 b(then)j(usually)f(given)g(to)g(avoid)g(abysmal)f (performance.)g(For)h(instance,)g(NFS)f(op-)440 3465 y(erates)c(with)h(a)f(cache)g(at)g(both)h(the)f(client)h(and)f(server)g (side)g([)2424 3465 y SDict begin H.S end 2424 3465 a FU(2)2466 3465 y SDict begin 13.79993 H.L end 2466 3465 a 2466 3465 a SDict begin [ /Subtype /Link /Dest (cite.dslecturebook) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2466 3465 a -1 w FU(].)g(Sometimes)h(the)g(cache)440 3580 y(on)g(the)g(client)g(slide)g(will)g(not)h(be)e(consistent)i(with) f(the)g(actual)f(\002le)h(on)g(the)g(server)-6 b(,)23 b(and)440 3694 y(although)j(NFS)f(tries)h(to)g(minimise)g(this)g(pr)o (oblem,)f(e.g.)g(by)h(adaptively)e(lowering)i(the)440 3809 y(cache)16 b(r)o(efr)o(esh)e(intervals,)i(it)h(is)f(only)i(an)e (appr)o(oximation)g(of)g(the)g(guarantee)g(fr)o(om)f(a)h(local)440 3924 y(\002le)21 b(system.)565 4038 y(Our)h(system)g(pr)o(ovides)g(a)f (guarantee)g(which)i(is)g(actually)e(str)o(onger:)h(When)g(a)g(\002le)g (is)440 4153 y(r)o(equested)c(we)h(can)f(guarantee)g(that)h(all)f(r)o (eceived)f(blocks)j(belong)f(to)g(the)g(same)g(version)440 4267 y(of)k(the)h(\002le.)f(The)g(data)f(ar)o(e)g(not)i(intermingled)f (even)g(if)g(multiple)h(nodes)g(write)f(concur)o(-)440 4382 y(r)o(ently)e(to)g(the)g(same)f(\002le.)565 4496 y(T)-8 b(o)18 b(see)f(this,)h(r)o(ecall)e(fr)o(om)h(Section)1668 4498 y SDict begin H.S end 1668 4498 a -2 x FU(2.3.1)1834 4439 y SDict begin H.R end 1834 4439 a 1834 4496 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.3.1) cvn H.B /ANN pdfmark end 1834 4496 a 18 w FU(that)g(the)h(\002le)f(identi\002er)h (is)g(looked)g(up)f(as)g(the)440 4611 y(\002rst)25 b(step)g(when)h(a)e (\002le)i(is)f(r)o(equested.)f(This)h(ensur)o(es)g(that)g(only)h (blocks)g(fr)o(om)e(that)h(\002le)440 4726 y(identi\002er)e(version)h (ar)o(e)e(r)o(equested.)g(A)h(\002le)h(modi\002cation)g(does)g(not)g (modify)g(or)f(delete)440 4840 y(existing)i(blocks)h(except)e(for)g (the)h(\002le)g(identi\002er)g(block)g(which)g(will)h(always)e(contain) i(a)440 4955 y(new)i(\002le)g(identi\002er)g(hash.)g(Hence,)g(concurr)o (ent)g(write)f(and)h(r)o(ead)e(operations)j(do)f(not)440 5069 y(interfer)o(e.)565 5184 y(However)-6 b(,)18 b(our)g(system)i(is)f (worse)g(in)g(guaranteeing)f(that)g(all)h(nodes)g(have)f(the)g(same)440 5298 y(view)24 b(of)f(what)h(is)g(the)f(latest)g(version)h(of)g(a)f (\002le.)g(If)h(multiple)g(nodes)f(write)h(to)g(the)f(same)440 5413 y(\002le,)i(it)g(is)g(possible)h(that)f(some)g(of)g(the)g FO(r)j FU(nodes)d(storing)h(the)f(\002le)g(identi\002er)g(block)h(will) 1831 5662 y(36)p eop end %%Page: 37 39 TeXDict begin 37 38 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.37) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 531 a FU(end)18 b(up)h(with)g(one)g(version)g(and)f(the)g(r)o (est)g(of)g(the)h FO(r)i FU(nodes)e(with)g(another)-6 b(.)18 b(Even)g(without)440 646 y(concurr)o(ent)26 b(writers,)g(the)h (same)f(may)g(happen)h(during)f(a)g(network)h(split)g(\226)f(when)h (the)440 760 y(network)21 b(is)h(r)o(econnected,)d(dif)o(fer)o(ent)g (versions)i(of)g(the)g(same)f(\002le)h(identi\002er)g(exist.)565 875 y(The)i(latter)f(situation)j(is)e(theor)o(etically)g(unavoidable)g (if)g(normal)h(operation)f(is)h(per)o(-)440 990 y(mitted)f(during)h(a)e (network)i(split)f(since)h(the)f(disconnected)g(nodes)h(cannot)f (communi-)440 1104 y(cate.)565 1219 y(The)i(consequence)i(is)f(that)g (dif)o(fer)o(ent)e(nodes)i(may)g(r)o(etrieve)e(dif)o(fer)o(ent)g (versions)i(of)440 1333 y(the)h(same)g(\002le.)g(W)-8 b(e)27 b(can)g(only)h(guarantee)e(that)h(eventually)g(the)g(pr)o(oblem) f(will)i(disap-)440 1448 y(pear)i(since)h(the)g(garbage)f(collector)h (will)g(detect)f(the)h(two)h(con\003icting)g(versions)g(and)440 1562 y(choose)22 b(one)f(of)f(them,)h(as)g(described)f(in)h(Section) 2043 1562 y SDict begin H.S end 2043 1562 a FU(2.4.2)2209 1505 y SDict begin H.R end 2209 1505 a 2209 1562 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.4.2) cvn H.B /ANN pdfmark end 2209 1562 a FU(.)440 1709 y SDict begin H.S end 440 1709 a 440 1709 a SDict begin 13.79993 H.A end 440 1709 a 440 1709 a SDict begin [ /View [/XYZ H.V] /Dest (section.3.3) cvn H.B /DEST pdfmark end 440 1709 a 158 x FL(3.3)119 b(Loss)31 b(of)e(data)440 2071 y FU(Since)19 b(nodes)g(may)g(crash)f (or)h(otherwise)h(leave)e(the)h(system,)h(all)e(of)h(the)g FO(r)j FU(nodes)d(that)g(ar)o(e)440 2186 y(r)o(eplicating)k(a)g(number) h(of)g(blocks)g(may)f(be)h(unavailable.)e(In)i(the)g(worst)g(case,)f (none)h(of)440 2300 y(them)d(ever)f(r)o(ejoins)h(and)g(the)g(blocks)g (ar)o(e)e(completely)j(lost.)565 2415 y(In)j(the)h(following,)h(we)f (investigate)f(the)h(pr)o(obability)f(of)h(this)g(event)f(to)h(happen)g (as)440 2530 y(a)g(function)h(of)f(the)g(r)o(eplication)g(constant)h FO(r)i FU(and)c(the)i(r)o(epublishing)f(time)h(interval)h FO(T)3250 2547 y FB(b)3284 2530 y FU(.)440 2644 y(W)-5 b(ith)20 b(the)f(assumptions)h(pr)o(esented)e(in)h(Section)2011 2646 y SDict begin H.S end 2011 2646 a -2 x FU(3.3.1)2177 2587 y SDict begin H.R end 2177 2587 a 2177 2644 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.3.1) cvn H.B /ANN pdfmark end 2177 2644 a 19 w FU(it)g(turns)g(out)g(the)g(pr)o (obability)g(can)440 2759 y(be)e(quanti\002ed,)g(as)g(shown)i(in)e (Section)1689 2761 y SDict begin H.S end 1689 2761 a -2 x FU(3.3.2)1855 2701 y SDict begin H.R end 1855 2701 a 1855 2759 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.3.2) cvn H.B /ANN pdfmark end 1855 2759 a FU(.)g(Section)2175 2761 y SDict begin H.S end 2175 2761 a -2 x FU(3.3.3)2341 2701 y SDict begin H.R end 2341 2701 a 2341 2759 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.3.3) cvn H.B /ANN pdfmark end 2341 2759 a 17 w FU(discusses)h(the)f(implications)440 2873 y(of)k(the)g(estimate)f(of)h(the)g(pr)o(obability)-9 b(.)440 3020 y SDict begin H.S end 440 3020 a 440 3020 a SDict begin 13.79993 H.A end 440 3020 a 440 3020 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.3.1) cvn H.B /DEST pdfmark end 440 3020 a 110 x FJ(3.3.1)99 b(Analysis)25 b(assumptions)440 3303 y FU(First,)16 b(we)g(ar)o(e)e(considering)j(the)f(worst)g(case)f (so)i(de\002ne)e(a)h(node)g(failur)o(e)e(to)i(be)g(a)f(complete)440 3418 y(node)33 b(br)o(eakdown)f(wher)o(e)g(all)h(data)e(on)j(the)f (node)g(is)g(lost.)g(If)g(the)g(node)g(afterwar)o(ds)440 3532 y(r)o(ejoins,)27 b(it)g(is)g(as)f(if)g(it)h(wer)o(e)f(a)g (completely)h(new)g(node.)g(This)g(point)g(of)g(view)f(makes)h(it)440 3647 y(possible)h(to)h(consider)f(node)g(failur)o(es)e(as)i(binary)g (events)f(\226)h(either)f(a)h(node)g(is)g(up)g(and)440 3761 y(functioning)22 b(corr)o(ectly)-9 b(,)20 b(or)h(it)g(has)f (failed)g(and)g(left)h(the)g(system.)565 3876 y(Furthermor)o(e,)28 b(we)h(assume)g(that)g(the)g(network)h(under)f(consideration)g(will)h (have)440 3990 y(mor)o(e)20 b(than)h FO(r)h FU(nodes)f(r)o(unning)h(at) e FO(any)g FU(given)g(time)h(so)g(that)f(it)h(is)f(possible)h(to)g (maintain)g FO(r)440 4105 y FU(r)o(eplicas)16 b(even)h(if)f FO(r)f FI(\000)f FU(1)j(nodes)g(fail.)g(W)-8 b(e)17 b(also)g(assume)g (that)g(the)g(r)o(epublishing)g(algorithm)440 4220 y(given)23 b(in)g(Section)1051 4222 y SDict begin H.S end 1051 4222 a -2 x FU(2.2.6)1217 4162 y SDict begin H.R end 1217 4162 a 1217 4220 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.2.6) cvn H.B /ANN pdfmark end 1217 4220 a 23 w FU(is)g(corr)o(ect)f (in)i(maintaining)f(the)g FO(r)j FU(r)o(eplicas.)21 b(For)i (convenience,)440 4334 y(we)e(assume)g(it)g(r)o(epublishes)f(the)h (data)f(instantly)h(but)g(the)g(model)g(we)g(pr)o(esent)f(is)h(essen-) 440 4449 y(tially)g(the)g(same)f(as)h(long)h(as)e(the)h(algorithm)h (completes)f(much)g(faster)f(than)j FO(T)2975 4466 y FB(b)3008 4449 y FU(.)565 4563 y(The)d(last)h(assumptions)h(we)f(make)f (concern)h(the)g(natur)o(e)f(of)h(node)g(failur)o(es:)440 4609 y SDict begin H.S end 440 4609 a 440 4609 a SDict begin 13.79993 H.A end 440 4609 a 440 4609 a SDict begin [ /View [/XYZ H.V] /Dest (Item.59) cvn H.B /DEST pdfmark end 440 4609 a 544 4729 a FU(1.)41 b(The)26 b(pr)o(obability)g(of)h(a)f(node)h (failing)g(is)g(independent)g(of)f(the)h(time)g(of)g(day)f(and)648 4844 y(the)20 b(day)h(of)f(the)h(year)-6 b(.)440 4897 y SDict begin H.S end 440 4897 a 440 4897 a SDict begin 13.79993 H.A end 440 4897 a 440 4897 a SDict begin [ /View [/XYZ H.V] /Dest (Item.60) cvn H.B /DEST pdfmark end 440 4897 a 544 5018 a FU(2.)41 b(Dif)o(fer)o(ent)19 b(nodes)i(fail)f (independently)h(of)g(each)f(other)-6 b(.)440 5184 y(The)25 b(\002rst)g(assumption)h(is)f(obviously)h(not)g(tr)o(ue)f(for)f(any)h (r)o(eal)f(system)h(since)g(the)g(pr)o(ob-)440 5298 y(abilities)f(vary) f(over)h(time.)g(But)g(a)g(\002xed)f(over)o(estimate)g(of)h(the)g(pr)o (obability)g(can)g(be)f(ob-)440 5413 y(tained)k(by)g(choosing)i(the)e (gr)o(eatest)f(pr)o(obability)h(for)g(a)f(node)i(over)f(time.)g(The)g (second)1831 5662 y(37)p eop end %%Page: 38 40 TeXDict begin 38 39 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.38) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 531 a FU(assumption)20 b(can)f(be)h(claimed)e(to)i(be)f(tr)o (ue)h(for)f(such)h(events)f(as)g(har)o(dwar)o(e)e(failur)o(es)h(\(e.g.) 440 646 y(disk)31 b(crashes\),)f(but)h(does)g(not)h(hold)f(with)h (failur)o(es)e(that)h(af)o(fect)e(multiple)i(machines,)440 760 y(such)21 b(as)g(lightnings)h(or)f(computer)g(vir)o(uses.)565 875 y(The)26 b(two)g(last)g(assumptions)i(taken)d(together)i(means)f (that)g(the)g(nodes)g(fail)g(with)h(a)440 990 y(constant)21 b(rate)g FH(l)h FU(\(e.g.)e(one)h(node)g(per)g(day\).)440 1140 y SDict begin H.S end 440 1140 a 440 1140 a SDict begin 13.79993 H.A end 440 1140 a 440 1140 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.3.2) cvn H.B /DEST pdfmark end 440 1140 a 110 x FJ(3.3.2)99 b(The)25 b(probability)h(of)f(loss)h(of)f (blocks)440 1423 y FU(Given)d(the)g(assumptions)h(in)g(the)e(pr)o (eceding)g(section,)h(we)g(can)g(model)g(the)g(pr)o(obability)440 1537 y(of)f(losing)h(blocks.)f(W)-8 b(e)21 b(pr)o(oceed)e(by)i(doing)h (that)e(in)h(thr)o(ee)f(steps.)565 1652 y(If)25 b(all)h(blocks)h(ar)o (e)e(r)o(eplicated)f FO(r)29 b FU(times,)d(obviously)h(at)f(least)g FO(r)j FU(nodes)d(must)h(fail)f(for)440 1767 y(any)19 b(blocks)h(to)f(be)g(lost.)h(Hence,)f(we)g(must)h(obtain)f(the)g(pr)o (obability)g(of)g FO(r)j FU(or)d(mor)o(e)g(nodes)440 1881 y(failing,)i(or)g(mor)o(e)f(general,)g(pr)o(ecisely)h FO(k)h FU(nodes)f(failing.)g(This)g(is)g(the)g(\002rst)g(step.)565 1996 y(But)h FO(r)i FU(or)e(mor)o(e)g(nodes)h(failing)f(is)h(in)f(fact) f(not)i(a)f(suf)o(\002cient)g(condition)h(for)f(data)f(loss)440 2110 y(since)g(the)h(failed)e(nodes)h(may)g(not)h(have)f(any)g(blocks)h (in)f(common.)i(If)e(the)g(failed)f(nodes)440 2225 y(do)e(not)g(have)f (any)g(blocks)i(in)f(common,)g(ther)o(e)f(will)h(still)h(be)e(at)g (least)g(one)h(r)o(eplica)e(of)i(each)440 2339 y(block)24 b(somewher)o(e)g(in)h(the)f(system)g(and)g(no)g(data)f(is)h(lost.)h (Thus)f(we)g(must)h(also)f(obtain)440 2454 y(the)i(pr)o(obability)f (that)g(given)h(that)g FO(k)h FU(nodes)e(have)g(failed)g(\(wher)o(e)g FO(k)34 b FI(\025)e FO(r)r FU(\),)25 b(at)g(least)h FO(r)h FU(of)440 2569 y(them)21 b(have)f(blocks)i(in)f(common.)h(This)f(is)h (our)e(second)h(step.)565 2683 y(The)j(thir)o(d)f(step)i(is)f(to)h (combine)g(the)f(r)o(esults.)g(W)-8 b(e)24 b(start)g(by)g(computing)h (the)g(pr)o(oba-)440 2798 y(bility)c(of)h FO(k)g FU(nodes)f(failing)g (within)h(some)g(time)f(interval.)440 3039 y FQ(The)f(probability)f(of) j FO(k)g FQ(nodes)e(failing)440 3118 y SDict begin H.S end 440 3118 a 440 3118 a SDict begin 13.79993 H.A end 440 3118 a 440 3118 a SDict begin [ /View [/XYZ H.V] /Dest (section*.24) cvn H.B /DEST pdfmark end 440 3118 a 94 x FU(The)25 b(pr)o(obability)f(of)i FO(k)h FU(nodes)e(failing)g(within)h(some)g (time)f(interval)f(is)i(easily)e(found)h(if)440 3326 y(we)f(model)h(the)f(system)h(as)f(a)f FO(Poisson)i(pr)o(ocess)f FU([)1992 3326 y SDict begin H.S end 1992 3326 a FU(18)2076 3326 y SDict begin 13.79993 H.L end 2076 3326 a 2076 3326 a SDict begin [ /Subtype /Link /Dest (cite.probability-book) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2076 3326 a -1 w FU(].)f(The)h(model)h(is)f(valid)g (because)f(our)440 3441 y(system)f(with)h(the)f(assumptions)h(fr)o(om)e (Section)2018 3443 y SDict begin H.S end 2018 3443 a -2 x FU(3.3.1)2185 3383 y SDict begin H.R end 2185 3383 a 2185 3441 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.3.1) cvn H.B /ANN pdfmark end 2185 3441 a 21 w FU(satis\002es)h(the)g (following)h(pr)o(oper)o(-)440 3555 y(ties)e([)615 3555 y SDict begin H.S end 615 3555 a FU(21)699 3555 y SDict begin 13.79993 H.L end 699 3555 a 699 3555 a SDict begin [ /Subtype /Link /Dest (cite.poisson-url) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 699 3555 a -1 w FU(]:)565 3736 y FI(\017)41 b FU(The)18 b(number)g(of)h (node)f(failur)o(es)f(in)i(non-overlapping)g(time)g(intervals)f(of)g(a) g(given)648 3851 y(length)27 b(ar)o(e)f(independent)h(for)g(all)g (intervals.)f(This)i(is)f(tr)o(ue)g(because)f(the)i(failur)o(e)648 3966 y(rate)19 b(is)j(constant)g FH(l)q FU(.)565 4147 y FI(\017)41 b FU(For)21 b(a)g(suf)o(\002ciently)g(small)g(time)h (interval)e(the)i(pr)o(obability)e(of)h(a)g(single)h(node)f(fail-)648 4261 y(ur)o(e)31 b(is)h(pr)o(oportional)g(to)g(time.)g(This)h(is)f (also)g(a)g(consequence)h(of)f(the)g(constant)648 4376 y(failur)o(e)19 b(rate.)565 4557 y FI(\017)41 b FU(The)21 b(pr)o(obability)f(for)h(two)h(or)g(mor)o(e)e(node)i(failur)o(es)e(in)h (a)g(suf)o(\002ciently)g(small)h(time)648 4671 y(interval)d(is)h (essentially)g(zer)o(o.)f(This)h(follows)h(fr)o(om)e(the)h(assumption)h (of)f(the)g(inde-)648 4786 y(pendence)26 b(of)h(the)h(node)f(failur)o (es.)f(The)h(pr)o(obability)g(of)g(two)h(nodes)g(to)f(fail)g(in)h(a)648 4900 y(small)23 b(interval)h(is)g(the)f(pr)o(oduct)g(of)h(the)f(two)i (pr)o(obabilities)e(of)g(each)g(node)h(to)g(fail)648 5015 y(in)k(the)g(interval)f(\226)h(this)g(is)g(much)g(smaller)g(than)g (the)g(pr)o(obability)f(of)h(one)g(of)g(the)648 5130 y(nodes)21 b(to)g(fail.)1831 5662 y(38)p eop end %%Page: 39 41 TeXDict begin 39 40 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.39) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 531 a FU(For)28 b(a)f(Poisson)j(pr)o(ocess,)d(the)h(pr)o (obability)f(of)i FO(k)g FU(events)f(happening)g(within)h(the)f(time) 440 646 y(interval)21 b FO(t)h FU(is)f(distributed)f(as)h([)1430 646 y SDict begin H.S end 1430 646 a FU(18)1514 646 y SDict begin 13.79993 H.L end 1514 646 a 1514 646 a SDict begin [ /Subtype /Link /Dest (cite.probability-book) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1514 646 a -1 w FU(])1561 531 y SDict begin H.S end 1561 531 a 1561 531 a SDict begin 13.79993 H.A end 1561 531 a 1561 531 a SDict begin [ /View [/XYZ H.V] /Dest (equation.3.1) cvn H.B /DEST pdfmark end 1561 531 a 1509 885 a FO(P)1562 903 y FB(f)1593 885 y FE(\()r FO(t)q FU(,)15 b FO(k)r FE(\))25 b(=)1888 829 y(\()r FH(l)r FO(t)r FE(\))2038 799 y FB(k)2072 829 y FU(e)2112 799 y Fo(\000)r FD(l)r FB(t)p 1887 866 342 4 v 2026 942 a FO(k)r FU(!)3145 885 y(\(3.1\))440 1097 y(If)j(we)g(de\002ne)g(the)h(event)f(to)g(be)g(a)g (node)g(failur)o(e,)i FO(P)2132 1114 y FB(f)2163 1097 y FE(\()r FO(t)q FU(,)15 b FO(k)r FE(\))30 b FU(gives)e(the)h(pr)o (obability)e(that)441 1211 y FO(k)h FU(nodes)g(have)e(failed)g(within)i (the)g(time)f(interval)h FO(t)q FU(.)e(Now)i(observe)e(that)h(the)i FO(k)f FU(nodes)440 1326 y(must)22 b(fail)f(within)j FO(T)1097 1343 y FB(b)1152 1326 y FU(time)d(\226)g(else)g(the)h(blocks) g(would)f(be)g(r)o(epublished)g(so)h(that)f(at)g(least)440 1440 y FO(r)g FU(nodes)e(wer)o(e)f(storing)i(the)f(block)h(again.)e (The)h(pr)o(obability)f(we)h(ar)o(e)e(looking)k(for)d(is)i(thus)443 1555 y FO(P)496 1573 y FB(f)527 1555 y FE(\()s FO(T)609 1573 y FB(b)643 1555 y FU(,)15 b FO(k)r FE(\))22 b FU(so)f(we)g(can)g (pr)o(oceed)e(with)i(the)g(next)g(step.)440 1796 y FQ(The)f (probability)f(of)i(failed)e(nodes)h(having)g(blocks)f(in)i(common)440 1876 y SDict begin H.S end 440 1876 a 440 1876 a SDict begin 13.79993 H.A end 440 1876 a 440 1876 a SDict begin [ /View [/XYZ H.V] /Dest (section*.25) cvn H.B /DEST pdfmark end 440 1876 a 93 x FU(W)-8 b(e)17 b(now)h(assume)f(that)g FO(k)i FU(nodes)e(have)f(failed)g(with)j FO(k)25 b FI(\025)f FO(r)19 b FU(and)d(pr)o(oceed)g(with)h(deducing)440 2083 y(the)k(pr)o(obability)g(that)g(at)f(least)h FO(r)i FU(of)e(the)h (failed)d(nodes)j(have)e(some)i(blocks)g(in)f(common,)440 2198 y(or)29 b(in)g(other)g(wor)o(ds)g(that)f(data)g(is)h(lost.)g(The)g (deductions)g(ar)o(e)e(a)h(little)h(tricky)g(because)440 2313 y(the)g(blocks)g(ar)o(e)d(distributed)i(to)h(the)g(nodes)f(in)h (accor)o(dance)e(with)i(the)h FT(X)t(O)t(R)i FU(topology)440 2427 y(examined)20 b(in)h(Section)1200 2427 y SDict begin H.S end 1200 2427 a FU(2.2.2)1366 2370 y SDict begin H.R end 1366 2370 a 1366 2427 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.2.2) cvn H.B /ANN pdfmark end 1366 2427 a FU(.)565 2542 y(Given)g(a)f(hash)h(space)f(with)i FO(n)g FU(nodes,)f(divide)f(the)g(nodes)h(into)h(subtr)o(ees)e(that)g(ar)o(e)g (as)440 2656 y(small)j(as)f(possible)i(but)f(still)g(contains)g(at)g (least)f FO(r)j FU(nodes)e(each.)f(An)h(example)f(is)h(shown)440 2771 y(in)d(Figur)o(e)790 2773 y SDict begin H.S end 790 2773 a -2 x FU(3.3)894 2713 y SDict begin H.R end 894 2713 a 894 2771 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.3) cvn H.B /ANN pdfmark end 894 2771 a FU(.)g(W)-5 b(ith)21 b(the)f(assumption)h(that)f(the)g(hash)g(function)h(distributes)f(the)g (nodes)440 2885 y(evenly)25 b(in)g(the)f(hash)h(space,)e(each)h(subtr)o (ee)g(will)h(then)g(contain)g(between)f FO(r)j FU(and)d(2)p FO(r)d FI(\000)d FU(1)440 3000 y(nodes.)809 3982 y @beginspecial 91 @llx 601 @lly 383 @urx 722 @ury 2551 @rwi @setspecial %%BeginDocument: characteristics/images/subtree-split.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: subtree-split.dvi %%BoundingBox: 91 601 383 722 %%DocumentFonts: Palatino-Roman PazoMath-Italic Palatino-Italic CMSY10 %%+ PazoMath CMR10 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o subtree-split.eps subtree-split.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.11:1000 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 %%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 43 /plus put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueXX 5000793 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202 3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5 2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12 cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e 4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618 99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8 ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b 1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af 154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e 44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40 a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e 3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7 dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552 315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3 62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5 87f907572b8354a5c3165eea7e8b2ba4e4f834663063e9a307d8ff6f8b61acd8 799bc105cddcf8f95f2160494fc01f7ec3effb95de571b8d7f27a2f9ad203c09 cd4cffd98a119a507460e7fef5c910405e877aa1f8da68d1272e59e3adccef8d 82e692b3229926fbe621080b7831a2ee248948dd3ae55082a939f02875a7a0eb 7ae7d50270a576fbdfde7109c670f51be75b80b6fe3045ea50e2121024113974 87d0093bc5c693c16b533a75364f7b98677cfd3a09a8791b9c9877fae82abba6 3e0fa40b0f4089ebd017288ed7f8b9fdc23ba5d36b36b1370b959c9a93730ea5 2ac54c311e53a5b8c79bebc62f73d02a155e1ac7cfd0c0c936d24183a7fb2759 a44fc3fce715c66d5d88ffdbc4431f528258d9ede7993ed3d7686ea231aca5be b91243316681700fbc86f9ba2e3e7380af1ce52e114c0db6e2e0a523e6f4b5f1 d7019b13b54ab6880abfa481fa38532aa9e4db39083b42652bd35068aeb277c6 4f19d18683f853e02484ea9867481f9e0cb749adb97351e00b295f6934fa3d8f 48e1f8fa90cc48d2cf5eddd3d8a6082bc0d9eccc51d9bc9f0bd3bf14fef37844 5f33a5fc8edb0add86a166 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 161 /minus put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueXX 5000820 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f67052788e6703bb5ee49533870bca1f113ad8 3750d597b842d8d96c423ba1273ddd32f3a54a912a443fcd44f7c3a6fe3956b0 aa1e784aaec6fce08dae0c76da9d0a3eba57b98a6233d9e9f0c3f00fcc6b2c6a 9ba23af389e6dfff4efec3de05d6276c6be417703ce508377f25960ef4ed83b4 9b01b873f3a639ce00f356229b6477a081933fef3bb80e2b9dffa7f75567b1fa 4d739b772f8d674e567534c6c5bbf1cf615372be20b18472f7aa58be8c216dbd df81cc0a86b6d8318ca68fe22c8af13b54d7576fe4ca5a7af9005ea5cc4edb79 c0ab668e4fec4b7f5a9eb5f0e4c088cd818ecc4feb4b40ec8bd2981bf2336074 b64c4301c39221774c4482ad2518015bc80e2e96dabb4bd07b37a18157f3c7e0 33ce57a4031ab8fd895f5af9a7c68994531e3aa6d47d35b659c43884d356bde7 b760ac7bcf6853b904dfd331a9156fcd786b72585685e1d7db1899736d6bacc1 02128a0a62f6319ac501d472a46463f3373c946036e19747776a6d0d5f7b5d0c 738131dff66d71036da6a85315a368f93c066e652740a8a8d9bf36818b67edf5 6cad2ffe18947049d30ebc9e2631b586454792d9016239cef4ed565b8f4f525e 7e29921fd018f5319fb59f8aa7fc74760f5c0e8d59fce2 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258437 52099154 1000 8000 8000 (subtree-split.dvi) @start /Fa 212[1033 43[{}1 1328.35 /CMR10 rf /Fc 255[1033{}1 1328.35 /CMSY10 rf /Fd 141[517 114[{TeXBase1Encoding ReEncodeFont}1 1328.35 /Palatino-Italic rf /Ff 204[664 664 664 664 48[{ TeXBase1Encoding ReEncodeFont}4 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 13127 a @beginspecial 0 @llx 0 @lly 290 @urx 119 @ury 2900 @rwi @setspecial %%BeginDocument: subtree-split.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: subtree-split.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Thu Dec 11 10:00:52 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 290 119 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 119 moveto 0 0 lineto 290 0 lineto 290 119 lineto closepath clip newpath -129.8 214.4 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % % Polyline 7.500 slw n 4650 1650 m 3375 1950 l gs col0 s gr % Polyline n 4650 1650 m 5850 1950 l gs col0 s gr % Polyline n 3375 1950 m 3900 2325 l gs col0 s gr % Polyline n 3900 2325 m 4200 2700 l gs col0 s gr % Polyline n 3900 2325 m 3600 2700 l gs col0 s gr % Polyline n 3375 1950 m 2700 2325 l gs col0 s gr % Polyline n 2700 2325 m 3000 2700 l gs col0 s gr % Polyline n 2700 2325 m 2400 2700 l gs col0 s gr % Polyline n 5850 1950 m 5250 2325 l 4950 2700 l gs col0 s gr % Polyline n 5250 2325 m 5550 2700 l gs col0 s gr % Polyline n 5850 1950 m 6450 2325 l gs col0 s gr % Polyline n 6450 2325 m 6150 2700 l gs col0 s gr % Polyline n 6450 2325 m 6750 2700 l gs col0 s gr % Polyline [15 45] 45 sd n 4200 2700 m 3975 3300 l 4425 3300 l 4200 2700 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2992 2697 m 2767 3297 l 3217 3297 l 2992 2697 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2400 2700 m 2175 3300 l 2625 3300 l 2400 2700 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3592 2703 m 3367 3303 l 3817 3303 l 3592 2703 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4950 2700 m 4725 3300 l 5175 3300 l 4950 2700 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5550 2700 m 5325 3300 l 5775 3300 l 5550 2700 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6150 2700 m 5925 3300 l 6375 3300 l 6150 2700 l cp gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6750 2700 m 6525 3300 l 6975 3300 l 6750 2700 l cp gs col0 s gr [] 0 sd $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 6962 5800 a Ff(0)p Black 0 0 0 TeXcolorrgb -4164 w(1)p Black 0 0 0 TeXcolorrgb 6962 3300 a(1)p Black 0 0 0 TeXcolorrgb 14962 5800 a(0)p Black 0 0 0 TeXcolorrgb 11962 3300 a(0)p Black 0 0 0 TeXcolorrgb 13962 800 a(1)p Black 0 0 0 TeXcolorrgb 7836 w(0)p Black 0 0 0 TeXcolorrgb 20462 5800 a(1)p Black 0 0 0 TeXcolorrgb 3336 w(0)p Black 0 0 0 TeXcolorrgb 7337 w(0)p Black 0 0 0 TeXcolorrgb -4665 w(1)p Black 0 0 0 TeXcolorrgb 28962 3300 a(0)p Black 0 0 0 TeXcolorrgb -5664 w(1)p Black 0 0 0 TeXcolorrgb 6064 12800 a(2)t Fd(r)304 b Fc(\241)274 b Ff(1)p Black 0 0 0 TeXcolorrgb -7124 w Fd(r)304 b Fa(+)274 b Ff(1)p Black 0 0 0 TeXcolorrgb 6331 w Fd(r)p Black 0 0 0 TeXcolorrgb 2360 w(r)304 b Fa(+)274 b Ff(3)p Black 0 0 0 TeXcolorrgb 11462 5800 a(1)p Black 0 0 0 TeXcolorrgb 19064 12800 a(2)t Fd(r)305 b Fc(\241)273 b Ff(1)p Black 0 0 0 TeXcolorrgb 876 w Fd(r)305 b Fa(+)273 b Ff(1)p Black 0 0 0 TeXcolorrgb 6332 w Fd(r)p Black 0 0 0 TeXcolorrgb -5640 w(r)304 b Fa(+)273 b Ff(3)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 4170 a FK(Figur)o(e)k(3.3:)872 4065 y SDict begin H.S end 872 4065 a 872 4065 a SDict begin H.R end 872 4065 a 872 4065 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.3) cvn H.B /DEST pdfmark end 872 4065 a 105 x FK(Example)h(hash)h(space)g(wher)o(e)f(the)g(nodes)g(have)h (been)e(divided)i(into)e(eight)h(subtr)o(ees.)f(In)511 4276 y(this)k(example,)g(r)20 b Ft(+)e FR(1)26 b FK(nodes)g(ar)o(e)g (in)f(the)h(subtr)o(ee)e(wher)o(e)i(the)g(node)g(keys)g(begin)f(with)h (111,)h FR(2)p FK(r)20 b Fv(\000)e FR(1)511 4381 y FK(nodes)k(ar)o(e)h (in)e(the)i(subtr)o(ee)e(wher)o(e)i(the)f(node)h(keys)g(begin)f(with)g (110,)h(etc.)f(It)h(was)f(possible)g(to)h(divide)511 4486 y(the)18 b(hash)g(space)h(into)d(subtr)o(ees)h(that)h(each)g (contains)f(between)g(r)i(and)f FR(2)p FK(r)e Fv(\000)f FR(1)j FK(nodes)f(because)h(the)f(hash)511 4591 y(function)g(is)i (assumed)g(to)g(distribute)e(the)i(nodes)g(evenly)m(.)565 4824 y FU(Because)31 b(of)i(the)h FT(X)t(O)t(R)i FU(metric)d(the)f (nodes)h(in)g(each)f(subtr)o(ee)g(ar)o(e)f(r)o(esponsible)i(for)440 4938 y(all)d(blocks)h(that)g(have)f(keys)h(in)g(their)f(subtr)o(ee,)g (but)g(not)h(for)g(any)f(other)h(blocks.)g(This)440 5053 y(simpli\002es)25 b(the)f(analysis)g(much)h(because)e(we)h(only)g(need) g(to)g(consider)g(what)g(happens)440 5167 y(when)d(nodes)h(fail)e (inside)h(a)f(subtr)o(ee.)565 5282 y(Now)e(observe)f(that)h FO(r)j FU(nodes)d(failing)g(in)g(any)g(of)g(the)g(subtr)o(ees)f(may)h (cause)f(data)g(loss:)440 5396 y(the)26 b(blocks)g(in)g(a)f(subtr)o(ee) g(will)h(certainly)f(be)h(lost)g(if)f(the)h(subtr)o(ee)f(contains)h FO(r)i FU(nodes;)d(if)1831 5662 y(39)p eop end %%Page: 40 42 TeXDict begin 40 41 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.40) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 531 a FU(the)18 b(subtr)o(ee)g(contains)h(2)p FO(r)d FI(\000)f FU(1)i(nodes,)i(the)f(blocks)h(may)f(or)g(may)g(not)h (be)f(lost)h(\(see)f(Figur)o(e)440 648 y SDict begin H.S end 440 648 a -2 x FU(3.4)544 588 y SDict begin H.R end 544 588 a 544 646 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.4) cvn H.B /ANN pdfmark end 544 646 a FU(\).)809 2023 y @beginspecial 91 @llx 541 @lly 392 @urx 721 @ury 2551 @rwi @setspecial %%BeginDocument: characteristics/images/large-subtree-fails.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: large-subtree-fails.dvi %%BoundingBox: 91 541 392 721 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o large-subtree-fails.eps %+ large-subtree-fails.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.14:1639 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (large-subtree-fails.dvi) @start /Fa 206[553 553 48[{TeXBase1Encoding ReEncodeFont}2 1106.96 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 19734 a @beginspecial 0 @llx 0 @lly 299 @urx 178 @ury 2990 @rwi @setspecial %%BeginDocument: large-subtree-fails.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: large-subtree-fails.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Sun Dec 14 16:39:25 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 299 178 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 178 moveto 0 0 lineto 299 0 lineto 299 178 lineto closepath clip newpath -125.5 262.2 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % 7.500 slw % Ellipse n 2245 4046 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 3143 4055 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 3743 4043 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4049 4043 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 4806 4049 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 5099 4049 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 5999 4055 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 6893 4062 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 2574 4049 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 2245 4271 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 3143 4280 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 3743 4268 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4049 4268 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4806 4274 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 5099 4274 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 5999 4280 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 6893 4287 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 2574 4274 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 2241 3194 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 3139 3203 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 3739 3191 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 4045 3191 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 4802 3197 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 5095 3197 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 5995 3203 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 6889 3210 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 2570 3197 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 6891 3754 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4047 3735 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4804 3741 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 5097 3741 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 5997 3747 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 2243 3738 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 2572 3741 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 3141 3747 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 3741 3735 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 2241 3494 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 3139 3503 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 3739 3491 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4045 3491 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4802 3497 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 5095 3497 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 5995 3503 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 6889 3510 75 75 0 360 DrawEllipse gs col0 s gr % Ellipse n 2570 3497 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Polyline [15 45] 45 sd n 4650 1650 m 3375 1950 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4650 1650 m 5850 1950 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3375 1950 m 3900 2325 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3900 2325 m 4200 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3900 2325 m 3600 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3375 1950 m 2700 2325 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2700 2325 m 3000 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2700 2325 m 2400 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5850 1950 m 5250 2325 l 4950 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5250 2325 m 5550 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5850 1950 m 6450 2325 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6450 2325 m 6150 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6450 2325 m 6750 2700 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2400 2700 m 2250 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3600 2700 m 3450 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3000 2700 m 3150 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4950 2700 m 4800 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6750 2700 m 6900 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5550 2700 m 5400 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6150 2700 m 6000 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6750 2700 m 6600 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6150 2700 m 6300 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 5550 2700 m 5700 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4200 2700 m 4350 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4200 2700 m 4050 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 3600 2700 m 3750 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2426 2690 m 2576 3065 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 2987 2695 m 2837 3070 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 4950 2700 m 5100 3075 l gs col0 s gr [] 0 sd % Polyline [15 45] 45 sd n 6050 1422 m 4650 1647 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 7061 3348 m 2111 3348 l gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 7054 3894 m 2104 3894 l gs col0 s gr [] 0 sd $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 7491 7100 a Fa(0)p Black 0 0 0 TeXcolorrgb 3447 w(1)p Black 0 0 0 TeXcolorrgb -8053 w(1)p Black 0 0 0 TeXcolorrgb 7491 4600 a(1)p Black 0 0 0 TeXcolorrgb 15491 7100 a(0)p Black 0 0 0 TeXcolorrgb 12491 4600 a(0)p Black 0 0 0 TeXcolorrgb 14491 2100 a(1)p Black 0 0 0 TeXcolorrgb 7947 w(0)p Black 0 0 0 TeXcolorrgb 20991 7100 a(1)p Black 0 0 0 TeXcolorrgb 3447 w(0)p Black 0 0 0 TeXcolorrgb 7447 w(0)p Black 0 0 0 TeXcolorrgb -4553 w(1)p Black 0 0 0 TeXcolorrgb 29491 4600 a(0)p Black 0 0 0 TeXcolorrgb -5553 w(1)p Black 0 0 0 TeXcolorrgb 12991 10100 a(0)p Black 0 0 0 TeXcolorrgb -2553 w(1)p Black 0 0 0 TeXcolorrgb -8553 w(1)p Black 0 0 0 TeXcolorrgb 5447 w(0)p Black 0 0 0 TeXcolorrgb 12447 w(0)p Black 0 0 0 TeXcolorrgb -2553 w(1)p Black 0 0 0 TeXcolorrgb 5447 w(0)p Black 0 0 0 TeXcolorrgb 7447 w(0)p Black 0 0 0 TeXcolorrgb 5277 10060 a(0)p Black 0 0 0 TeXcolorrgb 17158 10100 a(0)p Black 0 0 0 TeXcolorrgb -10767 w(1)p Black 0 0 0 TeXcolorrgb 7454 w(1)p Black 0 0 0 TeXcolorrgb 8407 w(1)p Black 0 0 0 TeXcolorrgb 27904 10147 a(1)p Black 0 0 0 TeXcolorrgb 31945 10100 a(1)p Black 0 0 0 TeXcolorrgb -2427 w(0)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 2211 a FK(Figur)o(e)i(3.4:)869 2106 y SDict begin H.S end 869 2106 a 869 2106 a SDict begin H.R end 869 2106 a 869 2106 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.4) cvn H.B /DEST pdfmark end 869 2106 a 105 x FK(An)h(example)h(of)e(a)h(subtr)o(ee)f(with)h FR(2)p FK(r)d Fv(\000)f FR(1)26 b Ft(=)g FR(9)21 b FK(nodes)g(\(r)27 b Ft(=)f FR(5)p FK(\).)21 b(The)g(second)g(and)g(third)511 2316 y(r)o(ow)f(of)h(nodes)g(show)g(possible)f(failur)o(e)f(outcomes)i (that)g(cause)g(data)g(loss)g(\(the)g(black)f(nodes)h(ar)o(e)f(failed) 511 2421 y(nodes\).)e(The)h(fourth)g(and)f(\002fth)h(r)o(ow)g(show)g (outcomes)g(that)g(do)h(not)e(cause)h(data)g(loss.)565 2628 y FU(W)-8 b(e)25 b(assume)f(the)h(worst)h(and)e(pr)o(etend)g(that) h FO(r)i FU(failed)d(nodes)h(in)g(any)g(subtr)o(ee)f(leads)440 2742 y(to)j(lost)g(blocks.)f(Thus)h(the)g(pr)o(obability)f(of)g(at)g (least)g FO(r)i FU(failed)e(nodes)g(having)h(blocks)g(in)440 2857 y(common)21 b(given)f(that)h FO(k)g FU(nodes)f(have)g(failed)e (can)i(be)f(r)o(eformulated)g(as)g(being)h(the)g(pr)o(ob-)440 2971 y(ability)h(of)g(at)f(least)g FO(r)k FU(of)c(the)i FO(k)g FU(nodes)f(being)g(in)h(the)f(same)f(subtr)o(ee.)565 3086 y(The)g(pr)o(obability)h(of)g(at)f(least)h FO(r)i FU(out)e(of)h FO(k)h FU(nodes)e(being)g(in)g(the)g(same)g(subtr)o(ee)f (can)h(be)440 3200 y(found)27 b(by)f(counting.)i(First)f(choose)g(one)g (node)g(arbitrarily)e(to)i(be)f(a)g(failed)g(node.)g(The)440 3315 y(failed)e(node)h(will)g(be)g(in)g(one)g(of)g(the)g(subtr)o(ees.)f (Then)h(the)g(pr)o(obability)g(of)f FO(r)d FI(\000)e FU(1)24 b(nodes)440 3430 y(failing)i(in)g(the)g(same)g(subtr)o(ee)e (out)j(of)e(the)i FO(n)21 b FI(\000)d FU(1)25 b(nodes)i(left)e(must)h (be)g(calculated.)e(W)-8 b(e)440 3544 y(do)22 b(this)h(by)f(counting)h (the)f(total)g(number)g(of)g(ways)g(the)g(failed)f(nodes)i(may)f(occur) f(in)i(in)440 3659 y(the)d(system)g(and)f(counting)i(the)f(number)g(of) f(ways)h(that)g(leads)f(to)h FO(r)e FI(\000)e FU(1)j(failed)g(nodes)h (in)440 3773 y(the)h(same)f(subtr)o(ee:)565 3932 y FI(\017)41 b FU(Ther)o(e)23 b(ar)o(e)i FO(k)19 b FI(\000)g FU(1)24 b(failed)f(nodes)j(left)e(to)h(choose)g(fr)o(om)g(so)g(the)g(failed)e (nodes)i(may)648 4047 y(in)c(total)g(occur)f(in)1244 3979 y Fs(\000)1284 4010 y FB(n)r Fo(\000)q FC(1)1287 4075 y FB(k)r Fo(\000)q FC(1)1402 3979 y Fs(\001)1462 4047 y FU(dif)o(fer)o(ent)f(ways)i(over)f(the)h(network.)565 4217 y FI(\017)41 b FU(Ther)o(e)25 b(will)i(be)f FO(r)c FI(\000)c FU(1)26 b(mor)o(e)g(failed)g(nodes)g(in)h(the)g(same)f(subtr) o(ee)f(if)h(and)g(only)h(if)648 4331 y FO(r)c FI(\000)d FU(1)31 b(nodes)g(fr)o(om)g(the)h FO(k)22 b FI(\000)f FU(1)30 b(failed)g(nodes)h(ar)o(e)f(in)h(the)h(subtr)o(ee.)d(This)j (leaves)649 4446 y FO(k)17 b FI(\000)f FU(1)g FI(\000)h FE(\()q FO(r)i FI(\000)d FU(1)q FE(\))25 b(=)f FO(k)18 b FI(\000)e FO(r)22 b FU(node)e(failur)o(es)f(to)h(be)f(distributed)h (arbitrarily)f(over)g(any)648 4560 y(of)h(the)h(r)o(emaining)h FO(n)c FI(\000)f FO(r)23 b FU(nodes)e(in)h(total,)e(which)i(can)e(be)h (done)g(in)2818 4493 y Fs(\000)2858 4523 y FB(n)r Fo(\000)q FB(r)2861 4589 y(k)r Fo(\000)q FB(r)2971 4493 y Fs(\001)3031 4560 y FU(ways.)440 4719 y(The)33 b(counting)h(of)f(node)g(failur)o(e)e (outcomes)j(leading)f(to)g(data)e(loss)j(is)f(illustrated)g(in)440 4834 y(Figur)o(e)698 4836 y SDict begin H.S end 698 4836 a -2 x FU(3.5)802 4776 y SDict begin H.R end 802 4776 a 802 4834 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.5) cvn H.B /ANN pdfmark end 802 4834 a FU(.)565 4948 y(Hence,)27 b(the)i(pr)o(obability)i FO(P)1473 4960 y FB(s)1530 4948 y FU(of)d(losing)i(data)d(in)i(a)f(network)h(of)f(size)h FO(n)h FU(given)e(that)441 5063 y FO(k)f FU(nodes)f(have)g(failed)e (must)j(be)e(at)h(most)g(\(since)g(we)g(assumed)g(the)g(worst)g(during) g(the)440 5177 y(analysis\):)805 5063 y SDict begin H.S end 805 5063 a 805 5063 a SDict begin 13.79993 H.A end 805 5063 a 805 5063 a SDict begin [ /View [/XYZ H.V] /Dest (equation.3.2) cvn H.B /DEST pdfmark end 805 5063 a 1276 5349 a FO(P)1321 5361 y FB(s)1351 5349 y FE(\()r FO(k)r FE(\))g(=)1584 5215 y Fs(\000)1624 5246 y FB(n)r Fo(\000)q FB(r)1628 5311 y(k)r Fo(\000)q FB(r)1738 5215 y Fs(\001)p 1581 5330 200 4 v 1582 5353 a(\000)1622 5384 y FB(n)r Fo(\000)q FC(1)1625 5449 y FB(k)r Fo(\000)q FC(1)1740 5353 y Fs(\001)1814 5349 y FE(=)1913 5293 y(\()r FO(k)19 b FI(\000)e FU(1)q FE(\))r FU(!)r FE(\()r FO(n)h FI(\000)f FO(r)s FE(\))r FU(!)p 1912 5330 549 4 v 1913 5406 a FE(\()r FO(k)i FI(\000)e FO(r)s FE(\))r FU(!)r FE(\()r FO(n)i FI(\000)e FU(1)q FE(\))r FU(!)3145 5349 y(\(3.2\))1831 5662 y(40)p eop end %%Page: 41 43 TeXDict begin 41 42 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.41) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 809 855 a @beginspecial 91 @llx 618 @lly 629 @urx 721 @ury 2551 @rwi @setspecial %%BeginDocument: characteristics/images/opdeling.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: opdeling.dvi %%BoundingBox: 91 618 629 721 %%DocumentFonts: PazoMath-Italic Palatino-Italic PazoMath CMR10 %%+ Palatino-Roman CMSY10 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o opdeling.eps opdeling.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.15:1210 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 %%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 161 /minus put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueXX 5000820 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f67052788e6703bb5ee49533870bca1f113ad8 3750d597b842d8d96c423ba1273ddd32f3a54a912a443fcd44f7c3a6fe3956b0 aa1e784aaec6fce08dae0c76da9d0a3eba57b98a6233d9e9f0c3f00fcc6b2c6a 9ba23af389e6dfff4efec3de05d6276c6be417703ce508377f25960ef4ed83b4 9b01b873f3a639ce00f356229b6477a081933fef3bb80e2b9dffa7f75567b1fa 4d739b772f8d674e567534c6c5bbf1cf615372be20b18472f7aa58be8c216dbd df81cc0a86b6d8318ca68fe22c8af13b54d7576fe4ca5a7af9005ea5cc4edb79 c0ab668e4fec4b7f5a9eb5f0e4c088cd818ecc4feb4b40ec8bd2981bf2336074 b64c4301c39221774c4482ad2518015bc80e2e96dabb4bd07b37a18157f3c7e0 33ce57a4031ab8fd895f5af9a7c68994531e3aa6d47d35b659c43884d356bde7 b760ac7bcf6853b904dfd331a9156fcd786b72585685e1d7db1899736d6bacc1 02128a0a62f6319ac501d472a46463f3373c946036e19747776a6d0d5f7b5d0c 738131dff66d71036da6a85315a368f93c066e652740a8a8d9bf36818b67edf5 6cad2ffe18947049d30ebc9e2631b586454792d9016239cef4ed565b8f4f525e 7e29921fd018f5319fb59f8aa7fc74760f5c0e8d59fce2 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 161 /Gamma put dup 43 /plus put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueXX 5000793 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202 3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5 2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12 cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e 4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618 99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8 ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b 1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af 154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e 44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40 a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e 3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7 dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552 315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3 62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5 87f907572b8354a5c3165eea7e8b2ba4e4f834663063e9a307d8ff6f8b61acd8 799bc105cddcf8f95f2160494fc01f7ec3effb95de571b8d7f27a2f9ad203c09 cd4cffd98a119a507460e7fef5c910405e877aa1f8da68d1272e59e3adccef8d 82e692b3229926fbe621080b7831a2ee248948dd3ae55082a939f02875a7a0eb 7ae7d50270a576fbdfde7109c670f51be75b80b6fe3045ea50e2121025dfefb3 ab99e4f56a608203a590a3fa689226e987c3f7ac22537c5b7284eb868c2da093 0ef8811bfb4364963e08664a2028affdbfce804a5d7b7a2ff203a4bcb431e13d 630765de37c9c026441514073d0b912acf8f8d6ed3f399d4289c48fb89ad4c31 d8f94b326216a7564e53552a0fe2a9285acb146c7f3f066f036285c2e511d783 71e4638ae0a2161f11b61f1c6f941bf9803a8cbc8767e24f807f97443de7021c cfdafb9ac346be0795b80cced322fb98b3739a5e148edc5883be11be24ed98af 416ce30be0298e290a127f1b98fe80055fd4506c005ec4d4a9ff29ba26a3624a c5095f088304399ace3933ca1a74362036287b77ea25d0d050e48d0d66710b62 b3fa6eff905802505f3bdb7d30e07864859a20c8a8f25de16e19838f5ef7b8e3 a2dad04b602e476daf4060f2bb7451ed32ab02d0100ddabfed5519319f0048b1 1f16f1b10faec850fbb639733103a41814e5628fb2699f88fd35cd36989d09d5 4d8018aca70a82a1d295ff27f19ea6243f486eb3e8746127450b9bf1458b 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 40258437 52099154 1000 8000 8000 (opdeling.dvi) @start /Fa 255[1033{}1 1328.35 /CMSY10 rf /Fb 212[1033 43[{}1 1328.35 /CMR10 rf /Fd 141[517 6[590 107[{ TeXBase1Encoding ReEncodeFont}2 1328.35 /Palatino-Italic rf /Fe 138[801 433 563 525 2[725 773 1173 387 2[387 2[442 636 812 1[735 664 46[664 664 664 3[332 44[{ TeXBase1Encoding ReEncodeFont}18 1328.35 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 11174 a @beginspecial 0 @llx 0 @lly 391 @urx 101 @ury 3910 @rwi @setspecial %%BeginDocument: opdeling.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: opdeling.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Dec 15 12:09:59 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 391 101 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 101 moveto 0 0 lineto 391 0 lineto 391 101 lineto closepath clip newpath -48.6 185.4 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % 7.500 slw % Ellipse n 1312 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 1687 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2062 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 937 1838 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 1687 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2062 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 1312 2212 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 937 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2587 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2962 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3337 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2587 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2962 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3337 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3862 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4237 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4612 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4987 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5362 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3862 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4237 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4612 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4987 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5362 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6262 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6637 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 7012 1837 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5887 1838 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6262 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6637 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 7012 2212 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5887 2213 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 937 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 937 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1312 2587 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1687 2587 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 2062 2587 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1312 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1687 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 2062 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 2962 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3337 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2587 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2962 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 3337 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 2587 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3862 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4237 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4612 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4987 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5362 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 3862 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 4237 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4612 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 4987 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5362 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6262 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6637 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 7012 2587 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 5887 2588 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6262 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 6637 2962 119 119 0 360 DrawEllipse gs col0 s gr % Ellipse n 7012 2962 119 119 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 5887 2963 119 119 0 360 DrawEllipse gs col0 s gr $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 5300 880 a Fd(r)304 b Fb(+)274 b Fe(1)p Black 0 0 0 TeXcolorrgb 8098 w Fd(r)p Black 0 0 0 TeXcolorrgb 25771 940 a Fe(2)t Fd(r)304 b Fa(\241)274 b Fe(1)p Black 0 0 0 TeXcolorrgb 38401 1053 a Fd(r)304 b Fb(+)274 b Fe(1)p Black 0 0 0 TeXcolorrgb 45502 3400 a(0)332 b(failed)p Black 0 0 0 TeXcolorrgb 45572 10700 a Fd(k)355 b Fe(failed)p Black 0 0 0 TeXcolorrgb 45559 8234 a Fd(r)361 b Fe(failed,)332 b(data)g(is)g(lost)p Black 0 0 0 TeXcolorrgb 45555 5760 a(1)g(failed,)g(determines)g(subtr) -24 b(ee)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 1043 a FK(Figur)o(e)19 b(3.5:)869 938 y SDict begin H.S end 869 938 a 869 938 a SDict begin H.R end 869 938 a 869 938 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.5) cvn H.B /DEST pdfmark end 869 938 a 105 x FK(Example)i(of)f(node)h(failur)o(e)e(outcomes)i(wher)o(e)h(n)j Ft(=)g FR(16)p FK(,)d(k)k Ft(=)f FR(8)c FK(and)f(r)27 b Ft(=)e FR(3)c FK(that)g(lead)f(to)511 1148 y(data)i(loss)f(\(the)g (black)h(nodes)f(ar)o(e)g(failed)h(nodes\).)f(The)g(nodes)g(have)i (been)d(divided)i(into)f(subtr)o(ees)f(that)511 1253 y(contain)f(r)j(to)e FR(2)p FK(r)e Fv(\000)e FR(1)k FK(nodes.)f(First)g (one)h(node)g(fails)f(which)i(gives)f(a)g(particular)g(subtr)o(ee.)e (Then)h(r)f Fv(\000)e FR(1)511 1358 y FK(nodes)25 b(must)f(fail)g(in)g (the)h(same)g(subtr)o(ee)f(to)g(cause)h(data)g(loss.)g(Finally)m(,)e (the)i(r)o(emaining)g(k)19 b Fv(\000)f FK(r)26 b(node)511 1463 y(failur)o(es)17 b(may)j(happen)f(on)g(arbitrary)g(nodes.)440 1733 y FU(W)-8 b(e)21 b(ar)o(e)e(now)j(r)o(eady)d(to)i(pr)o(oceed)f(to) h(step)g(thr)o(ee.)440 1974 y FQ(Combining)e(the)h(results)440 2054 y SDict begin H.S end 440 2054 a 440 2054 a SDict begin 13.79993 H.A end 440 2054 a 440 2054 a SDict begin [ /View [/XYZ H.V] /Dest (section*.26) cvn H.B /DEST pdfmark end 440 2054 a 93 x FU(The)29 b(pr)o(obability)g(that)g(both)i FO(k)g FU(nodes)e(have)g(failed)f(and)h(that)g(the)g(data)f(is)i(lost)g (given)440 2262 y(that)20 b FO(k)h FU(nodes)e(have)g(failed)f(is)i(the) f(pr)o(oduct)g(of)g(the)g(pr)o(obabilities)g(for)g(these)h(two)f (events,)443 2376 y FO(P)496 2394 y FB(f)527 2376 y FE(\()s FO(T)609 2394 y FB(b)643 2376 y FU(,)c FO(k)r FE(\))t FO(P)799 2388 y FB(s)829 2376 y FE(\()r FO(k)r FE(\))q FU(.)29 b(Since)g(data)f(loss)i(may)f(occur)f(for)h(any)h FO(k)41 b FI(\025)d FO(r)r FU(,)29 b(the)h(pr)o(obability)h FO(P)3179 2394 y FB(l)3231 2376 y FU(of)440 2491 y(losing)22 b(data)e(is)946 2376 y SDict begin H.S end 946 2376 a 946 2376 a SDict begin 13.79993 H.A end 946 2376 a 946 2376 a SDict begin [ /View [/XYZ H.V] /Dest (equation.3.3) cvn H.B /DEST pdfmark end 946 2376 a 1475 2651 a FO(P)1520 2669 y FB(l)1567 2651 y FE(=)1692 2561 y FB(n)1665 2668 y Fr(\345)1657 2743 y FB(k)r Fp(=)q FB(r)1780 2651 y FO(P)1833 2669 y FB(f)1864 2651 y FE(\()s FO(T)1946 2669 y FB(b)1980 2651 y FU(,)15 b FO(k)r FE(\))t FO(P)2136 2663 y FB(s)2165 2651 y FE(\()r FO(k)r FE(\))875 b FU(\(3.3\))443 2870 y FO(P)488 2888 y FB(l)542 2870 y FU(is)30 b(plotted)h(as)f(a)f (function)i(of)i FO(T)1595 2888 y FB(b)1658 2870 y FU(for)e(various)f (values)g(of)g FO(r)j FU(in)d(Figur)o(e)2907 2872 y SDict begin H.S end 2907 2872 a -2 x FU(3.6)3011 2812 y SDict begin H.R end 3011 2812 a 3011 2870 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.6) cvn H.B /ANN pdfmark end 3011 2870 a FU(.)g(Lar)o(ger)440 2984 y(values)20 b(of)h FO(r)i FU(and)e(smaller)f(values)h(of)h FO(T)1701 3002 y FB(b)1756 2984 y FU(give)e(a)h(lower)g(pr)o(obability)f(of)h(data)e (loss.)691 4761 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: characteristics/images/probability-loose-block.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: probability-loose-block.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Thu Dec 11 14:15:40 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 882 420 M 63 0 V 6017 0 R -63 0 V 798 420 M ( 1e-25) Rshow 882 598 M 31 0 V 6049 0 R -31 0 V 882 776 M 31 0 V 6049 0 R -31 0 V 882 954 M 31 0 V 6049 0 R -31 0 V 882 1132 M 31 0 V 6049 0 R -31 0 V 882 1310 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 1e-20) Rshow 882 1488 M 31 0 V 6049 0 R -31 0 V 882 1667 M 31 0 V 6049 0 R -31 0 V 882 1845 M 31 0 V 6049 0 R -31 0 V 882 2023 M 31 0 V 6049 0 R -31 0 V 882 2201 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 1e-15) Rshow 882 2379 M 31 0 V 6049 0 R -31 0 V 882 2557 M 31 0 V 6049 0 R -31 0 V 882 2735 M 31 0 V 6049 0 R -31 0 V 882 2913 M 31 0 V 6049 0 R -31 0 V 882 3091 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 1e-10) Rshow 882 3269 M 31 0 V 6049 0 R -31 0 V 882 3447 M 31 0 V 6049 0 R -31 0 V 882 3625 M 31 0 V 6049 0 R -31 0 V 882 3804 M 31 0 V 6049 0 R -31 0 V 882 3982 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 1e-05) Rshow 882 4160 M 31 0 V 6049 0 R -31 0 V 882 4338 M 31 0 V 6049 0 R -31 0 V 882 4516 M 31 0 V 6049 0 R -31 0 V 882 4694 M 31 0 V 6049 0 R -31 0 V 882 4872 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 1) Rshow 882 420 M 0 63 V 0 4389 R 0 -63 V 882 280 M ( 0) Cshow 2149 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 5) Cshow 3415 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 4682 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 15) Cshow 5949 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 1.000 UL LTb 882 420 M 6080 0 V 0 4452 V -6080 0 V 882 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Probability of loss) Cshow grestore 3922 70 M (Republishing time \(hours\)) Cshow 4.000 UL LT0 6311 973 M (r = 2) Rshow 6395 973 M 399 0 V 907 420 M 0 3198 V 26 107 V 25 63 V 25 44 V 26 35 V 25 28 V 25 24 V 26 20 V 25 18 V 25 17 V 26 14 V 25 14 V 25 12 V 26 11 V 25 11 V 25 10 V 26 9 V 25 9 V 25 8 V 26 8 V 25 7 V 25 7 V 26 7 V 25 6 V 25 7 V 26 6 V 25 5 V 25 6 V 26 5 V 25 5 V 25 5 V 26 5 V 25 5 V 25 4 V 26 5 V 25 4 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 3 V 25 4 V 26 3 V 25 4 V 25 3 V 26 3 V 25 3 V 25 3 V 26 3 V 25 3 V 25 3 V 26 3 V 25 3 V 25 3 V 26 2 V 25 3 V 25 2 V 26 3 V 25 2 V 25 3 V 26 2 V 25 3 V 25 2 V 26 2 V 25 3 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 1 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 1 V 25 1 V 25 2 V 26 1 V 25 1 V 25 2 V 26 1 V 25 1 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 0 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 0 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 1 V 26 1 V 25 0 V 25 1 V 26 1 V 25 1 V 25 1 V 26 0 V 25 1 V 25 1 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 1 V 26 0 V 25 1 V 25 1 V 26 1 V 25 0 V 25 1 V 26 1 V 25 0 V 25 1 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 0 V 26 1 V 25 1 V 25 0 V 26 1 V 25 0 V 25 1 V 26 1 V 25 0 V 25 1 V 26 1 V 25 0 V 25 1 V 26 0 V 25 1 V 25 1 V 26 0 V 25 1 V 25 0 V 26 1 V 25 1 V 25 0 V 26 1 V 25 0 V 25 1 V 26 1 V 25 0 V 25 1 V 26 0 V 25 1 V 25 0 V 26 1 V 25 0 V 3.000 UL LT1 6311 833 M (r = 3) Rshow 6395 833 M 399 0 V 907 420 M 0 2392 V 26 161 V 25 94 V 25 66 V 26 52 V 25 42 V 25 36 V 26 31 V 25 27 V 25 24 V 26 22 V 25 20 V 25 19 V 26 17 V 25 16 V 25 15 V 26 14 V 25 13 V 25 13 V 26 11 V 25 12 V 25 10 V 26 11 V 25 9 V 25 10 V 26 9 V 25 8 V 25 9 V 26 8 V 25 8 V 25 7 V 26 7 V 25 7 V 25 7 V 26 7 V 25 6 V 25 7 V 26 6 V 25 6 V 25 6 V 26 5 V 25 6 V 25 5 V 26 5 V 25 5 V 25 6 V 26 4 V 25 5 V 25 5 V 26 5 V 25 4 V 25 4 V 26 5 V 25 4 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 3 V 25 4 V 26 3 V 25 4 V 25 3 V 26 3 V 25 4 V 25 3 V 26 3 V 25 3 V 25 4 V 26 3 V 25 3 V 25 3 V 26 3 V 25 3 V 25 2 V 26 3 V 25 3 V 25 3 V 26 3 V 25 2 V 25 3 V 26 3 V 25 2 V 25 3 V 26 2 V 25 3 V 25 2 V 26 3 V 25 2 V 25 3 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 2 V 25 1 V 26 2 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 1 V 25 2 V 26 1 V 25 1 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 2 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 2 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 0 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 25 1 V 26 1 V 25 1 V 2.000 UL LT2 6311 693 M (r = 4) Rshow 6395 693 M 399 0 V 907 420 M 0 1595 V 26 214 V 25 126 V 25 89 V 26 69 V 25 56 V 25 48 V 26 41 V 25 36 V 25 33 V 26 29 V 25 27 V 25 25 V 26 23 V 25 21 V 25 20 V 26 19 V 25 17 V 25 17 V 26 16 V 25 15 V 25 14 V 26 14 V 25 13 V 25 12 V 26 12 V 25 12 V 25 11 V 26 11 V 25 10 V 25 11 V 26 9 V 25 10 V 25 9 V 26 9 V 25 8 V 25 9 V 26 8 V 25 8 V 25 8 V 26 7 V 25 8 V 25 7 V 26 7 V 25 7 V 25 7 V 26 6 V 25 7 V 25 6 V 26 6 V 25 6 V 25 6 V 26 6 V 25 6 V 25 5 V 26 6 V 25 5 V 25 6 V 26 5 V 25 5 V 25 5 V 26 5 V 25 5 V 25 5 V 26 4 V 25 5 V 25 5 V 26 4 V 25 5 V 25 4 V 26 4 V 25 5 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 4 V 25 3 V 26 4 V 25 4 V 25 3 V 26 4 V 25 3 V 25 4 V 26 3 V 25 4 V 25 3 V 26 3 V 25 4 V 25 3 V 26 3 V 25 3 V 25 3 V 26 3 V 25 4 V 25 3 V 26 3 V 25 3 V 25 3 V 26 2 V 25 3 V 25 3 V 26 3 V 25 3 V 25 3 V 26 2 V 25 3 V 25 3 V 26 3 V 25 2 V 25 3 V 26 3 V 25 2 V 25 3 V 26 2 V 25 3 V 25 2 V 26 3 V 25 2 V 25 3 V 26 2 V 25 2 V 25 3 V 26 2 V 25 3 V 25 2 V 26 2 V 25 3 V 25 2 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 1 V 26 2 V 25 2 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 2 V 25 1 V 26 2 V 25 2 V 25 1 V 26 2 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 2 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 1 V 26 1 V 25 2 V 25 1 V 26 2 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 2 V 25 1 V 25 1 V 26 1 V 25 2 V 25 1 V 26 1 V 25 1 V 25 2 V 26 1 V 25 1 V 1.000 UL LT3 6311 553 M (r = 5) Rshow 6395 553 M 399 0 V 907 420 M 0 804 V 26 268 V 25 157 V 25 111 V 26 86 V 25 71 V 25 59 V 26 52 V 25 46 V 25 40 V 26 37 V 25 34 V 25 31 V 26 28 V 25 27 V 25 25 V 26 23 V 25 22 V 25 21 V 26 20 V 25 19 V 25 17 V 26 18 V 25 16 V 25 16 V 26 15 V 25 14 V 25 14 V 26 14 V 25 13 V 25 13 V 26 12 V 25 12 V 25 11 V 26 11 V 25 11 V 25 11 V 26 10 V 25 10 V 25 10 V 26 9 V 25 9 V 25 10 V 26 8 V 25 9 V 25 8 V 26 9 V 25 8 V 25 8 V 26 7 V 25 8 V 25 8 V 26 7 V 25 7 V 25 7 V 26 7 V 25 7 V 25 6 V 26 7 V 25 6 V 25 7 V 26 6 V 25 6 V 25 6 V 26 6 V 25 6 V 25 6 V 26 5 V 25 6 V 25 6 V 26 5 V 25 5 V 25 6 V 26 5 V 25 5 V 25 5 V 26 5 V 25 5 V 25 5 V 26 5 V 25 4 V 25 5 V 26 5 V 25 4 V 25 5 V 26 4 V 25 5 V 25 4 V 26 4 V 25 5 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 4 V 25 4 V 26 4 V 25 3 V 25 4 V 26 4 V 25 4 V 25 3 V 26 4 V 25 3 V 25 4 V 26 3 V 25 4 V 25 3 V 26 4 V 25 3 V 25 3 V 26 3 V 25 4 V 25 3 V 26 3 V 25 3 V 25 4 V 26 3 V 25 3 V 25 3 V 26 3 V 25 3 V 25 3 V 26 3 V 25 3 V 25 3 V 26 3 V 25 3 V 25 3 V 26 2 V 25 3 V 25 3 V 26 3 V 25 3 V 25 2 V 26 3 V 25 3 V 25 2 V 26 3 V 25 3 V 25 2 V 26 3 V 25 3 V 25 2 V 26 3 V 25 2 V 25 3 V 26 2 V 25 3 V 25 2 V 26 3 V 25 2 V 25 2 V 26 3 V 25 2 V 25 3 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 3 V 25 2 V 25 2 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 3 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 2 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 2 V 25 1 V 26 2 V 25 2 V 25 2 V 26 1 V 25 2 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 1 V 25 2 V 26 2 V 25 1 V 25 2 V 26 1 V 25 2 V 25 2 V 26 1 V 25 2 V 25 1 V 26 2 V 25 2 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 4949 a FK(Figur)o(e)j(3.6:)872 4844 y SDict begin H.S end 872 4844 a 872 4844 a SDict begin H.R end 872 4844 a 872 4844 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.6) cvn H.B /DEST pdfmark end 872 4844 a 105 x FK(The)g(pr)o(obability)h(of)f(losing)h(blocks)g(\(Eq.)1988 4950 y SDict begin H.S end 1988 4950 a -1 x FK(3.3)2081 4897 y SDict begin H.R end 2081 4897 a 2081 4949 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (equation.3.3) cvn H.B /ANN pdfmark end 2081 4949 a FK(\))g(with)h(n)30 b Ft(=)f FR(96)24 b FK(and)g Fz(l)30 b Ft(=)g FR(1)q(/)q(24)24 b FK(so)f(that)511 5054 y(one)18 b(node)h(crashes)h(every)g(24)f (hours.)565 5266 y FU(Equation)930 5268 y SDict begin H.S end 930 5268 a -2 x FU(3.3)1034 5208 y SDict begin H.R end 1034 5208 a 1034 5266 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (equation.3.3) cvn H.B /ANN pdfmark end 1034 5266 a 32 w FU(gives)32 b(an)g(estimate)f(of)h(the)g(pr)o(obability)g (of)g(losing)h(blocks)f(in)h(one)440 5380 y(time)c(period)i FO(T)954 5398 y FB(b)987 5380 y FU(.)e(Ther)o(e)f(will)i(be)e(many)h (such)h(time)f(periods)g(when)g(a)f(system)i(is)f(put)1831 5662 y(41)p eop end %%Page: 42 44 TeXDict begin 42 43 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.42) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 531 a FU(into)26 b(operation.)g(Observe)f(that)g(for)h(the)f (system)h(not)h(to)e(lose)h(data)f(at)g(all,)g(it)g(must)i(not)440 646 y(lose)f(data)f(in)h(any)g(of)g(these)g(time)g(periods.)g(Thus)g (if)g(the)g(network)g(conditions)i(do)e(not)440 760 y(change,)e(the)g (pr)o(obability)f(of)h FO(not)g FU(losing)h(data)e(over)h FO(q)i FU(periods)d(is)j FE(\()q FU(1)18 b FI(\000)j FO(P)2841 778 y FB(l)2865 760 y FE(\))2899 730 y FB(q)2933 760 y FU(.)j(Then)g(the)440 875 y(pr)o(obability)f FO(P)914 893 y FB(l)939 875 y FE(\()r FO(q)r FE(\))f FU(of)f(losing)h(data)e (over)h FO(q)i FU(periods)d(is:)2233 760 y SDict begin H.S end 2233 760 a 2233 760 a SDict begin 13.79993 H.A end 2233 760 a 2233 760 a SDict begin [ /View [/XYZ H.V] /Dest (equation.3.4) cvn H.B /DEST pdfmark end 2233 760 a 1501 1059 a FO(P)1546 1077 y FB(l)1570 1059 y FE(\()r FO(q)r FE(\))26 b(=)e FU(1)17 b FI(\000)g FE(\()q FU(1)g FI(\000)j FO(P)2154 1077 y FB(l)2178 1059 y FE(\))2212 1025 y FB(q)3145 1059 y FU(\(3.4\))443 1243 y FO(P)488 1260 y FB(l)512 1243 y FE(\()r FO(q)r FE(\))26 b FU(is)d(plotted)h(as)f(a)g(function)h(of)g FO(q)h FU(in)f(Figur)o(e)2027 1245 y SDict begin H.S end 2027 1245 a -2 x FU(3.7)2130 1185 y SDict begin H.R end 2130 1185 a 2130 1243 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.7) cvn H.B /ANN pdfmark end 2130 1243 a FU(.)f(When)h FO(r)31 b FI(\025)e FU(3)22 b(it)i(takes)f(mor)o(e)g (than)440 1357 y(10,000)f(years)i(befor)o(e)g(the)h(pr)o(obability)g (of)f(data)g(loss)i(is)f(50\045)f(with)i FO(n)33 b FE(=)e FU(96,)25 b FH(l)33 b FE(=)e FU(1)q(/)q(24)440 1472 y(and)23 b FO(T)651 1490 y FB(b)710 1472 y FE(=)i FU(1)c(hour)-6 b(.)22 b(This)g(shows)h(that)e(the)h(design)g(of)f(the)h(distributed)f (hash)h(table)f(is,)h(at)440 1586 y(least)e(theor)o(etically)-9 b(,)20 b(extr)o(emely)g(r)o(obust.)691 3358 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2834 @rwi @setspecial %%BeginDocument: characteristics/images/loss-over-time.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: loss-over-time.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Sun Dec 14 17:29:56 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 865 M 63 0 V 6185 0 R -63 0 V 630 865 M ( 0.1) Rshow 714 1310 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 1756 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.3) Rshow 714 2201 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 2646 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.5) Rshow 714 3091 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3536 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.7) Rshow 714 3982 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4427 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.9) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 31 V 0 4421 R 0 -31 V 1131 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1) Cshow 1547 420 M 0 31 V 0 4421 R 0 -31 V 1964 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 2380 420 M 0 31 V 0 4421 R 0 -31 V 2797 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10000) Cshow 3213 420 M 0 31 V 0 4421 R 0 -31 V 3630 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+06) Cshow 4046 420 M 0 31 V 0 4421 R 0 -31 V 4463 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+08) Cshow 4879 420 M 0 31 V 0 4421 R 0 -31 V 5296 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+10) Cshow 5712 420 M 0 31 V 0 4421 R 0 -31 V 6129 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+12) Cshow 6545 420 M 0 31 V 0 4421 R 0 -31 V 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 1e+14) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Probability of loss) Cshow grestore 3838 70 M (Time elapsed \(years\)) Cshow 1.000 UL LT0 6311 973 M (r = 2) Rshow 6395 973 M 399 0 V 714 455 M 63 15 V 63 20 V 63 29 V 63 41 V 64 57 V 63 79 V 63 110 V 63 151 V 63 205 V 63 272 V 63 352 V 63 438 V 63 516 V 64 564 V 63 554 V 63 467 V 63 319 V 63 162 V 63 55 V 63 10 V 63 1 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 1.000 UL LT1 6311 833 M (r = 3) Rshow 6395 833 M 399 0 V 714 420 M 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 1 V 63 0 V 64 0 V 63 1 V 63 1 V 63 1 V 63 2 V 63 2 V 63 3 V 63 5 V 63 6 V 64 10 V 63 13 V 63 18 V 63 27 V 63 37 V 63 51 V 63 73 V 63 100 V 63 139 V 64 188 V 63 251 V 63 328 V 63 413 V 63 496 V 63 556 V 63 564 V 63 499 V 63 365 V 64 204 V 63 78 V 63 18 V 63 2 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 1.000 UL LT2 6311 693 M (r = 4) Rshow 6395 693 M 399 0 V 714 420 M 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 1 V 63 0 V 63 0 V 63 1 V 63 1 V 63 1 V 64 2 V 63 2 V 63 3 V 63 5 V 63 7 V 63 10 V 63 13 V 63 19 V 63 27 V 64 38 V 63 53 V 63 75 V 63 103 V 63 142 V 63 192 V 63 257 V 63 335 V 63 420 V 64 502 V 63 558 V 63 562 V 63 491 V 63 352 V 63 192 V 63 71 V 63 15 V 63 2 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 1.000 UL LT3 6311 553 M (r = 5) Rshow 6395 553 M 399 0 V 714 420 M 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 0 V 63 1 V 63 0 V 64 0 V 63 1 V 63 0 V 63 1 V 63 2 V 63 1 V 63 3 V 63 4 V 63 5 V 64 8 V 63 11 V 63 15 V 63 22 V 63 30 V 63 43 V 63 60 V 63 83 V 63 116 V 64 158 V 63 214 V 63 283 V 63 364 V 63 450 V 63 526 V 63 567 V 63 546 V 63 448 V 64 295 V 63 142 V 63 45 V 63 7 V 63 1 V 63 0 V 63 0 V 63 0 V 63 0 V 64 0 V 63 0 V 63 0 V 63 0 V 63 0 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 3546 a FK(Figur)o(e)g(3.7:)870 3441 y SDict begin H.S end 870 3441 a 870 3441 a SDict begin H.R end 870 3441 a 870 3441 a SDict begin [ /View [/XYZ H.V] /Dest (figure.3.7) cvn H.B /DEST pdfmark end 870 3441 a 105 x FK(The)h(pr)o(obability)f(of)h(losing)g(blocks)g(\(Eq.)1975 3547 y SDict begin H.S end 1975 3547 a -1 x FK(3.4)2068 3494 y SDict begin H.R end 2068 3494 a 2068 3546 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (equation.3.4) cvn H.B /ANN pdfmark end 2068 3546 a FK(\))g(with)h(n)27 b Ft(=)f FR(96)p FK(,)c Fz(l)27 b Ft(=)f FR(1)q(/)q(24)c FK(and)i(T)3055 3563 y Fg(b)3112 3546 y Ft(=)i FR(1)511 3651 y FK(hour)-6 b(.)440 3870 y SDict begin H.S end 440 3870 a 440 3870 a SDict begin 13.79993 H.A end 440 3870 a 440 3870 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.3.3) cvn H.B /DEST pdfmark end 440 3870 a 110 x FJ(3.3.3)99 b(Implications)25 b(of)g(the)g (probability)440 4153 y FU(As)33 b(Figur)o(e)843 4155 y SDict begin H.S end 843 4155 a -2 x FU(3.7)947 4095 y SDict begin H.R end 947 4095 a 947 4153 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.3.7) cvn H.B /ANN pdfmark end 947 4153 a 33 w FU(shows,)g(the)g(pr)o(eceding)f(analysis)h (indicates)g(that)f(data)g(loss)i(is)f(very)440 4267 y(unlikely)27 b(with)g(appr)o(opriate)e(values)h(of)g FO(r)j FU(and)f FO(T)2064 4285 y FB(b)2097 4267 y FU(.)e(It)h(should)g (be)f(taken)g(into)h(account)440 4382 y(that)22 b(the)g(analysis)g(is)g (for)f(a)h(system)g(in)h(normal)f(operation)g(\(with)g(no)g(vir)o(us)h (attacks,)e(no)440 4496 y(lightnings)h(etc.\).)e(But)g(it)h(should)g (be)f(str)o(essed)g(that)g(the)g(assumption)i(is)f(that)f(the)h(blocks) 440 4611 y(on)33 b(the)f(failed)f(nodes)i(ar)o(e)e(completely)i(lost.)f (In)h(a)f(r)o(ealistic)f(envir)o(onment,)i(it)f(seems)440 4726 y(mor)o(e)e(likely)g(that)g(the)g(data)f(will)h(in)h(fact)e(be)h (available)e(as)i(soon)h(as)e(the)i(nodes)f(have)440 4840 y(been)21 b(r)o(ebooted.)565 4955 y(In)k(spite)g(of)g(this,)h(the) f(analysis)h(is)f(still)h(useful)f(as)g(an)g(estimate)g(of)h(the)f (availability)440 5069 y(of)c(all)h(blocks)g(at)f(all)g(points)h(in)g (time.)f(Hence,)g(the)h(analysis)g(indicates)f(that)g(our)h(system)440 5184 y(will)f(be)e(highly)j(available.)c(It)i(should)h(also)f(be)f (kept)h(in)h(mind)f(that)g(some)h(users)f(may)g(be)440 5298 y(served)i(even)g(if)g(some)i(blocks)f(ar)o(e)e(missing)j (temporarily)e(since)h(only)h(a)e(fraction)g(of)g(all)440 5413 y(\002les)f(will)h(be)e(accessed)g(at)g(any)h(given)g(moment.)1831 5662 y(42)p eop end %%Page: 43 45 TeXDict begin 43 44 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.43) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 565 531 a FU(Apart)29 b(fr)o(om)g(the)i(insights)g(that)g(Eq.)1805 533 y SDict begin H.S end 1805 533 a -2 x FU(3.4)1909 474 y SDict begin H.R end 1909 474 a 1909 531 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (equation.3.4) cvn H.B /ANN pdfmark end 1909 531 a 30 w FU(pr)o(ovides)e(into)i(how)g(the)g(system)g(r)o (eacts)440 646 y(over)24 b(time)g(with)g(failur)o(es,)f(the)h(equation) g(can)g(also)g(be)g(used)f(to)h(estimate)g(the)g(ef)o(fect)e(of)440 760 y(choosing)g(various)f(values)g(of)h FO(T)1488 778 y FB(b)1543 760 y FU(and)e FO(r)r FU(.)565 875 y(The)j(trade-of)o(f)f (is)i(between)f(r)o(esour)o(ce)g(usage)g(and)g(availability)-9 b(.)23 b(Decr)o(easing)i FO(T)3147 893 y FB(b)3204 875 y FU(in-)440 990 y(cr)o(eases)19 b(the)h(number)h(of)h FT(R)t(E)t(P)t(L)t(I)t(C)t(A)o(T)t(I)t(O)t(N)k(O)t(FF)t(E)t(R)d FU(messages)d(the)g(system)h(needs)g(to)f(send)440 1104 y(\(thus)32 b(using)g(extra)f(bandwidth\),)g(but)h(pr)o(olongs)g(the)g (time)g(the)f(system)i(is)f(expected)440 1219 y(to)27 b(r)o(un)f(befor)o(e)f(data)g(is)h(lost.)h(Incr)o(easing)f FO(r)i FU(makes)e(write)g(operations)h(slower)f(and)g(in-)440 1333 y(cr)o(eases)34 b(the)h(disk)h(space)e(and)h(bandwidth)g(used,)g (but)g(similarly)h(pr)o(olongs)g(the)f(ex-)440 1448 y(pected)27 b(time.)h(The)g(performance)g(considerations)g(ar)o(e)f(discussed)h(in) h(mor)o(e)e(detail)h(in)440 1562 y(Section)726 1564 y SDict begin H.S end 726 1564 a -2 x FU(3.4)830 1505 y SDict begin H.R end 830 1505 a 830 1562 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.4) cvn H.B /ANN pdfmark end 830 1562 a FU(.)440 1701 y SDict begin H.S end 440 1701 a 440 1701 a SDict begin 13.79993 H.A end 440 1701 a 440 1701 a SDict begin [ /View [/XYZ H.V] /Dest (section.3.4) cvn H.B /DEST pdfmark end 440 1701 a 170 x FL(3.4)119 b(Performance)29 b(characteristics)440 2075 y FU(It)f(is)h(dif)o(\002cult)f(to)h (analyse)f(the)g(performance)g(of)g(the)g(design)h(in)g(general)f (since)h(it)f(de-)440 2189 y(pends)e(on)h(the)g(particular)e(network)i (and)f(the)g(usage)g(patterns.)g(In)h(spite)f(of)h(this,)f(Sec-)440 2304 y(tion)608 2306 y SDict begin H.S end 608 2306 a -2 x FU(3.4.2)774 2246 y SDict begin H.R end 774 2246 a 774 2304 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.4.2) cvn H.B /ANN pdfmark end 774 2304 a 23 w FU(tries)e(to)f(deduce)g(some)g (general)g(pr)o(operties)g(of)g(the)g(scalability)g(of)h(the)f(r)o(ead) 440 2418 y(and)k(write)g(operations)h(when)f(many)h(nodes)f(ar)o(e)f (active.)h(Section)2657 2420 y SDict begin H.S end 2657 2420 a -2 x FU(3.4.1)2823 2361 y SDict begin H.R end 2823 2361 a 2823 2418 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.4.1) cvn H.B /ANN pdfmark end 2823 2418 a 27 w FU(analyses)g(the)440 2533 y(communication)h(over)o(head)c(in)i(the)g(design,)g(and)g (Section)2398 2535 y SDict begin H.S end 2398 2535 a -2 x FU(3.4.3)2564 2475 y SDict begin H.R end 2564 2475 a 2564 2533 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.4.3) cvn H.B /ANN pdfmark end 2564 2533 a 26 w FU(discusses)g(how)h(well) 440 2648 y(the)21 b(design)g(supports)g(various)g(\002le)g(access)f (patterns.)440 2798 y SDict begin H.S end 440 2798 a 440 2798 a SDict begin 13.79993 H.A end 440 2798 a 440 2798 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.4.1) cvn H.B /DEST pdfmark end 440 2798 a 110 x FJ(3.4.1)99 b(Communication)25 b(overhead)f(of)i(the)e(system)440 3081 y FU(The)d(system)h(sends)g (mor)o(e)f(data)f(than)i(just)g(the)g(user)f(data)f(when)i(r)o(eading)e (and)h(writing)440 3195 y(\002les,)d(and)g(similarly)h(sends)f(extra)f (information)i(to)g(ensur)o(e)f(the)g FO(r)j FU(r)o(eplicas)c(ar)o(e)f (kept.)i(W)-8 b(e)440 3310 y(de\002ne)26 b(the)g FO(over)o(head)g(o)i FU(to)f(be)f(the)g(ratio)g(between)g(the)h(size)e(of)i(this)g(extra)e (data)h FO(s)3108 3322 y FB(e)3164 3310 y FU(and)440 3424 y(the)21 b(size)f(of)h(the)g(user)g(data)f FO(s)1362 3436 y FB(u)1402 3424 y FU(,)i FO(o)k FE(=)e FO(s)1631 3436 y FB(e)1662 3424 y FU(/)r FO(s)1748 3436 y FB(u)1788 3424 y FU(.)565 3539 y(For)h(the)h(following)g(examples,)f(we)g(assume) g(that)h(the)f(maximum)h(size)f(of)g(a)g(block)440 3654 y(is)h FO(B)h FE(=)g FU(60,)14 b(000)19 b(bytes)k(and)f(the)g(size)g (of)g(a)g(key)h(is)g FO(K)30 b FE(=)d FU(20)21 b(bytes,)h(which)i(is)e (the)h(case)f(for)440 3768 y(SHA-1)e(hash)i(keys.)g(The)g(size)f(of)h (a)f(\002le)h(identi\002er)g(block)g(is)27 b FO(I)j FE(=)c FU(41)21 b(bytes)g(and)h(the)g(size)440 3883 y(of)f(a)f(\002le)h(is)g (denoted)f(by)i FI(j)13 b FO(f)g FI(j)q FU(.)565 3997 y(For)k(r)o(eading)g(a)g(\002le)30 b FO(f)12 b FU(,)17 b(the)h(extra)f(data)f(sent)i(is)g(the)g(\002le)f(identi\002er)h(and)f (the)j FT(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)442 4112 y(B)t(L)t(O)t(C)t(K)j FU(messages)e(\(each)f(containing)i(one)f(key\))f(for)h(r)o(equesting)g (blocks:)1422 4345 y FO(o)1460 4357 y FB(r)1515 4345 y FE(=)1614 4289 y(\()r FI(d)r(j)13 b FO(f)g FI(j)r FU(/)t FO(B)r FI(e)19 b FE(+)d FU(1)q FE(\))g FO(K)k FE(+)i FO(I)p 1613 4326 700 4 v 1915 4402 a FI(j)13 b FO(f)g FI(j)440 4576 y FU(The)21 b(over)o(head)f(when)i(r)o(eading)e(is)i (shown)h(in)e(the)h(second)f(and)g(thir)o(d)g(column)h(of)g(T)-8 b(able)440 4693 y SDict begin H.S end 440 4693 a -2 x FU(3.1)544 4633 y SDict begin H.R end 544 4633 a 544 4691 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (table.3.1) cvn H.B /ANN pdfmark end 544 4691 a FU(.)565 4806 y(The)29 b(over)o(head)f (for)i(writing)g(a)f(\002le)h(is)g(much)g(lar)o(ger)e(because)h FO(r)22 b FI(\000)e FU(1)30 b(extra)e(copies)440 4920 y(of)e(the)g(\002le)g(must)h(be)f(stor)o(ed.)f(Also,)h(each)h FT(S)t(T)s(O)t(R)t(E)j(B)t(L)t(O)t(C)t(K)e FU(message)e(contains)h(the) f(key)440 5035 y(of)h(the)g(block)h(in)f(addition)g(to)g(the)h(block)f (itself,)g(and)f FO(r)k FU(\002le)d(identi\002ers)g(must)h(be)e(sent.) 440 5149 y(Hence,)20 b(the)h(over)o(head)f(is:)1316 5035 y SDict begin H.S end 1316 5035 a 1316 5035 a SDict begin 13.79993 H.A end 1316 5035 a 1316 5035 a SDict begin [ /View [/XYZ H.V] /Dest (equation.3.5) cvn H.B /DEST pdfmark end 1316 5035 a 1165 5373 a FO(o)1204 5385 y FB(w)1278 5373 y FE(=)1377 5316 y(\()q FO(r)g FI(\000)d FU(1)q FE(\))r FI(j)c FO(f)g FI(j)18 b FE(+)f FO(r)s FE(\()r FI(d)s(j)c FO(f)g FI(j)r FU(/)t FO(B)r FI(e)18 b FE(+)f FU(1)q FE(\))r FO(K)i FE(+)e FO(r)7 b(I)p 1376 5354 1195 4 v 1926 5430 a FI(j)13 b FO(f)g FI(j)3145 5373 y FU(\(3.5\))1831 5662 y(43)p eop end %%Page: 44 46 TeXDict begin 44 45 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.44) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 600 455 2544 7 v 721 558 a FU(|f|)287 b FO(o)1174 570 y FB(r)1493 558 y FO(o)1531 570 y FB(r)1855 558 y FO(o)1894 570 y FB(w)2249 558 y FO(o)2288 570 y FB(w)2614 558 y FO(o)2653 576 y FB(b)2951 558 y FO(o)2990 576 y FB(b)p 600 611 2544 5 v 687 715 a FU(30)20 b(kb)137 b(0.081)18 b(kb)100 b(0.27\045)134 b(90.3)19 b(kb)137 b(301.1\045)97 b(0.16)19 b(kb)100 b(0.53\045)692 829 y(2)20 b(Mb)161 b(0.74)19 b(kb)121 b(0.04\045)97 b(6.002)19 b(Mb)99 b(300.1\045)118 b(2.8)20 b(kb)120 b(0.14\045)650 944 y(100)20 b(Mb)119 b(33.4)19 b(kb)121 b(0.03\045)97 b(300.1)19 b(Mb)99 b(300.1\045)108 b(133)19 b(kb)110 b(0.13\045)p 600 999 2544 7 v 511 1168 a FK(T)-8 b(able)20 b(3.1:)827 1063 y SDict begin H.S end 827 1063 a 827 1063 a SDict begin H.R end 827 1063 a 827 1063 a SDict begin [ /View [/XYZ H.V] /Dest (table.3.1) cvn H.B /DEST pdfmark end 827 1063 a 105 x FK(The)i(over)o(head)g (of)g(r)o(eading,)f(writing)g(and)g(for)h(sending)f(r)o(epublication)f (offers)h(for)h(\002les)f(of)511 1273 y(various)e(size.)g(A)g(network)g (with)g(r)25 b Ft(=)d FR(4)e FK(and)h(T)1763 1290 y Fg(b)1817 1273 y Ft(=)i FR(1)c FK(is)g(used)g(in)g(the)g(calculations.)g(The)g (over)o(head)i(is)511 1378 y(both)e(r)o(epr)o(esented)f(as)h(the)g (number)f(of)g(bytes)h(and)g(as)g(the)g(per)o(centage)g(of)g(the)g (\002le)g(size.)440 1647 y FU(The)25 b(over)o(head)e(of)i(writing)h(is) f(shown)h(in)g(the)f(fourth)g(and)f(\002fth)i(column)f(of)g(T)-8 b(able)3180 1649 y SDict begin H.S end 3180 1649 a -2 x FU(3.1)3284 1590 y SDict begin H.R end 3284 1590 a 3284 1647 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (table.3.1) cvn H.B /ANN pdfmark end 3284 1647 a FU(.)440 1762 y(Clearly)f(,)25 b(when)i FO(r)h FU(is)e(varied)f(the)h(above)g(expr)o(ession)g(is)g (dominated)g(by)g(the)g(\002rst)g(term)440 1876 y(so)c FO(o)581 1888 y FB(w)656 1876 y FI(\031)i FE(\()r(\()q FO(r)c FI(\000)d FU(1)q FE(\))r FI(j)c FO(f)g FI(j)r FE(\))r FU(/)r FI(j)g FO(f)g FI(j)26 b FE(=)e FO(r)19 b FI(\000)e FU(1.)565 1991 y(Some)23 b(extra)f(data)h(is)g(also)h(sent) g(fr)o(om)f(time)g(to)h(time)g(to)g(r)o(epublish)f(the)g(data.)f(If)h (it)h(is)440 2106 y(not)19 b(necessary)f(to)h(actually)e(send)i(any)f (blocks,)h(then)f(the)h(only)g(data)e(sent)i(is)g(the)f(r)o(eplica-)440 2220 y(tion)k(of)o(fers.)e(At)h(least)g(one)g(r)o(eplication)g(of)o (fer)f(must)i(be)e(sent)i(to)g(each)e(of)h(the)h FO(r)d FI(\000)e FU(1)k(other)440 2335 y(r)o(eplicating)j(nodes)g(for)g(each)g (block.)g(The)g(of)o(fer)f(itself)h(is)g(just)h(the)g(block)f(key)h(of) f(size)g FO(K)440 2449 y FU(and)c(must)i(be)e(sent)h(each)h FO(T)1321 2467 y FB(b)1355 2449 y FU(;)f(hence)f(the)h(r)o(epublishing) g(over)o(head)f(for)g(a)h(\002le)g(is:)1478 2683 y FO(o)1517 2700 y FB(b)1575 2683 y FE(=)1673 2626 y FO(r)s FE(\()r FI(d)s(j)13 b FO(f)g FI(j)r FU(/)t FO(B)r FI(e)18 b FE(+)f FU(1)q FE(\))r FO(K)p 1673 2663 585 4 v 1827 2739 a FI(j)c FO(f)g FI(j)18 b(\002)h FO(T)2071 2757 y FB(b)440 2914 y FU(The)24 b(over)o(head)f(of)g(r)o(epublishing)i(per)e(hour)i(is)f (shown)h(in)g(the)f(sixth)g(and)g(seventh)g(col-)440 3028 y(umn)d(of)g(T)-8 b(able)942 3030 y SDict begin H.S end 942 3030 a -2 x FU(3.1)1045 2971 y SDict begin H.R end 1045 2971 a 1045 3028 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (table.3.1) cvn H.B /ANN pdfmark end 1045 3028 a FU(.)565 3143 y(Finally)f(,)25 b(some)h(extra)e(data)g(is)h(sent)h (to)g(maintain)f(the)g(r)o(outing)h(tables.)f(Every)f(node)440 3258 y(updates)18 b(its)h(r)o(outing)g(table)g(every)h FO(T)1619 3270 y FB(r)1668 3258 y FU(hour)f(and)f(this)i(is)f(done,)g (as)f(described)g(in)h(Section)440 3374 y SDict begin H.S end 440 3374 a -2 x FU(2.2.3)606 3315 y SDict begin H.R end 606 3315 a 606 3372 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.2.2.3) cvn H.B /ANN pdfmark end 606 3372 a FU(,)j(by)h(splitting)g(the)g(nodes)f(into)i(gr)o(oups)e(and)g (sending)h(a)f(lookup)h(for)f(each)g(gr)o(oup.)440 3487 y(Since)31 b(the)g(nodes)h(ar)o(e)d(split)j(into)g(log)1688 3513 y FC(2)1725 3487 y FE(\()r FO(n)r FU(/)q FO(r)s FE(\))h FU(gr)o(oups,)e(this)h(will)g(r)o(esult)f(in)g(log)3065 3513 y FC(2)3102 3487 y FE(\()r FO(n)r FU(/)q FO(r)s FE(\))440 3601 y FU(lookups.)23 b(Each)f(lookup)h(message)f(contains)h (a)f(key)g(and)g(each)g(r)o(esponse)g(contains)h FO(r)h FU(IP)440 3716 y(addr)o(esses)29 b(and)i(port)g(numbers,)g(i.e.)g(6)f (bytes)h(per)f(host.)i(Hence,)f(the)g(extra)f(data)g(for)440 3830 y(maintaining)22 b(the)f(r)o(outing)g(table)f(ar)o(e:)1431 4067 y FO(o)1470 4079 y FB(m)1548 4067 y FE(=)1647 4007 y FU(log)1762 4034 y FC(2)1799 4007 y FE(\()r FO(n)r FU(/)q FO(r)s FE(\))r(\()r FO(K)i FE(+)17 b FU(6)p FO(r)s FE(\))p 1647 4048 658 4 v 1938 4124 a FO(T)1984 4136 y FB(r)440 4288 y FU(The)29 b(extra)g(data)f(used)h(to)h(maintain)g(a)f (r)o(outing)g(table)g(in)h(a)f(network)h(with)h FO(n)41 b FE(=)f FU(500,)440 4403 y FO(r)26 b FE(=)e FU(4)c(and)j FO(T)859 4415 y FB(r)913 4403 y FE(=)g FU(1)e(hour)g(is)g(306.5)d (bytes)j(per)g(hour)g(or)g(0.09)e(bytes)i(per)f(second.)565 4517 y(The)30 b(various)g(communication)i(over)o(heads)d(of)i(our)f (system)h(ar)o(e)e(r)o(elatively)h(inex-)440 4632 y(pensive,)21 b(except)g(the)g(over)o(head)g(of)g(writing)h(which)h(is)e(pr)o (oportional)h(to)g FO(r)i FU(because)c(the)440 4746 y FO(r)e FI(\000)d FU(1)k(r)o(eplicas)f(ar)o(e)g(over)o(head.)f(The)j (over)o(head)d(for)i(the)h(periodic)e(r)o(eplication)h(and)g(r)o(out-) 440 4861 y(ing)27 b(table)g(updates)f(is)h(small)g(enough)h(to)f(let)g (the)g(system)g(scale)g(to)g(lar)o(ge)f(amounts)h(of)440 4976 y(data)21 b(and)g(lar)o(ge)g(networks.)i(In)f(the)g(next)g (section)h(we)f(examine)g(if)f(this)i(is)g(also)f(the)g(case)440 5090 y(for)f(r)o(eading)e(and)i(writing.)1831 5662 y(44)p eop end %%Page: 45 47 TeXDict begin 45 46 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.45) cvn H.B /DEST pdfmark end 440 241 a 1387 211 a FN(Chapter)20 b(3.)46 b(Characteristics)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.4.2) cvn H.B /DEST pdfmark end 440 448 a 83 x FJ(3.4.2)99 b(Scalability)26 b(of)f(reading)f(and)h (writing)440 704 y FU(For)20 b(a)g(distributed)f(shar)o(ed)g(\002le)h (system,)h(the)f(network)g(is)h(likely)f(to)g(become)g(the)g(bottle-) 440 819 y(neck.)c(The)g(load)f(on)i(the)f(network)h(incr)o(eases)e(as)g (the)h(number)g(of)g(simultaneous)h(r)o(eading)440 933 y(or)22 b(writing)h(nodes)f(incr)o(eases.)f(This)i(will)g(lead)e(to)h (much)h(incr)o(eased)d(r)o(esponse)i(times)h(at)440 1048 y(some)e(point,)g(and)e(eventually)i(packet)e(loss.)i(The)f(point)h (wher)o(e)f(the)g(network)h(becomes)440 1163 y(congested)g(depends)f (on)i(how)f(the)g(shar)o(ed)f(\002le)h(system)g(is)g(designed.)565 1277 y(W)-8 b(e)21 b(de\002ne)g(the)g FO(total)f(thr)o(oughput)f FU(in)i(the)h(network)g(to)f(be)g(the)g(total)h(amount)f(of)g(user)440 1392 y(data)c(r)o(ead)f(or)h(written)i(in)f(all)f(nodes)h(within)h (some)g(period)e(of)h(time.)g(The)f(total)h(thr)o(ough-)440 1506 y(put)24 b(in)h(a)f(centralised)g(\002le)g(system)h(such)g(as)f (NFS)g(is)h(bound)f(to)h(the)g(bandwidth)f(of)g(the)440 1621 y(network)c(link)f(between)g(the)g(\002le)g(server)f(and)g(the)i (network.)f(Theor)o(etically)f(it)h(can)g(scale)440 1735 y(linearly)i(up)g(to)g(the)g(bandwidth)f(limit)i(and)e(no)i(further)-6 b(.)565 1850 y(Our)17 b(system)h(does)f(not)h(possess)g(this)g(limit)h (and)d(can)h(for)g(r)o(eading)g(in)g(principle)h(scale)440 1965 y(up)27 b(to)g(the)g(sum)h(of)f(the)g(bandwidths)g(fr)o(om)g(each) f(node)h(to)g(the)h(network.)f(In)g(the)g(best)440 2079 y(case,)c(when)h(multiple)f(nodes)h(ar)o(e)e(r)o(eading)h(they)g(will)h (not)g(interfer)o(e)e(with)j(each)d(other)-6 b(,)440 2194 y(and)26 b(the)h(system)h(will)f(not)h(penalise)e(them)h(for)g (being)g(active)f(at)g(the)h(same)f(time.)h(The)440 2308 y(situation)e(is)g(the)g(same)f(for)g(writing,)h(but)g(since)g(the)f (over)o(head)f(for)i(a)f(write)g(operation)440 2423 y(is)d FO(r)f FI(\000)c FU(1,)k(the)h(total)g(thr)o(oughput)h(is)f(degraded)e (by)h(a)h(factor)-6 b(.)565 2537 y(Hence,)27 b(it)h(is)h(to)f(be)g (expected)e(that)i(Heurika)g(can)f(outperform)h(a)g(centralised)f (\002le)440 2652 y(system)f(when)g(many)f(nodes)g(ar)o(e)f(active)g(at) h(the)g(same)g(time.)g(Whether)g(this)h(is)g(in)f(tr)o(ue)440 2767 y(in)c(practise)f(will)i(be)e(explor)o(ed)g(in)h(the)g(tests)g(in) g(Chapter)2281 2769 y SDict begin H.S end 2281 2769 a -2 x FU(5)2323 2709 y SDict begin H.R end 2323 2709 a 2323 2767 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end 2323 2767 a FU(.)440 2917 y SDict begin H.S end 440 2917 a 440 2917 a SDict begin 13.79993 H.A end 440 2917 a 440 2917 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.4.3) cvn H.B /DEST pdfmark end 440 2917 a 110 x FJ(3.4.3)99 b(Access)25 b(characteristics)440 3200 y FU(The)35 b(system)h(does)g(not)g(dif)o(fer)d(between)j (sequential)f(and)g(random)h(access)e(to)i(\002les.)440 3314 y(When)26 b(the)g(\002le)g(identi\002er)f(has)h(been)f(r)o (etrieved,)f(the)i(key)f(for)h(any)f(block)i(in)f(a)f(\002le)h(can)440 3429 y(be)21 b(computed.)h(Hence)f(r)o(eading)f(\002les)i(can)g(be)f (supported)g(in)h(the)g(same)f(way)h(as)f(a)g(local)440 3543 y(\002lesystem.)565 3658 y(Unfortunately)-9 b(,)25 b(the)i(same)f(is)h(not)g(tr)o(ue)f(for)h(writing)g(\002les)g(since)g (the)f(system)h(does)440 3773 y(not)e(support)g(partial)f (modi\002cation)i(of)e(\002les.)h(If)f(a)g(single)i(\002le)f(data)e (block)i(is)g(modi\002ed)440 3887 y(and)h(stor)o(ed)f(in)h(the)g (network,)h(all)f(other)g(blocks)h(in)f(the)g(\002le)g(must)h(be)f(r)o (ewritten)f(since)440 4002 y(they)18 b(get)g(a)f(new)h(key)g(because)f (the)h(\002le)g(identi\002er)f(has)h(changed.)f(This)h(pr)o(oblem)g (cannot)440 4116 y(be)28 b(solved)h(easily)f(because)g(the)g(changed)g (\002le)h(identi\002er)f(is)h(necessary)f(for)g(ensuring)440 4231 y(that)21 b(\002les)g(do)g(not)g(end)g(in)g(an)g(inconsistent)h (state.)565 4345 y(Log)h(\002les)h(is)g(one)g(pr)o(ominent)g (application)f(that)h(needs)f(ef)o(\002cient)g(support)h(for)f(par)o(-) 440 4460 y(tial)28 b(modi\002cations)i(since)f(log)g(\002les)g(ar)o(e)e (usually)h(built)h(by)g(appending)f(one)h(line)g(at)f(a)440 4575 y(time.)1831 5662 y(45)p eop end %%Page: 46 48 TeXDict begin 46 47 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.46) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.4) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(4)440 1638 y FX(Implementation)440 2084 y FU(This)27 b(chapter)f(describes)g(the)h(implementation)h(of)f(a)f(pr)o(ototype)g (of)h(our)g(system.)g(The)440 2199 y(purpose)18 b(of)h(the)f(pr)o (ototype)g(was)h(to)f(enable)g(us)h(to)f(explor)o(e)g(how)h(our)g (system)g(performs)440 2313 y(in)i(various)g(situations,)h(as)e (described)g(in)h(Chapter)2116 2315 y SDict begin H.S end 2116 2315 a -2 x FU(5)2157 2256 y SDict begin H.R end 2157 2256 a 2157 2313 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end 2157 2313 a FU(.)565 2428 y(The)k(distributed)g(hash)h(table)f(in)h(Section)1954 2428 y SDict begin H.S end 1954 2428 a FU(2.2)2058 2370 y SDict begin H.R end 2058 2370 a 2058 2428 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.2) cvn H.B /ANN pdfmark end 2058 2428 a 25 w FU(and)f(the)h(\002le)g(system)g(in)g(Section) 3200 2430 y SDict begin H.S end 3200 2430 a -2 x FU(2.3)3304 2370 y SDict begin H.R end 3304 2370 a 3304 2428 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.3) cvn H.B /ANN pdfmark end 3304 2428 a 440 2543 a FU(have)31 b(been)g(implemented)h(with)g(4000)e(lines)i(of)f(C++)h(code.)f(The)h (garbage)e(collector)440 2657 y(described)20 b(in)h(Section)1196 2657 y SDict begin H.S end 1196 2657 a FU(2.4)1300 2600 y SDict begin H.R end 1300 2600 a 1300 2657 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.2.4) cvn H.B /ANN pdfmark end 1300 2657 a 20 w FU(has)g(not)h(been)e(implemented)h(due)f(to)i (the)e(lack)h(of)g(time.)565 2772 y(Section)853 2772 y SDict begin H.S end 853 2772 a FU(4.1)956 2714 y SDict begin H.R end 956 2714 a 956 2772 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.4.1) cvn H.B /ANN pdfmark end 956 2772 a 23 w FU(pr)o(esents)i(important)g(concepts)g(r)o(egar)o (ding)f(the)h(pr)o(otocol,)g(r)o(outing)g(ta-)440 2886 y(ble)d(issues)g(and)g(division)h(of)f(labour)g(in)g(the)g (implementation)h(of)f(the)g(distributed)g(hash)440 3001 y(table.)g(Section)946 3001 y SDict begin H.S end 946 3001 a FU(4.2)1050 2943 y SDict begin H.R end 1050 2943 a 1050 3001 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.4.2) cvn H.B /ANN pdfmark end 1050 3001 a 20 w FU(gives)h(an)g (overview)f(of)h(the)g(implementation)h(of)f(the)g(\002le)g(system.)440 3161 y SDict begin H.S end 440 3161 a 440 3161 a SDict begin 13.79993 H.A end 440 3161 a 440 3161 a SDict begin [ /View [/XYZ H.V] /Dest (section.4.1) cvn H.B /DEST pdfmark end 440 3161 a 148 x FL(4.1)119 b(Distributed)28 b(hash)i(table)440 3513 y FU(The)21 b(main)h(concept)f(of)g(the)g(implementation)h(of)g (the)f(distributed)g(hash)g(table)g(ar)o(e)e FO(work)440 3628 y(items)h FU(which)h(r)o(epr)o(esent)d(the)i(major)g(operations)g (that)g(the)g(distributed)g(hash)g(table)f(may)440 3742 y(perform.)27 b(When)h(an)f(operation)g(is)h(r)o(equested,)f(a)g(work)g (item)h(is)g(cr)o(eated)d(and)i(placed)440 3857 y(in)k(the)g FO(r)o(eady)e(queue)p FU(.)j(A)e(worker)g(fr)o(om)g(the)h FO(thr)o(ead)e(pool)h FU(will)h(then)g(eventually)f(get)h(to)440 3971 y(the)22 b(work)h(item)f(and)f(pr)o(ocess)h(it.)g(W)-8 b(ork)23 b(items)f(that)g(have)f(been)h(partly)g(pr)o(ocessed)f(and)440 4086 y(need)i(a)g(r)o(eply)g(fr)o(om)g(the)h(network)g(to)g(continue)h (ar)o(e)d(placed)g(in)i(a)g FO(waiting)e(queue)p FU(.)j(They)440 4200 y(ar)o(e)19 b(later)h(moved)h(to)g(the)g(r)o(eady)e(queue)i(if)g (a)f(r)o(eply)g(comes)h(in)h(or)f(a)f(time)h(out)g(occurs.)565 4315 y(The)f(following)i(sections)f(give)g(an)f(overview)h(of)f(the)h (classes)f(and)g(discuss)h(selected)440 4430 y(topics)g(in)h(mor)o(e)e (detail.)440 4580 y SDict begin H.S end 440 4580 a 440 4580 a SDict begin 13.79993 H.A end 440 4580 a 440 4580 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.1) cvn H.B /DEST pdfmark end 440 4580 a 110 x FJ(4.1.1)99 b(Class)25 b(overview)440 4863 y FU(The)h(classes)h(of)f(the)g(distributed)g(hash)h(table)f(ar)o (e)f(illustrated)h(in)g(Figur)o(e)2863 4863 y SDict begin H.S end 2863 4863 a FU(4.1)2967 4805 y SDict begin H.R end 2967 4805 a 2967 4863 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.4.1) cvn H.B /ANN pdfmark end 2967 4863 a FU(.)g(The)g(fol-)440 4977 y(lowing)g(descriptions)f(will)g (brie\003y)g(explain)f(each)g(class;)g(thr)o(ead)f(classes)i(ar)o(e)e (denoted)440 5092 y(by)e(the)g(index)917 5107 y FB(T)962 5092 y FU(.)440 5290 y FQ(DHT:)42 b FU(Repr)o(esents)26 b(the)g(external)f(interface)g(of)h(the)g(distributed)g(hash)g(table)f (\(the)h FN(put)648 5404 y FU(and)17 b FN(get)27 b FU(methods\))18 b(and)f(glues)i(the)f(other)g(major)g(classes)g(together)h(by)f (holding)h(a)1831 5662 y(46)p eop end %%Page: 47 49 TeXDict begin 47 48 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.47) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 455 2229 a @beginspecial 91 @llx 388 @lly 621 @urx 721 @ury 3401 @rwi @setspecial %%BeginDocument: design/images/classdiagram-dht.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: classdiagram-dht.dvi %%BoundingBox: 91 388 621 721 %%DocumentFonts: Palatino-Roman Palatino-Italic %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o classdiagram-dht.eps %+ classdiagram-dht.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.15:1521 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (classdiagram-dht.dvi) @start /Fa 136[719 2[332 388 388 2[442 554 775 277 442 5[388 2[461 442 9[940 13[332 7[719 65[{TeXBase1Encoding ReEncodeFont}15 996.264 /Palatino-Italic rf /Fb 136[739 2[289 375 350 2[484 1[782 1[492 1[258 3[424 13[886 8[736 78[{ TeXBase1Encoding ReEncodeFont}11 885.568 /Palatino-Roman rf /Fc 136[831 563 601 325 422 394 1[599 544 580 880 290 554 1[290 580 554 332 477 609 442 551 498 9[996 2[611 523 665 783 602 1[828 942 609 2[336 829 760 2[771 1[609 66[{TeXBase1Encoding ReEncodeFont}35 996.264 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 36752 a @beginspecial 0 @llx 0 @lly 528 @urx 331 @ury 5280 @rwi @setspecial %%BeginDocument: classdiagram-dht.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: classdiagram-dht.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Dec 15 15:21:39 2003 %%For: lau@homer.cs.auc.dk (Lau Bech Lauritzen) %%BoundingBox: 0 0 528 331 %%Magnification: 0.7400 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 331 moveto 0 0 lineto 528 0 lineto 528 331 lineto closepath clip newpath 83.8 380.2 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.04440 0.04440 sc % % Fig objects follow % % Polyline 7.500 slw n 7274 2924 m 7237 3037 l 7274 3149 l 7312 3037 l 7274 2924 l cp gs col0 s gr % Polyline n 7273 3169 m 7273 3371 l gs col0 s gr /Times-Roman ff 180.00 scf sf 7387 3090 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 7394 3344 m gs 1 -1 sc (0..*) col0 sh gr % Polyline n 9224 2918 m 9187 3031 l 9224 3143 l 9262 3031 l 9224 2918 l cp gs col0 s gr % Polyline n 9223 3163 m 9223 3365 l gs col0 s gr /Times-Roman ff 180.00 scf sf 9337 3084 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 9344 3338 m gs 1 -1 sc (0..*) col0 sh gr % Polyline n 4352 4726 m 4315 4839 l 4352 4951 l 4390 4839 l 4352 4726 l cp gs col0 s gr /Times-Roman ff 180.00 scf sf 4465 4892 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 4480 5221 m gs 1 -1 sc (0..*) col0 sh gr % Polyline n 4351 4971 m 4351 5251 l gs col0 s gr % Polyline n 5587 2925 m 5550 3038 l 5587 3150 l 5625 3038 l 5587 2925 l cp gs col0 s gr % Polyline n 8175 7350 m 9750 7350 l 9750 7800 l 8175 7800 l cp gs col0 s gr % Polyline n 4575 7350 m 6150 7350 l 6150 7800 l 4575 7800 l cp gs col0 s gr % Polyline n 5475 7950 m 7050 7950 l 7050 8400 l 5475 8400 l cp gs col0 s gr % Polyline n 1125 2475 m 1125 1950 l gs col0 s gr % Polyline n 4350 1950 m 4350 4275 l gs col0 s gr % Polyline n 8250 1950 m 9225 1950 l 9225 2475 l gs col0 s gr % Polyline n 7275 2475 m 7275 1950 l gs col0 s gr % Polyline n 8400 3375 m 9975 3375 l 9975 3825 l 8400 3825 l cp gs col0 s gr % Polyline n 8400 2475 m 9975 2475 l 9975 2925 l 8400 2925 l cp gs col0 s gr % Polyline n 4050 1950 m 8625 1950 l gs col0 s gr % Polyline n 7125 6375 m 7125 6150 l gs col0 s gr % Polyline [45] 0 sd n -1875 2250 m -975 2250 l -975 1950 l -1875 1950 l cp gs col0 s gr [] 0 sd % Polyline n 1121 1950 m 1129 1950 l gs col0 s gr % Polyline n -1650 2475 m 0 2475 l 0 2925 l -1650 2925 l cp gs col0 s gr % Polyline n 3525 5250 m 5100 5250 l 5100 5700 l 3525 5700 l cp gs col0 s gr % Polyline gs clippath 4402 5685 m 4297 5685 l 4297 5840 l 4350 5720 l 4402 5840 l cp eoclip n 4350 6150 m 4350 5700 l gs col0 s gr gr % arrowhead 15.000 slw n 4402 5840 m 4350 5720 l 4297 5840 l 4402 5840 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 3225 1950 m -825 1950 l -825 2475 l gs col0 s gr % Polyline n 2175 1950 m 3600 1950 l gs col0 s gr % Polyline n 4275 1950 m 5399 1950 l gs col0 s gr % Polyline n 3464 1950 m 5400 1950 l gs col0 s gr % Polyline n 4350 1950 m 4350 1800 l gs col0 s gr % Polyline n 4350 1575 m 4313 1688 l 4350 1800 l 4388 1688 l 4350 1575 l cp gs col0 s gr % Polyline n 3525 1125 m 5100 1125 l 5100 1575 l 3525 1575 l cp gs col0 s gr % Polyline n 4350 6150 m 7125 6150 l gs col0 s gr % Polyline [60] 0 sd n -1875 5025 m -675 5025 l -675 4725 l -1875 4725 l cp gs col0 s gr [] 0 sd % Polyline n 4350 6150 m -375 6150 l gs col0 s gr % Polyline n 225 6375 m 225 6150 l gs col0 s gr % Polyline n -375 6150 m -975 6150 l gs col0 s gr % Polyline n -975 6150 m -975 7050 l gs col0 s gr % Polyline n 1275 7050 m 1275 6150 l gs col0 s gr % Polyline n 2325 6375 m 2325 6150 l gs col0 s gr % Polyline n 3525 7050 m 3525 6150 l gs col0 s gr % Polyline gs clippath 7177 6810 m 7072 6810 l 7072 6965 l 7125 6845 l 7177 6965 l cp eoclip n 7125 7725 m 7125 6825 l gs col0 s gr gr % arrowhead 15.000 slw n 7177 6965 m 7125 6845 l 7072 6965 l 7177 6965 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 225 2475 m 1950 2475 l 1950 2925 l 225 2925 l cp gs col0 s gr % Polyline n -1725 7050 m -150 7050 l -150 7500 l -1725 7500 l cp gs col0 s gr % Polyline n -600 6375 m 975 6375 l 975 6825 l -600 6825 l cp gs col0 s gr % Polyline n 375 7050 m 2175 7050 l 2175 7500 l 375 7500 l cp gs col0 s gr % Polyline n 1575 6375 m 3150 6375 l 3150 6825 l 1575 6825 l cp gs col0 s gr % Polyline n 2700 7050 m 4275 7050 l 4275 7500 l 2700 7500 l cp gs col0 s gr % Polyline n 6825 7200 m 8925 7200 l 8925 7350 l gs col0 s gr % Polyline n 6825 7200 m 5325 7200 l 5325 7350 l gs col0 s gr % Polyline n 3525 4275 m 5100 4275 l 5100 4725 l 3525 4725 l cp gs col0 s gr % Polyline n 6517 2472 m 8092 2472 l 8092 2922 l 6517 2922 l cp gs col0 s gr % Polyline n 6517 3372 m 8092 3372 l 8092 3822 l 6517 3822 l cp gs col0 s gr % Polyline n 5585 3150 m 5585 3375 l gs col0 s gr % Polyline n 4725 3375 m 6300 3375 l 6300 3825 l 4725 3825 l cp gs col0 s gr % Polyline n 5550 2475 m 5550 1950 l gs col0 s gr % Polyline n 4725 2475 m 6300 2475 l 6300 2925 l 4725 2925 l cp gs col0 s gr % Polyline n 3225 1950 m 3225 2475 l gs col0 s gr % Polyline n 2400 2475 m 3975 2475 l 3975 2925 l 2400 2925 l cp gs col0 s gr % Polyline n 6375 6375 m 7950 6375 l 7950 6825 l 6375 6825 l cp gs col0 s gr % Polyline n 7125 7725 m 6300 7725 l 6300 7950 l gs col0 s gr % Polyline n 7125 7725 m 7950 7725 l 7950 7950 l gs col0 s gr % Polyline n 7275 7950 m 8850 7950 l 8850 8400 l 7275 8400 l cp gs col0 s gr % Polyline [45] 0 sd n -1875 5025 m 9900 5025 l 9900 8550 l -1875 8550 l cp gs col0 s gr [] 0 sd % Polyline n -1650 3075 m 0 3075 l 0 3525 l -1650 3525 l cp gs col0 s gr % Polyline [60] 0 sd n -1875 2250 m 2175 2250 l 2175 4275 l -1875 4275 l cp gs col0 s gr [] 0 sd % Polyline n 225 3675 m 1950 3675 l 1950 4125 l 225 4125 l cp gs col0 s gr % Polyline n 225 3075 m 1950 3075 l 1950 3525 l 225 3525 l cp gs col0 s gr /Times-Roman ff 180.00 scf sf -780 2423 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 1177 2430 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 9300 2400 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 7425 2400 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 4425 4200 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 4425 1725 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 2400 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 5685 3091 m gs 1 -1 sc (1) col0 sh gr /Times-Roman ff 180.00 scf sf 5685 3338 m gs 1 -1 sc (0..*) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 2400 m gs 1 -1 sc (1) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 54078 32252 a Fc(Lookup)p Black 0 0 0 TeXcolorrgb -21212 w(Retrieve)p Black 0 0 0 TeXcolorrgb 40017 35213 a(SendBlock)p Black 0 0 0 TeXcolorrgb 54078 8200 a(W)-92 b(orkerPool)p Black 0 0 0 TeXcolorrgb 55188 12640 a(W)g(orker)p Black 0 0 0 TeXcolorrgb 2643 5240 a Fb(Network)p Black 0 0 0 TeXcolorrgb 30766 21891 a Fa(W)-20 b(orkItem)p Black 0 0 0 TeXcolorrgb 31506 1539 a Fc(DHT)p Black 0 0 0 TeXcolorrgb 3753 8200 a(NetworkListener)p Black 0 0 0 TeXcolorrgb 1724 w(NetworkInterface)p Black 0 0 0 TeXcolorrgb 6344 30772 a(Put)p Black 0 0 0 TeXcolorrgb 11524 27442 a(Get)p Black 0 0 0 TeXcolorrgb 13744 30772 a(IncomingMessage)p Black 0 0 0 TeXcolorrgb 21515 27442 a(T)-55 b(imeout)p Black 0 0 0 TeXcolorrgb 27066 30772 a(Resend)p Black 0 0 0 TeXcolorrgb 30026 17081 a(W)-92 b(orkQueue)p Black 0 0 0 TeXcolorrgb 45158 8185 a(HostT)g(able)p Black 0 0 0 TeXcolorrgb 46268 12626 a(Host)p Black 0 0 0 TeXcolorrgb 37427 12640 a(Block)p Black 0 0 0 TeXcolorrgb 36317 8200 a(BlockT)g(able)p Black 0 0 0 TeXcolorrgb -16246 w(Maintainer)p Black 0 0 0 TeXcolorrgb 44087 27442 a Fa(Answerable)p Black 0 0 0 TeXcolorrgb 2643 18931 a Fb(W)-81 b(ork)220 b(items)p Black 0 0 0 TeXcolorrgb 48898 35213 a Fc(Republish)p Black 0 0 0 TeXcolorrgb 5603 11160 a(Pr)-18 b(otocol)p Black 0 0 0 TeXcolorrgb 14114 14121 a(RawMessage)p Black 0 0 0 TeXcolorrgb 14854 11160 a(Message)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 2417 a FK(Figur)o(e)21 b(4.1:)871 2312 y SDict begin H.S end 871 2312 a 871 2312 a SDict begin H.R end 871 2312 a 871 2312 a SDict begin [ /View [/XYZ H.V] /Dest (figure.4.1) cvn H.B /DEST pdfmark end 871 2312 a 105 x FK(The)h(classes)h(in)f(the)h(distributed)f(hash)h(table)f (component.)g(Note)h(that)f(the)h Ff(W)l(orkItem)511 2522 y FK(suf\002x)c(for)f(the)h(subclasses)g(of)g Ff(W)l(orkItem)f FK(has)h(been)f(left)g(out.)648 2792 y FQ(W)-6 b(orkerPool)p FU(,)20 b FQ(W)-6 b(orkQueue)p FU(,)21 b FQ(Maintainer)p FU(,)d FQ(NetworkInterface)p FU(,)i FQ(NetworkLis-)648 2907 y(tener)p FU(,)f FQ(BlockT)-9 b(able)19 b FU(and)h(a)g FQ(HostT)-9 b(able)p FU(.)440 3088 y FQ(W)j(orkerPool:)41 b FU(Repr)o(esents)20 b(a)g(pool)h(of)f(idle)g(workers)h(that)f(ar)o(e) f(r)o(eady)g(to)h(be)g(assigned)h(a)648 3202 y(task.)i(Multiple)g (workers)g(ar)o(e)f(needed)g(because)h(some)h(tasks)f(ar)o(e)f (blocking)i(\(e.g.)648 3317 y(saving)18 b(a)f(block)i(to)f(disk\).)g (The)g(number)g(of)g(workers)h(is)f(set)g(as)g(a)f(\002xed)h(parameter) 648 3431 y(in)j(our)g(pr)o(ototype)f(but)h(should)h(ideally)e(be)g (chosen)i(dynamically)-9 b(.)440 3612 y FQ(W)j(orker)722 3627 y FB(T)766 3612 y FQ(:)42 b FU(Repr)o(esents)22 b(a)g(worker)h(that)g(pr)o(ocesses)f(work)h(items,)g(by)g(invoking)h (the)f FN(do)648 3727 y(pr)o(ocess)j FU(method)c(on)f(the)g(various)g (work)g(items.)440 3908 y FQ(W)-6 b(orkQueue:)40 b FU(Repr)o(esents)15 b(a)h(r)o(eady)e(and)h(a)h(waiting)g(queue)g(with)g(methods)h(for)f (adding)648 4022 y(the)j(appr)o(opriate)e(work)i(item)h(and)e(grabbing) h(the)g(next)g(r)o(eady)f(item.)h(It)g(also)g(facil-)648 4137 y(itates)j(getting)i(a)e(waiting)i(work)f(item)g(fr)o(om)g(a)f (sequence)h(number)g(once)h(a)e(r)o(eply)648 4252 y(message)e(is)h(r)o (eceived.)440 4433 y FQ(W)-6 b(orkItem:)41 b FU(The)19 b(abstract)f(base)h(class)g(for)g(queued)g(work)h(items.)g(It)f(has)g (the)h(following)648 4547 y(subclasses:)648 4745 y FQ(PutW)-6 b(orkItem:)39 b FU(Repr)o(esents)22 b(a)g(put)h(block)g(r)o(equest)f (to)h(the)f(hash)h(table)f(that)h(dis-)830 4859 y(tributes)d(the)f (block)h(to)g(the)f FO(r)j FU(closest)e(nodes)f(\(by)g(using)i FQ(LookupW)-6 b(orkItem)830 4974 y FU(and)21 b FQ(SendBlockW)-6 b(orkItem)p FU(\).)648 5122 y FQ(GetW)g(orkItem:)39 b FU(Repr)o(esents)33 b(a)f(get)h(block)g(r)o(equest)f(on)i(the)f(hash)g (table.)f(Uses)830 5236 y FQ(LookupW)-6 b(orkItem)20 b FU(and)g FQ(RetrieveW)-6 b(orkItem)p FU(.)1831 5662 y(47)p eop end %%Page: 48 50 TeXDict begin 48 49 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.48) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 648 531 a FQ(AnswerableW)-6 b(orkItem:)38 b FU(Repr)o(esents)28 b(an)h(operation)g(that)f(is)h(awaiting)g(a)f(net-)830 646 y(work)g(message)f(and)g(needs)g(to)h(accept)e(a)h(message)g(befor) o(e)g(being)g(able)g(to)830 760 y(continue.)17 b FQ(LookupW)-6 b(orkItem)p FU(,)14 b FQ(SendBlockW)-6 b(orkItem)13 b FU(and)j FQ(LookupW)-6 b(orkItem)830 875 y FU(ar)o(e)20 b(subclasses)g(that)h(ar)o(e)e(awaiting)i(a)g(r)o(eply)-9 b(.)648 1023 y FQ(LookupW)j(orkItem)40 b FU(Repr)o(esents)20 b(a)h(look)g(up)g(operation)g(for)g(\002nding)h(the)f FO(r)i FU(clos-)830 1137 y(est)e(nodes.)648 1285 y FQ(SendBlockW)-6 b(orkItem:)39 b FU(Sends)20 b(a)g(block)h(to)h(a)e(single)h(node)g(for) g(storage.)648 1433 y FQ(RetrieveW)-6 b(orkItem:)38 b FU(Retrieves)21 b(a)f(block)h(fr)o(om)g(a)f(single)i(node.)648 1581 y FQ(IncomingMessageW)-6 b(orkItem:)38 b FU(Repr)o(esents)15 b(an)h(incoming)h(message)f(fr)o(om)g(an-)830 1695 y(other)31 b(host.)f(The)h(message)f(may)g(be)f(a)h(r)o(eply)f(in)i(which)g(case)e (the)i(appr)o(o-)830 1810 y(priate)c(work)h(item)f(is)h(taken)f(out)h (of)f(the)h(waiting)g(queue,)f(or)h(it)f(may)h(be)f(a)830 1924 y(r)o(equest.)648 2072 y FQ(RepublishW)-6 b(orkItem:)38 b FU(Repr)o(esents)15 b(the)h(r)o(epublishing)h(operation)f(for)g (sending)830 2187 y(out)21 b(r)o(eplication)g(of)o(fers)e(to)j FO(r)d FI(\000)e FU(1)j(other)h(nodes.)648 2335 y FQ(ResendW)-6 b(orkItem:)38 b FU(For)c(r)o(esending)f(a)g(message)g(when)h(a)e(work)i (item)f(in)h(the)830 2449 y(waiting)22 b(queue)e(has)h(had)g(a)f (timeout.)648 2597 y FQ(T)-5 b(imeoutW)f(orkItem:)39 b FU(Repr)o(esents)27 b(a)f(fatal)g(timeout)h(after)f(too)h(many)g (consecu-)830 2711 y(tive)32 b(failed)f(r)o(esend)g(operations.)h(The)g (work)h(item)f(that)g(experiences)f(the)830 2826 y(timeout)25 b(is)g(taken)f(out)h(of)f(the)h(waiting)g(queue)f(and)g(should)h (continue)g(un-)830 2941 y(der)20 b(the)h(assumption)h(that)f(the)g(r)o (ecipient)f(node)h(is)g(unr)o(eachable.)648 3138 y(Each)e(subclass)h (implements)h(the)f(abstract)f FN(do_pr)o(ocess)26 b FU(method)20 b(of)g FQ(W)-6 b(orkItem)p FU(.)440 3319 y FQ(Maintainer)869 3334 y FB(T)911 3319 y FQ(:)41 b FU(Repr)o(esents)16 b(a)f(maintainer)h(that)g(assur)o(es)g(that)g(work) g(items)h(in)f(the)h(wait-)648 3434 y(ing)22 b(queue)g(do)f(not)i(wait) e(for)o(ever)g(and)g(that)g(the)h(block)g(table)f(and)g(the)h(host)h (table)648 3548 y(ar)o(e)d(kept)i(up-to-date)f(periodically)-9 b(.)21 b(It)i(cr)o(eates)d FQ(ResendW)-6 b(orkItem)p FU(s)20 b(and)i FQ(T)-5 b(ime-)648 3663 y(outW)f(orkItem)p FU(s)28 b(for)g(items)i(that)f(have)g(been)f(too)i(long)g(in)g(the)f (waiting)g(queue,)648 3777 y(and)22 b(cr)o(eates)g FQ(RepublishW)-6 b(orkItem)p FU(s)21 b(and)i FQ(LookupW)-6 b(orkItem)p FU(s)22 b(for)h(the)g(main-)648 3892 y(tenance)d(of)h(the)h(block)f (table)g(and)f(host)i(table.)e(The)h(periods)g(between)g(maintain-)648 4007 y(ing)h(the)g(block)g(table)f(and)g(host)i(table)e(ar)o(e)g (randomised)g(to)h(avoid)g(that)f(all)h(nodes)648 4121 y(perform)e(the)h(maintainence)g(at)f(the)h(same)f(time.)440 4302 y FQ(Message:)40 b FU(Repr)o(esents)32 b(the)g(base)g(class)g(for) g(the)g(pr)o(otocol)h(primitives)g(described)e(in)648 4417 y(Section)940 4419 y SDict begin H.S end 940 4419 a -2 x FU(2.2.5)1106 4359 y SDict begin H.R end 1106 4359 a 1106 4417 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section*.5) cvn H.B /ANN pdfmark end 1106 4417 a FU(.)d(Each)f(pr)o(otocol)g (message,)h(both)g(r)o(equest)f(and)g(r)o(eply)-9 b(,)26 b(has)i(a)f(cor)o(-)648 4531 y(r)o(esponding)h(class)g(that)h(contains) g(the)f(data)f(str)o(uctur)o(e)h(of)g(the)h(pr)o(otocol)f(primi-)648 4646 y(tives,)22 b(i.e.)f(the)i(data)e(that)h(is)h(transmitted)f(and)g (r)o(eceived)f(over)h(the)g(network.)h(For)648 4760 y(instance,)i FT(R)t(E)t(T)t(R)t(I)t(E)t(V)t(E)k(B)t(L)t(O)t(C)t(K)d FU(corr)o(esponds)e(to)g FQ(RetrieveBlockMessage)p FU(.)c(Note)648 4875 y(that)30 b(the)h(subclasses)g(of)f FQ(Message)f FU(ar)o(e)h(not)h(shown)h(in)f(the)g(class)f(diagram)g(\(to)648 4990 y(avoid)20 b(cluttering)h(it\).)440 5171 y FQ(RawMessage:)39 b FU(Repr)o(esents)18 b(a)f(byte)g(sequence)h(of)f(a)g FQ(Message)f FU(that)i(is)f(r)o(eady)f(for)i(trans-)648 5285 y(mission.)1831 5662 y(48)p eop end %%Page: 49 51 TeXDict begin 49 50 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.49) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 440 531 a FQ(Protocol:)41 b FU(Repr)o(esents)16 b(the)g(pr)o (otocol)g(speci\002cations,)g(see)g(Section)2629 533 y SDict begin H.S end 2629 533 a -2 x FU(2.2.5)2795 474 y SDict begin H.R end 2795 474 a 2795 531 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section*.7) cvn H.B /ANN pdfmark end 2795 531 a FU(,)g(that)g(converts)648 646 y(the)32 b(various)g(messages)h(to)f(a)g FQ(RawMessage)p FU(.)e(It)j(also)f (supports)h(converting)g(a)648 760 y FQ(RawMessage)18 b FU(back)j(to)g(its)g(corr)o(esponding)g FQ(Message)p FU(.)440 940 y FQ(NetworkInterface:)40 b FU(Repr)o(esents)22 b(the)g(network)h(interface)e(for)h(host-to-host)i(commu-)648 1054 y(nication.)32 b(It)g(has)g(a)f(method)i(for)e(sending)i(and)e(a)g (method)i(for)e(r)o(eceiving)h(raw)648 1169 y(messages.)440 1348 y FQ(NetworkListener)1090 1363 y FB(T)1132 1348 y FQ(:)41 b FU(Listens)33 b(on)g(the)f(network)h(for)f(incoming)i (messages)e(and)g(cr)o(e-)648 1462 y(ates)18 b(a)h FQ(IncomingMessageW) -6 b(orkItem)16 b FU(on)k(the)f(r)o(eady)f(queue)h(for)g(each)g(r)o (eceived)648 1577 y(message.)440 1756 y FQ(BlockT)-9 b(able:)40 b FU(Holds)20 b(the)g(blocks)g(of)g(a)g(node)g(in)g(a)f (hash)i(table)e(keyed)g(on)i(the)f(block)g(key)648 1871 y(and)g(facilitates)g(getting)h(and)f(saving)i(blocks.)440 2050 y FQ(Block:)41 b FU(Repr)o(esents)21 b(a)f(block.)440 2229 y FQ(Key:)41 b FU(Repr)o(esents)21 b(an)i FO(m)q FU(-bit)e(hash)i(key)-9 b(.)21 b(It)h(supports)h(setting)f(and)g (getting)g(the)i FO(n)q FU('th)e(bit)648 2344 y(\(used)28 b(for)g(the)h(host)h(table)e(maintenance\))h(and)f(calculating)h(the)i FT(X)t(O)t(R)h FU(distance)648 2458 y(between)20 b(two)i(keys.)440 2637 y FQ(HostT)-9 b(able:)40 b FU(Holds)23 b(the)h(list)g(of)f(known)h (hosts)h(with)f(methods)g(for)f(getting)h(the)f(nodes)648 2752 y(between)g(two)i(keys)f(\(used)f(for)h(the)g(host)h(table)e (maintenance\))g(and)h(looking)h(up)648 2866 y(nodes)c(closest)g(to)g (a)f(key)-9 b(.)440 3046 y FQ(Host:)41 b FU(Repr)o(esents)25 b(the)g(contact)f(information)i(for)f(a)f(host)i(with)g(an)e(IP)h(addr) o(ess)e(and)i(a)648 3160 y(port.)565 3353 y(The)d(following)i(sections) f(dive)f(into)i(the)e(key)h(aspects)f(of)g(the)h(distributed)f(hash)h (ta-)440 3468 y(bles)e(and)f(pr)o(esent)g(the)h(associated)f(code)h (snippets.)440 3617 y SDict begin H.S end 440 3617 a 440 3617 a SDict begin 13.79993 H.A end 440 3617 a 440 3617 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.2) cvn H.B /DEST pdfmark end 440 3617 a 110 x FJ(4.1.2)99 b(W)-7 b(ork)24 b(items)h(and)f(queues)440 3900 y FU(W)-8 b(ork)26 b(items)h(ar)o(e)d (at)h(the)h(heart)f(of)h(the)g(system)g(since)g(all)g(r)o(equests)g(in) g(the)g(distributed)440 4015 y(hash)j(table)g(ar)o(e)e(pr)o(ocessed)h (thr)o(ough)i(them.)f(As)g(shown)i(in)e(the)g(class)g(diagram,)f(Fig-) 440 4129 y(ur)o(e)586 4129 y SDict begin H.S end 586 4129 a FU(4.1)690 4072 y SDict begin H.R end 690 4072 a 690 4129 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.4.1) cvn H.B /ANN pdfmark end 690 4129 a FU(,)d(all)f(work)i(items)f(derive)f (fr)o(om)h(the)g(abstract)f(class)h FQ(W)-6 b(orkItem)24 b FU(that)h(pr)o(ovides)440 4244 y(a)20 b(common)i(interface)e (consisting)i(only)g(of)f(the)f(method)h FN(pr)o(ocess)27 b FU(\(which)21 b(in)g(turn)g(calls)440 4358 y FN(do_pr)o(ocess)6 b FU(\).)565 4473 y(The)19 b(work)h(items)f(ar)o(e)f(pr)o(ocessed)g(by) i(the)f(worker)g(thr)o(eads.)f(All)h(work)h(items,)g(when)440 4587 y(not)27 b(being)g(pr)o(ocessed,)e(ar)o(e)h(situated)g(in)h(one)g (of)f(the)h(queues)g(in)g FQ(W)-6 b(orkQueue)p FU(.)25 b(When)440 4702 y(work)f(items)f(ar)o(e)f(\002rst)h(cr)o(eated)f(they)h (ar)o(e)f(queued)h(in)g(the)h(r)o(eady)d(queue,)i(waiting)h(for)f(a)440 4817 y(worker)i(to)g(grab)f(it.)g(The)h(workers)f(ask)h(the)g(r)o(eady) e(queue)h(for)h(work)g(to)g(do)f(by)h(calling)440 4931 y(the)19 b FN(grab_r)o(eady_item)j FU(method)d(on)g FQ(W)-6 b(orkQueue)p FU(.)17 b(The)i(method)g FN(grab_r)o(eady_item)j FU(is)440 5046 y(shown)g(in)f(Listing)1077 5046 y SDict begin H.S end 1077 5046 a FU(4.1)1181 4988 y SDict begin H.R end 1181 4988 a 1181 5046 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstlisting.4.1) cvn H.B /ANN pdfmark end 1181 5046 a 20 w FU(and)g(explained)f(below)-8 b(.)440 5117 y SDict begin H.S end 440 5117 a 440 5117 a SDict begin 13.79993 H.A end 440 5117 a 440 5117 a SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.1) cvn H.B /DEST pdfmark end 440 5117 a 1175 5223 a FK(Listing)18 b(4.1:)27 b Ff(W)l(orkQueue)p FK(')l(s)17 b Fl(grab_r)o(eady_item)p 412 5283 4 29 v 412 5258 29 4 v 440 5258 2865 4 v 3305 5258 29 4 v 3331 5283 4 29 v 412 5360 4 77 v 3329 5360 V 440 5260 a SDict begin H.S end 440 5260 a 440 5260 a SDict begin 9.19995 H.A end 440 5260 a 440 5260 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.1) cvn H.B /DEST pdfmark end 440 5260 a 336 5337 a Fe(1)87 b Fw(W)t(o)t(r)t(k)t(I)t(t)t(e)t(m)t(P)t(t)t(r)34 b(WorkQueue)11 b(:)i(:)18 b(g)5 b(r)g(a)g(b)g(_)g(r)g(e)g(a)g(d)g(y)g (_)g(i)g(t)g(e)g(m)21 b(\()11 b(\))p 412 5436 4 77 v 3329 5436 V 440 5337 a SDict begin H.S end 440 5337 a 440 5337 a SDict begin 9.19995 H.A end 440 5337 a 440 5337 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.2) cvn H.B /DEST pdfmark end 440 5337 a 336 5413 a Fe(2)91 b Fw({)1831 5662 y FU(49)p eop end %%Page: 50 52 TeXDict begin 50 51 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.50) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 412 554 4 77 v 3329 554 V 440 455 a SDict begin H.S end 440 455 a 440 455 a SDict begin 9.19995 H.A end 440 455 a 440 455 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.3) cvn H.B /DEST pdfmark end 440 455 a 336 531 a Fe(3)158 b Fw(r)6 b(e)g(a)g(d)g(y)g(_)g(i)g(t)g(e)g(m)g(s)11 b(.)k(w)5 b(a)g(i)g(t)20 b(\()13 b(\))g(;)p 412 631 4 77 v 3329 631 V 440 531 a SDict begin H.S end 440 531 a 440 531 a SDict begin 9.19995 H.A end 440 531 a 440 531 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.4) cvn H.B /DEST pdfmark end 440 531 a 336 608 a Fe(4)p 412 707 4 77 v 3329 707 V 440 608 a SDict begin H.S end 440 608 a 440 608 a SDict begin 9.19995 H.A end 440 608 a 440 608 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.5) cvn H.B /DEST pdfmark end 440 608 a 336 684 a Fe(5)159 b Fw(r)6 b(e)g(a)g(d)g(y)g(_)g(l)g(o)g(c)g(k) 15 b(.)f(e)5 b(n)g(t)g(e)g(r)g(M)g(u)g(t)g(e)g(x)13 b(\()g(\))g(;)p 412 783 4 77 v 3329 783 V 440 684 a SDict begin H.S end 440 684 a 440 684 a SDict begin 9.19995 H.A end 440 684 a 440 684 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.6) cvn H.B /DEST pdfmark end 440 684 a 336 760 a Fe(6)156 b Fw(W)t(o)t(r)t(k)t(I)t(t)t(e)t(m)t(P)t(t)t(r)40 b(i)5 b(t)g(e)g(m)39 b(=)g(r)t(e)t(a)t(d)t(y)t(_)t(q)t(u)t(e)t(u)t(e)14 b(.)k(f)8 b(r)g(o)g(n)g(t)21 b(\()15 b(\))g(;)p 412 860 4 77 v 3329 860 V 440 760 a SDict begin H.S end 440 760 a 440 760 a SDict begin 9.19995 H.A end 440 760 a 440 760 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.7) cvn H.B /DEST pdfmark end 440 760 a 336 837 a Fe(7)157 b Fw(r)t(e)t(a)t(d)t(y)t(_)t (q)t(u)t(e)t(u)t(e)13 b(.)j(p)6 b(o)g(p)g(_)g(f)g(r)g(o)g(n)g(t)15 b(\()e(\))g(;)p 412 936 4 77 v 3329 936 V 440 837 a SDict begin H.S end 440 837 a 440 837 a SDict begin 9.19995 H.A end 440 837 a 440 837 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.8) cvn H.B /DEST pdfmark end 440 837 a 336 913 a Fe(8)159 b Fw(r)6 b(e)g(a)g(d)g(y)g(_)g(l)g(o)g(c)g(k)15 b(.)f(l)t(e)t(a)t(v)t(e)t(M)t(u)t(t)t(e)t(x)19 b(\()13 b(\))g(;)p 412 1013 4 77 v 3329 1013 V 440 913 a SDict begin H.S end 440 913 a 440 913 a SDict begin 9.19995 H.A end 440 913 a 440 913 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.9) cvn H.B /DEST pdfmark end 440 913 a 336 990 a Fe(9)p 412 1089 4 77 v 3329 1089 V 440 990 a SDict begin H.S end 440 990 a 440 990 a SDict begin 9.19995 H.A end 440 990 a 440 990 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.10) cvn H.B /DEST pdfmark end 440 990 a 315 1066 a Fe(10)159 b Fd(r)6 b(e)g(t)g(u)g(r)g(n)47 b Fw(i)5 b(t)g(e)g(m)14 b(;)p 412 1165 4 77 v 3329 1165 V 440 1066 a SDict begin H.S end 440 1066 a 440 1066 a SDict begin 9.19995 H.A end 440 1066 a 440 1066 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.1.11) cvn H.B /DEST pdfmark end 440 1066 a 315 1142 a Fe(11)91 b Fw(})p 412 1194 4 29 v 413 1194 29 4 v 440 1194 2865 4 v 3305 1194 29 4 v 3331 1194 4 29 v 565 1330 a FU(If)28 b(the)i(r)o(eady)d(queue)j(is)f(empty)-9 b(,)29 b(the)h(caller)e(will)i(wait)f(on)h(a)f(semaphor)o(e)f(\(Line)3235 1332 y SDict begin H.S end 3235 1332 a -2 x FU(3)3277 1272 y SDict begin H.R end 3277 1272 a 3277 1330 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.1.3) cvn H.B /ANN pdfmark end 3277 1330 a FU(\))440 1444 y(until)d(an)e(item)i(is)f (added)e(to)j(the)f(queue)g(and)f(the)h(semaphor)o(e)g(is)g(incr)o (emented.)f(When)440 1559 y(no)32 b(items)g(ar)o(e)e(pr)o(esent)h(in)h (the)g(queue,)f(all)g(unemployed)h(workers)g(will)g(be)f(blocked)440 1673 y(until)22 b(mor)o(e)e(work)h(arrives.)565 1788 y(When)27 b(ther)o(e)f(is)i(work)g(to)f(do,)g(the)g(calling)h(worker)f (decr)o(ements)f(semaphor)o(e)h(and)440 1903 y(grab)18 b(an)g(item)h(fr)o(om)f(the)h(queue.)f(Since)g(the)h(distributed)f (hash)h(table)f(is)h(multi-thr)o(eaded)440 2017 y(the)d(shar)o(ed)f (data)f(str)o(uctur)o(es)i(must)g(be)f(pr)o(otected)g(by)h(mutexes.)f (The)h(mutex)g FN(r)o(eady_lock)440 2132 y FU(pr)o(otects)21 b(the)g(critical)g(r)o(egion)h(in)f(Line)1694 2134 y SDict begin H.S end 1694 2134 a -2 x FU(5)1735 2074 y SDict begin H.R end 1735 2074 a 1735 2132 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.1.5) cvn H.B /ANN pdfmark end 1735 2132 a FU(-)1763 2134 y SDict begin H.S end 1763 2134 a -2 x FU(8)1804 2074 y SDict begin H.R end 1804 2074 a 1804 2132 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.1.8) cvn H.B /ANN pdfmark end 1804 2132 a FU(.)h(When)f(the)h(work)g (item)f(has)h(been)f(extracted)440 2246 y(fr)o(om)f(the)h(queue,)g(it)g (is)g(r)o(eturned)f(to)h(the)g(caller)-6 b(.)565 2361 y(The)22 b(two)h(main)g(work)g(items)g(ar)o(e)e FQ(PutW)-6 b(orkItem)21 b FU(and)h FQ(GetW)-6 b(orkItem)p FU(.)21 b(Both)i(need)440 2475 y(to)g(perform)g(subtasks,)f(e.g.)h(initiate)g (a)f(lookup.)h(This)h(is)f(done)g(by)g(cr)o(eating)f(the)h(appr)o(o-) 440 2590 y(priate)28 b(work)h(item,)f(e.g.)g(a)g FQ(LookupW)-6 b(orkItem)p FU(,)27 b(setting)i(it)g(up)g(to)g(pass)f(back)g(contr)o (ol)440 2705 y(when)23 b(it)g(is)g(done)f(by)h(r)o(egistering)f(two)h (callback)f(functions,)h(one)g(for)f(success)h(and)f(one)440 2819 y(for)f(failur)o(e,)e(and)i(then)h(calling)f(its)g FN(pr)o(ocess)28 b FU(method.)21 b(A)g(typical)g(example)f(is)h(shown)i (in)440 2934 y(Listing)717 2934 y SDict begin H.S end 717 2934 a FU(4.2)820 2876 y SDict begin H.R end 820 2876 a 820 2934 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstlisting.4.2) cvn H.B /ANN pdfmark end 820 2934 a 21 w FU(\(slightly)f(edited)e (for)g(r)o(eadability\).)440 3007 y SDict begin H.S end 440 3007 a 440 3007 a SDict begin 13.79993 H.A end 440 3007 a 440 3007 a SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.2) cvn H.B /DEST pdfmark end 440 3007 a 1239 3113 a FK(Listing)e(4.2:)28 b Ff(PutW)l(orkItem)p FK(')l(s)17 b Fl(do_pr)o(ocess)p 412 3175 4 29 v 412 3150 29 4 v 440 3150 2865 4 v 3305 3150 29 4 v 3331 3175 4 29 v 412 3251 4 77 v 3329 3251 V 440 3152 a SDict begin H.S end 440 3152 a 440 3152 a SDict begin 9.19995 H.A end 440 3152 a 440 3152 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.1) cvn H.B /DEST pdfmark end 440 3152 a 336 3228 a Fe(1)87 b Fd(v)t(o)t(i)t(d)42 b Fw(P)s(u)s(t)s(W)s(o)s(r)s(k)s(I)s(t)s(e)s(m)12 b(:)i(:)k(d)5 b(o)g(_)g(p)g(r)g(o)g(c)g(e)g(s)g(s)18 b(\()10 b(\))p 412 3328 4 77 v 3329 3328 V 440 3228 a SDict begin H.S end 440 3228 a 440 3228 a SDict begin 9.19995 H.A end 440 3228 a 440 3228 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.2) cvn H.B /DEST pdfmark end 440 3228 a 336 3305 a Fe(2)91 b Fw({)p 412 3404 4 77 v 3329 3404 V 440 3305 a SDict begin H.S end 440 3305 a 440 3305 a SDict begin 9.19995 H.A end 440 3305 a 440 3305 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.3) cvn H.B /DEST pdfmark end 440 3305 a 336 3381 a Fe(3)165 b Fg(/)12 b(/)59 b(f)13 b(i)g(r)g(s)f(t)54 b(d)5 b(o)44 b(a)j(l)8 b(o)g(o)g(k)g(u)g(p)p 412 3480 4 77 v 3329 3480 V 440 3381 a SDict begin H.S end 440 3381 a 440 3381 a SDict begin 9.19995 H.A end 440 3381 a 440 3381 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.4) cvn H.B /DEST pdfmark end 440 3381 a 336 3457 a Fe(4)159 b Fw(s)6 b(h)g(a)g(r)g(e)g(d)g(_)g(p)g(t)g(r)h(<)r(L)r(o)r(o)r(k)r(u)r(p)r(W)r (o)r(r)r(k)r(I)q(t)r(e)q(m)t(>)32 b(l)t(o)t(o)t(k)t(u)t(p)10 b(\()c Fd(n)n(e)n(w)34 b Fw(L)r(o)r(o)r(k)r(u)r(p)r(W)r(o)r(r)r(k)r(I)r (t)r(e)r(m)t(\()11 b(k)s(e)s(y)16 b(\))d(\))h(;)p 412 3557 4 77 v 3329 3557 V 440 3457 a SDict begin H.S end 440 3457 a 440 3457 a SDict begin 9.19995 H.A end 440 3457 a 440 3457 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.5) cvn H.B /DEST pdfmark end 440 3457 a 336 3534 a Fe(5)156 b Fw(l)s(o)s(o)s(k)s(u)s(p)6 b Fc(\000)-5 b Fw(>a)s(d)s(d)s(_)s(d)s(e)s (p)s(e)s(n)s(d)s(e)s(n)s(t)14 b(\()g(s)6 b(h)g(a)g(r)g(e)g(d)g(_)g(f)g (r)g(o)g(m)g(_)g(t)g(h)g(i)g(s)22 b(\()14 b(\))g(\))f(;)p 412 3633 4 77 v 3329 3633 V 440 3534 a SDict begin H.S end 440 3534 a 440 3534 a SDict begin 9.19995 H.A end 440 3534 a 440 3534 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.6) cvn H.B /DEST pdfmark end 440 3534 a 336 3610 a Fe(6)156 b Fw(l)s(o)s(o)s(k)s(u)s(p)6 b Fc(\000)-5 b Fw(>)q(o)t(n)t(_)t(c)t(o)t (m)t(p)t(l)t(e)t(t)t(e)t(d)38 b(=)h(b)t(i)t(n)t(d)6 b(\()r(&)g(o)t(n)t (_)t(l)t(o)t(o)t(k)t(u)t(p)t(_)t(c)t(o)t(m)t(p)t(l)t(e)t(t)t(e)t(d)21 b(,)49 b Fd(t)8 b(h)g(i)g(s)20 b Fw(\))12 b(;)p 412 3709 4 77 v 3329 3709 V 440 3610 a SDict begin H.S end 440 3610 a 440 3610 a SDict begin 9.19995 H.A end 440 3610 a 440 3610 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.7) cvn H.B /DEST pdfmark end 440 3610 a 336 3687 a Fe(7)156 b Fw(l)s(o)s(o)s(k)s (u)s(p)6 b Fc(\000)-5 b Fw(>)t(o)7 b(n)g(_)g(f)g(a)g(i)g(l)g(e)g(d)44 b(=)39 b(b)t(i)t(n)t(d)6 b(\()r(&)i(o)e(n)g(_)g(l)g(o)g(o)g(k)g(u)g(p)g (_)g(f)g(a)g(i)g(l)g(e)g(d)23 b(,)49 b Fd(t)8 b(h)g(i)g(s)19 b Fw(\))13 b(;)p 412 3786 4 77 v 3329 3786 V 440 3687 a SDict begin H.S end 440 3687 a 440 3687 a SDict begin 9.19995 H.A end 440 3687 a 440 3687 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.8) cvn H.B /DEST pdfmark end 440 3687 a 336 3763 a Fe(8)156 b Fw(l)s(o)s(o)s(k)s(u)s(p)6 b Fc(\000)-5 b Fw(>)s(p)6 b(r)g(o)g(c)g(e)g(s)g(s)21 b(\()13 b(\))g(;)p 412 3862 4 77 v 3329 3862 V 440 3763 a SDict begin H.S end 440 3763 a 440 3763 a SDict begin 9.19995 H.A end 440 3763 a 440 3763 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.2.9) cvn H.B /DEST pdfmark end 440 3763 a 336 3839 a Fe(9)91 b Fw(})p 412 3890 4 29 v 413 3890 29 4 v 440 3890 2865 4 v 3305 3890 29 4 v 3331 3890 4 29 v 565 4027 a FU(The)21 b FQ(LookupW)-6 b(orkItem)19 b FU(\002rst)j(asks)f (the)h(host)g(table)e(for)h(the)h FO(r)h FU(closest)f(hosts)g(which)440 4141 y(ar)o(e)f(then)i(sent)g(a)f(lookup)i(message)f(thr)o(ough)g(the)g (network)g(interface)e(and)i(afterwar)o(ds)440 4256 y(awaits)j(a)g(r)o (eply)-9 b(.)25 b(Since)h(this)i(may)e(take)g(some)h(time)g(and)f(thus) h(block)g(the)f(worker)h(if)f(it)440 4370 y(wer)o(e)f(waiting)i(for)g (it,)f(the)h(work)f(item)h(is)g(transfer)o(ed)d(to)j(the)g(waiting)g (queue)f(and)g(the)440 4485 y(associated)20 b(worker)h(will)g(then)h (immediately)e(be)h(r)o(eady)e(for)i(a)f(new)h(task.)565 4599 y(Because)29 b(of)h(this)i(arrangement,)d(the)i(lookup)g(work)g (item)g(derives)f(fr)o(om)g(the)g(ab-)440 4714 y(stract)22 b(subclass)h(of)g FQ(W)-6 b(orkItem)22 b FU(called)g FQ(AnswerableW)-6 b(orkItem)p FU(.)19 b(Classes)k(that)f(derive)440 4829 y(fr)o(om)f FQ(AnswerableW)-6 b(orkItem)18 b FU(must)j(implement)h (the)f(two)h(methods)g FN(do_accept)28 b FU(and)440 4943 y FN(timeout)p FU(.)35 b FN(do_accept)41 b FU(will)35 b(be)f(called)g(when)g(a)g(r)o(eply)g(is)g(r)o(eceived,)f(and)g FN(timeout)44 b FU(is)440 5058 y(called)32 b(when)i(it)f(has)h(been)f (detected)e(that)i(it)h(was)f(not)h(possible)g(to)f(get)g(thr)o(ough)h (to)440 5172 y(the)22 b(intended)f(r)o(eceiver)-6 b(,)19 b(i.e.)i(the)h(outgoing)h(message)e(has)h(been)f(r)o(esent)g(the)h (maximum)440 5287 y(allowed)f(number)g(of)f(times)i(without)g(an)e (answer)-6 b(.)1831 5662 y(50)p eop end %%Page: 51 53 TeXDict begin 51 52 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.51) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 565 531 a FU(When)28 b(the)g(work)h(item)f(has)g(\002nished)h(its)g (task,)f(it)g(passes)g(its)g(r)o(esults)g(back)g(to)g(the)440 646 y(cr)o(eator)19 b(thr)o(ough)j(the)f(pr)o(ovided)e(callback)h (functions.)440 794 y SDict begin H.S end 440 794 a 440 794 a SDict begin 13.79993 H.A end 440 794 a 440 794 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.3) cvn H.B /DEST pdfmark end 440 794 a 110 x FJ(4.1.3)99 b(Organising)25 b(hosts)440 1077 y FU(When)18 b(sending)f(and)g(r)o(etrieving)g(blocks)h(the)f (host)h(table)f(is)g(consulted)h(to)f(\002nd)h(the)f(hosts)440 1191 y(that)k(ar)o(e)f(closest)i(to)g(the)g(block)f(key)-9 b(.)22 b(The)f(method)h FN(get_closest)30 b FU(in)22 b FQ(HostT)-9 b(able)19 b FU(takes)j(as)440 1306 y(input)e(the)f(block) h(key)f(and)g(the)h(number)f(of)g(wanted)g(nodes)h(to)g(r)o(eturn)e (\(usually)h(simply)440 1421 y FO(r)r FU(\).)565 1535 y(Listing)842 1537 y SDict begin H.S end 842 1537 a -2 x FU(4.3)946 1478 y SDict begin H.R end 946 1478 a 946 1535 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstlisting.4.3) cvn H.B /ANN pdfmark end 946 1535 a 21 w FU(pr)o(esents)i(the)g(part)g (of)h(the)f(method)h(that)f(iteratively)g(divides)g(the)h(hash)440 1650 y(space)e(into)i(smaller)f(subranges)g(to)h(\002nd)f(a)g(range)g (that)g(contains)h(just)g(enough)g(hosts)g(to)440 1764 y(satisfy)f(the)g(r)o(equest.)440 1833 y SDict begin H.S end 440 1833 a 440 1833 a SDict begin 13.79993 H.A end 440 1833 a 440 1833 a SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.3) cvn H.B /DEST pdfmark end 440 1833 a 1304 1937 a FK(Listing)d(4.3:) 27 b Ff(HostT)-8 b(able)p FK(')l(s)18 b Fl(get_closest)p 412 1996 4 29 v 412 1971 29 4 v 440 1971 2865 4 v 3305 1971 29 4 v 3331 1996 4 29 v 412 2073 4 77 v 3329 2073 V 440 1973 a SDict begin H.S end 440 1973 a 440 1973 a SDict begin 9.19995 H.A end 440 1973 a 440 1973 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.1) cvn H.B /DEST pdfmark end 440 1973 a 336 2050 a Fe(1)84 b Fw(K)q(e)q(y)42 b(h)8 b(o)g(s)g(t)g(_)g(s)g(t)g(a)g(r)g(t)29 b(,)46 b(h)5 b(o)g(s)g(t)g(_)g (e)g(n)g(d)12 b(;)p 412 2149 4 77 v 3329 2149 V 440 2050 a SDict begin H.S end 440 2050 a 440 2050 a SDict begin 9.19995 H.A end 440 2050 a 440 2050 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.2) cvn H.B /DEST pdfmark end 440 2050 a 336 2126 a Fe(2)90 b Fd(f)7 b(o)g(r)44 b Fw(\()20 b Fd(i)8 b(n)g(t)51 b Fw(i)d(=)40 b(0)12 b(;)48 b(i)g(<)31 b(K)q(e)q(y)14 b(:)f(:)19 b(k)7 b(e)g(y)g(_)g(s)g(i)g(z)g(e)12 b(;)30 b(+)8 b(+)17 b(i)23 b(\))44 b({)p 412 2225 4 77 v 3329 2225 V 440 2126 a SDict begin H.S end 440 2126 a 440 2126 a SDict begin 9.19995 H.A end 440 2126 a 440 2126 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.3) cvn H.B /DEST pdfmark end 440 2126 a 336 2202 a Fe(3)161 b Fw(h)9 b(o)g(s)g(t)g(_)g(s)g(t)g(a)g(r)g(t)16 b(.)f(v)5 b(a)g(l)g(u)g(e)14 b([)k(i)i(])38 b(=)h(0)11 b(;)p 412 2302 4 77 v 3329 2302 V 440 2202 a SDict begin H.S end 440 2202 a 440 2202 a SDict begin 9.19995 H.A end 440 2202 a 440 2202 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.4) cvn H.B /DEST pdfmark end 440 2202 a 336 2279 a Fe(4)158 b Fw(h)5 b(o)g(s)g(t)g(_)g(e)g(n) g(d)12 b(.)j(v)5 b(a)g(l)g(u)g(e)15 b([)i(i)i(])36 b(=)f(2)11 b(5)f(5)h(;)p 412 2378 4 77 v 3329 2378 V 440 2279 a SDict begin H.S end 440 2279 a 440 2279 a SDict begin 9.19995 H.A end 440 2279 a 440 2279 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.5) cvn H.B /DEST pdfmark end 440 2279 a 336 2355 a Fe(5)91 b Fw(})p 412 2455 4 77 v 3329 2455 V 440 2355 a SDict begin H.S end 440 2355 a 440 2355 a SDict begin 9.19995 H.A end 440 2355 a 440 2355 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.6) cvn H.B /DEST pdfmark end 440 2355 a 336 2432 a Fe(6)p 412 2531 4 77 v 3329 2531 V 440 2432 a SDict begin H.S end 440 2432 a 440 2432 a SDict begin 9.19995 H.A end 440 2432 a 440 2432 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.7) cvn H.B /DEST pdfmark end 440 2432 a 336 2508 a Fe(7)g Fd(i)8 b(n)g(t)42 b Fw(n)35 b(=)h(K)q(e)q(y)13 b(:)g(:)20 b(k)7 b(e)g(y)g(_)g(s)g(i)g(z)g(e)h Fb(\003)d Fw(8)12 b Fc(\000)6 b Fw(1)f(;)p 412 2607 4 77 v 3329 2607 V 440 2508 a SDict begin H.S end 440 2508 a 440 2508 a SDict begin 9.19995 H.A end 440 2508 a 440 2508 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.8) cvn H.B /DEST pdfmark end 440 2508 a 336 2584 a Fe(8)p 412 2684 4 77 v 3329 2684 V 440 2584 a SDict begin H.S end 440 2584 a 440 2584 a SDict begin 9.19995 H.A end 440 2584 a 440 2584 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.9) cvn H.B /DEST pdfmark end 440 2584 a 336 2661 a Fe(9)90 b Fd(f)7 b(o)g(r)51 b Fw(\()15 b(;)46 b(n)29 b(>)5 b(=)25 b(0)5 b(;)29 b Fc(\000)11 b(\000)6 b Fw(n)15 b(\))44 b({)p 412 2760 4 77 v 3329 2760 V 440 2661 a SDict begin H.S end 440 2661 a 440 2661 a SDict begin 9.19995 H.A end 440 2661 a 440 2661 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.10) cvn H.B /DEST pdfmark end 440 2661 a 315 2737 a Fe(10)165 b Fg(/)12 b(/)57 b(h)10 b(a)h(l)f(f)54 b(t)8 b(h)g(e)53 b(s)9 b(e)g(a)g(r)g(c)g(h)51 b(s)8 b(p)g(a)g(c)g(e)p 412 2836 4 77 v 3329 2836 V 440 2737 a SDict begin H.S end 440 2737 a 440 2737 a SDict begin 9.19995 H.A end 440 2737 a 440 2737 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.11) cvn H.B /DEST pdfmark end 440 2737 a 315 2813 a Fe(11)157 b Fd(b)t(o)t(o)t(l)47 b Fw(n)8 b(t)g(h)g(_)g(b)g(i)g(t)39 b(=)h(b)5 b(l)g(o)g(c)g(k)g(_)g(k)g(e)g(y)19 b(.)e(g)8 b(e)g(t)g(_)g(n)g(t)g(h)g(_)g(b)g(i)g(t)k(\()c(n)13 b(\))f(;)p 412 2913 4 77 v 3329 2913 V 440 2813 a SDict begin H.S end 440 2813 a 440 2813 a SDict begin 9.19995 H.A end 440 2813 a 440 2813 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.12) cvn H.B /DEST pdfmark end 440 2813 a 315 2890 a Fe(12)161 b Fw(h)9 b(o)g(s)g(t)g(_)g(s)g(t)g(a)g(r)g(t)16 b(.)i(s)8 b(e)g(t)g(_)g(n)g(t)g(h)g(_)g(b)g(i)g(t)18 b(\()8 b(n)14 b(,)49 b(n)8 b(t)g(h)g(_)g(b)g(i)g(t)16 b(\))d(;)p 412 2989 4 77 v 3329 2989 V 440 2890 a SDict begin H.S end 440 2890 a 440 2890 a SDict begin 9.19995 H.A end 440 2890 a 440 2890 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.13) cvn H.B /DEST pdfmark end 440 2890 a 315 2966 a Fe(13)158 b Fw(h)5 b(o)g(s)g(t)g(_)g(e)g(n)g(d)12 b(.)18 b(s)8 b(e)g(t)g(_)g(n)g(t)g(h)g(_)g(b)g(i)g(t)18 b(\()8 b(n)14 b(,)49 b(n)8 b(t)g(h)g(_)g(b)g(i)g(t)17 b(\))12 b(;)p 412 3066 4 77 v 3329 3066 V 440 2966 a SDict begin H.S end 440 2966 a 440 2966 a SDict begin 9.19995 H.A end 440 2966 a 440 2966 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.14) cvn H.B /DEST pdfmark end 440 2966 a 315 3043 a Fe(14)p 412 3142 4 77 v 3329 3142 V 440 3043 a SDict begin H.S end 440 3043 a 440 3043 a SDict begin 9.19995 H.A end 440 3043 a 440 3043 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.15) cvn H.B /DEST pdfmark end 440 3043 a 315 3119 a Fe(15)160 b Fd(i)8 b(n)g(t)50 b Fw(s)8 b(i)g(z)g(e)43 b(=)e(n)5 b(o)g(d)g(e)g(s)g(_)g(i)g(n)g(_)g(r)g(a)g(n)g(g)g(e)15 b(\()h(h)8 b(o)g(s)g(t)g(_)g(s)g(t)g(a)g(r)g(t)29 b(,)45 b(h)t(o)t(s)t(t)t(_)t(e)t(n)t(d)23 b(,)45 b(w)s(a)s(n)s(t)s(e)s(d)s(_)s (n)s(o)s(d)s(e)s(s)16 b(\))c(;)p 412 3218 4 77 v 3329 3218 V 440 3119 a SDict begin H.S end 440 3119 a 440 3119 a SDict begin 9.19995 H.A end 440 3119 a 440 3119 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.16) cvn H.B /DEST pdfmark end 440 3119 a 315 3195 a Fe(16)p 412 3295 4 77 v 3329 3295 V 440 3195 a SDict begin H.S end 440 3195 a 440 3195 a SDict begin 9.19995 H.A end 440 3195 a 440 3195 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.17) cvn H.B /DEST pdfmark end 440 3195 a 315 3272 a Fe(17)162 b Fd(i)9 b(f)48 b Fw(\()20 b(s)8 b(i)g(z)g(e)43 b(<)7 b(=)31 b(w)s(a)s(n)s(t)s (e)s(d)s(_)s(n)s(o)s(d)s(e)s(s)12 b(\))p 412 3371 4 77 v 3329 3371 V 440 3272 a SDict begin H.S end 440 3272 a 440 3272 a SDict begin 9.19995 H.A end 440 3272 a 440 3272 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.18) cvn H.B /DEST pdfmark end 440 3272 a 315 3348 a Fe(18)226 b Fd(b)t(r)t(e)t(a)t(k)12 b Fw(;)p 412 3447 4 77 v 3329 3447 V 440 3348 a SDict begin H.S end 440 3348 a 440 3348 a SDict begin 9.19995 H.A end 440 3348 a 440 3348 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.3.19) cvn H.B /DEST pdfmark end 440 3348 a 315 3425 a Fe(19)91 b Fw(})p 412 3476 4 29 v 413 3476 29 4 v 440 3476 2865 4 v 3305 3476 29 4 v 3331 3476 4 29 v 565 3607 a FU(The)19 b(keys)h FO(host_start)e FU(and)h FO(host_end)p FU(,)f(de\002ned)i(at)f(Line)2336 3607 y SDict begin H.S end 2336 3607 a FU(1)2378 3550 y SDict begin H.R end 2378 3550 a 2378 3607 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.1) cvn H.B /ANN pdfmark end 2378 3607 a FU(,)g(de\002ne)h(the)f(bounds)i(of)e(the)440 3722 y(curr)o(ent)27 b(interval)g(and)g(ar)o(e)g(\002rst)g(set)h(to)g(all)g(0s)f(and)g(all)h (1s,)f(Line)2580 3722 y SDict begin H.S end 2580 3722 a FU(2)2622 3664 y SDict begin H.R end 2622 3664 a 2622 3722 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.2) cvn H.B /ANN pdfmark end 2622 3722 a FU(-)2650 3724 y SDict begin H.S end 2650 3724 a -2 x FU(5)2691 3664 y SDict begin H.R end 2691 3664 a 2691 3722 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.5) cvn H.B /ANN pdfmark end 2691 3722 a FU(.)g(The)h(loop)g(index)440 3836 y FO(n)c FU(starts)f(at)g(the)h(most)h(signi\002cant)f(end)g(of)g(the)f(keys)h (\(number)g(of)f(bits)h(in)g(a)g(key)f(minus)440 3951 y(1\),)h(at)h(Line)838 3951 y SDict begin H.S end 838 3951 a FU(7)879 3893 y SDict begin H.R end 879 3893 a 879 3951 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.7) cvn H.B /ANN pdfmark end 879 3951 a FU(.)h(Then)f(the)h(loop)g(in)g (Lines)1791 3953 y SDict begin H.S end 1791 3953 a -2 x FU(9)1832 3893 y SDict begin H.R end 1832 3893 a 1832 3951 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.9) cvn H.B /ANN pdfmark end 1832 3951 a FU(-)1860 3953 y SDict begin H.S end 1860 3953 a -2 x FU(19)1943 3893 y SDict begin H.R end 1943 3893 a 1943 3951 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.19) cvn H.B /ANN pdfmark end 1943 3951 a 25 w FU(simply)h(consider)e(one)h(bit)g(of)f(the)h(block) 440 4065 y(key)c(at)g(a)f(time,)h(each)g(time)g(cutting)h(the)f(curr)o (ent)f(interval)h(in)g(half.)f(At)h(some)h(point,)f(the)440 4180 y(curr)o(ent)i(interval)g(will)i(contain)f(fewer)f(than)g(the)h (wanted)g(number)f(of)h(nodes)g(and)f(the)440 4295 y(loop)d(stops,)h (Line)1043 4295 y SDict begin H.S end 1043 4295 a FU(17)1126 4237 y SDict begin H.R end 1126 4237 a 1126 4295 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.3.17) cvn H.B /ANN pdfmark end 1126 4295 a FU(.)565 4409 y(The)30 b(r)o(est)f(of)i(the)f(method)h(\(not)f(shown\))i(takes)e(one)g(step)g (back,)g(sorts)h(the)f(found)440 4524 y(hosts)d(by)g(their)h FT(X)t(O)t(R)i FU(distance)25 b(to)i(the)g(block)f(key)-9 b(,)26 b(r)o(emoves)g(the)g(most)i(distant)e(nodes)440 4638 y(fr)o(om)j(consideration)h(until)g(ther)o(e)f(is)h(at)e(most)j (the)e(wanted)g(number)h(of)f(nodes)h(back,)440 4753 y(and)20 b(\002nally)i(r)o(eturns)e(the)h(r)o(esult.)440 4901 y SDict begin H.S end 440 4901 a 440 4901 a SDict begin 13.79993 H.A end 440 4901 a 440 4901 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1.4) cvn H.B /DEST pdfmark end 440 4901 a 110 x FJ(4.1.4)99 b(Composition)26 b(and)e(decomposition)j(of)e (messages)440 5184 y FU(Making)f(a)f(pr)o(otocol)h(message)f(r)o(eady)f (for)i(transmission)h(over)e(the)h(network)h(involves)440 5298 y(composing)g(a)f FQ(RawMessage)d FU(of)j(the)g(message.)f(This)i (is)f(handled)f(by)h(using)g(the)g FN(com-)440 5413 y(pose)e FU(functions)17 b(in)f FQ(Protocol)g FU(that)g(takes)f(a)g(message)h (as)g(input)g(and)f(r)o(eturns)g(a)h FQ(RawMes-)1831 5662 y FU(51)p eop end %%Page: 52 54 TeXDict begin 52 53 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.52) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 440 531 a FQ(sage)p FU(.)25 b(A)h FQ(RawMessage)f FU(is)i(converted)f(back)g(into)h(its)g(equivalent)f(message)h(by)f (using)440 646 y(the)21 b FN(decompose)27 b FU(function,)22 b(see)e(Listing)1781 646 y SDict begin H.S end 1781 646 a FU(4.4)1884 588 y SDict begin H.R end 1884 588 a 1884 646 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstlisting.4.4) cvn H.B /ANN pdfmark end 1884 646 a FU(.)440 719 y SDict begin H.S end 440 719 a 440 719 a SDict begin 13.79993 H.A end 440 719 a 440 719 a SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.4) cvn H.B /DEST pdfmark end 440 719 a 1300 826 a FK(Listing)e(4.4:)27 b(The)19 b(interface)f(of)h Ff(Pr)o(otocol)p 412 887 4 29 v 412 862 29 4 v 440 862 2865 4 v 3305 862 29 4 v 3331 887 4 29 v 412 963 4 77 v 3329 963 V 440 864 a SDict begin H.S end 440 864 a 440 864 a SDict begin 9.19995 H.A end 440 864 a 440 864 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.1) cvn H.B /DEST pdfmark end 440 864 a 336 941 a Fe(1)85 b Fd(n)r(a)r(m)r(e)r(s)r(p)r(a)r(c)r(e)46 b Fw(P)7 b(r)g(o)g(t)g(o)g(c)g(o)g(l)p 412 1040 4 77 v 3329 1040 V 440 941 a SDict begin H.S end 440 941 a 440 941 a SDict begin 9.19995 H.A end 440 941 a 440 941 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.2) cvn H.B /DEST pdfmark end 440 941 a 336 1017 a Fe(2)91 b Fw({)p 412 1116 4 77 v 3329 1116 V 440 1017 a SDict begin H.S end 440 1017 a 440 1017 a SDict begin 9.19995 H.A end 440 1017 a 440 1017 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.3) cvn H.B /DEST pdfmark end 440 1017 a 336 1093 a Fe(3)156 b Fw(R)s(a)s(w)s(M)s (e)s(s)s(s)s(a)s(g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)42 b Fw(A)r(c)r(k)r(M)r(e)r(s)r(s)r(a) r(g)r(e)25 b(&)-5 b(m)t(\))13 b(;)p 412 1193 4 77 v 3329 1193 V 440 1093 a SDict begin H.S end 440 1093 a 440 1093 a SDict begin 9.19995 H.A end 440 1093 a 440 1093 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.4) cvn H.B /DEST pdfmark end 440 1093 a 336 1170 a Fe(4)156 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s (a)s(g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)42 b Fw(N)q(e)q(g)q(A)q(c)q(k)q(M)q(e) q(s)q(s)q(a)q(g)q(e)28 b(&)-5 b(m)t(\))12 b(;)p 412 1269 4 77 v 3329 1269 V 440 1170 a SDict begin H.S end 440 1170 a 440 1170 a SDict begin 9.19995 H.A end 440 1170 a 440 1170 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.5) cvn H.B /DEST pdfmark end 440 1170 a 336 1246 a Fe(5)156 b Fw(R)s(a)s(w)s(M)s (e)s(s)s(s)s(a)s(g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)45 b Fw(F)5 b(i)g(n)g(d)g(C)g(l)g(o)g (s)g(e)g(s)g(t)g(M)g(e)g(s)g(s)g(a)g(g)g(e)31 b(&)-5 b(m)t(\))13 b(;)p 412 1345 4 77 v 3329 1345 V 440 1246 a SDict begin H.S end 440 1246 a 440 1246 a SDict begin 9.19995 H.A end 440 1246 a 440 1246 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.6) cvn H.B /DEST pdfmark end 440 1246 a 336 1322 a Fe(6)156 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s(a)s(g)s(e)s(P)s (t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)45 b Fw(F)5 b(i)g(n)g(d)g(C)g(l)g(o)g(s)g(e)g(s)g(t)g (R)g(e)g(p)g(l)g(y)g(M)g(e)g(s)g(s)g(a)g(g)g(e)29 b(&)l(m)t(\))12 b(;)p 412 1422 4 77 v 3329 1422 V 440 1322 a SDict begin H.S end 440 1322 a 440 1322 a SDict begin 9.19995 H.A end 440 1322 a 440 1322 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.7) cvn H.B /DEST pdfmark end 440 1322 a 336 1399 a Fe(7)156 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s(a)s(g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)46 b Fw(R)6 b(e)g(t)g(r)g(i)g(e)g(v)g(e)g(B)g(l)g(o)g(c)g(k)g(M)g(e)f(s)h (s)f(a)h(g)g(e)21 b(&)-5 b(m)t(\))12 b(;)p 412 1498 4 77 v 3329 1498 V 440 1399 a SDict begin H.S end 440 1399 a 440 1399 a SDict begin 9.19995 H.A end 440 1399 a 440 1399 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.8) cvn H.B /DEST pdfmark end 440 1399 a 336 1475 a Fe(8)156 b Fw(R)s(a)s(w)s(M)s (e)s(s)s(s)s(a)s(g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)45 b Fw(R)5 b(e)g(t)g(r)g(i)g(e)g(v)g (e)g(R)g(e)g(p)g(l)g(y)g(M)g(e)g(s)g(s)g(a)g(g)g(e)31 b(&)-5 b(m)t(\))12 b(;)p 412 1575 4 77 v 3329 1575 V 440 1475 a SDict begin H.S end 440 1475 a 440 1475 a SDict begin 9.19995 H.A end 440 1475 a 440 1475 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.9) cvn H.B /DEST pdfmark end 440 1475 a 336 1552 a Fe(9)156 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s(a)s (g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)44 b Fw(P)t(i)t(n)t(g)t(M)t(e)t(s)t(s)t(a)t(g) t(e)21 b(&)-5 b(m)t(\))13 b(;)p 412 1651 4 77 v 3329 1651 V 440 1552 a SDict begin H.S end 440 1552 a 440 1552 a SDict begin 9.19995 H.A end 440 1552 a 440 1552 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.10) cvn H.B /DEST pdfmark end 440 1552 a 315 1628 a Fe(10)156 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s (a)s(g)s(e)s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)47 b Fw(R)6 b(e)g(p)g(l)g(i)g(c)g(a)g (t)g(i)g(o)g(n)g(O)g(f)g(f)g(e)g(r)g(M)g(e)g(s)g(s)g(a)g(g)h(e)33 b(&)l(m)t(\))12 b(;)p 412 1727 4 77 v 3329 1727 V 440 1628 a SDict begin H.S end 440 1628 a 440 1628 a SDict begin 9.19995 H.A end 440 1628 a 440 1628 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.11) cvn H.B /DEST pdfmark end 440 1628 a 315 1704 a Fe(11)156 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s(a)s(g)s(e) s(P)s(t)s(r)36 b(c)r(o)r(m)r(p)r(o)r(s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)46 b Fw(S)5 b(t)g(o)g(r)g(e)g(B)g(l)g(o)g(c)g (k)g(M)g(e)g(s)g(s)g(a)g(g)g(e)30 b(&)-5 b(m)t(\))13 b(;)p 412 1804 4 77 v 3329 1804 V 440 1704 a SDict begin H.S end 440 1704 a 440 1704 a SDict begin 9.19995 H.A end 440 1704 a 440 1704 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.12) cvn H.B /DEST pdfmark end 440 1704 a 315 1781 a Fe(12)p 412 1880 4 77 v 3329 1880 V 440 1781 a SDict begin H.S end 440 1781 a 440 1781 a SDict begin 9.19995 H.A end 440 1781 a 440 1781 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.13) cvn H.B /DEST pdfmark end 440 1781 a 315 1857 a Fe(13)159 b Fw(b)6 b(o)g(o)g(s)g(t)18 b(:)13 b(:)19 b(s)6 b(h)g(a)g(r)g(e)g(d)g(_)g(p)g(t)g(r)h(<)s(M)s(e)s(s)s(s)s(a)s(g)s (e)h(>)30 b(d)r(e)r(c)r(o)r(m)r(p)r(o)r(s)r(e)11 b(\()j Fd(c)6 b(o)g(n)g(s)g(t)41 b Fw(R)q(a)q(w)q(M)q(e)q(s)q(s)q(a)q(g)q(e)22 b(&)5 b(c)r(o)r(m)r(p)r(o)r(s)r(e)r(d)10 b(\))j(;)p 412 1956 4 77 v 3329 1956 V 440 1857 a SDict begin H.S end 440 1857 a 440 1857 a SDict begin 9.19995 H.A end 440 1857 a 440 1857 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.14) cvn H.B /DEST pdfmark end 440 1857 a 315 1933 a Fe(14)p 412 2033 4 77 v 3329 2033 V 440 1933 a SDict begin H.S end 440 1933 a 440 1933 a SDict begin 9.19995 H.A end 440 1933 a 440 1933 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.15) cvn H.B /DEST pdfmark end 440 1933 a 315 2010 a Fe(15)168 b Fw(.)15 b(.)g(.)p 412 2109 4 77 v 3329 2109 V 440 2010 a SDict begin H.S end 440 2010 a 440 2010 a SDict begin 9.19995 H.A end 440 2010 a 440 2010 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.4.16) cvn H.B /DEST pdfmark end 440 2010 a 315 2086 a Fe(16)91 b Fw(})p 412 2137 4 29 v 413 2137 29 4 v 440 2137 2865 4 v 3305 2137 29 4 v 3331 2137 4 29 v 565 2274 a FU(A)32 b FQ(RawMessage)e FU(consist)j(of)g(a)f(byte)g (sequence)h(r)o(epr)o(esentation)e(of)h(a)g FQ(Message)p FU(.)440 2388 y(Listing)717 2390 y SDict begin H.S end 717 2390 a -2 x FU(4.5)820 2331 y SDict begin H.R end 820 2331 a 820 2388 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstlisting.4.5) cvn H.B /ANN pdfmark end 820 2388 a 21 w FU(shows)22 b(one)f(example)f(of)h(how)h(this)f(is)g(done.)440 2461 y SDict begin H.S end 440 2461 a 440 2461 a SDict begin 13.79993 H.A end 440 2461 a 440 2461 a SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.5) cvn H.B /DEST pdfmark end 440 2461 a 678 2568 a FK(Listing)d(4.5:)27 b(compose)21 b(function)c(for)i Ff(RetrieveBlockMessage)e FK(that)i(uses)g(\002ll_header)p 412 2629 4 29 v 412 2604 29 4 v 440 2604 2865 4 v 3305 2604 29 4 v 3331 2629 4 29 v 412 2706 4 77 v 3329 2706 V 440 2606 a SDict begin H.S end 440 2606 a 440 2606 a SDict begin 9.19995 H.A end 440 2606 a 440 2606 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.1) cvn H.B /DEST pdfmark end 440 2606 a 336 2683 a Fe(1)87 b Fd(v)t(o)t(i)t(d)48 b Fw(f)9 b(i)g(l)g(l)g(_)g(h)g(e)g(a)g(d)g(e)g(r)16 b(\()9 b(R)q(a)q(w)q(M)q(e)q(s)q(s)q(a)q(g)q(e)22 b(&)t(r)q(a)q(w)15 b(,)48 b Fd(c)6 b(o)g(n)g(s)g(t)43 b Fw(M)s(e)s(s)s(s)s(a)s(g)s(e)22 b(&)n(m,)p 412 2782 4 77 v 3329 2782 V 440 2683 a SDict begin H.S end 440 2683 a 440 2683 a SDict begin 9.19995 H.A end 440 2683 a 440 2683 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.2) cvn H.B /DEST pdfmark end 440 2683 a 336 2759 a Fe(2)678 b Fw(M)s(e)s(s)s(s)s(a)s(g)s(e)s(T)s(y)s(p)s(e)35 b(m)r(_)r(t)r(y)r(p)r(e)11 b(\))p 412 2858 4 77 v 3329 2858 V 440 2759 a SDict begin H.S end 440 2759 a 440 2759 a SDict begin 9.19995 H.A end 440 2759 a 440 2759 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.3) cvn H.B /DEST pdfmark end 440 2759 a 336 2836 a Fe(3)91 b Fw({)p 412 2935 4 77 v 3329 2935 V 440 2836 a SDict begin H.S end 440 2836 a 440 2836 a SDict begin 9.19995 H.A end 440 2836 a 440 2836 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.4) cvn H.B /DEST pdfmark end 440 2836 a 336 2912 a Fe(4)154 b Fw(r)q(a)q(w)12 b(.)17 b(b)8 b(u)g(f)g(f)g(e)g(r)16 b([)c(0)f(])37 b(=)i(m)r(_)r(t)r(y) r(p)r(e)13 b(;)p 412 3011 4 77 v 3329 3011 V 440 2912 a SDict begin H.S end 440 2912 a 440 2912 a SDict begin 9.19995 H.A end 440 2912 a 440 2912 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.5) cvn H.B /DEST pdfmark end 440 2912 a 336 2988 a Fe(5)p 412 3088 4 77 v 3329 3088 V 440 2988 a SDict begin H.S end 440 2988 a 440 2988 a SDict begin 9.19995 H.A end 440 2988 a 440 2988 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.6) cvn H.B /DEST pdfmark end 440 2988 a 336 3065 a Fe(6)153 b Fb(\003)9 b Fd(r)f(e)g(i)g(n)g(t)g(e)g(r)g(p)g (r)g(e)g(t)g(_)g(c)g(a)g(s)g(t)15 b Fw(<)8 b(u)g(i)g(n)g(t)g(3)g(2)g(_) g(t)26 b Fb(\003)7 b Fw(>)t(\()t(&)f(r)q(a)q(w)11 b(.)18 b(b)8 b(u)g(f)g(f)g(e)g(r)17 b([)12 b(0)g(])38 b(+)f(1)12 b(\))38 b(=)44 b(h)7 b(t)g(o)g(n)g(l)12 b(\(m)r(.)i(s)t(e)t(q)t(n)t(o)i (\))f(;)p 412 3164 4 77 v 3329 3164 V 440 3065 a SDict begin H.S end 440 3065 a 440 3065 a SDict begin 9.19995 H.A end 440 3065 a 440 3065 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.7) cvn H.B /DEST pdfmark end 440 3065 a 336 3141 a Fe(7)154 b Fw(r)q(a)q(w)12 b(.)j(h)6 b(o)g(s)g(t)40 b(=)27 b(m)r(.)16 b(h)6 b(o)g(s)g(t)16 b(;)p 412 3240 4 77 v 3329 3240 V 440 3141 a SDict begin H.S end 440 3141 a 440 3141 a SDict begin 9.19995 H.A end 440 3141 a 440 3141 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.8) cvn H.B /DEST pdfmark end 440 3141 a 336 3217 a Fe(8)91 b Fw(})p 412 3317 4 77 v 3329 3317 V 440 3217 a SDict begin H.S end 440 3217 a 440 3217 a SDict begin 9.19995 H.A end 440 3217 a 440 3217 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.9) cvn H.B /DEST pdfmark end 440 3217 a 336 3294 a Fe(9)p 412 3393 4 77 v 3329 3393 V 440 3294 a SDict begin H.S end 440 3294 a 440 3294 a SDict begin 9.19995 H.A end 440 3294 a 440 3294 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.10) cvn H.B /DEST pdfmark end 440 3294 a 315 3370 a Fe(10)86 b Fw(R)s(a)s(w)s(M)s(e)s(s)s(s)s(a)s(g)s(e)s(P)s(t)s(r)41 b(P)7 b(r)g(o)g(t)g(o)g(c)g(o)g(l)21 b(:)13 b(:)i(c)r(o)r(m)r(p)r(o)r (s)r(e)9 b(\()14 b Fd(c)6 b(o)g(n)g(s)g(t)46 b Fw(R)6 b(e)g(t)g(r)g(i)g(e)g(v)g(e)g(B)g(l)g(o)g(c)g(k)g(M)g(e)f(s)h(s)f(a)h (g)g(e)21 b(&)-5 b(m\))p 412 3469 4 77 v 3329 3469 V 440 3370 a SDict begin H.S end 440 3370 a 440 3370 a SDict begin 9.19995 H.A end 440 3370 a 440 3370 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.11) cvn H.B /DEST pdfmark end 440 3370 a 315 3447 a Fe(11)91 b Fw({)p 412 3546 4 77 v 3329 3546 V 440 3447 a SDict begin H.S end 440 3447 a 440 3447 a SDict begin 9.19995 H.A end 440 3447 a 440 3447 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.12) cvn H.B /DEST pdfmark end 440 3447 a 315 3523 a Fe(12)160 b Fd(i)8 b(n)g(t)50 b Fw(s)8 b(i)g(z)g(e)43 b(=)f(h)7 b(e)g(a)g(d)g(e)g(r)g(_)g (s)g(i)g(z)g(e)36 b(+)f(K)q(e)q(y)14 b(:)f(:)19 b(k)7 b(e)g(y)g(_)g(s)g(i)g(z)g(e)17 b(;)p 412 3622 4 77 v 3329 3622 V 440 3523 a SDict begin H.S end 440 3523 a 440 3523 a SDict begin 9.19995 H.A end 440 3523 a 440 3523 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.13) cvn H.B /DEST pdfmark end 440 3523 a 315 3599 a Fe(13)p 412 3699 4 77 v 3329 3699 V 440 3599 a SDict begin H.S end 440 3599 a 440 3599 a SDict begin 9.19995 H.A end 440 3599 a 440 3599 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.14) cvn H.B /DEST pdfmark end 440 3599 a 315 3676 a Fe(14)156 b Fw(R)s(a)s(w)s(M)s (e)s(s)s(s)s(a)s(g)s(e)s(P)s(t)s(r)35 b(r)q(a)q(w)9 b(\()d Fd(n)n(e)n(w)34 b Fw(R)q(a)q(w)q(M)q(e)q(s)q(s)q(a)q(g)q(e)8 b(\()17 b(s)8 b(i)g(z)g(e)21 b(\))13 b(\))g(;)p 412 3775 4 77 v 3329 3775 V 440 3676 a SDict begin H.S end 440 3676 a 440 3676 a SDict begin 9.19995 H.A end 440 3676 a 440 3676 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.15) cvn H.B /DEST pdfmark end 440 3676 a 315 3752 a Fe(15)p 412 3851 4 77 v 3329 3851 V 440 3752 a SDict begin H.S end 440 3752 a 440 3752 a SDict begin 9.19995 H.A end 440 3752 a 440 3752 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.16) cvn H.B /DEST pdfmark end 440 3752 a 315 3828 a Fe(16)162 b Fw(f)9 b(i)g(l)g(l)g(_)g(h)g(e)g(a)g(d)g(e)g(r)k(\()5 b Fb(\003)i Fw(r)q(a)q(w)12 b(.)k(g)6 b(e)g(t)19 b(\()12 b(\))25 b(,)32 b(m)s(,)49 b(r)8 b(e)g(t)g(r)g(i)g(e)g(v)g(e)g(_)g(b)g(l)g(o)g (c)g(k)g(_)g(t)g(y)g(p)f(e)16 b(\))e(;)p 412 3928 4 77 v 3329 3928 V 440 3828 a SDict begin H.S end 440 3828 a 440 3828 a SDict begin 9.19995 H.A end 440 3828 a 440 3828 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.17) cvn H.B /DEST pdfmark end 440 3828 a 315 3905 a Fe(17)p 412 4004 4 77 v 3329 4004 V 440 3905 a SDict begin H.S end 440 3905 a 440 3905 a SDict begin 9.19995 H.A end 440 3905 a 440 3905 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.18) cvn H.B /DEST pdfmark end 440 3905 a 315 3981 a Fe(18)145 b Fw(m)r(.)13 b(k)s(e)s(y)g(.)h(t)t(o)t(_)t(r)t(a)t(w)f(\()j Fd(r)8 b(e)g(i)g(n)g(t)g(e)g(r)g(p)g(r)g(e)g(t)g(_)g(c)g(a)g(s)g(t)16 b Fw(<)s Fd(u)s(n)s(s)s(i)s(g)s(n)s(e)s(d)45 b(c)5 b(h)g(a)g(r)j Fb(\003)e Fw(>)s(\()g(r)q(a)q(w)o Fc(\000)-5 b Fw(>)5 b(b)j(u)g(f)g(f)g(e)g(r)d(+)i(h)g(e)g(a)g(d)g(e)g(r)g(_)g(s)g(i)g(z)g (e)14 b(\))f(\))g(;)p 412 4081 4 77 v 3329 4081 V 440 3981 a SDict begin H.S end 440 3981 a 440 3981 a SDict begin 9.19995 H.A end 440 3981 a 440 3981 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.19) cvn H.B /DEST pdfmark end 440 3981 a 315 4058 a Fe(19)p 412 4157 4 77 v 3329 4157 V 440 4058 a SDict begin H.S end 440 4058 a 440 4058 a SDict begin 9.19995 H.A end 440 4058 a 440 4058 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.20) cvn H.B /DEST pdfmark end 440 4058 a 315 4134 a Fe(20)159 b Fd(r)6 b(e)g(t)g(u)g(r)g(n)43 b Fw(r)q(a)q(w)12 b(;)p 412 4233 4 77 v 3329 4233 V 440 4134 a SDict begin H.S end 440 4134 a 440 4134 a SDict begin 9.19995 H.A end 440 4134 a 440 4134 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.5.21) cvn H.B /DEST pdfmark end 440 4134 a 315 4210 a Fe(21)91 b Fw(})p 412 4261 4 29 v 413 4261 29 4 v 440 4261 2865 4 v 3305 4261 29 4 v 3331 4261 4 29 v 440 4398 a FU(In)24 b(Line)727 4398 y SDict begin H.S end 727 4398 a FU(12)810 4340 y SDict begin H.R end 810 4340 a 810 4398 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.5.12) cvn H.B /ANN pdfmark end 810 4398 a 23 w FU(the)g(size)f(of)h(the)g(byte)f(sequence)h(is)g(calculated.)e(Next) h(step)h(is)g(to)g(\002ll)g(in)g(the)440 4512 y(data.)17 b(First)i(the)f(header)f(is)i(\002lled)f(in,)h(at)e(Line)1893 4514 y SDict begin H.S end 1893 4514 a -2 x FU(16)1976 4455 y SDict begin H.R end 1976 4455 a 1976 4512 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.5.16) cvn H.B /ANN pdfmark end 1976 4512 a FU(,)h(by)g(calling)h FN(\002ll_header)k FU(which)c(simply)440 4627 y(sets)24 b(the)f(\002rst)h(byte)f(to)g(the) h(type)f(of)g(the)h(message)f(and)g(\002lls)h(in)f(the)h(message)f (sequence)440 4741 y(number)-6 b(.)30 b(Platform)g(byte)h(or)o(dering)e (is)i(taken)f(into)h(account,)f(Line)2694 4743 y SDict begin H.S end 2694 4743 a -2 x FU(6)2735 4684 y SDict begin H.R end 2735 4684 a 2735 4741 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.5.6) cvn H.B /ANN pdfmark end 2735 4741 a FU(,)g(by)h(converting)440 4856 y(the)20 b(sequence)g(number)g(into)h(the)f(network)h(byte)e(or)o(dering)h (befor)o(e)e(copying)j(it)f(into)h(the)440 4971 y(byte)g(sequence.)565 5085 y(When)27 b(the)f(header)g(has)h(been)f(\002lled)h(in,)f(the)h(r)o (est)f(of)h(the)g(message)f(is)h(copied)f(into)440 5200 y(the)d(byte)f(sequence.)h(For)g FQ(RetrieveBlockMessage)c FU(this)k(is)g(simply)h(done)f(by)f(copying)440 5314 y(the)f(contents)h(of)e(the)h(key)g(to)g(be)g(r)o(eceived.)1831 5662 y(52)p eop end %%Page: 53 55 TeXDict begin 53 54 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.53) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (section.4.2) cvn H.B /DEST pdfmark end 440 448 a 87 x FL(4.2)119 b(File)30 b(system)440 739 y FU(The)i(\002le)g(system)g(component)h(lets)f(an)g(application)f (work)i(with)f(the)g(high-level)g(ab-)440 853 y(straction)23 b(of)f(a)g(\002le)h(by)g(taking)g(car)o(e)e(of)h(the)h(lower)f(level)h (calls)f(to)h(the)g(distributed)f(hash)440 968 y(table)e(and)g(the)h (or)o(ganisation)h(of)e(blocks.)565 1083 y(As)h(with)i(an)e(or)o (dinary)g(UNIX)h(\002le)g(system,)g(all)f(calls)h(to)g(the)g(\002le)g (system)g(ar)o(e)e(block-)440 1197 y(ing,)33 b(meaning)h(the)f(the)g (caller)f(will)i(be)e(blocked)h(until)h(the)f(r)o(equest)f(has)h(been)g (fully)440 1312 y(pr)o(ocessed.)18 b(Given)i(the)g(ar)o(chitectur)o(e)e (of)h(the)h(distributed)f(hash)h(table)f(component,)h(it)g(is)440 1426 y(actually)g(very)h(easy)f(to)h(also)g(pr)o(ovide)f(an)h(asynchr)o (onous)g(interface)f(if)g(one)i(is)f(needed.)565 1541 y(W)-8 b(e)27 b(pr)o(oceed)e(with)j(a)f(brief)f(description)h(of)g(the) h(pr)o(ototype)e(of)h(the)h(\002le)f(system.)g(It)440 1655 y(consists)22 b(of)f(one)g(class)g(only:)440 1836 y FQ(NetFile:)40 b FU(Repr)o(esents)22 b(a)h(network)h(\002le)f(and)g (pr)o(oviding)g(methods)h(for)f(opening,)g(r)o(ead-)648 1951 y(ing,)e(writing,)g(seeking,)g(deleting)g(and)f(closing)i(a)f (\002le.)565 2132 y(The)28 b(constr)o(uctor)h(opens)g(the)g(\002le)g (by)f(r)o(equesting)h(the)g(\002le)f(identi\002er)h(block)g(fr)o(om)440 2246 y(the)f(distributed)f(hash)g(table.)g(If)g(the)h(\002le)f(has)h (been)f(initialised)g(in)h(r)o(eading)f(state)g(and)440 2361 y(the)h(identi\002er)g(block)h(is)f(not)h(found,)f(an)g(exception) g(is)h(thr)o(own.)f(On)h(the)f(other)h(hand,)440 2476 y(if)c(the)h(\002le)g(is)g(opened)f(for)g(writing)i(the)e(\002le)h (will)g(be)f(cr)o(eated)f(if)h(no)h(identi\002er)g(block)g(is)440 2590 y(found.)565 2705 y(The)18 b(r)o(ead)e(operation)i(is)h (implemented)f(by)g(r)o(etrieving)g(all)g(blocks)g(fr)o(om)g(the)g (curr)o(ent)440 2819 y(position)h(in)f(the)f(\002le)h(and)f(up)g(to)h (the)g(speci\002ed)f(number)h(of)f(bytes,)g(in)h(parallel)f(for)g (better)440 2934 y(performance.)j(The)g(r)o(elevant)g(bytes)h(can)f (then)h(be)g(extracted.)565 3048 y(The)i(write)g(operation)h(is)g (implemented)f(by)h(\002rst)f(r)o(etrieving)g(all)g(blocks)h(of)g(the)f (\002le)440 3163 y(befor)o(e)h(the)i(actual)f(data)g(ar)o(e)f(written)i (to)g(it.)g(The)g(blocks)g(ar)o(e)e(then)i(distributed)g(under)440 3278 y(a)21 b(new)h(key)-9 b(,)21 b(also)g(in)h(parallel.)e(The)i(new)f (\002le)h(identi\002er)f(block)h(is)g(not)g(written)g(until)g(the)440 3392 y(\002le)f(is)g(closed.)565 3507 y(Seeking)28 b(is)h(achieved)e (by)i(shifting)g(the)g(curr)o(ent)e(position)j(in)f(the)g(\002le)f(by)h (a)f(given)440 3621 y(of)o(fset,)20 b(which)i(may)f(be)f(de\002ned)h (as)f(r)o(elative)g(in)h(both)h(dir)o(ections)f(or)g(static.)f (Deleting)i(is)440 3736 y(done)d(simply)g(by)g(r)o(etrieving)f(the)g (dir)o(ectory)g(\002le)h(wher)o(e)f(the)h(\002le)f(is)h(situated,)f(r)o (emoving)440 3850 y(its)j(entry)f(in)h(it)f(and)g(writing)h(the)g(dir)o (ectory)e(again,)h(letting)h(the)f(garbage)f(collector)i(take)440 3965 y(car)o(e)e(of)i(the)g(r)o(est.)565 4080 y(Closing)30 b(the)f(\002le)g(consists)h(of)e(writing)i(the)f(\002le)g(identi\002er) g(block.)g(The)g(following)440 4194 y(code)24 b(snippet)g(fr)o(om)f (the)h FN(close)31 b FU(method)25 b(illustrates)f(how)g(the)h(\002le)f (system)g(communi-)440 4309 y(cates)i(with)h(the)f(distributed)g(hash)h (table)e(and)h(how)h(the)f(\002le)h(system)g(ensur)o(es)f(that)g(its) 440 4423 y(operations)21 b(ar)o(e)e(blocking.)440 4497 y SDict begin H.S end 440 4497 a 440 4497 a SDict begin 13.79993 H.A end 440 4497 a 440 4497 a SDict begin [ /View [/XYZ H.V] /Dest (lstlisting.4.6) cvn H.B /DEST pdfmark end 440 4497 a 1162 4603 a FK(Listing)e(4.6:)28 b Ff(NetFile)p FK(')l(s)18 b Fl(close)g FK(and)h Fl(on_close_\002le)p 412 4664 4 29 v 412 4640 29 4 v 440 4640 2865 4 v 3305 4640 29 4 v 3331 4664 4 29 v 412 4741 4 77 v 3329 4741 V 440 4642 a SDict begin H.S end 440 4642 a 440 4642 a SDict begin 9.19995 H.A end 440 4642 a 440 4642 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.1) cvn H.B /DEST pdfmark end 440 4642 a 336 4718 a Fe(1)87 b Fd(v)t(o)t(i)t(d)46 b Fw(N)7 b(e)g(t)g(F)g(i)g (l)g(e)20 b(:)13 b(:)21 b(c)8 b(l)g(o)g(s)g(e)17 b(\()11 b(\))p 412 4817 4 77 v 3329 4817 V 440 4718 a SDict begin H.S end 440 4718 a 440 4718 a SDict begin 9.19995 H.A end 440 4718 a 440 4718 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.2) cvn H.B /DEST pdfmark end 440 4718 a 336 4794 a Fe(2)91 b Fw({)p 412 4894 4 77 v 3329 4894 V 440 4794 a SDict begin H.S end 440 4794 a 440 4794 a SDict begin 9.19995 H.A end 440 4794 a 440 4794 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.3) cvn H.B /DEST pdfmark end 440 4794 a 336 4871 a Fe(3)162 b Fd(i)9 b(f)48 b Fw(\()21 b(s)9 b(t)g(a)g(t)g(e)40 b(=)8 b(=)38 b(w)7 b(r)g(i)g(t)g(i)g(n)g(g)18 b(\))41 b({)p 412 4970 4 77 v 3329 4970 V 440 4871 a SDict begin H.S end 440 4871 a 440 4871 a SDict begin 9.19995 H.A end 440 4871 a 440 4871 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.4) cvn H.B /DEST pdfmark end 440 4871 a 336 4947 a Fe(4)216 b Fw(D)-6 b(H)g(T)8 b(:)13 b(:)20 b(i)8 b(n)g(s)g(t)g(a)g(n)g(c)g(e)17 b(\()c(\))g(.)j(p)t(u)t(t)c(\()i (i)6 b(d)g(e)g(n)g(t)g(_)g(b)g(l)g(o)g(c)g(k)g(_)g(k)g(e)g(y)23 b(,)46 b(c)5 b(o)g(m)g(p)g(o)g(s)g(e)g(_)g(i)g(d)g(e)t(n)g(t)h(\()15 b(i)7 b(d)g(e)g(n)g(t)g(_)g(b)g(l)g(o)g(c)g(k)16 b(\))22 b(,)p 412 5046 4 77 v 3329 5046 V 440 4947 a SDict begin H.S end 440 4947 a 440 4947 a SDict begin 9.19995 H.A end 440 4947 a 440 4947 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.5) cvn H.B /DEST pdfmark end 440 4947 a 336 5023 a Fe(5)924 b Fw(b)t(i)t(n)t(d)6 b(\()r(&)j(N)e(e)g(t)g(F)g(i)g(l)g(e)20 b(:)13 b(:)21 b(o)8 b(n)g(_)g(c)g(l)g(o)g(s)g(e)g(_)g(f)g(i)g(l)g(e)30 b(,)48 b Fd(t)7 b(h)g(i)g(s)25 b Fw(,)45 b(_)t(1)17 b(\))c(\))g(;)p 412 5123 4 77 v 3329 5123 V 440 5023 a SDict begin H.S end 440 5023 a 440 5023 a SDict begin 9.19995 H.A end 440 5023 a 440 5023 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.6) cvn H.B /DEST pdfmark end 440 5023 a 336 5100 a Fe(6)228 b Fw(b)6 b(l)g(o)g(c)g(k)16 b(.)f(w)5 b(a)g(i)g(t)19 b(\()13 b(\))g(;)p 412 5199 4 77 v 3329 5199 V 440 5100 a SDict begin H.S end 440 5100 a 440 5100 a SDict begin 9.19995 H.A end 440 5100 a 440 5100 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.7) cvn H.B /DEST pdfmark end 440 5100 a 336 5176 a Fe(7)p 412 5276 4 77 v 3329 5276 V 440 5176 a SDict begin H.S end 440 5176 a 440 5176 a SDict begin 9.19995 H.A end 440 5176 a 440 5176 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.8) cvn H.B /DEST pdfmark end 440 5176 a 336 5253 a Fe(8)232 b Fd(i)9 b(f)48 b Fw(\()19 b(e)7 b(r)g(r)g(o)g(r)g(_)g(o)g(c)g(c)g(u)g(r)g(r)g(e)g(d)16 b(\))41 b({)p 412 5352 4 77 v 3329 5352 V 440 5253 a SDict begin H.S end 440 5253 a 440 5253 a SDict begin 9.19995 H.A end 440 5253 a 440 5253 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.9) cvn H.B /DEST pdfmark end 440 5253 a 336 5329 a Fe(9)299 b Fw(e)7 b(r)g(r)g(o)g(r)g(_)g(o)g(c)g(c)g(u)g(r) g(r)g(e)g(d)38 b(=)43 b Fd(f)8 b(a)g(l)g(s)g(e)19 b Fw(;)p 412 5428 4 77 v 3329 5428 V 440 5329 a SDict begin H.S end 440 5329 a 440 5329 a SDict begin 9.19995 H.A end 440 5329 a 440 5329 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.10) cvn H.B /DEST pdfmark end 440 5329 a 315 5405 a Fe(10)295 b Fd(t)s(h)s(r)s(o)s(w)43 b Fw(C)6 b(l)g(o)g(s)g(e)g(E)g(r)g(r)g(o)g(r) 21 b(\()13 b(\))g(;)1831 5662 y FU(53)p eop end %%Page: 54 56 TeXDict begin 54 55 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.54) cvn H.B /DEST pdfmark end 440 241 a 1363 211 a FN(Chapter)20 b(4.)46 b(Implementation)p 440 244 2865 4 v 412 554 4 77 v 3329 554 V 440 455 a SDict begin H.S end 440 455 a 440 455 a SDict begin 9.19995 H.A end 440 455 a 440 455 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.11) cvn H.B /DEST pdfmark end 440 455 a 315 531 a Fe(11)230 b Fw(})p 412 631 4 77 v 3329 631 V 440 531 a SDict begin H.S end 440 531 a 440 531 a SDict begin 9.19995 H.A end 440 531 a 440 531 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.12) cvn H.B /DEST pdfmark end 440 531 a 315 608 a Fe(12)161 b Fw(})p 412 707 4 77 v 3329 707 V 440 608 a SDict begin H.S end 440 608 a 440 608 a SDict begin 9.19995 H.A end 440 608 a 440 608 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.13) cvn H.B /DEST pdfmark end 440 608 a 315 684 a Fe(13)91 b Fw(})p 412 783 4 77 v 3329 783 V 440 684 a SDict begin H.S end 440 684 a 440 684 a SDict begin 9.19995 H.A end 440 684 a 440 684 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.14) cvn H.B /DEST pdfmark end 440 684 a 315 760 a Fe(14)p 412 860 4 77 v 3329 860 V 440 760 a SDict begin H.S end 440 760 a 440 760 a SDict begin 9.19995 H.A end 440 760 a 440 760 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.15) cvn H.B /DEST pdfmark end 440 760 a 315 837 a Fe(15)c Fd(v)t(o)t(i)t(d)46 b Fw(N)7 b(e)g(t)g(F)g(i)g(l)g(e)20 b(:)13 b(:)22 b(o)9 b(n)g(_)g(c)g(l)g(o)g(s)g(e)g(_)g(f)g(i)g(l)g(e)i(\()h Fd(b)t(o)t(o)t(l)45 b Fw(c)5 b(o)g(m)g(p)g(l)g(e)g(t)g(e)10 b(\))p 412 936 4 77 v 3329 936 V 440 837 a SDict begin H.S end 440 837 a 440 837 a SDict begin 9.19995 H.A end 440 837 a 440 837 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.16) cvn H.B /DEST pdfmark end 440 837 a 315 913 a Fe(16)91 b Fw({)p 412 1013 4 77 v 3329 1013 V 440 913 a SDict begin H.S end 440 913 a 440 913 a SDict begin 9.19995 H.A end 440 913 a 440 913 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.17) cvn H.B /DEST pdfmark end 440 913 a 315 990 a Fe(17)162 b Fd(i)9 b(f)51 b Fw(\()14 b(!)19 b(c)5 b(o)g(m)g(p)g(l)g(e)g(t)g(e)11 b(\))p 412 1089 4 77 v 3329 1089 V 440 990 a SDict begin H.S end 440 990 a 440 990 a SDict begin 9.19995 H.A end 440 990 a 440 990 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.18) cvn H.B /DEST pdfmark end 440 990 a 315 1066 a Fe(18)229 b Fw(e)7 b(r)g(r)g(o)g(r)g(_)g(o)g(c)g(c)g(u)g(r)g(r)g(e)g(d) 38 b(=)k Fd(t)7 b(r)g(u)g(e)15 b Fw(;)p 412 1165 4 77 v 3329 1165 V 440 1066 a SDict begin H.S end 440 1066 a 440 1066 a SDict begin 9.19995 H.A end 440 1066 a 440 1066 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.19) cvn H.B /DEST pdfmark end 440 1066 a 315 1142 a Fe(19)p 412 1242 4 77 v 3329 1242 V 440 1142 a SDict begin H.S end 440 1142 a 440 1142 a SDict begin 9.19995 H.A end 440 1142 a 440 1142 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.20) cvn H.B /DEST pdfmark end 440 1142 a 315 1219 a Fe(20)159 b Fw(b)6 b(l)g(o)g(c)g(k)15 b(.)h(p)6 b(o)g(s)g(t)17 b(\()c(\))h(;)p 412 1318 4 77 v 3329 1318 V 440 1219 a SDict begin H.S end 440 1219 a 440 1219 a SDict begin 9.19995 H.A end 440 1219 a 440 1219 a SDict begin [ /View [/XYZ H.V] /Dest (lstnumber.4.6.21) cvn H.B /DEST pdfmark end 440 1219 a 315 1295 a Fe(21)91 b Fw(})p 412 1346 4 29 v 413 1346 29 4 v 440 1346 2865 4 v 3305 1346 29 4 v 3331 1346 4 29 v 565 1482 a FU(On)29 b(Line)899 1482 y SDict begin H.S end 899 1482 a FU(4)940 1425 y SDict begin H.R end 940 1425 a 940 1482 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.6.4) cvn H.B /ANN pdfmark end 940 1482 a 29 w FU(the)g(identi\002er)f(block)i(is)f (passed)f(to)h(the)g(distributed)f(hash)h(table.)f(Be-)440 1597 y(sides)i(the)g(key)g(of)g(the)g(identi\002er)g(block)g(and)f(the) h(block)h(itself,)e(a)h(callback)f(function,)440 1712 y FN(on_close_\002le)p FU(,)e(is)g(given)g(to)g(the)g FN(put)36 b FU(method.)27 b(The)f(callback)g(is)i(used)e(when)i(the)f (dis-)440 1826 y(tributed)c(hash)h(table)f(has)h(completed)f(the)h (task)f(and)h(needs)f(to)h(notify)g(the)g(\002le)g(system)440 1941 y(of)k(this.)h(The)f FN(put)37 b FU(method)29 b(will)g(r)o(eturn)f (immediately)g(after)f(having)i(placed)e(a)h(work)440 2055 y(item)c(in)g(the)f(work)h(queue,)g(and)f(the)g(\002le)h(system)g (ther)o(efor)o(e)e(waits)h(on)h(the)g(semaphor)o(e)440 2170 y FN(block)p FU(,)d(Line)864 2172 y SDict begin H.S end 864 2172 a -2 x FU(6)905 2112 y SDict begin H.R end 905 2112 a 905 2170 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.6.6) cvn H.B /ANN pdfmark end 905 2170 a FU(.)565 2284 y(When)26 b(the)h(\002le)f(indenti\002er)h(has)f(been)g (distributed,)g FN(on_close_\002le)33 b FU(is)27 b(called)e(by)i(a)440 2399 y(thr)o(ead)i(fr)o(om)h(the)h(distributed)f(hash)h(table.)e(A)h (check)h(for)f(err)o(ors)f(is)i(performed)f(and)440 2514 y(then)g(the)g FN(block)41 b FU(semaphor)o(e)29 b(is)h(signalled)g(at)g (Line)2196 2516 y SDict begin H.S end 2196 2516 a -2 x FU(20)2279 2456 y SDict begin H.R end 2279 2456 a 2279 2514 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.6.20) cvn H.B /ANN pdfmark end 2279 2514 a FU(.)g(This)g(means)g(that)g FN(close)37 b FU(can)440 2628 y(continue)17 b(execution.)f(It)h(does)f (so)h(by)f(checking)h(if)f(an)g(err)o(or)f(occurr)o(ed,)g(Line)2886 2630 y SDict begin H.S end 2886 2630 a -2 x FU(8)2927 2571 y SDict begin H.R end 2927 2571 a 2927 2628 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (lstnumber.4.6.8) cvn H.B /ANN pdfmark end 2927 2628 a FU(,)h(thr)o(owing)440 2743 y(an)21 b(exception)f(if)h(that)g(is)g(the)g(case,)f(or)g(else)h(just)h(r)o (eturns.)1831 5662 y(54)p eop end %%Page: 55 57 TeXDict begin 55 56 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.55) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.5) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(5)440 1638 y FX(T)-23 b(ests)440 2084 y FU(This)29 b(chapter)f(describes)g(an)g(empirical)g(evaluation)h(of)f(the)h(pr)o (ototype)f(described)g(in)440 2199 y(Chapter)763 2199 y SDict begin H.S end 763 2199 a FU(4)804 2141 y SDict begin H.R end 804 2141 a 804 2199 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.4) cvn H.B /ANN pdfmark end 804 2199 a FU(.)d(The)f(purpose)h(of)f(testing)i(our)f(pr)o(ototype)f(is)h (to)g(gain)g(suf)o(\002cient)f(evidence)440 2313 y(that)18 b(our)g(design)h(ful\002lls)f(the)h(r)o(equir)o(ements)e(in)i(Section) 2276 2313 y SDict begin H.S end 2276 2313 a FU(1.4)2380 2256 y SDict begin H.R end 2380 2256 a 2380 2313 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.1.4) cvn H.B /ANN pdfmark end 2380 2313 a FU(,)f(and)f(further)h(to)g(show)h(that)440 2428 y(some)i(of)g(the)g(theor)o(etical)f(characteristics)g(in)h (Chapter)2243 2430 y SDict begin H.S end 2243 2430 a -2 x FU(3)2285 2370 y SDict begin H.R end 2285 2370 a 2285 2428 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.3) cvn H.B /ANN pdfmark end 2285 2428 a 20 w FU(hold)h(in)f(practise.)565 2543 y(Section)858 2545 y SDict begin H.S end 858 2545 a -2 x FU(5.1)962 2485 y SDict begin H.R end 962 2485 a 962 2543 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.5.1) cvn H.B /ANN pdfmark end 962 2543 a 29 w FU(describes)28 b(the)h(envir)o(onment)g(used)f(to)i(simulate)e(the)h(network,)g(Sec-) 440 2657 y(tion)615 2659 y SDict begin H.S end 615 2659 a -2 x FU(5.2)718 2600 y SDict begin H.R end 718 2600 a 718 2657 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.5.2) cvn H.B /ANN pdfmark end 718 2657 a 30 w FU(focus)h(on)g(how)h(ef)o (\002cient)e(the)h(use)g(of)g(r)o(eplication)f(is)h(in)g(keeping)g(all) g(blocks)440 2772 y(available,)19 b(and)h(\002nally)i(Section)1514 2774 y SDict begin H.S end 1514 2774 a -2 x FU(5.3)1617 2714 y SDict begin H.R end 1617 2714 a 1617 2772 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.5.3) cvn H.B /ANN pdfmark end 1617 2772 a 21 w FU(examines)f(the)g(performance)e(of)i (the)g(system.)g(Ful-)440 2886 y(\002llment)g(of)g(the)f(design)h(r)o (equir)o(ements)f(is)h(discussed)f(in)h(the)f(conclusion)i(of)f(the)f (r)o(eport)440 3001 y(in)h(Chapter)852 3003 y SDict begin H.S end 852 3003 a -2 x FU(6)894 2943 y SDict begin H.R end 894 2943 a 894 3001 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.6) cvn H.B /ANN pdfmark end 894 3001 a FU(.)565 3115 y(The)k(implementation)h(has)f(been)g(tested)g(for)g (corr)o(ectness)f(thr)o(ough)i(pr)o(ogrammed)440 3230 y(test)33 b(cases.)g(The)g(test)g(cases)g(cover)f(the)i(algorithms)g (necessary)e(for)h(conducting)h(the)440 3345 y(experiments)21 b(described)e(in)j(the)e(following.)440 3504 y SDict begin H.S end 440 3504 a 440 3504 a SDict begin 13.79993 H.A end 440 3504 a 440 3504 a SDict begin [ /View [/XYZ H.V] /Dest (section.5.1) cvn H.B /DEST pdfmark end 440 3504 a 149 x FL(5.1)119 b(T)-13 b(est)29 b(environment)440 3857 y FU(The)35 b(tests)g(have)f (been)h(conducted)g(in)g(a)f(simulated)h(network)h(envir)o(onment)f (main-)440 3971 y(tained)21 b(by)h(the)g Fa(dummynet)e FU(tool)j([)1516 3971 y SDict begin H.S end 1516 3971 a FU(13)1600 3971 y SDict begin 13.79993 H.L end 1600 3971 a 1600 3971 a SDict begin [ /Subtype /Link /Dest (cite.dummynet) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1600 3971 a -2 w FU(].)f Fa(dummynet)e FU(is)i(included)g(in)g(the)g Fa(ipfw)f FU(\002r)o(ewall)g(on)440 4086 y(Fr)o(eeBSD)15 b(and)i(supports)g(sending)g(messages)g(thr)o (ough)g(special)g(pipes)f(with)i(associated)440 4200 y(queues)h(and)f(r)o(estrictions)g(on)h(bandwidth.)f(Combined)h(with)g (aliasing)g(of)f(IP)h(addr)o(esses)440 4315 y(to)i(the)g(local)f(host,) h(this)g(enables)g(one)f(to)h(setup)g(a)f(complete)g(virtual)h(network) g(on)g(a)f(sin-)440 4430 y(gle)28 b(machine)h(with)g(bandwidth)f(r)o (estrictions,)h(switches)g(and)f(r)o(ealistic)f(packet)h(delay)440 4544 y(and)19 b(loss)i(when)f(the)g(network)h(becomes)f(congested.)f (The)h(pr)o(ograms)f(under)h(test)g(must)440 4659 y(simply)i(bind)f (themselves)g(to)g(certain)f(IP)h(addr)o(esses.)565 4773 y(Unfortunately)-9 b(,)22 b Fa(dummynet)g FU(does)h(not)g(come)h(with)f (any)h(tools)g(to)f(setup)g(a)g(network)440 4888 y(so)j(instead)g(we)f (have)g(written)h(a)f(small)h(pr)o(ogram)f(that)h(outputs)g(the)g(r)o (ules)g(for)f(a)g(local)440 5002 y(ar)o(ea)d(network)j(connected)g (with)g(switches.)g(The)f(virtual)g(network)h(used)f(for)g(the)h(tests) 440 5117 y(described)20 b(in)h(the)g(following)h(is)f(shown)h(in)g (Figur)o(e)2120 5119 y SDict begin H.S end 2120 5119 a -2 x FU(5.1)2224 5060 y SDict begin H.R end 2224 5060 a 2224 5117 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.1) cvn H.B /ANN pdfmark end 2224 5117 a FU(.)565 5232 y(The)27 b(bene\002t)h(of)g(using)h Fa(dummynet)d FU(is)i(that)g(it)g(has)g (very)f(minimal)i(over)o(head)d(com-)440 5346 y(par)o(ed)k(to)i (virtual)g(computers)g(such)g(as)g(VMW)-8 b(ar)o(e)30 b([)2187 5346 y SDict begin H.S end 2187 5346 a FU(19)2271 5346 y SDict begin 13.79993 H.L end 2271 5346 a 2271 5346 a SDict begin [ /Subtype /Link /Dest (cite.vmware) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 2271 5346 a -1 w FU(],)h(allowing)i(us)f(to)g(r)o(un)h (lar)o(ger)1831 5662 y(55)p eop end %%Page: 56 58 TeXDict begin 56 57 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.56) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 573 1334 a @beginspecial 91 @llx 529 @lly 657 @urx 722 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/throughput-network.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: throughput-network.dvi %%BoundingBox: 91 529 657 722 %%DocumentFonts: Palatino-Roman %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -Ppdf -E -o throughput-network.eps %+ throughput-network.dvi %DVIPSParameters: dpi=8000, compressed %DVIPSSource: TeX output 2003.12.10:1549 %%BeginProcSet: tex.pro %! /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: alt-rule.pro %! % Patch by TVZ % Makes dvips files draw rules with stroke rather than fill. % Makes narrow rules more predictable at low resolutions % after distilling to PDF. % May have unknown consequences for very thick rules. % Tested only with dvips 5.85(k). TeXDict begin /QV { gsave newpath /ruleY X /ruleX X Rx Ry gt { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } ifelse setlinewidth 0 setlinecap stroke grestore } bind def end %%EndProcSet %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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]/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[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 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro %! 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 40258437 52099154 1000 8000 8000 (throughput-network.dvi) @start /Fa 209[553 46[{TeXBase1Encoding ReEncodeFont}1 2213.92 /Palatino-Roman rf /Fb 139[361 469 9[322 6[612 19[920 1047 19[553 2[553 1[553 1[553 553 553 671 47[{ TeXBase1Encoding ReEncodeFont}13 1106.96 /Palatino-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 8000dpi TeXDict begin %%EndSetup 1 0 bop Black Black 2214 21134 a @beginspecial 0 @llx 0 @lly 564 @urx 191 @ury 5640 @rwi @setspecial %%BeginDocument: throughput-network.pstex %!PS-Adobe-2.0 EPSF-2.0 %%Title: throughput-network.fig %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Wed Dec 10 15:49:39 2003 %%For: olau@homer.cs.auc.dk (Ole Laursen) %%BoundingBox: 0 0 564 191 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 191 moveto 0 0 lineto 564 0 lineto 564 191 lineto closepath clip newpath -39.8 243.7 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % 7.500 slw % Ellipse n 5436 1165 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Ellipse n 1836 2365 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Ellipse n 4236 2365 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Ellipse n 6636 2365 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr % Ellipse n 9036 2365 262 187 0 360 DrawEllipse gs col30 1.00 shd ef gr gs col0 s gr /Times-Roman ff 180.00 scf sf 8625 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 8775 3900 m gs 1 -1 sc (74) col0 sh gr /Times-Roman ff 180.00 scf sf 7950 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 8100 3900 m gs 1 -1 sc (73) col0 sh gr /Times-Roman ff 180.00 scf sf 7275 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 7425 3900 m gs 1 -1 sc (72) col0 sh gr /Times-Roman ff 180.00 scf sf 6225 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 6375 3900 m gs 1 -1 sc (50) col0 sh gr /Times-Roman ff 180.00 scf sf 5550 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 3900 m gs 1 -1 sc (49) col0 sh gr /Times-Roman ff 180.00 scf sf 4875 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 5025 3900 m gs 1 -1 sc (48) col0 sh gr /Times-Roman ff 180.00 scf sf 3825 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 3975 3900 m gs 1 -1 sc (26) col0 sh gr /Times-Roman ff 180.00 scf sf 3150 3825 m gs 1 -1 sc (N) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 3900 m gs 1 -1 sc (25) col0 sh gr % Polyline n 1875 2100 m 1875 1800 l gs col0 s gr % Polyline n 1875 1800 m 9000 1800 l gs col0 s gr % Polyline n 5475 1350 m 5475 1800 l gs col0 s gr % Polyline n 4275 2100 m 4275 1800 l gs col0 s gr % Polyline n 6600 2100 m 6600 1800 l gs col0 s gr % Polyline n 9000 2100 m 9000 1800 l gs col0 s gr % Polyline n 675 3600 m 1125 3600 l 1125 4050 l 675 4050 l cp gs col0 s gr % Polyline n 1350 3600 m 1800 3600 l 1800 4050 l 1350 4050 l cp gs col0 s gr % Polyline n 900 3600 m 900 3150 l gs col0 s gr % Polyline n 900 3150 m 2550 3150 l gs col0 s gr % Polyline n 2550 3150 m 2550 3600 l gs col0 s gr % Polyline n 1575 3150 m 1575 3600 l gs col0 s gr % Polyline n 1875 2550 m 1875 3150 l gs col0 s gr % Polyline n 2400 3600 m 2850 3600 l 2850 4050 l 2400 4050 l cp gs col0 s gr % Polyline n 3300 3600 m 3300 3150 l gs col0 s gr % Polyline n 3300 3150 m 4950 3150 l gs col0 s gr % Polyline n 4950 3150 m 4950 3600 l gs col0 s gr % Polyline n 3975 3150 m 3975 3600 l gs col0 s gr % Polyline n 4275 2550 m 4275 3150 l gs col0 s gr % Polyline n 4800 3600 m 5250 3600 l 5250 4050 l 4800 4050 l cp gs col0 s gr % Polyline n 5700 3600 m 5700 3150 l gs col0 s gr % Polyline n 5700 3150 m 7350 3150 l gs col0 s gr % Polyline n 7350 3150 m 7350 3600 l gs col0 s gr % Polyline n 6375 3150 m 6375 3600 l gs col0 s gr % Polyline n 6675 2550 m 6675 3150 l gs col0 s gr % Polyline n 7200 3600 m 7650 3600 l 7650 4050 l 7200 4050 l cp gs col0 s gr % Polyline n 8100 3600 m 8100 3150 l gs col0 s gr % Polyline n 8100 3150 m 9750 3150 l gs col0 s gr % Polyline n 9750 3150 m 9750 3600 l gs col0 s gr % Polyline n 8775 3150 m 8775 3600 l gs col0 s gr % Polyline n 9075 2550 m 9075 3150 l gs col0 s gr % Polyline n 9600 3600 m 10050 3600 l 10050 4050 l 9600 4050 l cp gs col0 s gr % Polyline n 6150 3600 m 6600 3600 l 6600 4050 l 6150 4050 l cp gs col0 s gr % Polyline n 5475 3600 m 5925 3600 l 5925 4050 l 5475 4050 l cp gs col0 s gr % Polyline n 7875 3600 m 8325 3600 l 8325 4050 l 7875 4050 l cp gs col0 s gr % Polyline n 8550 3600 m 9000 3600 l 9000 4050 l 8550 4050 l cp gs col0 s gr % Polyline n 3750 3600 m 4200 3600 l 4200 4050 l 3750 4050 l cp gs col0 s gr % Polyline n 3075 3600 m 3525 3600 l 3525 4050 l 3075 4050 l cp gs col0 s gr % Ellipse n 5437 1087 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 1837 2287 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 4237 2287 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 6637 2287 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Ellipse n 9037 2287 262 187 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr % Polyline 15.000 slw n 5325 1125 m 5550 975 l gs col0 s gr % Polyline n 5325 975 m 5550 1125 l gs col0 s gr % Polyline n 1725 2325 m 1950 2175 l gs col0 s gr % Polyline n 1725 2175 m 1950 2325 l gs col0 s gr % Polyline n 4125 2325 m 4350 2175 l gs col0 s gr % Polyline n 4125 2175 m 4350 2325 l gs col0 s gr % Polyline n 6525 2325 m 6750 2175 l gs col0 s gr % Polyline n 6525 2175 m 6750 2325 l gs col0 s gr % Polyline n 8925 2325 m 9150 2175 l gs col0 s gr % Polyline n 8925 2175 m 9150 2325 l gs col0 s gr $F2psEnd rs %%EndDocument @endspecial 0 0 0 TeXcolorrgb 35795 5053 a Fb(100)278 b(Mbit/s)p Black 0 0 0 TeXcolorrgb 10794 14554 a(10)g(Mbit/s)p Black 0 0 0 TeXcolorrgb 11135 w(10)f(Mbit/s)p Black 0 0 0 TeXcolorrgb 11135 w(10)h(Mbit/s)p Black 0 0 0 TeXcolorrgb 11134 w(10)g(Mbit/s)p Black 0 0 0 TeXcolorrgb 14294 19554 a(N)p Black 0 0 0 TeXcolorrgb 15294 20054 a(24)p Black 0 0 0 TeXcolorrgb 26294 19554 a Fa(.)687 b(.)g(.)p Black 0 0 0 TeXcolorrgb 12968 w(.)g(.)f(.)p Black 0 0 0 TeXcolorrgb 12968 w(.)h(.)g(.)p Black 0 0 0 TeXcolorrgb 967 w Fb(N)p Black 0 0 0 TeXcolorrgb 63295 20054 a(96)p Black 0 0 0 TeXcolorrgb 3294 19554 a(N)p Black 0 0 0 TeXcolorrgb 4294 20054 a(1)p Black 0 0 0 TeXcolorrgb 7794 19554 a(N)p Black 0 0 0 TeXcolorrgb 8794 20054 a(2)p Black 0 0 0 TeXcolorrgb 10294 19554 a Fa(.)g(.)g(.)p Black Black Black eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF %%EndDocument @endspecial 511 1522 a FK(Figur)o(e)15 b(5.1:)865 1417 y SDict begin H.S end 865 1417 a 865 1417 a SDict begin H.R end 865 1417 a 865 1417 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.1) cvn H.B /DEST pdfmark end 865 1417 a 105 x FK(The)h(virtual)g(network)h(consists)f(of)g(four)g (subnetworks.)f(Each)i(subnetwork)f(contains)g(24)511 1627 y(nodes)k(and)h(each)g(node)g(is)f(dir)o(ectly)g(connected)h(to)g (a)f(10)h(Mbit/s)e(switch.)i(The)f(four)g(subnetworks)f(ar)o(e)511 1732 y(connected)g(to)g(each)g(other)h(with)e(100)i(Mbit/s)e(links)g (to)g(a)h(backbone)g(switch.)440 1965 y FU(tests)32 b(on)g(the)g(same)f (har)o(dwar)o(e.)e(Furthermor)o(e,)i(the)g(pr)o(ogram)g(does)h(not)g (have)f(to)h(be)440 2080 y(speci\002cally)27 b(written)h(for)e(a)h (simulation)h(envir)o(onment)g(as)f(r)o(equir)o(ed)f(in)h(other)h (virtual)440 2194 y(networks)22 b(such)f(as)f(ns-2)h([)1295 2194 y SDict begin H.S end 1295 2194 a FU(10)1379 2194 y SDict begin 13.79993 H.L end 1379 2194 a 1379 2194 a SDict begin [ /Subtype /Link /Dest (cite.ns) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1379 2194 a -2 w FU(].)565 2309 y(Since)k(our)g(tests)h(ar)o(e)e (r)o(un)i(in)f(the)h(simulated)f(envir)o(onment)h(shown)h(in)f(Figur)o (e)3180 2311 y SDict begin H.S end 3180 2311 a -2 x FU(5.1)3284 2251 y SDict begin H.R end 3284 2251 a 3284 2309 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.1) cvn H.B /ANN pdfmark end 3284 2309 a FU(,)440 2423 y(the)21 b(following)h(should)g(be)e(kept)h(in)g(mind:)440 2462 y SDict begin H.S end 440 2462 a 440 2462 a SDict begin 13.79993 H.A end 440 2462 a 440 2462 a SDict begin [ /View [/XYZ H.V] /Dest (Item.61) cvn H.B /DEST pdfmark end 440 2462 a 544 2580 a FU(1.)41 b(Ther)o(e)19 b(is)i(no)h(other)f(traf)o(\002c)e (on)j(the)f(network.)440 2609 y SDict begin H.S end 440 2609 a 440 2609 a SDict begin 13.79993 H.A end 440 2609 a 440 2609 a SDict begin [ /View [/XYZ H.V] /Dest (Item.62) cvn H.B /DEST pdfmark end 440 2609 a 544 2748 a FU(2.)41 b(W)-8 b(e)21 b(test)g(only)h(one)g(size)f(and)g(one)g(particular)f (simple)i(type)f(of)g(network,)h(namely)648 2863 y(the)e(star)h (topology)h(shown)g(in)f(Figur)o(e)1910 2865 y SDict begin H.S end 1910 2865 a -2 x FU(5.1)2014 2805 y SDict begin H.R end 2014 2805 a 2014 2863 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.1) cvn H.B /ANN pdfmark end 2014 2863 a FU(.)440 2913 y SDict begin H.S end 440 2913 a 440 2913 a SDict begin 13.79993 H.A end 440 2913 a 440 2913 a SDict begin [ /View [/XYZ H.V] /Dest (Item.63) cvn H.B /DEST pdfmark end 440 2913 a 544 3032 a FU(3.)41 b(A)20 b(lar)o(ge)g(number) h(of)g(instances)h(of)f(the)g(test)g(pr)o(ograms)g(ar)o(e)f(r)o(unning) i(on)g(a)f(single)648 3146 y(machine)f(\226)f(ther)o(e)g(is)h(one)g(pr) o(ocess)g(for)f(each)g(node)h(so)h(96)e(instances)h(in)g(total.)g(This) 648 3261 y(means)25 b(that)h(during)g(periods)g(with)g(peak)f(load,)g (e.g.)h(in)g(the)g(performance)e(test,)648 3375 y(many)d(pr)o(ocesses)f (ar)o(e)f(competing)j(for)e(pr)o(ocessor)h(time.)565 3532 y(The)26 b(thir)o(d)g(pr)o(oblem)h(was)f(actually)g(the)h(r)o (eason)f(that)g(we)h(let)g(the)f(test)h(system)g(use)440 3646 y(10)f(and)h(100)e(Mbit/s)i(links)i(instead)d(of)h(100)f(and)g (1000)g(Mbit/s)h(links.)h(The)f(test)g(har)o(d-)440 3761 y(war)o(e)f(\(an)h(AMD)g(Athlon)h(XP)g(2700+\))e(was)h(not)h(fast)f (enough)i(to)e(support)h(the)g(higher)440 3875 y(bandwidths.)440 4008 y SDict begin H.S end 440 4008 a 440 4008 a SDict begin 13.79993 H.A end 440 4008 a 440 4008 a SDict begin [ /View [/XYZ H.V] /Dest (section.5.2) cvn H.B /DEST pdfmark end 440 4008 a 170 x FL(5.2)119 b(Robustness)31 b(of)f(the)f(system)h(during)g (node)g(crashes)440 4382 y FU(This)23 b(test)f(measur)o(es)f(how)j (many)e(r)o(eplicas)f(ar)o(e)g(available)g(over)h(time)g(when)h(nodes)g (ar)o(e)440 4496 y(killed)e(with)g(a)g(constant)g(rate.)565 4611 y(The)31 b(purpose)h(of)g(the)g(test)g(is)g(to)h(evaluate)d(the)i (r)o(obustness)h(of)f(the)g(use)f(of)h(r)o(epli-)440 4726 y(cation)d(in)g(ensuring)h(that)f(blocks)g(ar)o(e)f(not)h(lost.)h (Ideally)-9 b(,)28 b(we)h(would)g(have)f(pr)o(eferr)o(ed)440 4840 y(to)h(verify)e(the)h(data)f(loss)i(pr)o(obability)f(pr)o(edicted) e(in)j(Section)2492 4842 y SDict begin H.S end 2492 4842 a -2 x FU(3.3)2596 4783 y SDict begin H.R end 2596 4783 a 2596 4840 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.3) cvn H.B /ANN pdfmark end 2596 4840 a FU(,)f(but)g(unfortunately) 440 4955 y(the)g(pr)o(edicted)d(pr)o(obabilities)i(ar)o(e)f(so)i(small) g(that)f(they)h(ar)o(e)e(dif)o(\002cult)h(to)g(test)h(with)g(the)440 5069 y Fa(dummynet)19 b FU(framework)i(which)g(r)o(uns)h(in)f(r)o(eal)f (time.)565 5184 y(Instead)g(we)i(str)o(ess)f(the)g(system)i(by)e (taking)h(nodes)f(down)h(at)f(rate)g(gr)o(eater)f(than)h(the)440 5298 y(r)o(epublishing)29 b(interval)h FO(T)1298 5316 y FB(b)1331 5298 y FU(.)f(This)g(enables)f(us)g(to)h(see)f(how)h(well)g (the)g(r)o(eplicas)e(ensur)o(e)440 5413 y(availability)20 b(and)g(how)i(well)f(the)g(r)o(epublishing)g(algorithm)h(performs.)1831 5662 y(56)p eop end %%Page: 57 59 TeXDict begin 57 58 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.57) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.2.1) cvn H.B /DEST pdfmark end 440 448 a 83 x FJ(5.2.1)99 b(T)-11 b(est)25 b(setup)440 704 y FU(The)20 b(96)f(nodes)h(ar)o(e)e(started)h(with)i FO(r)26 b FE(=)e FU(3)19 b(and)h(after)e(the)i(network)h(has)f(been)f (setup,)h(each)440 819 y(writes)h(a)g(550)e(kbyte)i(\002le.)g(This)h (ensur)o(es)e(that)h(ther)o(e)g(ar)o(e)e(appr)o(oximately)h(33)g (blocks)i(per)440 933 y(node.)27 b FO(T)719 951 y FB(b)783 933 y FE(=)k FU(15)24 b(minutes)h(instead)g(of)f(one)h(hour)g(to)g (speed)f(up)h(the)g(test.)f(After)f(a)i(short)440 1048 y(pause)d(to)i(ensur)o(e)e(that)h(all)g(write)g(operations)g(ar)o(e)f (\002nished,)h(a)g(random)g(node)g(is)g(killed)440 1163 y(every)f FO(T)i FU(minutes)d(until)h(all)f(nodes)g(except)f(one)h (have)f(been)h(killed.)565 1277 y(W)-8 b(e)30 b(r)o(epeated)e(the)j (test)g(\002ve)f(times)h(with)i FO(T)45 b FE(=)d FU(5)30 b(minutes)h(and)f(\002ve)h(times)f(with)442 1392 y FO(T)e FE(=)d FU(1)c(minute.)g(This)h(means)g(that)f(thr)o(ee)g(and)g (\002fteen)g(nodes)g(ar)o(e)f(killed)i(per)f(r)o(epublish)440 1506 y(interval,)f(r)o(espectively)-9 b(.)440 1656 y SDict begin H.S end 440 1656 a 440 1656 a SDict begin 13.79993 H.A end 440 1656 a 440 1656 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.2.2) cvn H.B /DEST pdfmark end 440 1656 a 111 x FJ(5.2.2)99 b(T)-11 b(est)25 b(results)440 1939 y FU(Figur)o(e)700 1941 y SDict begin H.S end 700 1941 a -2 x FU(5.2)804 1882 y SDict begin H.R end 804 1882 a 804 1939 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.2) cvn H.B /ANN pdfmark end 804 1939 a 23 w FU(and)990 1941 y SDict begin H.S end 990 1941 a -2 x FU(5.3)1094 1882 y SDict begin H.R end 1094 1882 a 1094 1939 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.3) cvn H.B /ANN pdfmark end 1094 1939 a 22 w FU(show)f(the)f(fraction)f(of)g(lost)i (blocks)f(as)f(a)g(function)i(of)e(the)h(number)440 2054 y(of)e(nodes)g(killed,)f(with)i(5)e(and)h(1)f(minute)h(between)g(nodes) g(wer)o(e)f(killed,)g(r)o(espectively)-9 b(.)565 2169 y(T)h(o)23 b(get)f(a)g(better)g(pictur)o(e)f(of)h(what)h(is)g (happening)g(in)f(the)h(system)g(during)g(the)f(tests,)440 2283 y(Figur)o(e)704 2285 y SDict begin H.S end 704 2285 a -2 x FU(5.4)808 2226 y SDict begin H.R end 808 2226 a 808 2283 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.4) cvn H.B /ANN pdfmark end 808 2283 a 26 w FU(and)1001 2285 y SDict begin H.S end 1001 2285 a -2 x FU(5.5)1105 2226 y SDict begin H.R end 1105 2226 a 1105 2283 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.5) cvn H.B /ANN pdfmark end 1105 2283 a 27 w FU(show)27 b(the)g(fraction)f(of)g (blocks)i(that)e(have)g(3,)g(2,)f(1)h(and)g(0)g(r)o(eplicas)440 2398 y(during)h(a)e(typical)h(test)h(r)o(un)g(with)g(5)f(and)f(1)h (minute)h(between)f(nodes)h(wer)o(e)e(killed,)i(r)o(e-)440 2512 y(spectively)-9 b(.)440 2662 y SDict begin H.S end 440 2662 a 440 2662 a SDict begin 13.79993 H.A end 440 2662 a 440 2662 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.2.3) cvn H.B /DEST pdfmark end 440 2662 a 111 x FJ(5.2.3)99 b(Evaluation)25 b(of)g(the)g(results)440 2946 y FU(The)c(r)o(esults)f (show)i(that)f(the)g(use)g(of)f(r)o(eplication)h(is)g(a)f(very)g (powerful)h(technique.)g(W)-5 b(ith)440 3060 y FO(r)26 b FE(=)e FU(3,)c(one)h(would)h(per)o(haps)d(expect)h(that)h(blocks)h (would)f(be)f(lost)i(quickly)g(when)f(thr)o(ee)440 3175 y(nodes)i(ar)o(e)d(killed)j(per)e(r)o(epublishing)i(interval.)f(Figur)o (e)2269 3177 y SDict begin H.S end 2269 3177 a -2 x FU(5.2)2373 3117 y SDict begin H.R end 2373 3117 a 2373 3175 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.2) cvn H.B /ANN pdfmark end 2373 3175 a 22 w FU(illustrates)h(that)f(this)h(is)g (not)440 3289 y(the)h(case,)g(and)g(Figur)o(e)1205 3291 y SDict begin H.S end 1205 3291 a -2 x FU(5.4)1308 3232 y SDict begin H.R end 1308 3232 a 1308 3289 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.4) cvn H.B /ANN pdfmark end 1308 3289 a 25 w FU(shows)h(that)g(the)f(r)o(epublishing)h (algorithm)g(keeps)f(up)g(pace)440 3404 y(with)e(a)g(good)g(mar)o(gin)f (until)h(the)g(network)g(has)g(been)g(r)o(educed)d(to)j(about)g(96)16 b FI(\000)h FU(80)25 b FE(=)g FU(16)440 3518 y(nodes.)565 3633 y(Even)g(when)h(\002fteen)g(nodes)g(ar)o(e)f(killed)g(per)h(r)o (epublishing)g(interval,)f(as)h(shown)h(in)440 3748 y(Figur)o(e)700 3750 y SDict begin H.S end 700 3750 a -2 x FU(5.3)804 3690 y SDict begin H.R end 804 3690 a 804 3748 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.3) cvn H.B /ANN pdfmark end 804 3748 a FU(,)22 b(the)h(system)g(keeps)g(90\045)e(of)i(the)f (blocks)i(until)f(the)g(network)g(is)g(r)o(educed)e(to)440 3862 y(96)16 b FI(\000)h FU(70)23 b FE(=)h FU(26)19 b(nodes.)565 3977 y(An)30 b(explanation)g(for)g(these)h(surprising)g(r)o(esults)f (can)g(be)h(found)f(in)h(the)g(theor)o(etic)440 4091 y(analysis)20 b(in)f(Section)1132 4093 y SDict begin H.S end 1132 4093 a -2 x FU(3.3.2)1298 4034 y SDict begin H.R end 1298 4034 a 1298 4091 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.3.2) cvn H.B /ANN pdfmark end 1298 4091 a FU(.)g(The)g(pr)o(obability)j FO(P)1969 4103 y FB(s)2017 4091 y FU(of)d(actually)g(losing)i(data)d(in)i(a)f(network) 440 4206 y(of)i(size)g FO(n)k FE(=)f FU(96)c(given)h(that)g FO(r)26 b FE(=)e FU(3)c(nodes)h(have)f(failed)g(is)h(less)g(than)1060 4439 y FO(P)1105 4451 y FB(s)1157 4439 y FE(=)1257 4383 y(\()q FU(3)c FI(\000)f FU(1)q FE(\))r FU(!)r FE(\()q FU(96)h FI(\000)g FU(3)q FE(\))r FU(!)p 1256 4420 593 4 v 1257 4496 a FE(\()q FU(3)g FI(\000)f FU(3)q FE(\))r FU(!)r FE(\()q FU(96)h FI(\000)g FU(1)q FE(\))r FU(!)1883 4439 y FE(=)2093 4383 y FU(2)p 1981 4420 265 4 v 1981 4496 a(95)f FI(\002)h FU(94)2280 4439 y FE(=)24 b FU(0.0226\045.)440 4653 y SDict begin H.S end 440 4653 a 440 4653 a SDict begin 13.79993 H.A end 440 4653 a 440 4653 a SDict begin [ /View [/XYZ H.V] /Dest (section.5.3) cvn H.B /DEST pdfmark end 440 4653 a 94 x FL(5.3)119 b(Maximum)29 b(read)g(and)h(write)f(throughput) 440 4951 y FU(This)d(test)f(measur)o(es)f(the)h(total)g(thr)o(oughput)h (of)f(r)o(eading)f(and)h(writing)h(with)f(dif)o(fer)o(ent)440 5066 y(values)19 b(of)g FO(r)i FU(and)e(dif)o(fer)o(ent)e(numbers)i(of) h(nodes)f(that)g(r)o(ead)e(and)i(write)g(simultaneously)-9 b(.)565 5180 y(The)20 b(motivation)h(for)f(the)h(test)f(is)h(to)f (explor)o(e)g(how)h(the)f(system)h(scales)f(when)h(multi-)440 5295 y(ple)d(nodes)g(ar)o(e)f(r)o(eading)f(and)i(writing)h(at)e(the)h (same)g(time,)g(and)g(to)g(see)g(if)f(the)h(write)g(over)o(-)440 5410 y(head)24 b(pr)o(edicted)f(in)j(Section)1408 5412 y SDict begin H.S end 1408 5412 a -2 x FU(3.4)1511 5352 y SDict begin H.R end 1511 5352 a 1511 5410 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.3.4) cvn H.B /ANN pdfmark end 1511 5410 a 25 w FU(to)g(be)f FO(o)1784 5422 y FB(w)1866 5410 y FI(\031)31 b FO(r)21 b FI(\000)d FU(1)25 b(holds)g(in)h(practise.)e(As)g(described)1831 5662 y(57)p eop end %%Page: 58 60 TeXDict begin 58 59 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.58) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 573 2404 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/robustness-5.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: robustness-5.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Mon Dec 15 11:57:32 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 1310 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 2201 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 3091 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3982 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 0) Cshow 1339 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 1964 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 2588 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 3213 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 3838 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 50) Cshow 4463 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 60) Cshow 5088 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 70) Cshow 5712 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 80) Cshow 6337 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 90) Cshow 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Fraction of lost blocks) Cshow grestore 3838 70 M (Number of killed nodes) Cshow 2.000 UL LT0 1218 4739 M (Run 1) Rshow 1302 4739 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 1081 V 62 266 V 63 117 V 62 5 V 63 159 V 2.000 UL LT1 1218 4599 M (Run 2) Rshow 1302 4599 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 1296 V 62 231 V 63 295 V 62 46 V 63 13 V 2.000 UL LT2 1218 4459 M (Run 3) Rshow 1302 4459 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 1229 V 62 227 V 63 164 V 62 34 V 63 29 V 2.000 UL LT3 1218 4319 M (Run 4) Rshow 1302 4319 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 1065 V 62 210 V 63 299 V 62 38 V 63 33 V 1.000 UL LT4 1218 4179 M (Run 5) Rshow 1302 4179 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 1039 V 62 308 V 63 319 V 62 21 V 63 13 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 2592 a FK(Figur)o(e)16 b(5.2:)866 2487 y SDict begin H.S end 866 2487 a 866 2487 a SDict begin H.R end 866 2487 a 866 2487 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.2) cvn H.B /DEST pdfmark end 866 2487 a 105 x FK(96)i(nodes)g(ar)o(e)g(started)g(and)f(the)h(test)f(kills)g (one)h(node)f(every)i(\002fth)f(minute.)e(No)i(blocks)f(ar)o(e)511 2697 y(lost)h(until)g(90)h(nodes)g(have)h(been)e(killed.)573 4857 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/robustness-1.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: robustness-1.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 15:03:25 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 1310 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 2201 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 3091 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3982 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 0) Cshow 1339 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 1964 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 2588 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 3213 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 3838 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 50) Cshow 4463 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 60) Cshow 5088 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 70) Cshow 5712 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 80) Cshow 6337 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 90) Cshow 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Fraction of lost blocks) Cshow grestore 3838 70 M (Number of killed nodes) Cshow 2.000 UL LT0 1218 4739 M (Run 1) Rshow 1302 4739 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 17 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 21 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 223 V 62 0 V 63 0 V 62 0 V 62 0 V 63 135 V 62 0 V 63 0 V 62 0 V 63 105 V 62 0 V 63 71 V 62 0 V 63 63 V 62 0 V 63 249 V 62 917 V 63 391 V 62 0 V 63 9 V 62 21 V 63 105 V 62 185 V 63 0 V 62 122 V 2.000 UL LT1 1218 4599 M (Run 2) Rshow 1302 4599 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 34 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 218 V 62 0 V 63 0 V 62 0 V 62 0 V 63 68 V 62 0 V 63 0 V 62 0 V 63 29 V 62 9 V 63 29 V 62 0 V 63 34 V 62 345 V 63 0 V 62 963 V 63 13 V 62 0 V 63 13 V 62 0 V 63 118 V 62 138 V 63 0 V 62 215 V 63 345 V 2.000 UL LT2 1218 4459 M (Run 3) Rshow 1302 4459 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 8 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 26 V 62 0 V 63 0 V 62 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 248 V 62 0 V 63 0 V 62 0 V 62 0 V 63 101 V 62 0 V 63 0 V 62 0 V 63 261 V 62 8 V 63 55 V 62 0 V 63 42 V 62 0 V 63 375 V 62 1018 V 63 4 V 62 0 V 63 0 V 62 278 V 63 139 V 62 0 V 63 0 V 62 38 V 63 172 V 2.000 UL LT3 1218 4319 M (Run 4) Rshow 1302 4319 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 4 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 9 V 62 0 V 63 0 V 62 0 V 62 0 V 63 4 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 341 V 62 0 V 63 0 V 62 0 V 62 0 V 63 122 V 62 0 V 63 0 V 62 0 V 63 80 V 62 0 V 63 50 V 62 0 V 63 110 V 62 0 V 63 244 V 62 193 V 63 59 V 62 408 V 63 9 V 62 492 V 63 143 V 62 0 V 63 0 V 62 131 V 63 256 V 2.000 UL LT4 1218 4179 M (Run 5) Rshow 1302 4179 M 399 0 V 776 420 M 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 62 13 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 50 V 62 0 V 63 0 V 62 0 V 62 9 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 96 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 0 V 63 0 V 62 21 V 63 0 V 62 0 V 63 148 V 62 0 V 63 0 V 62 0 V 63 328 V 62 0 V 63 0 V 62 0 V 62 0 V 63 92 V 62 0 V 63 0 V 62 0 V 63 85 V 62 0 V 63 58 V 62 0 V 63 68 V 62 0 V 63 299 V 62 214 V 63 105 V 62 358 V 63 0 V 62 189 V 63 0 V 62 17 V 63 299 V 62 0 V 63 341 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 5045 a(Figur)o(e)k(5.3:)871 4940 y SDict begin H.S end 871 4940 a 871 4940 a SDict begin H.R end 871 4940 a 871 4940 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.3) cvn H.B /DEST pdfmark end 871 4940 a 105 x FK(96)i(nodes)f(ar)o(e)g(started)g(and)g(the)g(test)g(kills)f(a)h (node)g(every)h(minute.)e(No)h(blocks)g(ar)o(e)g(lost)511 5150 y(until)14 b(between)g(25)j(and)e(45)h(nodes)g(have)g(been)f (killed.)g(When)g(70)h(nodes)g(have)g(been)f(killed,)g(the)g(number)511 5255 y(of)k(lost)f(blocks)h(incr)o(eases)g(dramatically)m(.)1831 5662 y FU(58)p eop end %%Page: 59 61 TeXDict begin 59 60 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.59) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 573 2330 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/robustness-example-5.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: robustness-example-5.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 23:10:59 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 1310 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 2201 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 3091 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3982 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 0) Cshow 1339 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 1964 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 2588 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 3213 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 3838 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 50) Cshow 4463 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 60) Cshow 5088 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 70) Cshow 5712 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 80) Cshow 6337 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 90) Cshow 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Fraction of total blocks) Cshow grestore 3838 70 M (Number of killed nodes) Cshow 4.000 UL LT0 6311 4739 M (0 replicas) Rshow 6395 4739 M 399 0 V 746 420 M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 1124 V 0 -38 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 266 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 117 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 189 V 0 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 3.000 UL LT1 6311 4599 M (1 replica) Rshow 6395 4599 M 399 0 V 746 420 M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 130 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V currentpoint stroke M 1 0 V 0 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 168 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 46 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 173 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 -12 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 63 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 101 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -16 V 1 0 V 1 0 V 1 -34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 135 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 316 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -13 V 1 -16 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 0 -26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 0 -17 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 126 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 1237 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -55 V 1 0 V 1 0 V 1 -12 V 0 -42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -223 V 0 38 V 1 4 V 1 0 V 0 -9 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -202 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -16 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -29 V 0 -13 V 1 -4 V 0 -21 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -26 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -42 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -30 V 0 -8 V 1 0 V 0 -34 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -38 V 1 -13 V 0 -8 V 0 -13 V 0 -4 V 1 0 V 0 -8 V 1 0 V 0 -13 V 1 0 V 0 -9 V 1 245 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -13 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -9 V 0 -50 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -13 V 1 0 V 0 -25 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -38 V currentpoint stroke M 0 -13 V 0 -8 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 -25 V 1 0 V 0 -25 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 450 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -34 V 0 -34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -29 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 2542 V 0 30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2.000 UL LT2 6311 4459 M (2 replicas) Rshow 6395 4459 M 399 0 V 746 420 M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 177 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -38 V 1 0 V 1 0 V 0 76 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -42 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -25 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 232 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 202 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -9 V 0 -29 V 0 -17 V 1 0 V 0 -4 V 1 -4 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 -5 V 0 -8 V 0 -4 V 1 0 V 1 0 V 0 -34 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -29 V 0 -22 V 1 -4 V 0 -12 V 0 -13 V 1 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -33 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -13 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 0 193 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 92 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -29 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -13 V 0 -12 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -46 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 118 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -9 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 109 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 -8 V 0 -8 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 -8 V 1 -4 V 0 -9 V 1 -4 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 173 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 126 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -5 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -13 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 0 -16 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 0 -8 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -17 V currentpoint stroke M 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -8 V 1 -5 V 1 0 V 0 131 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -5 V 0 -8 V 1 0 V 0 -4 V 0 -5 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 151 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -4 V 0 -17 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 68 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 0 -13 V 0 -12 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -4 V 0 -4 V 0 -5 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 101 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 80 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -9 V 1 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 189 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -4 V 1 0 V 0 -13 V 1 -4 V 1 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -21 V 1 0 V 0 160 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 -8 V 1 0 V 0 -5 V 0 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 -4 V 1 -12 V 1 0 V 0 -21 V 1 0 V 0 -9 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 109 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 80 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 -5 V 1 0 V 1 0 V 0 -8 V 0 -21 V 1 0 V 0 -4 V 1 0 V 1 -13 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 122 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 160 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V currentpoint stroke M 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -12 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -4 V 0 -12 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -5 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 164 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 0 -4 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 105 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -13 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -8 V 1 0 V 0 -13 V 1 0 V 1 -4 V 0 206 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 0 -8 V 1 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 155 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 0 -8 V 1 0 V 0 -5 V 0 -8 V 1 0 V 0 -8 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 -8 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 210 V 1 -4 V 1 0 V currentpoint stroke M 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 0 -5 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 0 -13 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 202 V 1 0 V 1 0 V 0 -5 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 -8 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 168 V 1 0 V 0 -17 V 1 -4 V 1 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 0 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 164 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -17 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 248 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -22 V 1 0 V 1 0 V 0 -4 V 1 -4 V 0 -4 V 0 -30 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 -4 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -21 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -8 V 1 0 V 0 -9 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 -5 V 0 -12 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -13 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 -12 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 139 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 190 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -16 V 1 0 V 0 -13 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 185 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -9 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 0 185 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -5 V 0 -4 V 0 -8 V 1 -9 V 0 -8 V 1 0 V 1 -4 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 -4 V 0 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -17 V 1 0 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -4 V 0 -4 V 1 -4 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -8 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 168 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 126 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -21 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -13 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 181 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -4 V 0 -13 V 0 -4 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 244 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 -5 V 0 -4 V 1 0 V 1 0 V 1 -4 V 0 -8 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 -5 V 1 0 V 0 -4 V 1 -8 V 1 0 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 -4 V 0 -5 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 0 -16 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 -4 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 -4 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -13 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 -9 V 0 244 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -4 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 215 V 1 -4 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -5 V 1 -4 V 1 0 V 1 -8 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -8 V 1 0 V 0 -8 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -12 V 1 0 V 0 -9 V 1 0 V 0 -4 V 0 -17 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 -4 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -13 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 277 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 -4 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -8 V 1 0 V 1 -4 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -21 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -8 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 219 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -4 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -13 V 1 0 V 0 -4 V 0 -12 V 1 0 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -21 V 0 -9 V 0 -37 V 1 0 V 1 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -12 V 1 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 269 V 1 -8 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -4 V 0 -13 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 0 -4 V 1 -5 V 0 -4 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 -5 V 0 -16 V 1 0 V 1 0 V 0 -5 V 1 -4 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 -4 V 0 -13 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 319 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 -5 V 0 -4 V 1 0 V 0 -8 V 0 -4 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -9 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -13 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -4 V 0 -4 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 -17 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V currentpoint stroke M 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -22 V 1 -4 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 312 V 1 0 V 1 -5 V 0 -8 V 0 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -16 V 1 -5 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -13 V 1 -25 V 1 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -13 V 1 -12 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -9 V 0 -4 V 1 0 V 0 -33 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -16 V 1 0 V 1 0 V 1 0 V 0 324 V 1 0 V 0 -17 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 -4 V 1 -13 V 1 0 V 1 0 V 0 -4 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -12 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 257 V 1 0 V 0 -13 V 1 0 V 0 -17 V 1 -4 V 1 0 V 1 -13 V 0 -4 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -4 V 0 -17 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -9 V 1 -12 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -16 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 218 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -8 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 -9 V 1 -25 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 459 V 1 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -21 V 1 0 V 1 0 V 1 -9 V 0 -29 V 0 -13 V 1 0 V 0 -8 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -16 V 1 0 V currentpoint stroke M 1 0 V 1 -5 V 0 -4 V 1 0 V 0 -8 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -37 V 1 -5 V 1 0 V 0 -12 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -42 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -5 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 223 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -17 V 0 -9 V 1 -4 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -13 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 -5 V 0 -4 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -5 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -17 V 1 0 V 0 256 V 1 0 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -12 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -29 V 1 -4 V 1 -9 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 -17 V 0 -17 V 0 -4 V 1 -4 V 1 0 V 0 -8 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -13 V 0 -8 V 1 0 V 1 0 V 0 -8 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 0 -9 V 0 -4 V 1 0 V 1 0 V 0 -8 V 0 -4 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 378 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -13 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -8 V 1 0 V 0 -8 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 270 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 0 4 V 0 -12 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -16 V 1 0 V 1 0 V 0 -21 V 0 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 0 -21 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 -4 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -38 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -17 V 1 0 V 0 -25 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -50 V currentpoint stroke M 1 -9 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 -26 V 1 -16 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 0 -17 V 1 0 V 0 269 V 1 0 V 0 -4 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -12 V 1 0 V 1 -5 V 0 -4 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -12 V 1 0 V 0 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 0 -8 V 1 -4 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 505 V 1 0 V 0 -4 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -8 V 0 -26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -13 V 1 -8 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -34 V 1 0 V 1 -8 V 0 -17 V 0 -13 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -29 V 1 0 V 1 0 V 0 311 V 1 0 V 0 -4 V 1 -9 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -13 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -26 V 1 -8 V 0 -17 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -21 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 -12 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -9 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 1 0 V 0 -33 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 -8 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 311 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -8 V 1 0 V 1 0 V 0 -5 V 0 -12 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -4 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 -4 V 0 -21 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 -17 V 1 0 V 0 -4 V 1 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 345 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 0 -4 V 1 0 V 1 0 V 0 -8 V 0 -4 V 1 0 V 0 -9 V 1 0 V currentpoint stroke M 1 0 V 0 -4 V 1 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -21 V 0 -8 V 1 0 V 1 0 V 0 -8 V 0 -5 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 0 -5 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 -8 V 1 0 V 1 0 V 1 -4 V 0 -21 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -12 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 0 -5 V 1 0 V 0 -4 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 0 307 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -9 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 0 -16 V 1 0 V 0 -13 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 -4 V 1 0 V 0 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -13 V 1 0 V 1 0 V 1 -8 V 1 0 V 0 -5 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -13 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -8 V 1 0 V 0 -17 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 387 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -34 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -21 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -16 V 0 -17 V 1 -4 V 1 0 V 0 -13 V 1 0 V 0 -9 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -16 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -17 V 1 -4 V 0 -5 V 0 -8 V 1 0 V 1 0 V 0 -13 V 1 -12 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -8 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 278 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -4 V 1 -13 V 1 0 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 -13 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -9 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 -5 V 0 -25 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 0 -13 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -9 V 0 -12 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 686 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -21 V 0 -4 V 0 -9 V 0 -4 V 1 0 V 1 0 V 0 -12 V 1 -9 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 0 -46 V 1 0 V 1 0 V 1 -9 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -29 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -13 V 0 -9 V 1 0 V 0 -54 V 1 0 V 0 -9 V 1 0 V 0 -4 V currentpoint stroke M 1 0 V 0 -17 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -8 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 573 V 1 0 V 0 -22 V 1 0 V 0 -4 V 1 -4 V 0 -34 V 1 -16 V 1 0 V 1 0 V 1 -9 V 1 0 V 0 -8 V 1 -13 V 0 -4 V 1 0 V 1 -4 V 0 -21 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -17 V 1 -13 V 1 -4 V 0 -8 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -26 V 0 -21 V 0 -12 V 1 0 V 0 -4 V 1 -9 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -21 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -21 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -25 V 0 -26 V 0 -8 V 0 -4 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 -34 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -4 V 1 249 V 1 0 V 0 -5 V 0 -4 V 1 0 V 0 -21 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -38 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -30 V 0 -8 V 1 0 V 1 0 V 0 -21 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -46 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -47 V 1 -4 V 1 0 V 1 0 V 1 -4 V 0 -8 V 1 0 V 0 -5 V 0 -21 V 1 0 V 1 0 V 1 -50 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -38 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 791 V 0 -8 V 1 0 V 0 -9 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -43 V 1 0 V 0 -21 V 1 -8 V 1 -8 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -38 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -16 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 -8 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 -38 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -21 V 0 -34 V 0 -21 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 -8 V 0 353 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 -9 V 1 0 V 1 0 V 0 -17 V 1 -8 V 1 0 V 0 -25 V 1 -9 V 0 -12 V 1 0 V 1 0 V 1 -4 V 1 -26 V 1 0 V 0 -17 V 1 0 V 0 -4 V 0 -29 V 1 0 V 0 -4 V 1 0 V 1 -13 V 0 -4 V 0 -4 V 1 0 V 1 0 V 0 -21 V 1 -5 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -30 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -8 V 1 -30 V 1 0 V 0 -8 V 1 -9 V 1 0 V 1 -54 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 -17 V 0 -17 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -8 V 1 0 V 0 -13 V 1 0 V 1 0 V currentpoint stroke M 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -30 V 1 -17 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 -8 V 0 -4 V 0 -9 V 1 0 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 282 V 0 -4 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 0 -16 V 1 0 V 0 -5 V 0 -4 V 0 -4 V 1 0 V 0 -4 V 0 -4 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -13 V 1 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 0 -4 V 1 0 V 1 -8 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 -16 V 0 -9 V 0 -4 V 1 -4 V 1 -4 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 -34 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 0 -4 V 0 -4 V 0 -9 V 1 0 V 1 379 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -4 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 0 -4 V 0 -13 V 1 0 V 1 -17 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 -8 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 -21 V 1 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 -8 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -17 V 1 -4 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 4 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 -4 V 1 -30 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 0 227 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 -17 V 0 9 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 0 V 1 -4 V 1 0 V 0 -9 V 1 -4 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 -9 V 1 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 370 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -9 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -4 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 -5 V 1 -4 V 0 -42 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -17 V 1 0 V 0 -25 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -4 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -16 V 1 0 V 1 -9 V 0 -59 V 0 -12 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -26 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -12 V 0 -13 V 1 416 V 1 0 V 1 -4 V 1 0 V 0 -4 V 1 0 V 0 -8 V 1 0 V 0 -9 V 0 -4 V 0 -17 V 1 -4 V 1 0 V 0 -8 V 0 -5 V 1 0 V 1 0 V 0 -4 V currentpoint stroke M 0 -4 V 1 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 -13 V 0 -17 V 1 0 V 0 -4 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -13 V 1 0 V 0 -8 V 1 0 V 0 -9 V 0 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 -21 V 1 -4 V 1 0 V 1 -9 V 0 -25 V 1 0 V 1 0 V 0 -8 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -4 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -8 V 0 -8 V 1 0 V 1 -13 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 134 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 -4 V 0 13 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -21 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -22 V 1 0 V 0 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 4 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 403 V 0 -16 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -4 V 1 0 V 0 -9 V 1 -4 V 1 0 V 0 -8 V 1 0 V 0 -5 V 1 -8 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 0 -21 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 -29 V 1 0 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 475 V 1 0 V 0 -4 V 1 0 V 0 -12 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -8 V 0 -17 V 1 0 V 1 -9 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -16 V 0 -17 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -17 V 1 -38 V 0 -25 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -42 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 0 V 0 -8 V 0 -46 V 0 -21 V 1 0 V 1 0 V 1 -5 V 0 -4 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -33 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 0 572 V 0 -8 V 1 -4 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 -5 V 1 0 V 0 -33 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -5 V 1 0 V 1 0 V 1 -8 V 0 -9 V 1 0 V 0 -4 V 1 0 V 0 -63 V 1 0 V 1 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 -21 V 0 -21 V 1 -4 V 1 -4 V 0 -21 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 0 V 1 -12 V 0 -13 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -13 V 0 -4 V 1 0 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -17 V 1 -9 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -21 V 0 -4 V 1 0 V 0 488 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -17 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -5 V 0 -4 V 1 0 V 1 -4 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -8 V 1 0 V 0 -4 V 0 -30 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 -4 V 0 -13 V 1 0 V 0 -33 V 1 0 V 1 -4 V 0 -13 V 1 -8 V 1 0 V 0 -22 V 1 -21 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -12 V 1 0 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -8 V 0 -5 V 0 -17 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -33 V 1 -4 V 0 -21 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -8 V 0 -5 V 0 -8 V 0 568 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -4 V 1 -9 V 0 -12 V 1 0 V 1 0 V 1 -4 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 -8 V 0 -9 V 0 -8 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -8 V 0 -13 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -5 V 0 -25 V 0 -4 V 0 -21 V 1 0 V 1 0 V 0 -4 V 0 -26 V 0 -4 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -17 V 1 0 V 0 -4 V 0 -8 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -4 V 0 -4 V 1 0 V 1 -5 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -25 V 0 -21 V 1 -8 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 -4 V 1 0 V 1 -9 V 1 0 V 0 -8 V 0 210 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -13 V 1 -4 V 1 -9 V 0 -4 V 1 -12 V 1 0 V 0 -5 V 1 9 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -26 V 1 0 V 0 -4 V 1 0 V 0 -29 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 -21 V 0 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 551 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 -13 V 1 0 V 1 -8 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 -4 V 0 -8 V 1 0 V 0 -17 V 0 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -12 V 0 -5 V 0 -17 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -46 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -42 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 0 -8 V currentpoint stroke M 0 -34 V 1 0 V 1 -8 V 1 0 V 1 -17 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -21 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -38 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -13 V 1 0 V 0 -8 V 1 0 V 1 -5 V 1 0 V 0 -46 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -8 V 1 0 V 1 0 V 0 728 V 1 0 V 1 0 V 1 -5 V 1 -12 V 0 -13 V 1 0 V 0 -13 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -8 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -4 V 1 -5 V 1 -4 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 13 V 0 -17 V 1 0 V 1 0 V 0 -4 V 1 -30 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 0 -9 V 1 -8 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -38 V 1 0 V 1 0 V 0 -34 V 0 -4 V 1 0 V 0 -8 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -17 V 1 0 V 0 -30 V 1 0 V 0 -8 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 1077 V 1 -8 V 1 0 V 1 0 V 0 -30 V 0 -12 V 1 0 V 0 -34 V 0 -38 V 1 0 V 0 -17 V 1 0 V 0 -4 V 1 -13 V 1 0 V 0 -25 V 1 -4 V 0 -13 V 0 -12 V 1 0 V 0 -5 V 1 0 V 0 -8 V 1 -13 V 0 -33 V 0 -4 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -51 V 0 -4 V 0 -8 V 1 -13 V 1 0 V 1 -4 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 -13 V 1 0 V 0 -34 V 0 -71 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 -50 V 0 -17 V 1 0 V 0 -4 V 1 -17 V 1 0 V 1 0 V 0 -4 V 1 -13 V 1 0 V 0 -21 V 0 -67 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -21 V 1 -59 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 0 -21 V 0 -17 V 1 0 V 1 0 V 0 -30 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -50 V 1 0 V 1 0 V 0 -38 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 1056 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -13 V 1 0 V 0 -46 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 -16 V 1 0 V 1 0 V 0 -5 V 0 -25 V 0 -97 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 4 V 0 -42 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 -38 V 1 0 V 0 -25 V 1 0 V 0 -4 V 1 0 V 1 -13 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -46 V 0 -9 V 1 0 V 1 -4 V 0 -50 V 0 -9 V 0 -12 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 -4 V 0 -51 V 0 -42 V 0 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -9 V 1 0 V 0 -67 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -46 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 1 -22 V 0 -88 V 1 0 V 0 951 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 0 -26 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -54 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 4 V 0 -4 V 1 -21 V 0 -55 V 0 -8 V 1 0 V 1 -4 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 -47 V 1 0 V 1 0 V 0 -16 V 0 -30 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 0 V 0 -4 V 1 -42 V 1 0 V 0 -9 V 0 -38 V 1 0 V 1 -12 V 0 -4 V 1 0 V 1 0 V 1 -64 V 0 -4 V 1 0 V 1 -12 V 1 -30 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 1 -67 V 0 -17 V 0 13 V 0 -9 V 1 -8 V 0 -9 V 1 -88 V 1 0 V currentpoint stroke M 1 -17 V 1 0 V 1 0 V 1 -42 V 0 -4 V 0 -4 V 0 -34 V 1 0 V 0 -46 V 1 0 V 0 -13 V 1 -17 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 0 -13 V 1 0 V 0 -4 V 0 -25 V 1 0 V 0 934 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 0 -25 V 1 0 V 0 17 V 1 0 V 1 0 V 1 -30 V 1 0 V 0 -4 V 0 -8 V 1 -4 V 0 -5 V 0 -21 V 1 0 V 0 -4 V 1 0 V 0 -21 V 0 -21 V 1 0 V 1 0 V 0 -25 V 1 -26 V 0 -12 V 1 0 V 0 -4 V 1 0 V 0 -26 V 1 0 V 0 -8 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -4 V 0 -21 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -42 V 0 -16 V 0 -13 V 1 0 V 0 -8 V 0 -17 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 -29 V 1 -9 V 1 0 V 1 -25 V 0 -21 V 0 -12 V 0 -5 V 1 0 V 0 -4 V 1 0 V 1 -4 V 0 -34 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -13 V 1 0 V 0 -34 V 1 0 V 0 -12 V 0 -5 V 1 0 V 1 0 V 0 -4 V 0 -12 V 1 0 V 0 -42 V 1 0 V 1 0 V 0 -38 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -12 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 0 V 1 -8 V 0 -17 V 0 -9 V 1 -16 V 0 -5 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -34 V 1 0 V 0 804 V 1 0 V 0 -21 V 1 0 V 0 -4 V 0 -4 V 0 -34 V 1 0 V 1 0 V 1 8 V 0 5 V 1 0 V 0 4 V 0 -4 V 1 0 V 0 -9 V 1 -4 V 0 -4 V 1 -4 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 -42 V 0 -38 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -4 V 1 0 V 0 -8 V 0 -13 V 1 -4 V 0 -21 V 1 -4 V 1 0 V 0 -9 V 1 0 V 0 -8 V 0 -4 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 4 V 0 -13 V 1 0 V 0 -16 V 0 -5 V 1 0 V 0 -50 V 1 0 V 1 0 V 0 -9 V 1 0 V 0 -12 V 0 -21 V 1 -4 V 1 0 V 0 -17 V 1 -21 V 0 -13 V 1 0 V 1 0 V 0 -17 V 0 -17 V 1 0 V 0 -25 V 1 0 V 0 -8 V 0 -17 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 -42 V 0 -8 V 1 0 V 1 0 V 0 -13 V 0 -25 V 1 0 V 1 0 V 0 -63 V 1 0 V 0 -34 V 0 -17 V 0 -13 V 1 0 V 1 0 V 1 -12 V 0 -13 V 0 -21 V 1 0 V 0 -8 V 1 -21 V 1 0 V 1 0 V 0 -26 V 1 0 V 0 -4 V 0 -8 V 1 0 V 0 1052 V 0 -55 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 -21 V 0 -59 V 1 0 V 1 0 V 0 -4 V 1 -55 V 0 -4 V 1 0 V 0 -9 V 0 -4 V 1 0 V 0 -4 V 1 0 V 1 -38 V 1 0 V 0 -25 V 1 0 V 0 -9 V 1 0 V 0 -8 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -38 V 1 -25 V 0 -4 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -4 V 1 -17 V 1 0 V 0 -13 V 0 -42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -38 V 1 0 V 1 0 V 0 -12 V 1 -5 V 0 -21 V 0 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -8 V 0 -21 V 0 -34 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 863 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 0 -34 V 1 0 V 0 -4 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 0 -25 V 0 -46 V 1 0 V 0 -13 V 0 -33 V 1 -5 V 0 -21 V 0 -8 V 1 -17 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 0 -12 V 1 0 V 1 0 V 0 -21 V 0 -47 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 -17 V 0 -29 V 0 -13 V 1 0 V 1 -4 V 1 0 V 1 -42 V 0 -21 V 1 0 V 1 0 V currentpoint stroke M 0 -9 V 1 0 V 0 -17 V 1 0 V 1 0 V 0 -12 V 0 -13 V 0 -42 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 0 V 0 -8 V 0 -22 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -84 V 1 -8 V 1 -4 V 0 -5 V 0 -12 V 1 -59 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -8 V 0 -13 V 0 -4 V 0 -30 V 1 -12 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 0 -50 V 1 0 V 0 -17 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -76 V 0 -4 V 1 0 V 1 0 V 0 -8 V 0 -9 V 0 -12 V 1 0 V 1 -30 V 0 791 V 0 26 V 1 -9 V 1 0 V 0 -38 V 1 0 V 0 -4 V 0 -67 V 1 0 V 0 -21 V 1 0 V 0 -4 V 1 0 V 0 -5 V 1 0 V 0 -12 V 0 -21 V 1 -9 V 0 -17 V 1 0 V 1 -8 V 0 -4 V 0 -25 V 1 0 V 0 -5 V 0 -63 V 1 0 V 1 0 V 1 0 V 0 -29 V 0 -4 V 1 -21 V 1 0 V 0 -9 V 1 0 V 0 -25 V 1 0 V 1 0 V 0 -25 V 1 -42 V 1 0 V 1 0 V 1 0 V 0 -30 V 0 -38 V 1 -4 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 -8 V 0 -21 V 1 0 V 0 -17 V 1 -5 V 0 -29 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 0 -4 V 0 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -5 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 -25 V 1 0 V 0 -9 V 0 -16 V 1 0 V 1 0 V 0 -21 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -29 V 1 0 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 2137 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -5 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -29 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -33 V 1 0 V 0 -13 V 1 0 V 0 -51 V 1 0 V 0 -8 V 1 0 V 1 0 V 0 -4 V 0 -9 V 1 0 V 1 0 V 1 -59 V 0 -12 V 1 0 V 0 -42 V 0 -72 V 1 0 V 0 -21 V 1 0 V 1 0 V 0 -12 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -63 V 1 0 V 1 0 V 0 -4 V 1 -9 V 0 -37 V 0 -13 V 1 0 V 0 -25 V 1 0 V 0 -26 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -4 V 0 -17 V 1 -126 V 0 -68 V 0 -8 V 1 0 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 0 -16 V 0 -13 V 1 0 V 1 0 V 0 -38 V 1 -29 V 1 0 V 0 -17 V 1 -4 V 1 0 V 0 -68 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 0 -63 V 1 -80 V 0 -9 V 0 -8 V 1 0 V 1 0 V 0 -4 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -55 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -88 V 0 -17 V 1 -336 V 0 -22 V 0 -8 V 1 0 V 0 -13 V 1 -29 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 0 54 V 1 -29 V 0 -21 V 1 0 V 1 12 V 0 30 V 0 -67 V 0 -26 V 0 -12 V 1 -13 V 1 0 V 0 -4 V 1 0 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 0 -12 V 0 -791 V 1 0 V 0 -17 V 1 0 V 0 8 V 0 -8 V 1 0 V 0 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 1086 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 -21 V 0 -4 V 1 0 V 1 0 V 0 -46 V 0 -13 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 5 V 1 -9 V 1 0 V 0 -4 V 1 -4 V 1 0 V 0 -38 V 0 -4 V 1 0 V 1 -13 V 0 -12 V 1 0 V 0 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 0 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -12 V 1 0 V currentpoint stroke M 0 -17 V 0 -4 V 1 0 V 1 0 V 0 21 V 0 -4 V 1 4 V 0 -38 V 1 0 V 1 0 V 0 -17 V 1 0 V 1 -8 V 0 -17 V 0 -17 V 1 0 V 1 0 V 1 0 V 0 4 V 0 -8 V 1 38 V 0 -4 V 0 -34 V 0 -21 V 1 0 V 1 0 V 1 0 V 0 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -25 V 1 -4 V 1 0 V 1 -13 V 0 17 V 0 17 V 0 -21 V 1 0 V 0 4 V 0 -21 V 1 0 V 0 -13 V 1 0 V 1 -8 V 0 -17 V 1 0 V 1 0 V 1 -4 V 0 38 V 1 8 V 0 13 V 0 -17 V 1 0 V 0 -34 V 0 -8 V 1 0 V 0 -25 V 1 0 V 0 -13 V 1 829 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -9 V 0 -13 V 1 0 V 1 0 V 0 -12 V 1 0 V 1 0 V 1 0 V 0 -13 V 0 -8 V 0 -25 V 1 0 V 1 0 V 0 -9 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -21 V 0 -17 V 1 0 V 1 0 V 0 -34 V 1 0 V 1 0 V 0 42 V 0 -29 V 1 -30 V 1 0 V 1 0 V 0 -33 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -17 V 0 -12 V 1 0 V 0 -4 V 0 -13 V 0 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -30 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 -5 V 0 -12 V 1 -4 V 1 0 V 0 -5 V 0 -4 V 1 0 V 1 0 V 1 -38 V 0 -16 V 1 0 V 0 -22 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 -13 V 1 0 V 1 0 V 0 -17 V 0 -25 V 1 0 V 1 0 V 1 0 V 0 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 1477 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 17 V 1 0 V 1 0 V 1 0 V 0 4 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 22 V 1 0 V 1 0 V 1 0 V 1 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 33 V 0 34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 0 8 V 1 0 V 1 0 V 1 0 V 0 -2731 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1.000 UL LT3 6311 4319 M (3 replicas) Rshow 6395 4319 M 399 0 V 746 4872 M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -177 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 38 V 1 0 V 1 0 V 0 -76 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 42 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 25 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 0 25 V 1 0 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -232 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 -202 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 9 V 0 29 V 0 17 V 1 0 V 0 4 V 1 4 V 0 17 V 1 0 V 1 0 V 0 4 V 1 5 V 0 8 V 0 4 V 1 0 V 1 0 V 0 34 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 29 V 0 22 V 1 4 V 0 12 V 0 13 V 1 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 0 21 V 0 33 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 0 13 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 0 -206 V 1 0 V 1 0 V 1 0 V 0 4 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -93 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 30 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 13 V 0 12 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 46 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 0 -118 V 1 0 V 1 0 V 1 0 V 0 9 V 0 4 V 1 0 V 0 4 V 0 4 V 1 0 V 0 9 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -109 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 8 V 0 8 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 8 V 1 4 V 0 9 V 1 4 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 0 4 V 1 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 1 -173 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -126 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 5 V 1 0 V 1 4 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 4 V 0 13 V 0 12 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 0 16 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 0 8 V 0 4 V 1 0 V 0 4 V 1 0 V currentpoint stroke M 0 17 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 8 V 1 5 V 1 0 V 0 -131 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 0 5 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 5 V 0 8 V 1 0 V 0 4 V 0 5 V 1 0 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 0 9 V 0 4 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -151 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 0 4 V 0 17 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 4 V 1 -68 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 0 13 V 0 12 V 1 0 V 0 5 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 0 4 V 0 5 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 13 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 5 V 1 0 V 1 4 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 -106 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 0 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 4 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -80 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 5 V 1 0 V 1 4 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 0 9 V 1 8 V 1 0 V 0 8 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -189 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 4 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 4 V 0 8 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 0 4 V 1 0 V 0 13 V 1 4 V 1 4 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 4 V 0 21 V 1 0 V 0 -160 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 8 V 1 0 V 0 5 V 0 16 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 4 V 1 12 V 1 0 V 0 21 V 1 0 V 0 9 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 4 V 1 0 V 0 4 V 1 0 V 0 8 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -109 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -93 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 1 4 V 1 0 V 1 0 V 0 9 V 0 21 V 1 0 V 0 4 V 1 0 V 1 13 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 5 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 -122 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 4 V 1 0 V 0 -160 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 1 0 V 1 4 V 1 0 V currentpoint stroke M 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 5 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 12 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 4 V 0 12 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 5 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -164 V 0 4 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 0 4 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -105 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 0 5 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 13 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 8 V 1 0 V 0 13 V 1 0 V 1 4 V 0 -206 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 1 0 V 0 4 V 1 0 V 0 5 V 0 8 V 1 4 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 -155 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 9 V 1 8 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 0 8 V 1 0 V 0 5 V 0 8 V 1 0 V 0 8 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 12 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 1 8 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 0 4 V 1 4 V 1 0 V currentpoint stroke M 1 -210 V 1 4 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 0 5 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 0 13 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -202 V 1 0 V 1 0 V 0 5 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 0 4 V 1 0 V 1 0 V 1 0 V 1 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 1 8 V 0 5 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 0 -168 V 1 0 V 0 17 V 1 4 V 1 4 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 0 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -164 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 9 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 17 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -248 V 1 0 V 0 4 V 0 13 V 1 0 V 0 8 V 1 0 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 22 V 1 0 V 1 0 V 0 4 V 1 4 V 0 4 V 0 30 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 4 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 1 21 V 1 0 V 0 8 V 1 0 V 1 0 V 0 13 V 1 0 V 0 8 V 1 0 V 0 9 V 0 4 V 1 0 V 1 4 V 1 0 V 1 4 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 4 V 1 5 V 0 12 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 13 V 0 8 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 1 12 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -139 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 -190 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 16 V 1 0 V 0 13 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 8 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -185 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 4 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 0 9 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 0 -185 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 4 V 1 0 V 1 0 V 1 5 V 0 4 V 0 8 V 1 9 V 0 8 V 1 0 V 1 4 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 8 V 1 4 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 4 V 0 5 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 17 V 1 0 V 1 0 V 0 4 V 1 4 V 1 0 V 1 0 V 1 0 V 0 9 V 0 4 V 0 4 V 1 4 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 8 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 5 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 -168 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 0 -126 V 0 4 V 1 0 V 1 4 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 21 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 4 V 1 0 V 1 0 V 1 4 V 1 0 V 0 13 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 -181 V 1 0 V 0 4 V 1 0 V 1 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 4 V 0 13 V 0 4 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 4 V 1 0 V 1 0 V 1 0 V 0 -244 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 5 V 0 4 V 1 0 V 1 0 V 1 4 V 0 8 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 5 V 1 0 V 0 4 V 1 8 V 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 1 4 V 0 5 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 0 16 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 4 V 0 9 V 1 0 V 1 0 V 0 4 V 1 4 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 0 13 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 9 V 0 -244 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 4 V 0 4 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 4 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -215 V 1 4 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 4 V 0 5 V 1 4 V currentpoint stroke M 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 0 8 V 1 0 V 0 8 V 0 5 V 1 0 V 0 4 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 12 V 1 0 V 0 9 V 1 0 V 0 4 V 0 17 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 4 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 13 V 1 0 V 1 0 V 0 12 V 1 0 V 0 -294 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 5 V 0 8 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 8 V 1 0 V 1 5 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 21 V 1 0 V 0 5 V 0 8 V 1 0 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 26 V 1 0 V 1 0 V 0 8 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 12 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 -219 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 13 V 1 0 V 0 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 21 V 0 13 V 1 0 V 0 4 V 0 12 V 1 0 V 1 0 V 0 5 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 21 V 0 9 V 0 37 V 1 0 V 1 5 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 0 9 V 1 0 V 0 12 V 1 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 4 V 1 0 V 1 0 V 0 -269 V 1 8 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 4 V 0 13 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 0 4 V 1 5 V 0 4 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 5 V 0 16 V 1 0 V 1 0 V 0 5 V 1 4 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 4 V 0 13 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 4 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 -319 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 5 V 0 4 V 1 0 V 0 8 V 0 4 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 0 9 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 0 13 V 1 0 V 0 4 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 4 V 0 4 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 0 8 V 1 0 V 1 0 V 0 4 V 1 17 V 1 0 V 1 0 V 0 8 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 22 V 1 4 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -312 V 1 0 V 1 5 V 0 8 V 0 13 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 13 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 0 16 V 1 5 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 0 13 V 1 25 V 1 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 13 V 1 12 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 9 V 0 4 V 1 0 V 0 33 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 16 V 1 0 V 1 0 V 1 0 V 0 -324 V 1 0 V 0 17 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 12 V 1 0 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 0 4 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 0 12 V 1 0 V 0 13 V 1 0 V 1 0 V 0 -257 V 1 0 V 0 13 V 1 0 V 0 17 V 1 4 V 1 0 V 1 13 V 0 4 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 4 V 0 17 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 8 V 0 9 V 1 12 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 12 V 1 0 V 1 0 V 0 9 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 16 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 -218 V 1 0 V 0 8 V 1 0 V 1 0 V 0 4 V 1 0 V 1 4 V 1 0 V 0 13 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 8 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 8 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 9 V 1 25 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 17 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 0 13 V 1 0 V 1 0 V 1 0 V 0 -459 V 1 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 21 V 1 0 V 1 0 V 1 9 V 0 29 V 0 13 V 1 0 V 0 8 V 0 13 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 0 16 V 1 0 V 1 0 V 1 5 V 0 4 V 1 0 V 0 8 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 37 V 1 5 V 1 0 V 0 12 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 42 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 0 5 V 1 0 V 0 25 V 1 0 V 1 0 V 0 -223 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 17 V 0 9 V 1 4 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 13 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 5 V 0 4 V 0 17 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 0 21 V 1 0 V 0 4 V 1 0 V 0 5 V 1 8 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 5 V 0 8 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 17 V 1 0 V 0 -256 V 1 0 V 1 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 12 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 29 V 1 4 V 1 9 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 17 V 0 17 V 0 4 V 1 4 V 1 0 V 0 8 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 13 V 0 8 V 1 0 V 1 0 V 0 8 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 0 9 V 0 4 V 1 0 V 1 0 V 0 8 V 0 4 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -412 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 13 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 12 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 8 V 1 0 V 0 8 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 0 12 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 -270 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 0 8 V 0 13 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 21 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 0 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 0 21 V 1 0 V 1 0 V 0 4 V 1 0 V 0 9 V 1 4 V 0 25 V 1 0 V 1 0 V 1 0 V 0 38 V 1 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 17 V 1 0 V 0 25 V 1 0 V 0 17 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V currentpoint stroke M 0 5 V 1 0 V 0 4 V 1 0 V 0 50 V 1 9 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 26 V 1 16 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 4 V 0 17 V 1 0 V 0 -269 V 1 0 V 0 4 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 12 V 1 0 V 1 5 V 0 4 V 1 0 V 0 4 V 0 13 V 1 0 V 0 12 V 1 0 V 0 9 V 1 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 0 8 V 1 4 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 -505 V 1 0 V 0 4 V 1 0 V 0 12 V 1 0 V 1 0 V 0 5 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 9 V 1 0 V 0 4 V 1 0 V 1 0 V 0 34 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 8 V 0 26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 0 8 V 1 13 V 1 8 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 0 V 1 8 V 0 17 V 0 13 V 1 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 0 13 V 1 0 V 0 29 V 1 0 V 1 0 V 0 -311 V 1 0 V 0 4 V 1 9 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 13 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 0 26 V 1 8 V 0 17 V 0 8 V 1 0 V 1 0 V 1 0 V 0 9 V 1 21 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 1 12 V 1 0 V 0 17 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 0 9 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 13 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 1 0 V 0 33 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 5 V 1 8 V 1 0 V 0 21 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 -311 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 8 V 1 0 V 1 0 V 0 5 V 0 12 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 25 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 13 V 1 0 V 1 4 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 4 V 0 21 V 1 0 V 0 4 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 17 V 1 0 V 0 4 V 1 9 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 9 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -345 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 0 4 V 1 0 V 1 0 V currentpoint stroke M 0 8 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 21 V 0 8 V 1 0 V 1 0 V 0 8 V 0 5 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 0 5 V 1 0 V 1 4 V 0 4 V 1 0 V 1 17 V 1 0 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 0 5 V 1 8 V 1 0 V 1 0 V 1 4 V 0 21 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 1 0 V 0 12 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 4 V 0 5 V 1 0 V 0 4 V 0 8 V 1 0 V 0 4 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 0 -307 V 1 0 V 1 0 V 0 12 V 1 0 V 0 9 V 0 4 V 1 0 V 0 4 V 1 0 V 0 4 V 1 5 V 1 0 V 1 0 V 1 0 V 0 16 V 1 0 V 0 13 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 4 V 1 0 V 0 4 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 9 V 1 0 V 1 0 V 1 0 V 0 12 V 0 13 V 1 0 V 1 0 V 1 8 V 1 0 V 0 5 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 17 V 1 8 V 1 0 V 0 17 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 -387 V 1 0 V 1 0 V 1 0 V 1 0 V 0 34 V 1 0 V 0 4 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 0 21 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 16 V 0 17 V 1 4 V 1 0 V 0 13 V 1 0 V 0 9 V 0 12 V 1 0 V 1 0 V 1 0 V 0 9 V 0 16 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 0 17 V 1 4 V 0 5 V 0 8 V 1 0 V 1 0 V 0 13 V 1 12 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 17 V 1 8 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 4 V 0 13 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -278 V 1 0 V 0 4 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 4 V 1 0 V 0 4 V 1 13 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 1 13 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 13 V 0 4 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 0 9 V 1 0 V 1 0 V 1 0 V 0 8 V 1 9 V 0 4 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 1 0 V 1 5 V 0 25 V 1 0 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 0 4 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 0 13 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 9 V 0 12 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 1 0 V 1 0 V 0 4 V 1 -686 V 1 0 V 1 0 V 0 13 V 1 0 V 1 21 V 0 4 V 0 9 V 0 4 V 1 0 V 1 0 V 0 12 V 1 9 V 1 0 V 1 0 V 0 4 V 0 13 V 1 0 V 0 4 V 1 0 V 1 4 V 1 0 V 0 46 V 1 0 V 1 0 V 1 9 V 0 4 V 1 0 V 1 0 V 1 0 V 1 29 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 13 V 0 9 V 1 0 V currentpoint stroke M 0 54 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 0 17 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 0 12 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 0 8 V 1 0 V 0 4 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 -573 V 1 0 V 0 22 V 1 0 V 0 4 V 1 4 V 0 34 V 1 16 V 1 0 V 1 0 V 1 9 V 1 0 V 0 8 V 1 13 V 0 4 V 1 0 V 1 4 V 0 21 V 0 13 V 1 0 V 1 0 V 1 0 V 0 8 V 1 17 V 1 13 V 1 4 V 0 8 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 26 V 0 21 V 0 12 V 1 0 V 0 4 V 1 9 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 21 V 1 0 V 0 5 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 21 V 1 0 V 1 0 V 0 4 V 0 13 V 1 0 V 1 0 V 1 0 V 0 8 V 1 25 V 0 26 V 0 8 V 0 4 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 0 12 V 1 34 V 0 21 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 4 V 1 -249 V 1 0 V 0 5 V 0 4 V 1 0 V 0 21 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 38 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 30 V 0 8 V 1 0 V 1 0 V 0 21 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 0 46 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 8 V 1 0 V 1 0 V 0 47 V 1 4 V 1 0 V 1 0 V 1 4 V 0 8 V 1 0 V 0 5 V 0 21 V 1 0 V 1 0 V 1 50 V 1 0 V 0 4 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 38 V 1 0 V 0 17 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 5 V 1 0 V 0 21 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -791 V 0 8 V 1 0 V 0 9 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 0 43 V 1 0 V 0 21 V 1 8 V 1 8 V 1 0 V 1 0 V 0 21 V 1 0 V 0 38 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 12 V 1 0 V 1 0 V 0 5 V 1 0 V 0 12 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 16 V 1 0 V 1 0 V 0 13 V 1 0 V 0 21 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 8 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 4 V 0 17 V 1 0 V 1 0 V 1 0 V 1 38 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 21 V 0 34 V 0 21 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 8 V 0 -353 V 1 0 V 1 0 V 0 12 V 1 0 V 1 9 V 1 0 V 1 0 V 0 17 V 1 8 V 1 0 V 0 25 V 1 9 V 0 12 V 1 0 V 1 0 V 1 4 V 1 26 V 1 0 V 0 17 V 1 0 V 0 4 V 0 29 V 1 0 V 0 4 V 1 0 V 1 13 V 0 4 V 0 4 V 1 0 V 1 0 V 0 21 V 1 5 V 0 4 V 1 0 V 1 0 V 1 0 V 1 4 V 0 30 V 1 0 V 0 8 V 1 0 V 1 0 V 0 8 V 1 30 V 1 0 V 0 8 V 1 9 V 1 0 V 1 54 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 8 V 1 17 V 0 17 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V currentpoint stroke M 0 8 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 30 V 1 17 V 1 0 V 1 0 V 1 0 V 0 17 V 1 8 V 0 4 V 0 9 V 1 0 V 1 0 V 0 12 V 0 9 V 1 0 V 1 -282 V 0 4 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 0 16 V 1 0 V 0 5 V 0 4 V 0 4 V 1 0 V 0 4 V 0 4 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 13 V 1 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 0 4 V 1 0 V 1 8 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 16 V 0 9 V 0 4 V 1 4 V 1 4 V 1 0 V 1 9 V 1 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 34 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 0 4 V 1 0 V 0 4 V 0 4 V 0 9 V 1 0 V 1 -404 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 4 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 0 4 V 0 13 V 1 0 V 1 17 V 0 12 V 1 0 V 1 0 V 1 0 V 0 5 V 1 8 V 1 0 V 0 4 V 0 13 V 1 0 V 1 21 V 1 4 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 9 V 1 0 V 1 0 V 0 8 V 1 0 V 0 17 V 1 4 V 0 4 V 0 5 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 4 V 0 4 V 1 0 V 1 8 V 1 0 V 1 9 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 4 V 1 30 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 0 -358 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 0 5 V 1 0 V 0 4 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 9 V 0 4 V 1 0 V 1 4 V 1 0 V 0 8 V 1 5 V 1 0 V 0 8 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 8 V 1 9 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 12 V 0 5 V 1 0 V 1 0 V 0 8 V 0 13 V 1 0 V 1 0 V 1 0 V 0 -371 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 25 V 1 0 V 0 8 V 1 0 V 1 0 V 0 9 V 0 4 V 1 8 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 21 V 0 12 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 5 V 1 4 V 0 42 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 17 V 1 0 V 0 25 V 1 0 V 0 5 V 1 0 V 1 0 V 0 4 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 16 V 1 0 V 1 9 V 0 59 V 0 12 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 26 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 13 V 1 0 V 0 4 V 1 0 V 0 12 V 0 13 V 1 -416 V 1 0 V 1 4 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 0 9 V 0 4 V currentpoint stroke M 0 17 V 1 4 V 1 0 V 0 8 V 0 5 V 1 0 V 1 0 V 0 4 V 0 4 V 1 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 13 V 0 17 V 1 0 V 0 4 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 0 4 V 1 0 V 0 13 V 1 0 V 0 8 V 1 0 V 0 9 V 0 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 21 V 1 4 V 1 0 V 1 9 V 0 25 V 1 0 V 1 0 V 0 8 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 17 V 0 4 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 5 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 0 5 V 1 0 V 1 0 V 1 8 V 0 8 V 1 0 V 1 13 V 0 4 V 1 0 V 1 0 V 1 0 V 0 -303 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 9 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 0 34 V 1 0 V 0 4 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 0 12 V 1 0 V 1 0 V 1 0 V 0 26 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 1 0 V 0 34 V 1 0 V 1 0 V 1 0 V 0 -404 V 0 25 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 0 8 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 9 V 0 4 V 1 0 V 0 8 V 1 4 V 1 0 V 0 13 V 1 0 V 0 4 V 1 9 V 1 0 V 0 4 V 1 0 V 0 8 V 1 0 V 0 26 V 0 16 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 4 V 1 34 V 1 0 V 1 0 V 1 0 V 0 34 V 1 0 V 1 4 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 5 V 1 0 V 0 21 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 21 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 0 -522 V 1 0 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 0 9 V 1 0 V 0 8 V 0 17 V 1 0 V 1 17 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 0 5 V 1 0 V 0 16 V 0 17 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 17 V 1 38 V 0 25 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 42 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 0 9 V 1 0 V 0 8 V 0 46 V 0 21 V 1 0 V 1 0 V 1 5 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 12 V 0 9 V 1 0 V 1 0 V 1 0 V 0 33 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 0 -572 V 0 8 V 1 4 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 5 V 1 0 V 0 33 V 1 0 V 1 0 V 1 0 V 0 4 V 0 5 V 1 0 V 1 0 V 1 8 V 0 9 V 1 0 V 0 4 V 1 0 V 0 63 V 1 0 V 1 8 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V currentpoint stroke M 1 21 V 0 21 V 1 4 V 1 4 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 0 4 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 0 34 V 1 0 V 1 0 V 1 12 V 0 13 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 13 V 0 4 V 1 0 V 1 0 V 0 25 V 1 0 V 1 0 V 0 4 V 1 0 V 1 17 V 1 9 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 17 V 1 0 V 1 0 V 0 21 V 0 4 V 1 0 V 0 -488 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 0 4 V 1 0 V 0 17 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 5 V 0 4 V 1 0 V 1 4 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 0 4 V 0 30 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 4 V 0 25 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 4 V 0 13 V 1 0 V 0 33 V 1 0 V 1 4 V 0 13 V 1 8 V 1 0 V 0 22 V 1 21 V 1 0 V 1 0 V 0 8 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 12 V 1 0 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 1 8 V 0 5 V 0 17 V 1 0 V 0 12 V 0 9 V 1 0 V 1 0 V 1 0 V 0 33 V 1 4 V 0 21 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 1 8 V 0 5 V 0 8 V 0 -572 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 4 V 1 8 V 0 13 V 1 0 V 1 0 V 1 4 V 0 4 V 1 0 V 0 5 V 1 0 V 1 0 V 1 0 V 0 4 V 0 17 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 0 4 V 0 4 V 1 0 V 0 9 V 1 0 V 1 0 V 1 8 V 0 9 V 0 8 V 1 0 V 0 17 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 0 8 V 0 13 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 5 V 0 25 V 0 4 V 0 21 V 1 0 V 1 0 V 0 4 V 0 26 V 0 4 V 1 0 V 0 4 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 0 17 V 1 0 V 0 4 V 0 8 V 0 9 V 1 0 V 1 0 V 1 0 V 1 4 V 0 4 V 0 4 V 1 0 V 1 5 V 1 0 V 0 4 V 1 0 V 1 0 V 0 25 V 0 21 V 1 8 V 1 0 V 1 0 V 0 17 V 1 0 V 0 4 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 17 V 1 4 V 1 0 V 1 9 V 1 0 V 0 8 V 0 -383 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 12 V 1 5 V 1 12 V 0 5 V 1 12 V 1 0 V 0 4 V 1 5 V 0 21 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 1 0 V 0 4 V 1 0 V 0 42 V 0 5 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 4 V 1 0 V 1 0 V 0 4 V 0 22 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 1 25 V 0 29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 30 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 0 17 V 1 0 V 1 0 V 0 4 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 -551 V 1 0 V 1 0 V 1 0 V 0 8 V 1 13 V 1 0 V 0 8 V 1 8 V 0 26 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 5 V 0 8 V 1 0 V 0 17 V 0 4 V 1 0 V 1 8 V 1 0 V 1 0 V 1 17 V 0 4 V 0 21 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 46 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 42 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 0 4 V 1 0 V 0 8 V 0 34 V 1 0 V 1 25 V 1 0 V 1 21 V 1 0 V 0 9 V 1 0 V 1 0 V 0 4 V 1 0 V 0 21 V 0 12 V 1 0 V 1 0 V 1 0 V 0 38 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 0 13 V 1 0 V 0 8 V 1 0 V 1 5 V 1 0 V 0 46 V 1 0 V 1 0 V 1 0 V 0 4 V 0 8 V 1 0 V 1 0 V 0 -770 V 1 0 V 1 0 V 1 5 V 1 12 V 0 13 V 1 0 V 0 12 V 1 0 V 0 22 V 1 0 V 1 0 V 0 8 V 0 25 V 1 0 V 1 0 V 1 0 V 0 17 V 0 4 V 1 4 V 1 5 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 4 V 1 29 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 0 21 V 1 8 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 0 21 V 1 0 V 0 8 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 38 V 1 0 V 1 0 V 0 34 V 0 4 V 1 0 V 0 8 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 17 V 1 0 V 0 30 V 1 0 V 0 8 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -1077 V 1 8 V 1 0 V 1 0 V 0 30 V 0 12 V 1 0 V 0 34 V 0 38 V 1 0 V 0 17 V 1 0 V 0 4 V 1 13 V 1 0 V 0 25 V 1 4 V 0 13 V 0 12 V 1 0 V 0 5 V 1 0 V 0 8 V 1 13 V 0 33 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 0 51 V 0 4 V 0 8 V 1 13 V 1 0 V 1 4 V 1 0 V 1 0 V 0 4 V 1 0 V 1 13 V 1 0 V 0 34 V 0 71 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 50 V 0 17 V 1 0 V 0 4 V 1 17 V 1 0 V 1 0 V 0 4 V 1 13 V 1 0 V 0 21 V 0 67 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 21 V 1 59 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 21 V 0 17 V 1 0 V 1 0 V 0 30 V 1 0 V 0 25 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 0 50 V 1 0 V 1 0 V 0 38 V 1 0 V 1 0 V 0 21 V 1 0 V 1 0 V 1 -1094 V 1 0 V 1 0 V 1 0 V 0 17 V 0 13 V 1 0 V 0 46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 0 V 1 0 V 0 4 V 0 25 V 0 97 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 21 V 0 4 V 1 0 V 0 42 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 38 V 1 0 V 0 30 V 1 0 V 0 4 V 1 0 V 1 17 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 46 V 0 9 V 1 0 V 1 4 V 0 50 V 0 9 V 0 12 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 4 V 0 51 V 0 42 V 0 29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 9 V 1 0 V 0 67 V 0 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 46 V 0 4 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 1 0 V 1 22 V 0 88 V 1 0 V 0 -1014 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 0 26 V 1 0 V 1 0 V 1 0 V 1 0 V 0 54 V 1 0 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 4 V 1 21 V 0 55 V 0 8 V 1 0 V 1 4 V 0 17 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 0 47 V 1 0 V 1 0 V 0 16 V 0 30 V 1 0 V 1 4 V 1 0 V 1 25 V 1 0 V 1 0 V 0 5 V 1 42 V 1 0 V 0 8 V 0 38 V 1 0 V 1 13 V 0 4 V 1 0 V 1 0 V 1 63 V 0 17 V 1 0 V 1 12 V 1 30 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 67 V 0 17 V currentpoint stroke M 0 21 V 0 8 V 1 9 V 0 8 V 1 89 V 1 0 V 1 17 V 1 0 V 1 0 V 1 42 V 0 4 V 0 4 V 0 42 V 1 0 V 0 46 V 1 0 V 0 13 V 1 17 V 1 0 V 1 0 V 1 0 V 0 4 V 0 4 V 1 0 V 0 13 V 1 0 V 0 4 V 0 25 V 1 0 V 0 -1035 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 0 5 V 1 0 V 1 0 V 0 4 V 0 12 V 1 0 V 0 26 V 1 0 V 1 0 V 1 0 V 1 63 V 1 0 V 0 4 V 0 8 V 1 5 V 0 4 V 0 21 V 1 0 V 0 4 V 1 0 V 0 21 V 0 21 V 1 0 V 1 0 V 0 25 V 1 30 V 0 29 V 1 0 V 0 5 V 1 0 V 0 25 V 1 0 V 0 8 V 0 4 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 4 V 0 21 V 1 0 V 0 5 V 1 0 V 1 0 V 0 42 V 0 17 V 0 29 V 1 0 V 0 8 V 0 17 V 1 9 V 1 0 V 1 0 V 1 0 V 1 29 V 1 9 V 1 0 V 1 25 V 0 21 V 0 12 V 0 5 V 1 0 V 0 4 V 1 0 V 1 4 V 0 34 V 0 25 V 1 0 V 1 0 V 1 0 V 0 8 V 0 13 V 1 0 V 0 34 V 1 0 V 0 12 V 0 5 V 1 0 V 1 0 V 0 4 V 0 12 V 1 0 V 0 42 V 1 0 V 1 0 V 0 38 V 1 0 V 1 0 V 1 0 V 0 5 V 0 12 V 1 0 V 1 0 V 0 34 V 1 0 V 1 0 V 1 8 V 0 17 V 0 9 V 1 16 V 0 5 V 1 0 V 1 0 V 1 0 V 0 8 V 0 34 V 1 0 V 0 -939 V 1 0 V 0 21 V 1 0 V 0 4 V 0 5 V 0 33 V 1 0 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 12 V 1 4 V 0 5 V 1 4 V 0 8 V 1 0 V 1 4 V 1 0 V 1 43 V 0 37 V 0 9 V 1 0 V 1 0 V 0 21 V 1 0 V 0 17 V 0 8 V 1 0 V 1 0 V 0 17 V 0 21 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 0 17 V 1 0 V 0 9 V 0 12 V 1 4 V 0 22 V 1 4 V 1 0 V 0 8 V 1 0 V 0 9 V 0 8 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 17 V 0 4 V 1 0 V 0 50 V 1 0 V 1 0 V 0 9 V 0 17 V 1 0 V 0 12 V 0 21 V 1 4 V 1 0 V 0 17 V 1 21 V 0 13 V 1 0 V 1 0 V 0 17 V 0 17 V 1 0 V 0 25 V 1 0 V 0 8 V 0 17 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 1 42 V 0 8 V 1 0 V 1 0 V 0 13 V 0 25 V 1 0 V 1 0 V 0 63 V 1 0 V 0 34 V 0 17 V 0 13 V 1 0 V 1 0 V 1 12 V 0 13 V 0 21 V 1 0 V 0 8 V 1 21 V 1 0 V 1 0 V 0 26 V 1 0 V 0 4 V 0 8 V 1 0 V 0 -1367 V 0 54 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 0 59 V 1 0 V 1 0 V 0 4 V 1 55 V 0 4 V 1 0 V 0 9 V 0 4 V 1 0 V 0 4 V 1 0 V 1 51 V 1 0 V 0 25 V 1 0 V 0 8 V 1 0 V 0 9 V 0 25 V 1 0 V 1 0 V 1 0 V 0 17 V 1 0 V 1 0 V 0 46 V 1 38 V 0 4 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 0 34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 0 17 V 1 34 V 1 0 V 0 12 V 0 46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 43 V 1 0 V 1 0 V 0 21 V 1 4 V 0 25 V 0 55 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 8 V 0 46 V 0 51 V 1 0 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -863 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 42 V 0 51 V 1 0 V 0 4 V 1 0 V 0 25 V 1 0 V 1 0 V 0 5 V 1 0 V 1 0 V 0 25 V 0 67 V 1 0 V 0 13 V 0 38 V 1 4 V 0 21 V 0 8 V 1 17 V 1 0 V 0 4 V 1 0 V 1 0 V 0 13 V 0 13 V 1 0 V 0 8 V 1 0 V 0 21 V 0 55 V 1 4 V 1 0 V 1 0 V 1 0 V 0 4 V 1 17 V 0 29 V 0 13 V 1 0 V currentpoint stroke M 1 8 V 0 9 V 1 0 V 1 50 V 0 21 V 1 0 V 1 0 V 0 9 V 1 0 V 0 17 V 1 0 V 1 0 V 0 12 V 0 13 V 0 50 V 1 0 V 1 0 V 1 0 V 0 26 V 1 0 V 0 12 V 0 21 V 1 0 V 1 0 V 0 21 V 1 0 V 0 85 V 1 8 V 1 4 V 0 4 V 0 13 V 1 59 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 0 17 V 1 0 V 0 8 V 0 13 V 0 4 V 0 30 V 1 12 V 0 4 V 1 0 V 1 0 V 1 0 V 0 5 V 1 0 V 0 50 V 1 0 V 0 17 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 0 76 V 0 4 V 1 0 V 1 0 V 0 8 V 0 9 V 0 12 V 1 0 V 1 30 V 0 -918 V 1 9 V 1 0 V 0 38 V 1 0 V 0 4 V 0 67 V 1 0 V 0 21 V 1 0 V 0 4 V 1 0 V 0 5 V 1 0 V 0 12 V 0 26 V 1 12 V 0 17 V 1 0 V 1 8 V 0 5 V 0 25 V 1 0 V 0 4 V 0 63 V 1 0 V 1 0 V 1 0 V 0 30 V 0 4 V 1 21 V 1 0 V 0 8 V 1 0 V 0 26 V 1 0 V 1 0 V 0 25 V 1 42 V 1 0 V 1 0 V 1 0 V 0 29 V 0 38 V 1 4 V 1 0 V 1 0 V 0 26 V 1 0 V 1 8 V 0 21 V 1 0 V 0 17 V 1 4 V 0 30 V 0 4 V 1 0 V 1 0 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 0 38 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 25 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 0 13 V 1 0 V 1 0 V 1 30 V 1 0 V 0 12 V 0 21 V 1 0 V 1 0 V 0 25 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 34 V 1 0 V 0 17 V 1 0 V 1 0 V 1 0 V 0 -2138 V 0 25 V 1 0 V 0 5 V 1 0 V 1 0 V 0 16 V 0 5 V 0 25 V 1 0 V 1 0 V 1 0 V 0 29 V 1 0 V 1 0 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 0 34 V 1 0 V 0 12 V 1 0 V 0 51 V 1 0 V 0 8 V 1 0 V 1 0 V 0 5 V 0 8 V 1 0 V 1 0 V 1 59 V 0 17 V 1 0 V 0 42 V 0 71 V 1 0 V 0 21 V 1 0 V 1 0 V 0 13 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 0 64 V 1 0 V 1 0 V 0 8 V 1 8 V 0 38 V 0 13 V 1 0 V 0 25 V 1 0 V 0 30 V 1 0 V 1 0 V 0 12 V 1 0 V 1 0 V 1 0 V 0 4 V 0 17 V 1 126 V 0 68 V 0 8 V 1 0 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 0 16 V 0 13 V 1 0 V 1 0 V 0 38 V 1 29 V 1 0 V 0 17 V 1 4 V 1 0 V 0 68 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 0 63 V 1 80 V 0 9 V 0 8 V 1 0 V 1 0 V 0 4 V 0 13 V 1 0 V 1 0 V 1 0 V 0 55 V 1 0 V 1 0 V 1 0 V 1 0 V 0 88 V 0 17 V 1 -901 V 0 21 V 0 9 V 1 0 V 0 12 V 1 30 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 30 V 0 21 V 1 0 V 1 0 V 0 12 V 0 68 V 0 25 V 0 13 V 1 12 V 1 0 V 0 4 V 1 0 V 1 0 V 0 9 V 1 0 V 1 0 V 1 0 V 0 12 V 0 -109 V 1 0 V 0 17 V 1 0 V 0 17 V 1 0 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -1148 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 12 V 1 0 V 1 25 V 0 5 V 1 0 V 1 0 V 0 50 V 0 13 V 1 0 V 1 0 V 1 0 V 0 33 V 0 5 V 1 8 V 1 0 V 0 4 V 1 5 V 1 0 V 0 37 V 0 5 V 1 0 V 1 12 V 0 25 V 1 0 V 0 17 V 0 21 V 1 5 V 1 0 V 1 0 V 1 0 V 0 8 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 0 21 V 1 0 V 0 25 V 0 4 V 1 0 V 1 0 V 0 9 V 0 17 V 1 0 V 0 21 V 0 38 V 1 0 V 1 0 V 0 21 V 1 0 V 1 8 V 0 42 V 0 17 V 1 0 V 1 0 V 1 0 V 0 8 V 1 5 V 0 8 V 0 46 V 0 21 V 1 0 V 1 0 V 1 0 V 0 13 V 1 0 V 0 4 V 1 0 V 1 0 V 1 0 V 0 34 V 1 4 V 1 0 V 1 13 V 0 4 V 0 12 V 0 30 V 1 0 V 0 29 V 0 21 V 1 0 V 0 17 V 1 0 V 1 13 V 0 17 V 1 0 V 1 0 V 1 4 V 1 4 V 0 9 V 0 21 V 1 0 V 0 42 V 0 8 V 1 0 V 0 38 V 1 0 V 0 21 V 1 -1191 V 0 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 17 V 0 25 V 1 0 V 1 0 V 0 17 V 0 4 V 1 0 V 1 0 V 1 0 V 0 13 V 0 8 V 0 50 V 1 0 V 1 0 V 0 9 V 0 34 V 0 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 46 V 0 17 V 1 0 V 1 0 V 0 55 V 1 0 V 1 0 V 0 8 V 0 9 V 0 29 V 1 30 V 1 0 V 1 0 V 0 42 V 1 33 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 0 38 V 0 25 V 1 0 V 0 5 V 0 37 V 0 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 0 21 V 1 0 V 1 0 V 1 0 V 1 0 V 0 25 V 0 17 V 0 21 V 1 4 V 1 0 V 0 5 V 0 16 V 1 0 V 1 0 V 1 63 V 0 17 V 1 0 V 0 47 V 1 33 V 1 0 V 1 0 V 1 0 V 1 0 V 0 13 V 0 12 V 1 0 V 1 0 V 0 17 V 0 26 V 1 0 V 1 0 V 1 0 V 0 37 V 1 0 V 1 0 V 1 0 V 1 0 V 0 -1931 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 2518 a FK(Figur)o(e)19 b(5.4:)869 2413 y SDict begin H.S end 869 2413 a 869 2413 a SDict begin H.R end 869 2413 a 869 2413 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.4) cvn H.B /DEST pdfmark end 869 2413 a 105 x FK(A)h(closer)g(view)h(of)f(a)g(test)g(run)f(wher)o(e)h(a)h (node)f(is)g(killed)g(every)h(\002fth)f(minute.)f(The)h(\002gur)o(e)511 2623 y(shows)d(the)f(fraction)g(of)g(blocks)g(that)h(have)g(3,)f(2,)g (1)h(and)f(0)g(r)o(eplicas.)g(90\045)i(of)e(the)g(blocks)h(have)g(3)f (r)o(eplicas)511 2728 y(until)h(about)h(50)i(nodes)e(have)i(been)e (killed.)573 4741 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/robustness-example-1.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: robustness-example-1.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 23:10:56 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 1310 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.2) Rshow 714 2201 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.4) Rshow 714 3091 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.6) Rshow 714 3982 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 0.8) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 1) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 0) Cshow 1339 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 1964 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 2588 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 3213 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 3838 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 50) Cshow 4463 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 60) Cshow 5088 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 70) Cshow 5712 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 80) Cshow 6337 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 90) Cshow 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 100) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Fraction of total blocks) Cshow grestore 3838 70 M (Number of killed nodes) Cshow 4.000 UL LT0 6311 4739 M (0 replicas) Rshow 6395 4739 M 399 0 V 747 420 M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 223 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 135 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 105 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 71 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 63 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 249 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 917 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 421 V 1 -8 V 1 -26 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 105 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 185 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 122 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 240 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 3.000 UL LT1 6311 4599 M (1 replica) Rshow 6395 4599 M 399 0 V 747 420 M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 139 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 84 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -34 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -17 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -43 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -37 V 1 -5 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 38 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 76 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 67 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 64 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -16 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 76 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 189 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -9 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -12 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 97 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 -34 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 2 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 50 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -22 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -5 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 63 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -5 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -17 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 253 V 1 -21 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -8 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 319 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 -54 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -38 V 1 -4 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -12 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -33 V 1 -5 V 1 -17 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 223 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -202 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -8 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 252 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -33 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 143 V 2 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 156 V 1 -51 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 72 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -59 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -4 V 1 29 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -42 V 1 -29 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 97 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 -13 V 1 0 V 1 -4 V 1 0 V 1 -17 V 1 -4 V 1 -4 V 2 -8 V 1 0 V 1 0 V 1 -26 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 2 -9 V 1 -46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 231 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -30 V 1 -8 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 67 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 25 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -17 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 433 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 1001 V 1 -4 V 1 -8 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 -13 V 1 0 V 1 -34 V 1 -38 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -42 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -42 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -888 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -21 V 1 -46 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 215 V 1 -38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 -316 V 1 8 V 1 26 V 2 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 -29 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 223 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -25 V 1 0 V 1 0 V 1 442 V 1 -59 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 400 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 -4 V 2 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 190 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 244 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 2.000 UL LT2 6311 4459 M (2 replicas) Rshow 6395 4459 M 399 0 V 747 420 M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 206 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 72 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 202 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -122 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 63 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 139 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 130 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 97 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 2 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -17 V 1 0 V 1 0 V 1 4 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 2 46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -4 V 1 -42 V 1 0 V 1 -9 V 1 0 V 1 -12 V 1 0 V 2 0 V 1 -34 V 1 -25 V 1 0 V 1 -9 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -30 V 1 0 V 1 -4 V 1 0 V 1 -46 V 1 -17 V 1 97 V 1 0 V 1 -5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -25 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 13 V 1 -30 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -29 V 1 -34 V 1 0 V 1 -4 V 1 -8 V 1 0 V 1 0 V 1 -30 V 1 -17 V 1 0 V 1 0 V 1 -21 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 130 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -13 V 1 -4 V 1 0 V 1 0 V 1 -13 V 1 -8 V 2 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 4 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 2 0 V 1 -4 V 1 -5 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 105 V 1 0 V 1 0 V 1 0 V 1 38 V 1 -21 V 1 -17 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 122 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 76 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 156 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 71 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 139 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 97 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 93 V 2 -4 V 1 -5 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -4 V 1 -4 V 1 -5 V 1 0 V 1 -4 V 2 0 V 1 -8 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -29 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 2 0 V 1 0 V 1 0 V 1 -17 V 1 -16 V 1 0 V 1 -9 V 1 -42 V 1 0 V 1 -8 V 1 130 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -16 V 1 -5 V 1 0 V 1 -42 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 -30 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 -13 V 1 -25 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 -46 V 1 0 V 1 0 V 1 -17 V 1 -8 V 1 0 V 1 -9 V 1 -12 V 1 0 V 2 -5 V 1 0 V 1 -21 V 1 0 V 1 -8 V 1 -13 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 -5 V 1 -4 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 118 V 1 -25 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 -51 V 1 -21 V 1 -12 V 1 -4 V 1 -13 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -4 V 1 -30 V 1 0 V 1 -4 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -26 V 2 0 V 1 0 V 1 -12 V 1 -9 V 1 -4 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 -8 V 2 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -9 V 1 0 V 1 93 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -5 V 2 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 5 V 1 -5 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 168 V 1 -4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 131 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 63 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 80 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 164 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 214 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 46 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -4 V 1 -4 V 1 0 V 1 147 V 1 0 V 1 0 V 1 -4 V 1 -21 V 1 0 V 2 0 V 1 -38 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -9 V 1 -12 V 1 0 V 1 0 V 1 4 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -8 V 2 -22 V 1 0 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 -5 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -30 V 1 -29 V 1 0 V 2 0 V 1 0 V 1 -25 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 219 V 1 -5 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -30 V 1 -54 V 1 0 V 1 0 V 1 -34 V 2 0 V 1 0 V 1 0 V 1 -8 V 1 -26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -8 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 -25 V 1 -38 V 1 0 V 1 -13 V 1 0 V 2 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 -26 V 1 0 V 1 -4 V 1 -8 V 1 -9 V 1 -4 V 1 -17 V 1 110 V 1 -17 V 1 0 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 -4 V 1 -17 V 1 0 V 1 -17 V 1 -29 V 1 0 V 1 0 V 1 -5 V 1 -17 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 -12 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 -4 V 1 -9 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -26 V 2 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 -5 V 1 -21 V 1 0 V 1 148 V 1 -9 V 1 -4 V 1 -13 V 1 0 V 1 -12 V 1 0 V 1 0 V 2 -4 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -12 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -8 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 2 46 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 143 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 46 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 223 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 38 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 252 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V currentpoint stroke M 1 0 V 1 -4 V 2 0 V 1 -8 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -12 V 1 0 V 1 -9 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 218 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -4 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 2 -21 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -21 V 1 -4 V 2 0 V 1 -4 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 164 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -8 V 1 0 V 1 0 V 1 -5 V 1 -4 V 1 0 V 2 -50 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 -9 V 1 -4 V 1 -25 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -22 V 1 0 V 1 -4 V 1 -17 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -33 V 1 -17 V 1 -5 V 1 0 V 1 -8 V 1 -4 V 1 -46 V 1 -5 V 1 0 V 1 -25 V 1 0 V 1 -25 V 1 -4 V 1 0 V 1 -9 V 1 -4 V 1 143 V 1 -25 V 1 -4 V 2 -9 V 1 -4 V 1 0 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 9 V 1 -9 V 1 -8 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -38 V 2 -4 V 1 -17 V 1 -4 V 1 0 V 1 -13 V 1 -13 V 1 -21 V 1 0 V 1 0 V 1 -63 V 1 0 V 1 -12 V 1 0 V 1 -13 V 1 -4 V 1 -21 V 1 0 V 1 0 V 1 -30 V 1 0 V 1 -12 V 1 -5 V 1 -37 V 1 0 V 2 -30 V 1 -8 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 206 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -8 V 1 0 V 1 0 V 2 -9 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 -51 V 1 0 V 1 0 V 1 -8 V 1 -17 V 1 -4 V 1 -13 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 261 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 -8 V 1 12 V 1 0 V 1 0 V 1 -4 V 1 -8 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -13 V 2 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 2 -4 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 290 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 -4 V 1 -13 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -5 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 218 V 1 0 V 1 5 V 1 -9 V 1 0 V 1 0 V 1 -4 V 1 -8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 244 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 134 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 219 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 -8 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -177 V 1 -17 V 1 -4 V 1 -17 V 1 -8 V 1 0 V 2 0 V 1 -5 V 1 0 V 1 -4 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 -4 V 1 0 V 1 -9 V 2 0 V 1 0 V 1 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -25 V 1 -13 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 -12 V 2 0 V 1 0 V 1 -4 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 143 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -9 V 1 -21 V 1 -25 V 1 -17 V 1 0 V 1 -4 V 1 0 V 1 -9 V 1 17 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -38 V 1 0 V 1 -13 V 2 -4 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -46 V 1 0 V 1 63 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -21 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 -4 V 1 0 V 1 -17 V 1 -4 V 1 0 V 1 0 V 1 -5 V currentpoint stroke M 2 -8 V 1 -17 V 1 -34 V 1 0 V 1 13 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 0 V 1 -13 V 1 -25 V 1 211 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 -26 V 1 0 V 2 -21 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 -8 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 -8 V 1 -51 V 1 -50 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -29 V 1 -4 V 1 0 V 1 0 V 1 -26 V 1 0 V 1 0 V 1 0 V 1 -33 V 1 -4 V 1 0 V 1 -5 V 1 -17 V 1 0 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 -38 V 1 -4 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 371 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -12 V 1 0 V 1 -9 V 2 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -17 V 1 -13 V 1 -8 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 4 V 1 0 V 1 -13 V 1 -17 V 1 -4 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 269 V 1 0 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 -17 V 1 -4 V 1 0 V 1 -13 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 -8 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -13 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -21 V 1 -8 V 1 0 V 1 0 V 1 -5 V 1 -17 V 1 0 V 2 -12 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 253 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 -4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 -13 V 1 -4 V 1 -9 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 202 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 118 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 434 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 249 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -12 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -5 V 1 -8 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 4 V 1 -9 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 2 -34 V 1 -4 V 1 476 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 2 -17 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 -4 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -26 V 1 0 V 1 -4 V 2 -42 V 1 0 V 1 0 V 1 0 V 1 -55 V 1 9 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 5 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 -21 V 1 -9 V 1 0 V 1 -21 V 1 0 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 -8 V 1 -21 V 1 -17 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 -8 V 1 -76 V 1 0 V 1 0 V 1 -21 V 1 -25 V 1 -30 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 320 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -38 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -30 V 1 -25 V 1 0 V 1 -42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -34 V 1 0 V 1 0 V 2 -21 V 1 -38 V 1 -8 V 1 -59 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 -13 V 1 0 V 1 -21 V 1 -4 V 1 0 V 1 -9 V 1 -12 V 1 -9 V 1 0 V 1 0 V 1 -8 V 1 -13 V 1 0 V 1 0 V 1 -54 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -9 V 1 -12 V 1 0 V 1 0 V 1 -55 V 1 -4 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -17 V 1 -42 V 1 -21 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -34 V 2 0 V 1 -16 V 1 0 V 1 -9 V 1 -8 V 1 -30 V 1 0 V 1 -21 V 1 -21 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 21 V 1 37 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -25 V 1 -9 V 1 -4 V 1 -4 V 1 -67 V 1 0 V 1 -9 V 1 -4 V 1 -88 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 240 V 1 -9 V 1 -21 V 1 -8 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 2 -25 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -8 V 1 0 V 1 -8 V 1 -13 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 -12 V 1 -5 V 1 -50 V 1 -21 V 1 -4 V 1 0 V 2 25 V 1 0 V 1 -29 V 1 -9 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 -9 V 1 -8 V 1 -9 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 -5 V 2 0 V currentpoint stroke M 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 240 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 26 V 1 -5 V 1 -33 V 1 0 V 2 0 V 1 -34 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 -4 V 1 -4 V 1 0 V 1 -21 V 1 0 V 1 0 V 1 -5 V 1 0 V 2 0 V 1 0 V 1 -8 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 -4 V 1 0 V 1 -4 V 1 0 V 2 -147 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 0 V 1 -9 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 109 V 1 -8 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 315 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 463 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 4 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -97 V 1 -4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -13 V 1 0 V 1 25 V 2 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -17 V 1 -8 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -13 V 1 -13 V 1 -21 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 4 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V currentpoint stroke M 1 -8 V 1 0 V 1 -30 V 1 -4 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 -5 V 2 -12 V 1 -17 V 1 0 V 1 -17 V 1 -33 V 1 0 V 1 0 V 1 -249 V 1 17 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -5 V 1 -63 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -4 V 1 -38 V 1 -4 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -4 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 -4 V 1 -5 V 1 17 V 1 -12 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 -21 V 1 5 V 1 -5 V 1 -4 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -4 V 1 -8 V 1 -5 V 1 0 V 1 0 V 1 0 V 2 -12 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -9 V 1 -8 V 1 429 V 1 -13 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 -16 V 1 -5 V 1 -16 V 1 -5 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 -8 V 1 -5 V 1 0 V 1 -4 V 1 -4 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 -17 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 2 -17 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -17 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 -4 V 1 4 V 1 408 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 25 V 1 -8 V 1 -9 V 1 0 V 1 0 V 1 -4 V 1 -21 V 1 -25 V 1 0 V 1 -25 V 1 0 V 1 0 V 1 -17 V 1 -9 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -4 V 1 -30 V 1 -8 V 1 -38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -26 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -29 V 1 0 V 1 -8 V 1 252 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 4 V 1 -12 V 1 0 V 1 4 V 1 -9 V 1 -4 V 1 0 V 1 13 V 1 4 V 1 -8 V 2 0 V 1 -26 V 1 0 V 1 -8 V 1 -21 V 1 -9 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 12 V 2 9 V 1 8 V 1 -29 V 1 -9 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 -210 V 1 8 V 1 -4 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 -30 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 -5 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 8 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -8 V 1 25 V 1 0 V 1 -9 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -30 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 5 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 105 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 -8 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 13 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 -4 V 1 0 V 2 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 194 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 2 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 1035 V 2 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -4 V 1 -5 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -417 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 -5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -980 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 16 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 -17 V 1 0 V 1 -21 V 1 21 V 1 -164 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 2 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 -34 V 1 -13 V 1 -12 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 42 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 -8 V 1 -55 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 25 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 -29 V 1 0 V 1 0 V 1 0 V 1 -9 V 2 0 V 1 9 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 349 V 1 38 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 4 V 1 0 V 1 13 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 -16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 568 V 1 0 V 1 -4 V 1 -13 V 1 -9 V 1 -8 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 -17 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -5 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 -46 V 1 -26 V 1 -16 V 1 0 V 1 -9 V 1 0 V 1 4 V 1 -29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 -21 V 1 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -4 V 1 0 V 1 0 V 1 -72 V 1 59 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -59 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -25 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 2 -21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 -13 V 1 -17 V 1 0 V 1 -488 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 -4 V 1 4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -21 V 1 0 V 1 4 V 1 -16 V 1 0 V 1 -5 V 1 0 V 1 101 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -4 V 1 -5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 -433 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 26 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1.000 UL LT3 6311 4319 M (3 replicas) Rshow 6395 4319 M 399 0 V 747 4872 M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -206 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -72 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -202 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 -63 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 -139 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -130 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -97 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 25 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 2 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 17 V 1 0 V 1 0 V 1 8 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 2 -59 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 43 V 1 0 V 1 8 V 1 0 V 1 13 V 1 0 V 2 0 V 1 33 V 1 38 V 1 0 V 1 9 V 1 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 4 V 1 0 V 1 46 V 1 17 V 1 -97 V 1 0 V 1 5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 25 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 4 V 1 21 V 1 29 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 34 V 1 0 V 1 4 V 1 8 V 1 0 V 1 0 V 1 30 V 1 16 V 1 0 V 1 0 V 1 21 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 17 V 1 25 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 2 -134 V 1 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 13 V 1 4 V 1 0 V 1 0 V 1 12 V 1 9 V 2 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 2 0 V 1 4 V 1 4 V 1 4 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 -105 V 1 0 V 1 0 V 1 0 V 1 4 V 1 21 V 1 17 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 4 V 1 38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -143 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -76 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -156 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -109 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -139 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -118 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -114 V 2 4 V 1 5 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 4 V 1 5 V 1 4 V 1 0 V 1 4 V 2 0 V 1 8 V 1 9 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 29 V 1 0 V 1 0 V 1 0 V 1 17 V 1 46 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 2 0 V 1 0 V 1 0 V 1 17 V 1 21 V 1 0 V 1 8 V 1 42 V 1 0 V 1 9 V 1 -131 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 4 V 1 0 V 1 42 V 1 0 V 1 8 V 1 0 V 1 0 V 2 30 V 1 0 V 1 17 V 1 0 V 1 0 V 1 8 V 1 0 V 1 9 V 1 0 V 1 12 V 1 25 V 1 0 V 1 26 V 1 0 V 1 0 V 1 46 V 1 0 V 1 0 V 1 25 V 1 9 V 1 0 V 1 8 V 1 13 V 1 0 V 2 4 V 1 0 V 1 21 V 1 0 V 1 8 V 1 13 V 1 8 V 1 0 V 1 0 V 1 0 V 1 5 V 1 8 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 21 V 1 0 V 1 17 V 1 0 V 1 0 V 1 -118 V 1 26 V 2 0 V 1 8 V 1 0 V 1 0 V 1 13 V 1 0 V 1 50 V 1 30 V 1 12 V 1 5 V 1 12 V 1 0 V 1 0 V 1 17 V 1 0 V 1 4 V 1 30 V 1 0 V 1 4 V 1 0 V 1 12 V 1 0 V 1 0 V 1 26 V 2 0 V 1 0 V 1 12 V 1 9 V 1 4 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 8 V 2 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 13 V 1 17 V 1 0 V 1 -101 V 1 0 V 1 4 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 4 V 2 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 5 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 5 V 2 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 -168 V 1 4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 5 V 2 0 V 1 0 V 1 0 V 1 -131 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -138 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -101 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -165 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -215 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -88 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 5 V 1 8 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 4 V 1 0 V 1 -147 V 1 0 V 1 0 V 1 4 V 1 21 V 1 0 V 2 0 V 1 38 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 8 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 9 V 1 8 V 2 21 V 1 0 V 1 8 V 1 13 V 1 0 V 1 0 V 1 8 V 1 5 V 1 0 V 1 0 V 1 12 V 1 5 V 1 16 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 29 V 1 30 V 1 0 V 2 0 V 1 0 V 1 25 V 1 9 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 -218 V 1 8 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 30 V 1 71 V 1 0 V 1 0 V 1 38 V 2 0 V 1 0 V 1 0 V 1 9 V 1 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 9 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 29 V 1 38 V 1 0 V 1 13 V 1 0 V 2 29 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 9 V 1 0 V 1 0 V 1 0 V 1 34 V 1 25 V 1 0 V 1 4 V 1 8 V 1 9 V 1 4 V 1 17 V 1 -110 V 1 34 V 1 0 V 1 0 V 1 4 V 2 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 4 V 1 0 V 1 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 17 V 1 4 V 1 21 V 1 0 V 1 17 V 1 34 V 1 0 V 1 0 V 1 4 V 1 17 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 13 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 4 V 1 8 V 1 9 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 25 V 2 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 4 V 1 12 V 1 0 V 1 0 V 1 5 V 1 21 V 1 0 V 1 -181 V 1 8 V 1 4 V 1 13 V 1 0 V 1 13 V 1 0 V 1 0 V 2 4 V 1 17 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 13 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 9 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 16 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 2 -89 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 2 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -143 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 5 V 1 8 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -113 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -223 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -101 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 -253 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V currentpoint stroke M 1 0 V 1 4 V 2 0 V 1 8 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 12 V 1 0 V 1 9 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 -240 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 2 21 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 4 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 21 V 1 4 V 2 0 V 1 5 V 1 21 V 1 0 V 1 0 V 1 0 V 1 -165 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 9 V 1 0 V 1 0 V 1 4 V 1 4 V 1 25 V 2 51 V 1 0 V 1 0 V 1 21 V 1 0 V 1 21 V 1 4 V 1 25 V 1 0 V 1 5 V 1 0 V 1 12 V 1 0 V 1 21 V 1 0 V 1 4 V 1 17 V 1 0 V 1 9 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 2 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 33 V 1 17 V 1 4 V 1 0 V 1 9 V 1 4 V 1 46 V 1 4 V 1 13 V 1 25 V 1 0 V 1 34 V 1 4 V 1 0 V 1 9 V 1 4 V 1 -143 V 1 25 V 1 4 V 2 9 V 1 4 V 1 0 V 1 25 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 9 V 1 8 V 1 9 V 1 0 V 1 0 V 1 21 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 38 V 2 4 V 1 17 V 1 4 V 1 0 V 1 13 V 1 12 V 1 21 V 1 0 V 1 0 V 1 63 V 1 0 V 1 13 V 1 0 V 1 13 V 1 4 V 1 25 V 1 0 V 1 0 V 1 34 V 1 0 V 1 12 V 1 5 V 1 38 V 1 0 V 2 29 V 1 8 V 1 5 V 1 0 V 1 0 V 1 0 V 1 8 V 1 17 V 1 0 V 1 0 V 1 0 V 1 -236 V 1 0 V 1 0 V 1 9 V 1 0 V 1 29 V 1 0 V 1 0 V 1 0 V 1 4 V 1 9 V 1 0 V 1 0 V 2 8 V 1 4 V 1 5 V 1 0 V 1 0 V 1 50 V 1 0 V 1 0 V 1 8 V 1 17 V 1 4 V 1 13 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 2 4 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 8 V 1 21 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 5 V 1 0 V 1 4 V 1 -261 V 1 0 V 1 0 V 1 0 V 1 0 V 2 13 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 4 V 1 9 V 1 4 V 1 0 V 1 8 V 1 5 V 1 12 V 1 0 V 1 9 V 1 4 V 1 0 V 1 0 V 1 8 V 1 0 V 1 13 V 2 0 V 1 0 V 1 4 V 1 0 V 1 4 V 1 5 V 1 0 V 1 8 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 2 4 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -290 V 1 0 V 1 0 V 1 4 V 1 9 V 1 4 V 1 12 V 1 5 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 4 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 -219 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 1 4 V 1 9 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -248 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -210 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -218 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 13 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 -13 V 1 17 V 1 4 V 1 17 V 1 8 V 1 0 V 2 0 V 1 5 V 1 0 V 1 4 V 1 0 V 1 8 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 8 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 8 V 2 0 V 1 0 V 1 38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 25 V 1 17 V 1 0 V 1 0 V 1 13 V 1 0 V 1 12 V 2 0 V 1 5 V 1 4 V 1 13 V 1 0 V 1 0 V 1 0 V 1 -190 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 8 V 1 21 V 1 29 V 1 17 V 1 0 V 1 5 V 1 0 V 1 8 V 1 0 V 1 8 V 1 0 V 1 0 V 1 26 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 55 V 1 0 V 1 25 V 2 4 V 1 0 V 1 0 V 1 30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 50 V 1 0 V 1 -160 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 21 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 17 V 1 0 V 1 8 V 1 0 V 1 21 V 1 38 V 1 0 V 1 0 V 1 5 V currentpoint stroke M 2 8 V 1 17 V 1 33 V 1 0 V 1 0 V 1 0 V 1 9 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 4 V 1 0 V 1 0 V 1 13 V 1 29 V 1 -210 V 1 21 V 1 0 V 1 0 V 1 8 V 1 25 V 1 0 V 2 22 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 16 V 1 30 V 1 4 V 1 4 V 1 0 V 1 0 V 1 34 V 1 50 V 1 51 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 5 V 1 29 V 1 4 V 1 0 V 1 0 V 1 25 V 1 0 V 1 0 V 1 0 V 1 34 V 1 17 V 1 0 V 1 8 V 1 17 V 1 0 V 1 4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 26 V 1 0 V 1 38 V 1 4 V 1 4 V 1 25 V 1 0 V 1 0 V 1 -421 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 0 V 1 8 V 1 13 V 1 0 V 1 8 V 2 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 17 V 1 12 V 1 9 V 1 8 V 2 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 13 V 1 17 V 1 4 V 1 0 V 1 9 V 1 29 V 1 0 V 1 0 V 1 4 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 2 -269 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 1 17 V 1 4 V 1 0 V 1 12 V 1 9 V 1 0 V 1 12 V 1 0 V 1 13 V 1 0 V 1 9 V 1 0 V 1 0 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 2 9 V 1 12 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 21 V 1 8 V 1 0 V 1 0 V 1 4 V 1 17 V 1 0 V 2 13 V 1 0 V 1 0 V 1 4 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -256 V 1 0 V 1 12 V 1 13 V 1 0 V 1 13 V 1 0 V 1 4 V 2 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 1 13 V 1 4 V 1 8 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 4 V 1 8 V 1 0 V 1 0 V 1 -265 V 1 4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 17 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 8 V 1 0 V 1 4 V 1 0 V 1 0 V 1 -155 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 4 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -434 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -249 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 13 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 5 V 1 8 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 26 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 4 V 2 34 V 1 4 V 1 -492 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 2 21 V 1 0 V 1 0 V 1 16 V 1 0 V 1 0 V 1 5 V 1 21 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 26 V 1 0 V 1 4 V 2 42 V 1 0 V 1 0 V 1 0 V 1 -198 V 1 13 V 1 4 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 4 V 1 8 V 1 0 V 1 9 V 1 0 V 1 25 V 1 8 V 1 0 V 1 21 V 1 0 V 2 5 V 1 0 V 1 0 V 1 0 V 1 16 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 21 V 1 8 V 1 21 V 1 17 V 1 9 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 2 0 V 1 8 V 1 80 V 1 0 V 1 0 V 1 21 V 1 38 V 1 34 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -320 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 42 V 1 8 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 38 V 1 30 V 1 0 V 1 42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 33 V 1 0 V 1 0 V 2 21 V 1 38 V 1 9 V 1 59 V 1 0 V 1 0 V 1 0 V 1 25 V 1 12 V 1 0 V 1 21 V 1 13 V 1 0 V 1 8 V 1 43 V 1 8 V 1 0 V 1 0 V 1 8 V 1 17 V 1 4 V 1 0 V 1 55 V 1 0 V 2 0 V 1 0 V 1 9 V 1 8 V 1 21 V 1 0 V 1 0 V 1 -265 V 1 4 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 17 V 1 42 V 1 21 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 33 V 2 0 V 1 17 V 1 0 V 1 9 V 1 8 V 1 30 V 1 0 V 1 21 V 1 21 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 17 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 38 V 1 9 V 1 4 V 1 4 V 1 67 V 1 0 V 1 9 V 1 4 V 1 110 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -240 V 1 8 V 1 21 V 1 9 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 2 25 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 8 V 1 0 V 1 9 V 1 12 V 1 0 V 1 0 V 1 13 V 1 0 V 1 17 V 1 4 V 1 50 V 1 21 V 1 5 V 1 0 V 2 12 V 1 5 V 1 46 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 26 V 1 0 V 1 21 V 1 21 V 1 8 V 1 0 V 1 4 V 1 5 V 1 0 V 1 0 V 1 8 V 1 4 V 1 0 V 1 0 V 1 4 V 2 0 V currentpoint stroke M 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -257 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 5 V 1 0 V 1 8 V 1 8 V 1 51 V 1 0 V 2 0 V 1 34 V 1 4 V 1 0 V 1 4 V 1 0 V 1 0 V 1 34 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 29 V 1 4 V 1 5 V 1 4 V 1 0 V 1 21 V 1 0 V 1 0 V 1 4 V 1 0 V 2 0 V 1 0 V 1 8 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 5 V 1 0 V 1 4 V 1 0 V 2 -76 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 2 0 V 1 4 V 1 0 V 1 8 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 5 V 1 4 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 -130 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 25 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -324 V 1 0 V 1 8 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -463 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 8 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 -155 V 1 4 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 33 V 1 13 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 9 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 4 V 1 0 V 1 13 V 1 0 V 1 -169 V 2 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 16 V 1 0 V 1 17 V 1 9 V 1 0 V 1 4 V 1 0 V 1 0 V 1 13 V 1 37 V 1 26 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 9 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V currentpoint stroke M 1 9 V 1 0 V 1 29 V 1 4 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 4 V 2 13 V 1 17 V 1 0 V 1 17 V 1 33 V 1 0 V 1 0 V 1 -42 V 1 34 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 5 V 1 63 V 1 0 V 1 0 V 2 0 V 1 0 V 1 4 V 1 38 V 1 4 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 5 V 1 0 V 1 0 V 1 8 V 1 4 V 1 4 V 1 5 V 1 4 V 1 12 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 21 V 1 8 V 1 4 V 1 4 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 9 V 1 4 V 1 0 V 1 0 V 1 0 V 2 13 V 1 0 V 1 0 V 1 4 V 1 0 V 1 8 V 1 9 V 1 -501 V 1 12 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 17 V 1 4 V 1 17 V 1 63 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 2 8 V 1 4 V 1 0 V 1 5 V 1 4 V 1 0 V 1 4 V 1 17 V 1 0 V 1 17 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 8 V 1 5 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 21 V 1 0 V 2 17 V 1 0 V 1 0 V 1 0 V 1 8 V 1 17 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 17 V 1 0 V 1 -438 V 1 0 V 1 0 V 1 0 V 2 4 V 1 17 V 1 38 V 1 13 V 1 0 V 1 0 V 1 4 V 1 21 V 1 25 V 1 0 V 1 26 V 1 0 V 1 0 V 1 16 V 1 13 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 5 V 1 29 V 1 8 V 1 38 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 25 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 47 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 33 V 1 0 V 1 9 V 1 -349 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 17 V 1 0 V 1 8 V 1 9 V 1 8 V 1 0 V 1 4 V 1 0 V 1 13 V 2 8 V 1 26 V 1 0 V 1 33 V 1 25 V 1 9 V 1 0 V 1 0 V 1 8 V 1 0 V 1 17 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 12 V 2 0 V 1 38 V 1 30 V 1 8 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 8 V 1 0 V 1 0 V 1 -126 V 1 0 V 1 4 V 1 0 V 1 13 V 1 0 V 1 0 V 1 4 V 1 29 V 2 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 4 V 1 0 V 1 9 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 9 V 1 4 V 1 8 V 1 34 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 -172 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 2 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 4 V 1 0 V 1 0 V 1 4 V 1 0 V 2 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 -290 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 8 V 1 0 V 1 0 V 1 4 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 2 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 -1018 V 2 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 4 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 4 V 1 5 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -80 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 2 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 -21 V 1 4 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 9 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 21 V 1 13 V 1 21 V 1 12 V 1 -46 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 2 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 30 V 1 46 V 1 13 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 8 V 1 55 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 1 0 V 1 -55 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 30 V 1 0 V 1 0 V 1 0 V 1 8 V 2 0 V 1 13 V 1 42 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -568 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -118 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 4 V 1 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 -581 V 1 0 V 1 5 V 1 12 V 1 38 V 1 9 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 21 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 4 V 1 0 V 1 0 V 1 4 V 1 0 V 1 4 V 1 63 V 1 26 V 1 16 V 1 0 V 1 9 V 1 0 V 1 -236 V 1 30 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 33 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 17 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 21 V 1 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 29 V 1 0 V 1 0 V 1 -391 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 63 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 25 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 34 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 2 21 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 13 V 1 17 V 1 0 V 1 -17 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 13 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 25 V 1 0 V 1 0 V 1 17 V 1 0 V 1 9 V 1 0 V 1 -308 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 4 V 2 8 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 5 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 17 V 1 0 V 1 0 V 2 0 V 1 0 V 1 12 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 5 V 1 8 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 4 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 -299 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 9 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V currentpoint stroke M 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 12 V 1 0 V 1 -50 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 1 0 V 2 0 V 1 0 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 4929 a(Figur)o(e)24 b(5.5:)874 4824 y SDict begin H.S end 874 4824 a 874 4824 a SDict begin H.R end 874 4824 a 874 4824 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.5) cvn H.B /DEST pdfmark end 874 4824 a 105 x FK(A)h(closer)h(view)g(of)f(a)g(test)h(run)e(wher)o(e)h(a)h (node)f(is)h(killed)f(every)h(minute.)e(The)h(number)511 5034 y(of)k(r)o(eplicas)h(is)f(much)h(mor)o(e)f(unstable)f(compar)o(ed) i(to)g(Figur)o(e)2219 5035 y SDict begin H.S end 2219 5035 a -1 x FK(5.4)2312 4982 y SDict begin H.R end 2312 4982 a 2312 5034 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.4) cvn H.B /ANN pdfmark end 2312 5034 a FK(.)f(Notice)h(the)g (oscillations;)e(their)511 5139 y(period)23 b(is)f(about)g(12-15)i (minutes.)d(Compar)o(e)h(this)h(with)h(T)2093 5156 y Fg(b)2153 5139 y Ft(=)29 b FR(15)23 b FK(minutes.)e(The)h(impr)o (ecision)g(can)511 5244 y(be)d(attributed)f(to)h(the)g(fact)g(that)j(T) 1412 5261 y Fg(b)1462 5244 y FK(is)d(randomised)g(a)h(little)e(to)h (avoid)h(having)f(all)g(nodes)g(r)o(epublish)f(at)511 5349 y(the)h(same)g(time.)1831 5662 y FU(59)p eop end %%Page: 60 62 TeXDict begin 60 61 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.60) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 440 531 a FU(in)26 b(Section)828 533 y SDict begin H.S end 828 533 a -2 x FU(3.4.2)994 474 y SDict begin H.R end 994 474 a 994 531 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (subsection.3.4.2) cvn H.B /ANN pdfmark end 994 531 a FU(,)f(one)g(may)g (expect)f(the)i(total)f(thr)o(oughput)h(of)f(the)g(system)h(to)f(be)g (able)440 646 y(to)j(scale)f(beyond)g(what)h(a)f(centralised)f(shar)o (ed)h(\002le)g(system)h(can)f(deliver)g(because)f(all)440 760 y(communication)21 b(does)e(not)i(have)d(to)i(go)g(thr)o(ough)g (the)g(backbone)f(The)g(maximum)h(total)440 875 y(thr)o(oughput)30 b(for)e(a)h(centralised)f(shar)o(ed)g(\002le)h(system)h(for)f(the)g (100)e(Mbit/s)j(backbone)440 990 y(used)21 b(in)g(this)g(test)g(is)g (about)g(10-11)d(Mbyte/s.)440 1140 y SDict begin H.S end 440 1140 a 440 1140 a SDict begin 13.79993 H.A end 440 1140 a 440 1140 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.3.1) cvn H.B /DEST pdfmark end 440 1140 a 110 x FJ(5.3.1)99 b(T)-11 b(est)25 b(setup)440 1423 y FU(The)20 b(96)e(nodes)i(ar)o(e)e (started)h(at)g(the)h(same)g(time)g(with)h FO(n)g FU(nodes)f(as)f (active)g(nodes)h(and)f(the)440 1537 y(other)k(96)16 b FI(\000)j FO(n)k FU(nodes)g(as)f(passive)f(nodes.)i(The)f(passive)g (nodes)h(simply)g(participates)e(in)440 1652 y(the)26 b(network)g(without)g(r)o(eading)f(or)g(writing)i(anything,)f(while)g (the)f(active)g(nodes)h(r)o(un)440 1767 y(the)21 b(following)h(pr)o (ogram)e(once:)440 1823 y SDict begin H.S end 440 1823 a 440 1823 a SDict begin 13.79993 H.A end 440 1823 a 440 1823 a SDict begin [ /View [/XYZ H.V] /Dest (Item.64) cvn H.B /DEST pdfmark end 440 1823 a 544 1948 a FU(1.)41 b(W)-8 b(ait)25 b(until)i(a)e(pr)o(ede\002ned)f(point)i(in)g(time)g(common)h(to)f(all)g (active)f(nodes)h(to)g(en-)648 2062 y(sur)o(e)20 b(that)g(the)h (network)h(has)e(been)h(setup.)440 2119 y SDict begin H.S end 440 2119 a 440 2119 a SDict begin 13.79993 H.A end 440 2119 a 440 2119 a SDict begin [ /View [/XYZ H.V] /Dest (Item.65) cvn H.B /DEST pdfmark end 440 2119 a 544 2243 a FU(2.)41 b(Start)19 b(a)i(timer)f(and)h(start)f(writing)i(a)e(2)g (Mbyte)h(\002le.)440 2300 y SDict begin H.S end 440 2300 a 440 2300 a SDict begin 13.79993 H.A end 440 2300 a 440 2300 a SDict begin [ /View [/XYZ H.V] /Dest (Item.66) cvn H.B /DEST pdfmark end 440 2300 a 544 2424 a FU(3.)41 b(When)28 b(the)g(writing)h(is)f(\002nished,)h(r)o(ecor)o(d)d(the)i(value)g(of)g (the)g(timer)g(and)f(log)i(the)648 2539 y(thr)o(oughput)k(\(2)g(Mbyte)f (divided)h(by)g(the)h(r)o(ecor)o(ded)d(value\).)h(Then)h(wait)h(until) 648 2653 y(another)21 b(pr)o(ede\002ned)e(point)i(in)h(time)f(to)g (ensur)o(e)f(that)h(all)h FO(n)g FU(nodes)f(have)g(\002nished)648 2768 y(writing.)440 2824 y SDict begin H.S end 440 2824 a 440 2824 a SDict begin 13.79993 H.A end 440 2824 a 440 2824 a SDict begin [ /View [/XYZ H.V] /Dest (Item.67) cvn H.B /DEST pdfmark end 440 2824 a 544 2949 a FU(4.)41 b(Start)18 b(a)i(timer)g(and)f(r)o(ead)f(one)j(of)f(the)g(2)f(Mbyte)g(\002les)h (that)g(have)g(just)g(been)g(written)648 3063 y(but)25 b(not)h(the)f(\002le)g(that)g(the)g(node)h(has)f(written)g(itself)g (and)g(not)h(a)e(\002le)i(that)f(one)g(of)648 3178 y(the)20 b(other)i(nodes)f(is)g(r)o(eading.)440 3235 y SDict begin H.S end 440 3235 a 440 3235 a SDict begin 13.79993 H.A end 440 3235 a 440 3235 a SDict begin [ /View [/XYZ H.V] /Dest (Item.68) cvn H.B /DEST pdfmark end 440 3235 a 544 3359 a FU(5.)41 b(When)27 b(the)h(r)o(eading)e(is)h(\002nished,)h(r)o(ecor)o (d)e(the)h(value)g(of)g(the)g(timer)g(and)g(log)h(the)648 3473 y(thr)o(oughput)c(\(again)f(2)h(Mbyte)f(divided)g(by)h(the)g(r)o (ecor)o(ded)e(value\).)h(Then)h(wait)g(a)648 3588 y(little)d(longer)g (to)g(ensur)o(e)f(that)h(all)g(nodes)g(have)f(\002nished)h(r)o(eading.) 440 3769 y(Note)33 b(that)g(the)g(active)g(nodes)g(start)f(writing)i (at)f(the)g(same)g(time)g(and)g(start)f(r)o(eading)440 3884 y(at)g(the)g(same)f(time,)h(and)g(that)g(the)g(two)h(activities)e (do)h(not)h(overlap.)e(Since)h(the)g(tests)440 3998 y(ar)o(e)e(short,)j (r)o(outing)f(table)f(maintenance)h(and)f(r)o(epublishing)i(do)f(not)g (interfer)o(e)e(with)440 4113 y(the)g(r)o(esults.)f(During)h(the)g (tests,)g(the)g(blocks)g(ar)o(e)e(never)i(actually)f(saved)g(to)h(the)f (har)o(d)440 4227 y(disk)d(but)h(simply)g(kept)f(in)g(memory)h(to)f (avoid)g(the)h(single)f(disk)h(on)g(the)f(test)g(machine)440 4342 y(becoming)c(a)e(bottleneck.)565 4456 y(The)g(test)g(is)h(r)o (epeated)e(by)h(killing)i(all)e(Heurika)g(pr)o(ocesses)g(and)g (starting)h(them)f(over)440 4571 y(again)e(to)h(ensur)o(e)g(that)f(the) h(data)f(fr)o(om)g(a)g(pr)o(evious)g(test)h(is)g(not)h(still)f(being)g (stor)o(ed)f(by)h(the)440 4686 y(passive)h(nodes.)440 4836 y SDict begin H.S end 440 4836 a 440 4836 a SDict begin 13.79993 H.A end 440 4836 a 440 4836 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.3.2) cvn H.B /DEST pdfmark end 440 4836 a 110 x FJ(5.3.2)99 b(T)-11 b(est)25 b(results)440 5119 y FU(The)c(r)o(esults)f(of)h(the)f(tests)h(wer)o(e)f(thr)o(ee)g (test)h(r)o(un)g(sets)g(of)f(thr)o(oughput)h(values)g(fr)o(om)f(each) 440 5233 y(node)c(for)g(r)o(ead)e(and)h(for)h(write)g(with)h(the)f(r)o (eplication)f(constant)i FO(r)26 b FE(=)e FU(1,)14 b(2,)h(.)h(.)g(.)c (,)i(6)h(and)g(with)440 5348 y(the)21 b(number)g(of)g(active)f(nodes)i FO(n)j FE(=)f FU(1,)14 b(2,)h(.)h(.)g(.)c(,)i(45)19 b(\(i.e.)h(3)d FI(\002)f FU(2)h FI(\002)g FU(6)f FI(\002)h FU(45)j(sets)h(of)g (values\).)1831 5662 y(60)p eop end %%Page: 61 63 TeXDict begin 61 62 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.61) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 565 531 a FU(Appendix)955 531 y SDict begin H.S end 955 531 a FU(A)1019 474 y SDict begin H.R end 1019 474 a 1019 531 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (appendix.A) cvn H.B /ANN pdfmark end 1019 531 a 20 w FU(contains)21 b(plots)f(of)g(the)g(thr)o(oughputs.)h(Each)e(\002gur)o(e)h(in)g(the)g (appendix)440 646 y(shows)30 b(the)e(thr)o(oughput)h(of)f(every)g(node) g(in)h(each)f(test)g(r)o(un)h(as)f(a)g(function)h(of)g FO(n)q FU(.)f(The)440 760 y(average)19 b(thr)o(oughput)j(is)f(shown)h (as)e(a)h(bold)f(line.)565 875 y(The)30 b(average)f(of)i(the)g FO(total)f FU(thr)o(oughputs)h(for)g(the)g(thr)o(ee)f(test)h(r)o(uns)g (is)g(shown)i(for)440 990 y(r)o(ead)23 b(in)i(Figur)o(e)988 992 y SDict begin H.S end 988 992 a -2 x FU(5.6)1091 932 y SDict begin H.R end 1091 932 a 1091 990 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.6) cvn H.B /ANN pdfmark end 1091 990 a 25 w FU(and)f(for)h(write)g(in)g(Figur)o(e)1989 992 y SDict begin H.S end 1989 992 a -2 x FU(5.7)2093 932 y SDict begin H.R end 2093 932 a 2093 990 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.7) cvn H.B /ANN pdfmark end 2093 990 a FU(,)f(both)i(with)f(total)g(thr)o(oughput)g(as)g(a) 440 1104 y(function)d(of)f FO(n)q FU(.)440 1233 y SDict begin H.S end 440 1233 a 440 1233 a SDict begin 13.79993 H.A end 440 1233 a 440 1233 a SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.3.3) cvn H.B /DEST pdfmark end 440 1233 a 131 x FJ(5.3.3)99 b(Evaluation)25 b(of)g(the)g(results)440 1537 y FU(Figur)o(e)706 1539 y SDict begin H.S end 706 1539 a -2 x FU(5.6)810 1480 y SDict begin H.R end 810 1480 a 810 1537 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.6) cvn H.B /ANN pdfmark end 810 1537 a 28 w FU(and)1007 1539 y SDict begin H.S end 1007 1539 a -2 x FU(5.7)1111 1480 y SDict begin H.R end 1111 1480 a 1111 1537 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.7) cvn H.B /ANN pdfmark end 1111 1537 a 28 w FU(show)30 b(that)e(the)h(system)g(does) f(indeed)g(scale)g(well,)h(in)f(fact)g(close)440 1652 y(to)f(linearly)g(in)i FO(n)f FU(when)g(r)o(eading!)e(The)h(thr)o (oughputs)g(for)g(r)o(eading)f(do)h(start)g(gr)o(owing)440 1767 y(slower)g(at)f(about)h(35)e(active)h(nodes.)h(This)g(could)g(be)f (because)g(the)h(network)g(becomes)440 1881 y(congested,)19 b(but)g(it)h(could)f(unfortunately)h(also)f(be)g(because)f(our)i(test)f (machine)g(was)h(too)440 1996 y(slow)h(to)g(keep)e(pace.)g(Anyway)-9 b(,)20 b(the)g(system)h(is)g(clearly)f(able)f(to)i(handle)f(mor)o(e)f (than)i(1)q(/)q(3)440 2110 y(of)c(the)h(nodes)g(being)f(active)g(at)g (the)h(same)f(time)h(without)g(penalising)g(their)g(thr)o(oughput.)565 2225 y(One)33 b(inter)o(esting)h(aspect)f(of)g(the)h(r)o(ead)e(thr)o (oughput)i(is)g(that)f(higher)h(values)f(of)h FO(r)440 2339 y FU(seems)23 b(to)f(give)h(slightly)g(better)f(performance)f(as)h (shown)i(in)f(Figur)o(e)2705 2341 y SDict begin H.S end 2705 2341 a -2 x FU(5.6)2808 2282 y SDict begin H.R end 2808 2282 a 2808 2339 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.6) cvn H.B /ANN pdfmark end 2808 2339 a FU(.)f(W)-8 b(e)23 b(attribute)440 2454 y(this)f(to)g(the)g(fact)f (that)g(a)g(r)o(eading)g(node)h(will)g(have)f(mor)o(e)g(nodes)h(to)g (choose)g(fr)o(om)g(when)440 2569 y(r)o(etrieving)e(a)g(block)i(with)f (higher)g(values)g(of)g FO(r)r FU(.)f(This)i(helps)f(balancing)f(the)h (load.)565 2683 y(Even)k(though)h(the)f(total)h(write)f(thr)o(oughputs) h(also)g(scale)e(well,)i(albeit)f(appar)o(ently)440 2798 y(sub-linearly)f(in)i FO(n)g FU(as)e(shown)i(in)f(Figur)o(e)1805 2800 y SDict begin H.S end 1805 2800 a -2 x FU(5.7)1908 2740 y SDict begin H.R end 1908 2740 a 1908 2798 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.7) cvn H.B /ANN pdfmark end 1908 2798 a FU(,)g(the)f(test)h(does)f(highlight)i(that)f (the)f(write)440 2912 y(speed)f(is)h(slowed)g(down)g(much)g(when)h(the) e(data)g(ar)o(e)f(r)o(eplicated.)g(Since)h(setting)h FO(r)32 b FE(=)d FU(1)440 3027 y(or)i FO(r)45 b FE(=)d FU(2)30 b(is)h(danger)o(ous)f(fr)o(om)h(an)f(availability)g(and)h(data) e(loss)j(perspective)e(unless)440 3141 y(the)i(nodes)g(ar)o(e)f(very)h (stable,)f(this)i(slowdown)g(is)f(a)g(necessary)f(consequence)i(of)f (the)440 3256 y(design.)26 b(Of)h(course,)f(a)g(r)o(eal)f (implementation)i(can)f(hide)h(the)f(pr)o(oblem)g(fr)o(om)g(the)g(user) 440 3370 y(by)k(distributing)g(the)g(blocks)h(in)f(the)g(backgr)o (ound.)f(W)-8 b(e)30 b(further)f(discuss)i(optimising)440 3485 y(some)24 b(of)f(the)h(r)o(eplicas)e(away)h(for)g(short-lived)g (\002les)h(as)f(a)g(suggestion)h(for)g(futur)o(e)e(work)440 3600 y(in)f(Section)819 3602 y SDict begin H.S end 819 3602 a -2 x FU(7.5)923 3542 y SDict begin H.R end 923 3542 a 923 3600 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.7.5) cvn H.B /ANN pdfmark end 923 3600 a FU(.)565 3714 y(The)15 b(graphs)h(in)g(Appendix)1463 3714 y SDict begin H.S end 1463 3714 a FU(A)1528 3657 y SDict begin H.R end 1528 3657 a 1528 3714 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (appendix.A) cvn H.B /ANN pdfmark end 1528 3714 a 16 w FU(show)g(that)g(the)g(individual)g(r)o(ead)e(and)h(write)h(thr) o(ough-)440 3829 y(puts)22 b(ar)o(e)e(quite)i(close)g(to)g(the)g (averages)e(so)i(that)f(the)h(graphs)g(in)g(Figur)o(e)2779 3831 y SDict begin H.S end 2779 3831 a -2 x FU(5.6)2883 3771 y SDict begin H.R end 2883 3771 a 2883 3829 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.6) cvn H.B /ANN pdfmark end 2883 3829 a 21 w FU(and)3066 3831 y SDict begin H.S end 3066 3831 a -2 x FU(5.7)3170 3771 y SDict begin H.R end 3170 3771 a 3170 3829 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.5.7) cvn H.B /ANN pdfmark end 3170 3829 a 22 w FU(ar)o(e)440 3943 y(meaningful)f(\(at)f(least)h (for)g FO(n)k FI(\024)f FU(35\).)565 4058 y(One)i(thing)i(that)e(must)h (be)f(kept)g(in)h(mind)g(is)f(that)h(the)f(tests)h(used)f(a)g(constant) h(and)440 4172 y(r)o(elatively)17 b(lar)o(ge)g(\002le)h(size.)f(Hence,) g(the)h(r)o(esults)g(do)g(not)g(r)o(e\003ect)f(how)i(the)f(system)h (would)440 4287 y(handle)31 b(a)f(r)o(ealistic)h(usage)g(pattern)f (with)i(a)e(mixtur)o(e)h(of)g(small)g(and)g(lar)o(ge)f(\002les.)h(The) 440 4402 y(thr)o(oughput)h(is)g(expected)e(to)i(be)f(lower)h(when)g(pr) o(ocessing)g(many)f(small)h(\002les)g(since)440 4516 y(mor)o(e)27 b(\002le)h(identi\002ers)g(must)g(be)f(r)o(etrieved.)f(On) i(the)g(other)f(hand,)h(the)f(\002le)h(identi\002ers)440 4631 y(ar)o(e)f(quite)i(small)f(so)h(mor)o(e)f(nodes)h(can)f(be)g (expected)f(to)i(be)f(active)f(at)h(the)h(same)f(time)440 4745 y(without)22 b(disturbing)f(each)g(other)-6 b(.)1831 5662 y(61)p eop end %%Page: 62 64 TeXDict begin 62 63 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.62) cvn H.B /DEST pdfmark end 440 241 a 1568 211 a FN(Chapter)20 b(5.)46 b(T)-8 b(ests)p 440 244 2865 4 v 573 2399 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/throughput-read.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: throughput-read.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 14:56:10 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 882 420 M 63 0 V 6017 0 R -63 0 V 798 420 M ( 0) Rshow 882 1310 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 5000) Rshow 882 2201 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 10000) Rshow 882 3091 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 15000) Rshow 882 3982 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 20000) Rshow 882 4872 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 25000) Rshow 882 420 M 0 63 V 0 4389 R 0 -63 V 882 280 M ( 0) Cshow 1558 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 5) Cshow 2233 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 2909 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 15) Cshow 3584 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 4260 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 25) Cshow 4935 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 5611 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 35) Cshow 6286 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 45) Cshow 1.000 UL LTb 882 420 M 6080 0 V 0 4452 V -6080 0 V 882 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Total throughput \(kbyte/s\)) Cshow grestore 3922 70 M (Number of simultaneous readers) Cshow 1.000 UL LT0 1386 4739 M (r = 1) Rshow 1470 4739 M 399 0 V 1017 529 M 135 106 V 135 105 V 135 102 V 136 105 V 135 106 V 135 105 V 135 105 V 135 96 V 135 114 V 135 106 V 135 80 V 135 107 V 136 110 V 135 87 V 135 111 V 135 96 V 135 90 V 135 111 V 135 80 V 135 103 V 135 91 V 136 114 V 135 72 V 135 108 V 135 73 V 135 100 V 135 89 V 135 107 V 135 59 V 135 47 V 136 129 V 135 18 V 135 -100 V 135 307 V 135 66 V 135 -288 V 135 270 V 135 -177 V 135 222 V 136 -49 V 135 114 V 135 -112 V 135 -397 V 135 423 V 1.000 UL LT1 1386 4599 M (r = 2) Rshow 1470 4599 M 399 0 V 1017 529 M 135 107 V 135 108 V 135 113 V 136 102 V 135 103 V 135 112 V 135 90 V 135 104 V 135 112 V 135 102 V 135 102 V 135 108 V 136 91 V 135 105 V 135 93 V 135 112 V 135 78 V 135 114 V 135 99 V 135 99 V 135 104 V 136 90 V 135 99 V 135 98 V 135 90 V 135 77 V 135 126 V 135 86 V 135 97 V 135 54 V 136 96 V 135 72 V 135 60 V 135 81 V 135 96 V 135 -203 V 135 148 V 135 118 V 135 39 V 136 -93 V 135 -38 V 135 16 V 135 -25 V 135 127 V 1.000 UL LT2 1386 4459 M (r = 3) Rshow 1470 4459 M 399 0 V 1017 527 M 135 110 V 135 112 V 135 106 V 136 108 V 135 104 V 135 109 V 135 105 V 135 103 V 135 100 V 135 99 V 135 117 V 135 102 V 136 100 V 135 95 V 135 80 V 135 129 V 135 99 V 135 102 V 135 90 V 135 121 V 135 80 V 136 109 V 135 98 V 135 76 V 135 123 V 135 85 V 135 93 V 135 91 V 135 79 V 135 95 V 136 95 V 135 37 V 135 82 V 135 88 V 135 50 V 135 24 V 135 8 V 135 92 V 135 16 V 136 -373 V 135 252 V 135 21 V 135 -166 V 135 -62 V 1.000 UL LT3 1386 4319 M (r = 4) Rshow 1470 4319 M 399 0 V 1017 527 M 135 116 V 135 103 V 135 122 V 136 101 V 135 109 V 135 109 V 135 106 V 135 105 V 135 115 V 135 93 V 135 99 V 135 125 V 136 90 V 135 84 V 135 138 V 135 67 V 135 134 V 135 102 V 135 101 V 135 88 V 135 83 V 136 123 V 135 96 V 135 79 V 135 97 V 135 102 V 135 80 V 135 80 V 135 100 V 135 87 V 136 129 V 135 42 V 135 103 V 135 75 V 135 64 V 135 -53 V 135 -59 V 135 206 V 135 -23 V 136 -21 V 135 -104 V 135 64 V 135 -104 V 135 130 V 1.000 UL LT4 1386 4179 M (r = 5) Rshow 1470 4179 M 399 0 V 1017 531 M 135 108 V 135 112 V 135 105 V 136 118 V 135 107 V 135 116 V 135 98 V 135 115 V 135 97 V 135 110 V 135 114 V 135 106 V 136 84 V 135 94 V 135 116 V 135 119 V 135 119 V 135 79 V 135 112 V 135 97 V 135 96 V 136 103 V 135 127 V 135 96 V 135 62 V 135 124 V 135 112 V 135 81 V 135 89 V 135 91 V 136 48 V 135 103 V 135 46 V 135 23 V 135 139 V 135 -82 V 135 18 V 135 130 V 135 79 V 136 -152 V 135 -31 V 135 28 V 135 -3 V 135 -48 V 1.000 UL LT5 1386 4039 M (r = 6) Rshow 1470 4039 M 399 0 V 1017 537 M 135 108 V 135 115 V 135 112 V 136 108 V 135 93 V 135 123 V 135 109 V 135 101 V 135 118 V 135 114 V 135 101 V 135 102 V 136 99 V 135 93 V 135 126 V 135 83 V 135 145 V 135 72 V 135 127 V 135 91 V 135 137 V 136 87 V 135 82 V 135 78 V 135 143 V 135 104 V 135 82 V 135 106 V 135 73 V 135 95 V 136 64 V 135 113 V 135 42 V 135 45 V 135 108 V 135 21 V 135 64 V 135 -186 V 135 100 V 136 -79 V 135 -8 V 135 154 V 135 -301 V 135 17 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 2587 a FK(Figur)o(e)19 b(5.6:)868 2482 y SDict begin H.S end 868 2482 a 868 2482 a SDict begin H.R end 868 2482 a 868 2482 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.6) cvn H.B /DEST pdfmark end 868 2482 a 105 x FK(T)-8 b(otal)19 b(r)o(ead)h(thr)o(oughput)g(averaged)i(over)e (the)g(thr)o(ee)g(test)g(runs.)e(The)i(thr)o(oughputs)g(scale)511 2692 y(linearly)j(up)g(to)g(about)g(35)h(active)g(nodes.)g(Note)f(that) h(the)f(thr)o(oughput)h(seems)g(to)f(be)g(slightly)h(better)511 2797 y(for)19 b(higher)g(values)g(of)g(r)r(.)573 4967 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3118 @rwi @setspecial %%BeginDocument: test/images/throughput-write.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: throughput-write.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 14:56:10 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 882 420 M 63 0 V 6017 0 R -63 0 V 798 420 M ( 0) Rshow 882 976 M 63 0 V 6017 0 R -63 0 V 798 976 M ( 2000) Rshow 882 1533 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 4000) Rshow 882 2089 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 6000) Rshow 882 2646 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 8000) Rshow 882 3202 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 10000) Rshow 882 3759 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 12000) Rshow 882 4315 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 14000) Rshow 882 4872 M 63 0 V 6017 0 R -63 0 V -6101 0 R ( 16000) Rshow 882 420 M 0 63 V 0 4389 R 0 -63 V 882 280 M ( 0) Cshow 1558 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 5) Cshow 2233 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 2909 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 15) Cshow 3584 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 4260 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 25) Cshow 4935 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 5611 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 35) Cshow 6286 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 6962 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 45) Cshow 1.000 UL LTb 882 420 M 6080 0 V 0 4452 V -6080 0 V 882 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Total throughput \(kbyte/s\)) Cshow grestore 3922 70 M (Number of simultaneous writers) Cshow 1.000 UL LT0 1386 4739 M (r = 1) Rshow 1470 4739 M 399 0 V 1017 584 M 135 158 V 135 161 V 135 156 V 136 157 V 135 153 V 135 148 V 135 143 V 135 129 V 135 151 V 135 140 V 135 127 V 135 130 V 136 106 V 135 141 V 135 110 V 135 111 V 135 133 V 135 87 V 135 108 V 135 142 V 135 38 V 136 87 V 135 92 V 135 92 V 135 102 V 135 110 V 135 21 V 135 85 V 135 64 V 135 -73 V 136 211 V 135 16 V 135 8 V 135 -8 V 135 163 V 135 -186 V 135 12 V 135 225 V 135 -88 V 136 60 V 135 86 V 135 17 V 135 -192 V 135 184 V 1.000 UL LT1 1386 4599 M (r = 2) Rshow 1470 4599 M 399 0 V 1017 504 M 135 83 V 135 80 V 135 77 V 136 86 V 135 83 V 135 75 V 135 78 V 135 71 V 135 71 V 135 71 V 135 65 V 135 80 V 136 66 V 135 38 V 135 91 V 135 72 V 135 74 V 135 66 V 135 53 V 135 52 V 135 48 V 136 84 V 135 56 V 135 53 V 135 37 V 135 73 V 135 23 V 135 51 V 135 63 V 135 11 V 136 20 V 135 86 V 135 -19 V 135 39 V 135 -20 V 135 17 V 135 2 V 135 16 V 135 -49 V 136 110 V 135 -26 V 135 9 V 135 -31 V 135 30 V 1.000 UL LT2 1386 4459 M (r = 3) Rshow 1470 4459 M 399 0 V 1017 476 M 135 56 V 135 53 V 135 57 V 136 54 V 135 53 V 135 54 V 135 53 V 135 48 V 135 53 V 135 48 V 135 51 V 135 51 V 136 51 V 135 42 V 135 46 V 135 43 V 135 45 V 135 25 V 135 64 V 135 49 V 135 41 V 136 32 V 135 40 V 135 36 V 135 42 V 135 37 V 135 39 V 135 38 V 135 25 V 135 32 V 136 27 V 135 35 V 135 -26 V 135 47 V 135 -19 V 135 47 V 135 -18 V 135 5 V 135 -16 V 136 26 V 135 -231 V 135 245 V 135 -66 V 135 79 V 1.000 UL LT3 1386 4319 M (r = 4) Rshow 1470 4319 M 399 0 V 1017 462 M 135 42 V 135 42 V 135 41 V 136 42 V 135 40 V 135 39 V 135 41 V 135 40 V 135 32 V 135 42 V 135 39 V 135 37 V 136 35 V 135 35 V 135 38 V 135 25 V 135 36 V 135 39 V 135 35 V 135 32 V 135 28 V 136 35 V 135 32 V 135 21 V 135 24 V 135 43 V 135 30 V 135 22 V 135 27 V 135 21 V 136 15 V 135 22 V 135 0 V 135 47 V 135 -48 V 135 -8 V 135 67 V 135 -3 V 135 15 V 136 -11 V 135 -151 V 135 18 V 135 118 V 135 18 V 1.000 UL LT4 1386 4179 M (r = 5) Rshow 1470 4179 M 399 0 V 1017 454 M 135 34 V 135 33 V 135 34 V 136 32 V 135 33 V 135 31 V 135 33 V 135 31 V 135 30 V 135 28 V 135 34 V 135 28 V 136 29 V 135 30 V 135 30 V 135 21 V 135 35 V 135 22 V 135 29 V 135 25 V 135 32 V 136 21 V 135 32 V 135 10 V 135 24 V 135 33 V 135 21 V 135 23 V 135 15 V 135 23 V 136 17 V 135 22 V 135 -6 V 135 12 V 135 17 V 135 -3 V 135 8 V 135 -17 V 135 8 V 136 -82 V 135 84 V 135 -104 V 135 125 V 135 0 V 1.000 UL LT5 1386 4039 M (r = 6) Rshow 1470 4039 M 399 0 V 1017 448 M 135 28 V 135 28 V 135 28 V 136 27 V 135 28 V 135 27 V 135 26 V 135 26 V 135 25 V 135 27 V 135 25 V 135 25 V 136 25 V 135 23 V 135 23 V 135 19 V 135 28 V 135 26 V 135 11 V 135 34 V 135 22 V 136 19 V 135 22 V 135 20 V 135 18 V 135 21 V 135 14 V 135 21 V 135 13 V 135 12 V 136 24 V 135 19 V 135 -11 V 135 10 V 135 20 V 135 9 V 135 3 V 135 0 V 135 2 V 136 -4 V 135 7 V 135 -6 V 135 2 V 135 1 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 511 5155 a(Figur)o(e)d(5.7:)866 5050 y SDict begin H.S end 866 5050 a 866 5050 a SDict begin H.R end 866 5050 a 866 5050 a SDict begin [ /View [/XYZ H.V] /Dest (figure.5.7) cvn H.B /DEST pdfmark end 866 5050 a 105 x FK(T)-8 b(otal)16 b(write)h(thr)o(oughput)h(averaged)g(over)g(the)g (thr)o(ee)f(test)g(runs.)f(The)h(thr)o(oughputs)h(scale)511 5260 y(sub-linearly)m(.)f(Higher)j(values)e(of)h(r)h(r)o(esult)e(in)g (lower)h(thr)o(oughput.)1831 5662 y FU(62)p eop end %%Page: 63 65 TeXDict begin 63 64 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.63) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.6) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(6)440 1638 y FX(Conclusion)440 2084 y FU(This)25 b(chapter)e(pr)o (esents)g(the)i(conclusions)g(of)f(the)h(pr)o(oject.)e(W)-8 b(e)24 b(start)g(by)g(summarising)440 2199 y(the)g(\002ndings)h(of)f (the)g(pr)o(oject)g(in)g(Section)1801 2201 y SDict begin H.S end 1801 2201 a -2 x FU(6.1)1905 2141 y SDict begin H.R end 1905 2141 a 1905 2199 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.6.1) cvn H.B /ANN pdfmark end 1905 2199 a 24 w FU(and)g(conclude)g(in)g(Section)2835 2201 y SDict begin H.S end 2835 2201 a -2 x FU(6.2)2939 2141 y SDict begin H.R end 2939 2141 a 2939 2199 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.6.2) cvn H.B /ANN pdfmark end 2939 2199 a 24 w FU(by)g(exam-)440 2313 y(ines)32 b(the)f(achievements)g(of)g(the)g(pr)o(oject)g(in)h(comparison)f(with)h (the)g(pr)o(oject)e(aims)i(as)440 2428 y(listed)21 b(in)g(Section)1041 2428 y SDict begin H.S end 1041 2428 a FU(1.4)1145 2370 y SDict begin H.R end 1145 2370 a 1145 2428 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.1.4) cvn H.B /ANN pdfmark end 1145 2428 a FU(.)440 2566 y SDict begin H.S end 440 2566 a 440 2566 a SDict begin 13.79993 H.A end 440 2566 a 440 2566 a SDict begin [ /View [/XYZ H.V] /Dest (section.6.1) cvn H.B /DEST pdfmark end 440 2566 a 170 x FL(6.1)119 b(Summary)440 2940 y FU(In)28 b(Chapter)870 2940 y SDict begin H.S end 870 2940 a FU(1)912 2883 y SDict begin H.R end 912 2883 a 912 2940 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.1) cvn H.B /ANN pdfmark end 912 2940 a 27 w FU(we)g(r)o(easoned)f (about)h(why)g(ther)o(e)f(may)h(exist)g(a)f(need)h(for)f(another)h(ap-) 440 3055 y(pr)o(oach)f(for)h(a)g(shar)o(ed)f(\002le)h(system)h(than)f (what)g(is)h(traditionally)f(deployed)g(in)g(an)g(or)o(-)440 3169 y(ganisation.)33 b(W)-8 b(e)33 b(examined)g(existing)g (centralised)f(solutions)j(that,)e(we)g(believe,)f(ar)o(e)440 3284 y(inadequate)22 b(in)i(terms)f(of)g(ensuring)g(availability)g (when)g(the)g(overall)g(cost)g(of)g(the)g(solu-)440 3399 y(tion)c(is)f(kept)f(in)h(mind.)g(W)-8 b(e)18 b(concluded)f(that)h(a)f (peer)o(-to-peer)e(decentralised)i(\002le)h(system)440 3513 y(designed)i(for)g(high)h(availability)e(and)h(fault-tolerance)f (could)h(be)f(a)h(viable)g(alternative.)565 3628 y(Chapter)886 3628 y SDict begin H.S end 886 3628 a FU(2)928 3570 y SDict begin H.R end 928 3570 a 928 3628 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.2) cvn H.B /ANN pdfmark end 928 3628 a 24 w FU(pr)o(esented)i(the)i(design)g(of)f(our)h(system,)g (with)h(thr)o(ee)d(components:)j(the)440 3742 y(distributed)k(hash)g (table,)f(\002le)h(system)h(and)f(the)g(garbage)f(collector)-6 b(.)29 b(The)g(distributed)440 3857 y(hash)21 b(table)g(uses)g(the)i FT(X)t(O)t(R)h FU(metric)d(to)g(r)o(eplicate)e(blocks)j(among)f(nodes)h (to)f(ensur)o(e)f(high)440 3971 y(block)27 b(availability)-9 b(.)26 b(The)h(\002le)h(system)f(component)i(or)o(ganises)e(the)g (blocks)g(of)g(the)h(dis-)440 4086 y(tributed)18 b(hash)h(table)e(into) j(\002les)e(and)g(dir)o(ectories)g(that)g(user)g(applications)g(can)g (manipu-)440 4200 y(late.)h(The)h(garbage)f(collector)i(makes)f(sur)o (e)f(that)h(leftover)g(blocks)h(ar)o(e)d(cleaned)i(up)g(fr)o(om)440 4315 y(time)h(to)g(time.)565 4430 y(In)h(Chapter)984 4432 y SDict begin H.S end 984 4432 a -2 x FU(3)1025 4372 y SDict begin H.R end 1025 4372 a 1025 4430 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.3) cvn H.B /ANN pdfmark end 1025 4430 a 23 w FU(we)g(characterised)f(our)h(design)h(by)g (theor)o(etical)e(analyses,)h(and)g(con-)440 4544 y(cluded)e(that:)440 4725 y FQ(A)-6 b(vailability)17 b(of)22 b(blocks)40 b FU(Symmetric)32 b(network)h(splits)g(sever)o(ely)e(hamper)g(the)h (avail-)648 4840 y(ability)19 b(of)h(lar)o(ge)e(\002les)i(r)o(equested) f(fr)o(om)g(any)g(node,)h(while)g(asymmetric)g(network)648 4954 y(splits)h(mostly)h(af)o(fect)d(the)i(nodes)g(in)g(the)g(smallest) g(subnetwork.)440 5135 y FQ(File)f(consistency)f(guarantees)38 b FU(It)25 b(is)g(possible)h(to)f(guarantee)f(that)h(r)o(etrieved)e (\002les)i(ar)o(e)648 5250 y(consistent,)d(although)g(it)f(is)h(not)g (possible)f(to)h(guarantee)e(that)h(all)g(nodes)h(will)f(ob-)648 5364 y(serve)f(the)h(same)f(version)h(of)g(a)f(\002le)h(if)g(ther)o(e)f (ar)o(e)f(multiple)j(versions.)1831 5662 y(63)p eop end %%Page: 64 66 TeXDict begin 64 65 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.64) cvn H.B /DEST pdfmark end 440 241 a 1450 211 a FN(Chapter)20 b(6.)46 b(Conclusion)p 440 244 2865 4 v 440 531 a FQ(Loss)20 b(of)i(data)39 b FU(Data)31 b(loss)g(is)g(very)g (unlikely)g(with)h(appr)o(opriate)d(values)h(of)h FO(r)i FU(and)f FO(T)3250 549 y FB(b)3284 531 y FU(.)648 646 y(Decr)o(easing)18 b FO(T)1121 664 y FB(b)1173 646 y FU(pr)o(olongs)g(the)f(time)h(the)g(system)g(is)g(expected)e(to)i(r)o (un)g(befor)o(e)e(data)648 760 y(is)21 b(lost.)g(Incr)o(easing)f FO(r)j FU(similarly)f(pr)o(olongs)f(the)g(expected)f(time.)440 941 y FQ(Performance)f(characteristics)39 b FU(The)26 b(over)o(head)e(of)i(writing)h(a)e(\002le)i(is)f(pr)o(oportional)g(to) 648 1056 y FO(r)g FU(because)d(the)h FO(r)c FI(\000)e FU(1)24 b(r)o(eplicas)e(ar)o(e)h(over)o(head)f(and)i(the)g(other)g (over)o(heads)f(in)h(the)648 1171 y(system)d(ar)o(e)e(r)o(elatively)h (inexpensive.)648 1318 y(The)25 b(system)g(is)h(expected)e(to)h(scale)g (better)f(than)h(a)g(centralised)f(\002le)h(system,)h(be-)648 1433 y(cause)e(r)o(eading)g(in)i(principle)f(scale)g(up)g(to)h(the)f (sum)h(of)f(the)h(bandwidths)f(of)g(the)648 1548 y(links)19 b(between)g(nodes;)g(writing)h(is)f(degraded)e(by)i(a)f(factor)h (because)e(of)i(the)g(r)o(epli-)648 1662 y(cation)i(over)o(head.)648 1810 y(Random)g(\002le)h(access)f(is)g(supported)g(ef)o(\002ciently)-9 b(,)21 b(but)g(small)g(\002le)h(changes)f(ar)o(e)f(ex-)648 1924 y(pected)f(to)j(be)e(very)g(inef)o(\002cient.)565 2105 y(Chapter)885 2105 y SDict begin H.S end 885 2105 a FU(4)927 2048 y SDict begin H.R end 927 2048 a 927 2105 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.4) cvn H.B /ANN pdfmark end 927 2105 a 22 w FU(described)i(the)g (implementation)i(of)e(a)g(pr)o(ototype)g(that)h(consists)h(of)e(the) 440 2220 y(distributed)k(hash)h(table)f(and)h(the)f(\002le)h(system.)g (The)g(purpose)f(of)h(the)g(pr)o(ototype)f(was)440 2335 y(to)31 b(enable)g(us)g(to)g(explor)o(e)f(how)i(our)f(system)h (performs)e(in)i(various)f(situations.)g(The)440 2449 y(implementation)22 b(turned)e(out)h(to)h(be)e(quite)h(simple)g(for)g (a)f(distributed)g(\002le)h(system)h(and)440 2564 y(only)g(r)o(equir)o (ed)d(4000)g(lines)i(of)g(C++)g(code.)565 2678 y(T)-7 b(wo)32 b(types)i(of)e(tests)i(wer)o(e)e(setup,)g(in)i(Chapter)2195 2680 y SDict begin H.S end 2195 2680 a -2 x FU(5)2237 2621 y SDict begin H.R end 2237 2621 a 2237 2678 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.5) cvn H.B /ANN pdfmark end 2237 2678 a FU(,)e(to)i(empirically)e(evaluate)g(the)440 2793 y(pr)o(ototype)c(in)h(a)f(star)f(topology)j(network.)f(The)f (\002rst)h(test)f(examined)g(the)g(r)o(obustness)440 2907 y(of)e(the)h(use)f(of)g(r)o(eplication)g(by)g(killing)i(nodes)e (at)g(a)g(lar)o(ge)f(rate,)g(and)h(showed)h(that)f(the)440 3022 y(system)31 b(can)f(lar)o(gely)f(keep)h(up)g(even)g(under)f(extr)o (eme)g(conditions.)j(The)e(second)g(test)440 3137 y(examined)25 b(maximum)i(r)o(ead)d(and)i(write)g(thr)o(oughput)g(and)g(showed)g (that)g(the)h(system)440 3251 y(scales)22 b(linearly)g(when)h(r)o (eading)e(and)g(slightly)j(sub-linearly)e(when)g(writing;)h(the)f (write)440 3366 y(speed)d(was)h(also)g(found)f(to)i(be)e(degraded)f(by) i(a)f(factor)g(as)g(the)h(number)g(of)g(r)o(eplicas)e(was)440 3480 y(varied,)h(as)i(pr)o(edicted)e(in)i(Chapter)1598 3482 y SDict begin H.S end 1598 3482 a -2 x FU(3)1640 3423 y SDict begin H.R end 1640 3423 a 1640 3480 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.3) cvn H.B /ANN pdfmark end 1640 3480 a FU(.)565 3595 y(W)-8 b(e)24 b(conclude)h(by)f (following)i(up)f(on)g(the)f(intr)o(oduction)i(in)f(Chapter)2841 3595 y SDict begin H.S end 2841 3595 a FU(1)2883 3537 y SDict begin H.R end 2883 3537 a 2883 3595 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.1) cvn H.B /ANN pdfmark end 2883 3595 a 24 w FU(with)h(a)e(dis-)440 3709 y(cussion)19 b(of)f(whether)g(the)f(pr)o(oject)h(aims)g(described)e(in)j(Section) 2485 3709 y SDict begin H.S end 2485 3709 a FU(1.4)2589 3652 y SDict begin H.R end 2589 3652 a 2589 3709 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.1.4) cvn H.B /ANN pdfmark end 2589 3709 a 18 w FU(have)e(been)h(ful\002lled.)440 3869 y SDict begin H.S end 440 3869 a 440 3869 a SDict begin 13.79993 H.A end 440 3869 a 440 3869 a SDict begin [ /View [/XYZ H.V] /Dest (section.6.2) cvn H.B /DEST pdfmark end 440 3869 a 149 x FL(6.2)119 b(Ful\002llment)30 b(of)g(the)f(project)h(aims) 440 4222 y FU(The)21 b(pr)o(oject)f(aims)h(can)g(be)f(summarised)h(as)f (to:)565 4403 y FI(\017)41 b FU(Design)21 b(a)f(decentralised)g(peer)o (-to-peer)e(\002le)j(system.)565 4584 y FI(\017)41 b FU(Implement)21 b(a)f(working)i(pr)o(ototype.)565 4765 y FI(\017)41 b FU(Analyse)20 b(the)h(design)g(theor)o(etically)f(and)h (in)g(practise)f(thr)o(ough)h(the)g(pr)o(ototype.)440 4946 y(W)-8 b(e)27 b(believe)f(these)g(have)g(been)g(ful\002lled)h (overall.)f(The)g(r)o(equir)o(ements)g(for)g(the)h(design)440 5060 y(wer)o(e:)440 5241 y FQ(High)20 b(availability)e(and)h (fault-tolerance)38 b FU(This)20 b(has)f(been)g(achieved)f(thr)o(ough)i (the)f(use)648 5356 y(of)e(r)o(eplicas)f(that)i(ar)o(e)e(periodically)h (kept)g(up)h(to)g(date)e(to)i(compensate)g(for)f(crashed)1831 5662 y(64)p eop end %%Page: 65 67 TeXDict begin 65 66 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.65) cvn H.B /DEST pdfmark end 440 241 a 1450 211 a FN(Chapter)20 b(6.)46 b(Conclusion)p 440 244 2865 4 v 648 531 a FU(nodes.)21 b(The)h(theor)o(etical)f(analysis)h(shows)i (that)d(this)i(technique)g(should)f(be)g(very)648 646 y(ef)o(\002cient)16 b(under)h(normal)h(conditions.)g(The)g(r)o (obustness)f(test)h(shows)g(that)g(the)f(sys-)648 760 y(tem)j(can)h(withstand)g(even)g(worse)g(conditions.)648 908 y FO(Hence,)i(we)g(conclude)g(that)f(the)h(design)g(makes)g(for)h (a)f(highly)e(available)j(system)e(capable)648 1023 y(of)e(tolerating)g (node)h(failur)o(es.)440 1204 y FQ(Self-organising)d(and)i(dynamic)40 b FU(A)24 b(hash)g(function)g(is)h(used)e(to)i(map)e(hosts)i(and)e (data)648 1318 y(into)j(a)f(logical)h(hash)g(space)f(independent)h(of)g (any)f(physical)h(layout,)g(and)f(hosts)648 1433 y(may)e(leave)f(\(or)i (crash\))e(and)h(join)i(this)f(space)f(as)g(they)h(wish.)g(The)f(pr)o (ocedur)o(e)f(for)648 1548 y(joining)33 b(and)f(the)g(periodic)g (updates)f(of)h(r)o(eplicas)f(and)h(r)o(outing)g(tables)g(ensur)o(e)648 1662 y(that)20 b(this)i(is)f(taken)f(car)o(e)g(of)g(automatically)-9 b(.)648 1810 y FO(Hence,)26 b(we)h(conclude)f(that)g(the)g(design)g(r)o (equir)o(es)i(minimal)e(human)g(intervention)h(and)648 1924 y(that)19 b(it)h(is)i(thus)e(self-or)o(ganising)g(and)h(dynamic.) 440 2105 y FQ(Reasonable)d(performance)40 b FU(The)16 b(theor)o(etical)f(considerations)h(showed)h(that)f(the)f(over)o(-)648 2220 y(head)25 b(for)g(r)o(eading)g(and)h(the)g(periodic)f(updates)h (wer)o(e)e(minimal)j(under)f(normal)648 2335 y(operation.)17 b(The)g(most)h(serious)g(over)o(head)e(is)i(for)f(write)g(operations,)g (but)h(it)f(seems)648 2449 y(likely)31 b(that)f(it)h(would)g(be)g (possible)g(to)g(mostly)h(hide)f(this)g(by)g(distributing)g(the)648 2564 y(blocks)d(in)g(the)g(backgr)o(ound.)e(The)i(use)g(of)f(r)o (eplication)g(does)h(incr)o(ease)e(the)i(disk)648 2678 y(space)23 b(usage)h(quite)g(dramatically)f(because)g(each)h(\002le)g (must)h(be)e(stor)o(ed)h FO(r)i FU(times.)648 2793 y(But)k(on)g(the)h (other)f(hand,)g(the)g(design)g(makes)h(it)f(possible)h(to)f(exploit)h (the)f(fr)o(ee)648 2907 y(disk)21 b(space)f(on)h(all)g(nodes)648 3055 y FO(Hence,)f(we)h(conclude)f(that)g(the)g(performance)g(of)h(the) f(design)g(is)h(r)o(easonable,)h(although)d(it)648 3170 y(in)i(its)f(curr)o(ent)h(form)g(is)g(unsuited)g(for)g(some)g(purposes) g(due)f(to)h(the)f(write)h(over)o(head.)440 3351 y FQ(T)-9 b(ransparency)40 b FU(Although)21 b(transpar)o(ency)d(is)j(not)f (actually)g(implemented)g(by)g(the)g(pr)o(o-)648 3465 y(totype)d(as)f(a)h(UNIX)f(mountable)i(device)e(or)h(as)f(a)h(W)-5 b(indows)18 b(drive)e(service,)g(the)h(in-)648 3580 y(terface)d(of)i (the)f(\002le)h(system)h(makes)f(this)g(achievable)f(without)i (modifying)f(Heurika.)648 3694 y(Of)k(course,)g(the)g(performance)f(is) i(vastly)f(dif)o(fer)o(ent)e(in)j(some)g(situations)g(\226)f(for)g(ex-) 648 3809 y(ample,)29 b(appending)h(to)g(a)g(log)h(\002le)f(is)g(an)h FF(Q)r FE(\()r FO(n)2178 3779 y FC(2)2216 3809 y FE(\))g FU(operation)f(in)h(the)f(number)g(of)648 3924 y(lines.)648 4071 y FO(Hence,)h(we)i(conclude)e(that)g(the)g(design)h(is)h (implementable)f(in)g(a)g(way)f(that)g(makes)h(it)648 4186 y(transpar)o(ent)19 b(for)i(the)e(users,)j(with)d(the)h(exception) f(of)h(some)g(mor)o(e)g(specialised)g(usage)h(pat-)648 4301 y(terns.)440 4482 y FQ(Scalability)38 b FU(The)24 b(tests)h(showed)f(that)g(the)g(pr)o(ototype)g(scales)g(very)f(well)i (with)f(r)o(espect)648 4596 y(to)g(r)o(ead)e(and)i(write)g(performance) f(and)h(much)g(better)g(than)g(what)g(a)g(centralised)648 4711 y(\002le)29 b(system)g(is)g(capable)f(of.)g(Furthermor)o(e,)g(the) h(analysis)g(of)g(the)g(over)o(head)f(for)648 4825 y(the)23 b(periodic)h(r)o(eplication)f(and)g(r)o(outing)h(table)g(updates)e(is)i (small)h(enough)f(to)g(let)648 4940 y(the)c(system)i(scale)e(to)h(lar)o (ge)f(amounts)i(of)e(data)g(and)g(lar)o(ge)g(networks.)648 5088 y FO(Hence,)g(we)h(conclude)g(that)e(the)h(design)h(scales)g(well) g(for)g(its)g(intended)g(purpose.)565 5269 y FU(Of)g(course,)h(much)g (is)g(still)h(unknown)g(r)o(egar)o(ding)d(the)i(behaviour)g(of)f(the)h (system)h(in)440 5383 y(dif)o(fer)o(ent)j(situations.)k(The)e(garbage)f (collector)i(was)f(not)h(implemented)g(and)f(we)h(still)1831 5662 y(65)p eop end %%Page: 66 68 TeXDict begin 66 67 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.66) cvn H.B /DEST pdfmark end 440 241 a 1450 211 a FN(Chapter)20 b(6.)46 b(Conclusion)p 440 244 2865 4 v 440 531 a FU(do)21 b(not)i(know)f(how)g(it)g(interacts)f(with)h(the)g (r)o(est)e(of)i(the)f(system.)h(Further)g(analyses)f(and)440 646 y(tests)i(would)h(be)e(necessary)h(to)g(fully)h(understand)e(the)h (implications)h(of)f(the)g(design)h(in)440 760 y(a)c(r)o(eal-world)g (setting.)565 875 y(Ther)o(e)27 b(is)h(also)g(still)h(plenty)g(of)f(r)o (oom)g(left)g(for)g(impr)o(ovements)g(in)h(the)f(design;)g(we)440 990 y(addr)o(ess)k(some)h(of)g(the)h(most)g(obvious)g(issues)g(as)e (suggestions)j(for)e(futur)o(e)f(work)i(in)440 1104 y(Chapter)759 1104 y SDict begin H.S end 759 1104 a FU(7)800 1047 y SDict begin H.R end 800 1047 a 800 1104 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (chapter.7) cvn H.B /ANN pdfmark end 800 1104 a FU(.)1831 5662 y(66)p eop end %%Page: 67 69 TeXDict begin 67 68 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.67) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (chapter.7) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Chapter)44 b(7)440 1638 y FX(Future)52 b(work)440 2084 y FU(Although)21 b(the)f(design)g(of)f(Heurika)g(works,)i(as)e(demonstrated)g(by)h(the)g (pr)o(ototype,)f(it)h(is)440 2199 y(far)k(fr)o(om)h(perfect.)f(This)h (chapter)g(pr)o(esents)f(curr)o(ent)h(pr)o(oblems)g(with)h(the)f (system)h(and)440 2313 y(discusses)21 b(how)h(they)f(can)f(be)h (solved.)565 2428 y(The)f(following)j(pr)o(oblems)d(ar)o(e)f (investigated:)440 2485 y SDict begin H.S end 440 2485 a 440 2485 a SDict begin 13.79993 H.A end 440 2485 a 440 2485 a SDict begin [ /View [/XYZ H.V] /Dest (Item.69) cvn H.B /DEST pdfmark end 440 2485 a 544 2609 a FU(1.)41 b(Ther)o(e)19 b(is)i(no)g(support)f(for)g(access)g(contr)o(ol.)h(Section)2339 2609 y SDict begin H.S end 2339 2609 a FU(7.1)2443 2551 y SDict begin H.R end 2443 2551 a 2443 2609 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.7.1) cvn H.B /ANN pdfmark end 2443 2609 a 20 w FU(describes)f(the)g(pr)o(oblems)648 2724 y(that)g(arise)g(when)i(\002le)f(permissions)h(ar)o(e)d(intr)o (oduced)h(and)h(suggests)g(a)f(solution.)440 2780 y SDict begin H.S end 440 2780 a 440 2780 a SDict begin 13.79993 H.A end 440 2780 a 440 2780 a SDict begin [ /View [/XYZ H.V] /Dest (Item.70) cvn H.B /DEST pdfmark end 440 2780 a 544 2905 a FU(2.)41 b(It)16 b(is)i(not)f(possible)g(to)h(lock)f(\002les)g (to)g(gain)g(exclusive)g(access.)e(Section)2841 2905 y SDict begin H.S end 2841 2905 a FU(7.2)2945 2847 y SDict begin H.R end 2945 2847 a 2945 2905 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.7.2) cvn H.B /ANN pdfmark end 2945 2905 a 17 w FU(discusses)648 3019 y(how)21 b(Heurika)f(can)h (take)f(advantage)f(of)i(having)g(locks.)440 3076 y SDict begin H.S end 440 3076 a 440 3076 a SDict begin 13.79993 H.A end 440 3076 a 440 3076 a SDict begin [ /View [/XYZ H.V] /Dest (Item.71) cvn H.B /DEST pdfmark end 440 3076 a 544 3200 a FU(3.)41 b(The)17 b(topology)i(of)f(the)f(physical)h(network)g (is)g(not)g(taken)g(into)g(account,)g(and)f(local-)648 3315 y(ity)26 b(principles)g(r)o(egar)o(ding)e(who)i(is)h(using)f (which)h(\002les)f(ar)o(e)e(not)j(used)e(to)h(decide)648 3429 y(wher)o(e)21 b(to)i(save)f(a)g(block.)g(Section)1771 3431 y SDict begin H.S end 1771 3431 a -2 x FU(7.3)1875 3372 y SDict begin H.R end 1875 3372 a 1875 3429 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.7.3) cvn H.B /ANN pdfmark end 1875 3429 a 23 w FU(suggests)h(an)f(appr)o(oach)f(for)h (using)h(the)g(r)o(e-)648 3544 y(sponse)17 b(time)h(to)g(decide)e (which)i(node)f(to)h(r)o(equest)f(a)f(block)i(fr)o(om,)e(and)h(Section) 3200 3544 y SDict begin H.S end 3200 3544 a FU(7.4)3304 3486 y SDict begin H.R end 3304 3486 a 3304 3544 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.7.4) cvn H.B /ANN pdfmark end 3304 3544 a 648 3658 a FU(describes)27 b(how)i(a)f(r)o(easonable)f(locality)h(assumption)i(can)e(be)f(used)h (to)h(achieve)648 3773 y(better)20 b(performance.)440 3830 y SDict begin H.S end 440 3830 a 440 3830 a SDict begin 13.79993 H.A end 440 3830 a 440 3830 a SDict begin [ /View [/XYZ H.V] /Dest (Item.72) cvn H.B /DEST pdfmark end 440 3830 a 544 3954 a FU(4.)41 b(The)20 b(over)o(head)e(for)i(writing)h(is) f(high.)h(One)f(way)g(to)h(r)o(educe)d(it)i(is)h(the)f(observation)648 4068 y(that)k(it)h(is)f(a)g(waste)h(of)f(work)h(to)g(r)o(eplicate)e(a)h (block)g(to)h FO(r)i FU(nodes)e(if)f(the)h(blocks)g(ar)o(e)648 4183 y(modi\002ed)c(shortly)g(after)-6 b(.)19 b(Section)1772 4185 y SDict begin H.S end 1772 4185 a -2 x FU(7.5)1876 4126 y SDict begin H.R end 1876 4126 a 1876 4183 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (section.7.5) cvn H.B /ANN pdfmark end 1876 4183 a 21 w FU(describes)h(such)h(an)g (optimisation.)440 4343 y SDict begin H.S end 440 4343 a 440 4343 a SDict begin 13.79993 H.A end 440 4343 a 440 4343 a SDict begin [ /View [/XYZ H.V] /Dest (section.7.1) cvn H.B /DEST pdfmark end 440 4343 a 148 x FL(7.1)119 b(File)30 b(permissions)440 4695 y FU(Or)o(dinary)19 b(\002le)h(systems)h(support)g(the)f(notion)h (of)f(\002le)g(permissions)i(as)d(a)h(means)g(of)g(pr)o(o-)440 4810 y(tecting)j(access)e(to)i(\002les.)f(This)h(featur)o(e)d(is)j (very)f(important)g(for)g(some)h(applications)f(but)440 4924 y(it)27 b(is)h(non-trivial)f(to)h(implement)g(for)f(a)f (decentralised)g(distributed)h(system.)h(W)-8 b(e)27 b(pr)o(o-)440 5039 y(ceed)e(with)i(a)e(suggestion)j(for)e(a)f(solution) j(based)d(on)i(the)f(assumption)h(that)f(the)g(other)440 5154 y(nodes)21 b(in)g(the)g(system)h(cannot)f(be)f(tr)o(usted.)565 5268 y(The)g(\002le)h(permissions)h(must)g(assur)o(e)d(that:)1831 5662 y(67)p eop end %%Page: 68 70 TeXDict begin 68 69 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.68) cvn H.B /DEST pdfmark end 440 241 a 1429 211 a FN(Chapter)20 b(7.)46 b(Futur)o(e)20 b(work)p 440 244 2865 4 v 565 531 a FI(\017)41 b FU(Only)22 b(a)f(closed)h(gr)o(oup)f (of)h(users,)f(the)h(gr)o(oup)f(of)h(r)o(eaders,)d(ar)o(e)h(allowed)i (to)g(r)o(ead)e(a)648 646 y(given)h(\002le)g(or)f(dir)o(ectory)-9 b(.)565 827 y FI(\017)41 b FU(Only)25 b(a)g(closed)g(gr)o(oup)g(of)f (users,)h(the)g(gr)o(oup)g(of)g(writers,)g(ar)o(e)e(allowed)i(to)g (write)648 941 y(to)c(a)f(given)h(\002le)g(or)g(dir)o(ectory)-9 b(.)565 1122 y(If)31 b(the)h(other)g(nodes)g(in)g(the)g(system)h (cannot)f(be)f(tr)o(usted,)h(the)g(\002les)g(must)g(be)g(en-)440 1237 y(crypted)e(so)i(that)f(only)i(the)e(gr)o(oup)g(of)g(r)o(eaders)e (can)i(r)o(ead)f(the)h(contents.)h(Otherwise,)440 1352 y(the)24 b(nodes)g(that)g(r)o(eplicate)e(the)i(\002le)g(would)h(be)e (able)g(to)h(r)o(ead)f(the)h(parts)f(they)h(ar)o(e)e(r)o(epli-)440 1466 y(cating.)h(The)h(simplest)g(solution)h(for)e(encryption)h(is)g (to)g(give)f(each)g(gr)o(oup)g(of)g(r)o(eaders)f(a)440 1581 y(unique)j(secr)o(et)f(symmetric)g(key)i FO(K)1586 1596 y FB(R)1657 1581 y FU(which)g(is)e(used)g(to)h(encrypt)f(all)h (\002les)f(that)g(should)440 1695 y(be)c(r)o(eadable)f(by)i(that)f(gr)o (oup.)h(Then)g(everyone)f(in)h(the)g(gr)o(oup)g(can)f(decrypt)g(the)h (\002le.)565 1810 y(The)h(pr)o(oblem)g(of)h(write)f(pr)o(otection)h(is) g(mor)o(e)f(dif)o(\002cult)g(because)f(every)h(node)h(must)440 1924 y(be)e(able)f(to)i(verify)f(that)g(a)f(block)i(has)f(not)h(been)f (modi\002ed)g(by)h(someone)g(without)g(write)440 2039 y(access)e(befor)o(e)g(accepting)g(the)h(block.)565 2154 y(One)h(solution)i(is)f(to)g(give)f(each)g(gr)o(oup)g(of)h(writers)f(a) g(private-public)f(key)i(pair)f(and)440 2268 y(add)17 b(a)h(signatur)o(e)g(to)g(each)g(block)g([)1542 2268 y SDict begin H.S end 1542 2268 a FU(2)1584 2268 y SDict begin 13.79993 H.L end 1584 2268 a 1584 2268 a SDict begin [ /Subtype /Link /Dest (cite.dslecturebook) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1584 2268 a FU(].)f(When)i(the)f(block)h(is)f(written,)h(it)f(is)g (\002rst)h(encrypted)440 2383 y(with)29 b(the)g(secr)o(et)f(r)o(ead)e (key)k FO(K)1431 2398 y FB(R)1478 2383 y FU(.)f(Then)f(a)g(digest)h(of) g(the)f(block)h(is)g(generated)e(and)i(en-)440 2497 y(crypted)15 b(with)i(the)f(private)g(key)h FO(K)1542 2463 y Fo(\000)1539 2526 y FB(W)1622 2497 y FU(for)f(the)g(gr)o(oup.)f(The)h(encrypted)g (digest)g(is)g(attached)440 2612 y(to)k(the)f(block)h(and)f(sent)h(to)g (the)f(nodes)h(that)f(ar)o(e)f(r)o(esponsible)i(for)f(r)o(eplicating)g (the)g(block.)440 2726 y(The)27 b(r)o(eceiving)f(nodes)g(can)h(then)g (decrypt)e(the)i(digest)g(with)g(the)g(public)f(key)i FO(K)3073 2693 y Fp(+)3070 2756 y FB(W)3164 2726 y FU(and)440 2841 y(check)j(that)g(it)g(corr)o(esponds)f(to)h(the)g(block)h (contents)f(befor)o(e)f(accepting)g(to)i(stor)o(e)e(the)440 2956 y(block.)21 b(The)g(check)f(must)i(also)f(be)f(performed)g(when)h (blocks)h(ar)o(e)d(r)o(epublished.)565 3070 y(This)i(pr)o(ocedur)o(e)e (is)i(shown)h(in)f(Figur)o(e)1839 3070 y SDict begin H.S end 1839 3070 a FU(7.1)1942 3013 y SDict begin H.R end 1942 3013 a 1942 3070 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.7.1) cvn H.B /ANN pdfmark end 1942 3070 a 21 w FU(and)2124 3070 y SDict begin H.S end 2124 3070 a FU(7.2)2228 3013 y SDict begin H.R end 2228 3013 a 2228 3070 a SDict begin [ /Color [1 0 0] /H /I /Border [0 0 12] /Subtype /Link /Dest (figure.7.2) cvn H.B /ANN pdfmark end 2228 3070 a FU(.)809 4306 y @beginspecial 0 @llx 0 @lly 321 @urx 168 @ury 2551 @rwi @setspecial %%BeginDocument: future-work/images/writing-files.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: writing-files.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Dec 15 17:28:06 2003 %%For: jasper@fire2.cs.auc.dk (Jasper Kjersgaard Juhl) %%BoundingBox: 0 0 321 168 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 168 moveto 0 0 lineto 321 0 lineto 321 168 lineto closepath clip newpath -129.8 279.7 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % % Polyline 7.500 slw gs clippath 6705 3540 m 6795 3540 l 6795 3360 l 6750 3480 l 6705 3360 l cp eoclip n 6750 3075 m 6750 3525 l gs col0 s gr gr % arrowhead 30.000 slw n 6705 3360 m 6750 3480 l 6795 3360 l 6705 3360 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 3900 2100 m 5325 2100 l 5325 2700 l 3900 2700 l cp gs col0 s gr % Polyline n 6075 3600 m 7500 3600 l 7500 4200 l 6075 4200 l cp gs col0 s gr % Polyline gs clippath 5460 3855 m 5460 3945 l 5640 3945 l 5520 3900 l 5640 3855 l cp eoclip n 5925 3900 m 5475 3900 l gs col0 s gr gr % arrowhead 30.000 slw n 5640 3855 m 5520 3900 l 5640 3945 l 5640 3855 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 2175 1875 m 3075 1875 l 3075 3000 l 2175 3000 l cp gs col0 s gr /Times-Roman-iso ff 180.00 scf sf 4200 2325 m gs 1 -1 sc (Encryption) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2025 m gs 1 -1 sc (Dear group,) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2175 m gs 1 -1 sc (This file in-) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2325 m gs 1 -1 sc (cludes very) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2475 m gs 1 -1 sc (secret content) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2625 m gs 1 -1 sc (....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2775 m gs 1 -1 sc (....) col0 sh gr /Times-Roman-iso ff 150.00 scf sf 6965 4120 m gs 1 -1 sc (W) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 7100 4165 m gs 1 -1 sc (B) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 6450 4050 m gs 1 -1 sc (with K) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 6970 3975 m gs 1 -1 sc (-) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 6525 3825 m gs 1 -1 sc (Signing) col0 sh gr % Polyline gs clippath 6165 2445 m 6165 2355 l 5985 2355 l 6105 2400 l 5985 2445 l cp eoclip n 5475 2400 m 6150 2400 l gs col0 s gr gr % arrowhead 30.000 slw n 5985 2445 m 6105 2400 l 5985 2355 l 5985 2445 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 6300 1875 m 7200 1875 l 7200 3000 l 6300 3000 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 6375 2100 m gs 1 -1 sc (apwmrH&Kka) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6375 2250 m gs 1 -1 sc (kdksdksd mdssd) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6375 2400 m gs 1 -1 sc (plq25\)kd....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6375 2550 m gs 1 -1 sc (.......) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 4275 2550 m gs 1 -1 sc (with K) col0 sh gr /Times-Roman-iso ff 150.00 scf sf 4775 2605 m gs 1 -1 sc (R) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4875 2665 m gs 1 -1 sc (A) col0 sh gr % Polyline n 4425 3225 m 5325 3225 l 5325 4350 l 4425 4350 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 4500 3450 m gs 1 -1 sc (apwmrH&Kka) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4500 3600 m gs 1 -1 sc (kdksdksd mdssd) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4500 3750 m gs 1 -1 sc (plq25\)kd....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4500 3900 m gs 1 -1 sc (.......) col0 sh gr % Polyline n 4425 4350 m 5325 4350 l 5325 4650 l 4425 4650 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 4500 4575 m gs 1 -1 sc (....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4500 4500 m gs 1 -1 sc (Signed: skdU83j) col0 sh gr % Polyline n 3900 2100 m 5325 2100 l 5325 2700 l 3900 2700 l cp gs col0 s gr % Polyline gs clippath 3840 2445 m 3840 2355 l 3660 2355 l 3780 2400 l 3660 2445 l cp eoclip n 3150 2400 m 3825 2400 l gs col0 s gr gr % arrowhead 30.000 slw n 3660 2445 m 3780 2400 l 3660 2355 l 3660 2445 l cp gs 0.00 setgray ef gr col0 s $F2psEnd rs %%EndDocument @endspecial 511 4494 a FK(Figur)o(e)d(7.1:)868 4389 y SDict begin H.S end 868 4389 a 868 4389 a SDict begin H.R end 868 4389 a 868 4389 a SDict begin [ /View [/XYZ H.V] /Dest (figure.7.1) cvn H.B /DEST pdfmark end 868 4389 a 105 x FK(A)i(block)f(is)g(\002rst)h(encrypted)h(with)e(symmetric)i (encryption)e(to)h(assur)o(e)f(that)h(only)f(gr)o(oup)511 4599 y(A)g(has)g(r)o(ead)h(access.)g(Afterwards)f(the)g(encrypted)h (block)f(is)g(signed)g(with)g(asymmetric)h(encryption)f(to)511 4704 y(ensur)o(e)e(that)i(only)f(gr)o(oup)h(B)f(has)h(write)f(access)i (\(gr)o(oup)f(B)f(will)g(usually)f(be)h(a)h(subgr)o(oup)f(of)g(gr)o (oup)h(A\).)565 4915 y FU(The)h(described)g(solution)i(raises)f(two)g (immediate)g(pr)o(oblems:)565 5096 y FI(\017)41 b FU(How)21 b(ar)o(e)e(the)i(keys)g(managed)f(and)g(accessed?)g(A)g(central)g(key)h (distribution)g(ser)o(-)648 5211 y(vice)30 b(can)g(be)g(deployed)g([) 1504 5211 y SDict begin H.S end 1504 5211 a FU(8)1546 5211 y SDict begin 13.79993 H.L end 1546 5211 a 1546 5211 a SDict begin [ /Subtype /Link /Dest (cite.na-book) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1546 5211 a FU(],)f(but)i(at)f(the)h(risk)g(of)f(becoming)i (a)e(single)h(point)g(of)648 5326 y(failur)o(e)19 b(and)h(a)h (bottleneck.)1831 5662 y(68)p eop end %%Page: 69 71 TeXDict begin 69 70 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.69) cvn H.B /DEST pdfmark end 440 241 a 1429 211 a FN(Chapter)20 b(7.)46 b(Futur)o(e)20 b(work)p 440 244 2865 4 v 868 1929 a @beginspecial 0 @llx 0 @lly 312 @urx 230 @ury 2409 @rwi @setspecial %%BeginDocument: future-work/images/reading-files.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: reading-files.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Dec 15 12:07:24 2003 %%For: jasper@fire2.cs.auc.dk (Jasper Kjersgaard Juhl) %%BoundingBox: 0 0 312 230 %%Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 230 moveto 0 0 lineto 312 0 lineto 312 230 lineto closepath clip newpath -117.0 329.2 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc % % Fig objects follow % /Times-Roman-iso ff 120.00 scf sf 6300 2925 m gs 1 -1 sc (....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6300 3075 m gs 1 -1 sc (....) col0 sh gr % Polyline 7.500 slw n 3900 4350 m 5325 4350 l 5325 4950 l 3900 4950 l cp gs col0 s gr /Times-Roman-iso ff 180.00 scf sf 4795 4725 m gs 1 -1 sc (+) col0 sh gr /Times-Roman-iso ff 150.00 scf sf 4790 4870 m gs 1 -1 sc (W) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4925 4915 m gs 1 -1 sc (B) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 4275 4800 m gs 1 -1 sc (with K) col0 sh gr % Polyline n 3900 2400 m 5325 2400 l 5325 3000 l 3900 3000 l cp gs col0 s gr % Polyline gs clippath 3840 2745 m 3840 2655 l 3660 2655 l 3780 2700 l 3660 2745 l cp eoclip n 3150 2700 m 3825 2700 l gs col0 s gr gr % arrowhead 30.000 slw n 3660 2745 m 3780 2700 l 3660 2655 l 3660 2745 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw gs clippath 6165 2745 m 6165 2655 l 5985 2655 l 6105 2700 l 5985 2745 l cp eoclip n 5475 2700 m 6150 2700 l gs col0 s gr gr % arrowhead 30.000 slw n 5985 2745 m 6105 2700 l 5985 2655 l 5985 2745 l cp gs 0.00 setgray ef gr col0 s % Polyline 7.500 slw n 3900 2400 m 5325 2400 l 5325 3000 l 3900 3000 l cp gs col0 s gr % Polyline gs clippath 3840 4695 m 3840 4605 l 3660 4605 l 3780 4650 l 3660 4695 l cp eoclip n 3150 4650 m 3825 4650 l gs col0 s gr gr % arrowhead 30.000 slw n 3660 4695 m 3780 4650 l 3660 4605 l 3660 4695 l cp gs 0.00 setgray ef gr col0 s /Times-Roman-iso ff 180.00 scf sf 1950 1800 m gs 1 -1 sc (Read:) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 1950 3900 m gs 1 -1 sc (Verify:) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 4200 2625 m gs 1 -1 sc (Decryption) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 4350 2850 m gs 1 -1 sc (with K) col0 sh gr /Times-Roman-iso ff 150.00 scf sf 4850 2905 m gs 1 -1 sc (R) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 4950 2965 m gs 1 -1 sc (A) col0 sh gr /Times-Roman-iso ff 180.00 scf sf 4050 4575 m gs 1 -1 sc (Verify signature) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6300 2775 m gs 1 -1 sc (secret content) col0 sh gr % Polyline 7.500 slw n 2175 2025 m 3075 2025 l 3075 3150 l 2175 3150 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 2250 2250 m gs 1 -1 sc (apwmrH&Kka) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2400 m gs 1 -1 sc (kdksdksd mdssd) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2550 m gs 1 -1 sc (plq25\)kd....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 2700 m gs 1 -1 sc (.......) col0 sh gr % Polyline n 2175 3150 m 3075 3150 l 3075 3450 l 2175 3450 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 2250 3375 m gs 1 -1 sc (....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 3300 m gs 1 -1 sc (Signed: skdU83j) col0 sh gr % Polyline n 2175 4050 m 3075 4050 l 3075 5175 l 2175 5175 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 2250 4275 m gs 1 -1 sc (apwmrH&Kka) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 4425 m gs 1 -1 sc (kdksdksd mdssd) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 4575 m gs 1 -1 sc (plq25\)kd....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 4725 m gs 1 -1 sc (.......) col0 sh gr % Polyline n 2175 5175 m 3075 5175 l 3075 5475 l 2175 5475 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 2250 5400 m gs 1 -1 sc (....) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 2250 5325 m gs 1 -1 sc (Signed: skdU83j) col0 sh gr % Polyline n 6225 2175 m 7125 2175 l 7125 3300 l 6225 3300 l cp gs col0 s gr /Times-Roman-iso ff 120.00 scf sf 6300 2325 m gs 1 -1 sc (Dear group,) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6300 2475 m gs 1 -1 sc (This file in-) col0 sh gr /Times-Roman-iso ff 120.00 scf sf 6300 2625 m gs 1 -1 sc (cludes very) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 511 2117 a FK(Figur)o(e)g(7.2:)870 2012 y SDict begin H.S end 870 2012 a 870 2012 a SDict begin H.R end 870 2012 a 870 2012 a SDict begin [ /View [/XYZ H.V] /Dest (figure.7.2) cvn H.B /DEST pdfmark end 870 2012 a 105 x FK(When)g(a)i(block)f(is)g(to)g(be)g(r)o(ead,)g(it)g(is)g (\002rst)g(decrypted)i(with)f(the)f(symmetric)h(r)o(ead)f(key)h(as)511 2222 y(shown)c(at)h(the)g(top.)f(As)h(shown)f(below)l(,)g(all)g(nodes)h (that)g(r)o(eceive)g(a)f(block)h(should)g(verify)f(the)h(signatur)o(e) 511 2327 y(using)e(the)i(public)e(write)h(key)h(fr)o(om)f(the)h(gr)o (oup)f(that)g(has)h(write)f(access)h(to)g(the)f(block.)g(If)g(the)g (signatur)o(e)511 2432 y(is)g(invalid,)h(the)f(block)h(may)h(come)f(fr) o(om)g(an)f(intruder)g(and)h(should)g(be)f(r)o(ejected.)565 2701 y FI(\017)41 b FU(How)23 b(does)g(a)g(node)g(\002nd)h(out)f(who)h (has)g(write)f(access)f(to)i(a)e(particular)g(\002le?)h(Per)o(-)648 2816 y(haps)c(the)h(dir)o(ectories)e(in)j(Heurika)e(could)g(be)h (extended)e(to)i(support)g(storing)h(this)648 2930 y(information.)440 3111 y(Futur)o(e)i(work)h(is)g(needed)f(to)h(r)o(esolve)f(these)h(pr)o (oblems)g(and)f(investigate)h(how)g(the)g(im-)440 3226 y(plementation)d(of)g(\002le)g(permissions)g(af)o(fects)e(the)i(r)o (obustness)g(and)f(the)h(performance)e(of)440 3341 y(the)i(design.)440 3500 y SDict begin H.S end 440 3500 a 440 3500 a SDict begin 13.79993 H.A end 440 3500 a 440 3500 a SDict begin [ /View [/XYZ H.V] /Dest (section.7.2) cvn H.B /DEST pdfmark end 440 3500 a 149 x FL(7.2)119 b(Locking)31 b(\002les)440 3853 y FU(The)f(lack)f(of)h(locks)h(means)f(that)f(nodes)i(that)e(wish)i(to) f(write)g(to)h(a)e(\002le)h(at)f(same)h(time)440 3967 y(cannot)21 b(pr)o(event)f(each)g(other)h(fr)o(om)g(overwriting)g (their)g(changes.)g(The)g(situation)g(is)h(not)440 4082 y(as)k(bad)g(as)h(for)f(an)g(or)o(dinary)g(\002le)h(system)h(wher)o(e)e (the)g(dif)o(fer)o(ent)f(versions)i(may)g(be)f(in-)440 4197 y(terleaved,)20 b(and)h(due)g(to)h(the)g(way)g(\002le)g(updating)f (is)h(designed)g(in)g(Heurika,)f(r)o(ead)f(locks)440 4311 y(ar)o(e)e(super\003uous)i(since)f(a)g(\002le)g(can)g(be)g(r)o (ead)e(and)i(written)h(concurr)o(ently)f(without)h(pr)o(ob-)440 4426 y(lems.)565 4540 y(Still,)c(it)g(would)h(be)f(useful)h(if)f(some)h (sort)f(of)h(mutual)f(exclusion)h(for)g(write)f(operations)440 4655 y(was)26 b(supported.)f(Fortunately)-9 b(,)26 b(the)g(\002eld)g (of)g(distributed)f(mutual)h(exclusion)h(is)f(well-)440 4769 y(studied)f([)771 4769 y SDict begin H.S end 771 4769 a FU(2)813 4769 y SDict begin 13.79993 H.L end 813 4769 a 813 4769 a SDict begin [ /Subtype /Link /Dest (cite.dslecturebook) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 813 4769 a -1 w FU(],)f(and)g(the)h(task)g(is)g (mostly)i(to)e(pick)g(an)f(algorithm)i(that)f(\002ts)g(well)g(with)h (the)440 4884 y(ar)o(chitectur)o(e)d(of)h(our)h(system.)g(Mor)o(eover) -6 b(,)23 b(locks)j(can)e(be)g(used)h(to)g(avoid)f(the)h(pr)o(oblem)440 4999 y(that)c(appending)f(to)h(a)g(\002le)g(is)g(very)f(inef)o (\002cient.)565 5113 y(The)j(use)h(of)g(locks)g(could)g(also)g(be)f (exploited)h(to)g(make)f(the)h(\002le)g(update)e(algorithm)440 5228 y(behave)28 b(dif)o(fer)o(ently)f(in)i(some)h(cir)o(cumstances.)e (If)g(a)h(pr)o(ocess)f(holds)i(a)e(lock)i(on)f(a)f(\002le,)440 5342 y(it)d(is)g(per)o(haps)e(not)j(necessary)e(to)h(enfor)o(ce)f(the)g (strict)h(\002le)g(update)f(algorithm)h(we)g(have)1831 5662 y(69)p eop end %%Page: 70 72 TeXDict begin 70 71 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.70) cvn H.B /DEST pdfmark end 440 241 a 1429 211 a FN(Chapter)20 b(7.)46 b(Futur)o(e)20 b(work)p 440 244 2865 4 v 440 531 a FU(designed)h(to)g(ensur)o(e)f(\002les)h(ar)o(e)e (consistent.)565 646 y(Futur)o(e)h(work)i(is)g(needed)e(to)i(integrate) f(lock)h(support)g(into)g(the)g(design)f(and)g(evalu-)440 760 y(ate)f(the)h(r)o(esult.)440 899 y SDict begin H.S end 440 899 a 440 899 a SDict begin 13.79993 H.A end 440 899 a 440 899 a SDict begin [ /View [/XYZ H.V] /Dest (section.7.3) cvn H.B /DEST pdfmark end 440 899 a 170 x FL(7.3)119 b(Exploiting)30 b(response)g(times)f(for)h(nodes)440 1273 y FU(Whenever)e(a)g(node)g(needs)h(a)f(block,)g(it)h(has)f FO(r)j FU(dif)o(fer)o(ent)26 b(nodes)j(it)g(could)f(r)o(equest)g(the) 440 1387 y(block)22 b(fr)o(om.)f(Our)h(pr)o(ototype)g(simply)h(selects) f(one)g(randomly)-9 b(.)21 b(This)i(way)-9 b(,)21 b(the)h(load)g(on)440 1502 y(popular)e(blocks)i(is)f(divided)f(evenly)h(between)f(the)h(r)o (eplicating)f(nodes.)565 1616 y(This)e(seems)f(r)o(easonable)g(for)g (small)h(networks)g(wher)o(e)f(the)g(r)o(esponse)h(time)f(between)440 1731 y(each)31 b(node)g(is)h(mor)o(e)f(or)g(less)h(the)f(same,)g(but)g (in)h(a)e(mor)o(e)h(complex)h(network)g(with)g(a)440 1846 y(backbone,)e(it)g(is)h(pr)o(obably)e(a)h(better)g(idea)f(to)i (choose)g(the)f(closest)h(node)f(in)h(terms)f(of)440 1960 y(network)g(hops.)h(Unfortunately)-9 b(,)29 b(on)h(a)f(local)h(ar) o(ea)e(network)i(with)h(switches)g(that)e(do)440 2075 y(not)21 b(touch)h(the)f(IP)g(layer)f(of)h(the)f(packets)h(it)g(is)g (dif)o(\002cult)f(to)h(count)g(the)g(number)g(of)g(hops.)565 2189 y(Instead,)27 b(each)g(node)h(can)f(monitor)i(the)f(r)o(esponse)f (times)h(fr)o(om)g(other)g(nodes)g(and)440 2304 y(choose)g(the)g(node)f (with)h(the)f(lowest)h(r)o(esponse)g(time.)f(This)h(would)g(also)f (help)g(r)o(elieve)440 2418 y(overloaded)20 b(nodes.)565 2533 y(The)k(question)i(is)f(whether)g(the)f(conditions)i(in)g(the)e (network)h(change)g(too)g(quickly)440 2648 y(for)c(the)g(collected)g(r) o(esponse)g(times)g(to)h(be)e(useful.)h(As)g(futur)o(e)f(work)h(it)h (would)f(be)g(inter)o(-)440 2762 y(esting)g(to)f(implement)h(r)o (esponse)e(time)i(monitoring)h(and)d(experiment)h(with)g(its)h(useful-) 440 2877 y(ness.)440 3015 y SDict begin H.S end 440 3015 a 440 3015 a SDict begin 13.79993 H.A end 440 3015 a 440 3015 a SDict begin [ /View [/XYZ H.V] /Dest (section.7.4) cvn H.B /DEST pdfmark end 440 3015 a 170 x FL(7.4)119 b(Exploiting)30 b(data)f(locality)h(principles)440 3389 y FU(The)g(distributed)f(hash)i (table)e(in)h(our)g(system)h(has)f(the)g(pr)o(operty)f(that)h(it)g (distributes)440 3504 y(the)h(block)g(evenly)g(among)g(the)g(nodes.)g (This)g(has)g(the)g(advantage)e(of)i(balancing)f(the)440 3618 y(load)25 b(and)f(the)h(data.)f(But)h(it)g(also)g(has)g(the)g (disadvantage)e(of)i(not)h(taking)f(data)f(locality)440 3733 y(principles)d(into)h(account.)565 3847 y(For)34 b(example,)f(the)i(users)f(working)i(on)f(nodes)f(in)h(a)f(physical)h (subnetwork)g(ar)o(e)440 3962 y(likely)29 b(to)f(be)g(placed)f(in)h (the)h(same)f(department)f(and)g(thus)i(need)f(the)g(same)g(data.)f(At) 440 4076 y(the)d(very)f(least)g(the)h(user)f(on)h(a)f(single)i(node)e (is)h(likely)g(to)g(use)g(the)f(\002les)h(he)g(has)f(cr)o(eated)440 4191 y(himself)e(mor)o(e)g(than)g(the)g(other)g(\002les)g(in)g(the)g (shar)o(ed)f(\002le)g(system.)565 4306 y(Hence,)d(it)i(would)g(make)f (sense)g(to)h(stor)o(e)f(at)g(least)g(some)g(block)h(r)o(eplicas)e(in)i (the)f(same)440 4420 y(subnetwork.)26 b(This)g(would)g(make)f(it)h (possible)g(to)f(access)g(the)h(blocks)g(very)f(ef)o(\002ciently)440 4535 y(without)f(going)f(thr)o(ough)h(the)e(backbone,)g(and)g(would)h (also)g(help)g(make)f(the)h(most)g(im-)440 4649 y(portant)e(\002les)g (accessible)f(if)h(a)f(network)h(split)g(occurs.)565 4764 y(A)26 b(simple)h(solution)i(is)e(to)g(place)f(one)i(of)f(the)g(r) o(eplicas)e(on)j(the)f(node)g(that)g(has)g(cr)o(e-)440 4878 y(ated)21 b(a)h(given)g(\002le.)h(The)f(hash)g(key)g(for)g(the)h (cr)o(eating)e(node)h(could)h(be)f(stor)o(ed)f(in)i(the)f(\002le)440 4993 y(identi\002er)f(so)g(that)g(other)g(nodes)g(would)g(know)h(wher)o (e)e(to)h(look.)565 5108 y(Futur)o(e)j(work)h(is)h(needed)e(to)h (understand)g(what)g(the)g(consequences)h(would)g(be)e(of)440 5222 y(such)h(a)f(modi\002cation)h(of)f(the)h(design.)f(It)g(is)h (conceivable)f(that)g(the)h(data)e(locality)h(prin-)440 5337 y(ciples)30 b(can)g(be)g(exploited)g(in)h(other)f(ways,)h(too.)f (One)h(obvious)g(idea)e(is)i(to)g(intr)o(oduce)1831 5662 y(70)p eop end %%Page: 71 73 TeXDict begin 71 72 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.71) cvn H.B /DEST pdfmark end 440 241 a 1429 211 a FN(Chapter)20 b(7.)46 b(Futur)o(e)20 b(work)p 440 244 2865 4 v 440 531 a FU(caching,)i(although)g(we)g(have)f(not)h (discussed)f(it)h(because)f(it)h(interfer)o(es)e(with)i(what)g(the)440 646 y(operating)f(system)g(pr)o(ovides.)440 806 y SDict begin H.S end 440 806 a 440 806 a SDict begin 13.79993 H.A end 440 806 a 440 806 a SDict begin [ /View [/XYZ H.V] /Dest (section.7.5) cvn H.B /DEST pdfmark end 440 806 a 148 x FL(7.5)119 b(Life)29 b(time)h(of)f(\002les)440 1158 y FU(The)22 b(pr)o(ototype)g(is)h(designed)f(as)g(a)g(blocking)h(operation)f(so)h (that)f(an)h(application)f(must)440 1273 y(wait)i(until)h(all)f(blocks) h(have)e(been)h(sent)h(out)f(in)h FO(r)i FU(r)o(eplicas)c(when)h(a)g (\002le)g(is)h(being)f(writ-)440 1387 y(ten.)i(But)g(the)h(life)f(time) g(of)h(dif)o(fer)o(ent)d(\002les)i(vary)g(much)h(and)f(ther)o(e)f(is)i (evidence)f(that)g(a)440 1502 y(considerable)d(pr)o(oportion)h(of)g (the)g(\002les)f(live)h(only)h(for)e(a)g(very)g(short)i(time)f(befor)o (e)e(they)440 1616 y(ar)o(e)d(overwritten)i(again)g([)1278 1616 y SDict begin H.S end 1278 1616 a FU(20)1362 1616 y SDict begin 13.79993 H.L end 1362 1616 a 1362 1616 a SDict begin [ /Subtype /Link /Dest (cite.vogels99file) cvn /H /I /Border [0 0 12] /Color [0 1 0] H.B /ANN pdfmark end 1362 1616 a -2 w FU(].)565 1731 y(For)26 b(a)h(short-lived)f (\002le)h(it)g(is)g(clearly)f(wasteful)g(to)h(distribute)g(it)g(in)g FO(r)i FU(r)o(eplicas)c(that)440 1846 y(immediately)e(become)h (garbage.)d(In)j(other)f(wor)o(ds,)g(\002les)h(that)f(ar)o(e)f(going)i (to)g(be)f(stor)o(ed)440 1960 y(for)c(a)g(long)i(period)e(of)h(time)g (needs)f(a)g(str)o(onger)h(life)f(time)h(guarantee)e(than)i(\002les)g (that)g(ar)o(e)440 2075 y(updated)g(within)i(a)e(short)h(period)g(of)f (time.)565 2189 y(Hence,)25 b(it)h(might)g(be)f(bene\002cial)h(to)g (intr)o(oduce)f(the)h(constant)g FO(r)2640 2204 y FC(min)2781 2189 y FU(and)f(a)g(time)h(in-)440 2304 y(terval)e FO(T)724 2322 y FB(l)748 2304 y FU(.)e(When)h(a)f(\002le)h(is)g(written,)g(a)f (r)o(eplica)f(of)i(each)f(block)h(is)g(sent)g(to)g FO(r)2851 2319 y FC(min)2989 2304 y FU(dif)o(fer)o(ent)440 2418 y(nodes)k(with)h(a)f(special)g(\003ag)g(set.)g(The)g(nodes)g(notice)h (the)f(\003ag,)g(and)g(after)h FO(T)2947 2436 y FB(l)2998 2418 y FU(time)f(the)440 2533 y(r)o(epublishing)h(pr)o(ocedur)o(e)e(is) i(started)f(and)g(the)h(block)g(will)g(end)f(up)h(being)g(r)o (eplicated)440 2648 y(on)21 b FO(r)j FU(nodes.)565 2762 y(As)g(futur)o(e)g(work,)g(it)h(would)h(be)e(inter)o(esting)h(to)g(see) f(what)h(implications)h(this)f(opti-)440 2877 y(misation)d(has)f(on)g (the)g(performance.)1831 5662 y(71)p eop end %%Page: 72 74 TeXDict begin 72 73 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.72) cvn H.B /DEST pdfmark end 440 241 a 992 x FX(Bibliography)440 1618 y SDict begin H.S end 440 1618 a 440 1618 a SDict begin 13.79993 H.A end 440 1618 a 440 1618 a SDict begin [ /View [/XYZ H.V] /Dest (chapter*.27) cvn H.B /DEST pdfmark end 440 1618 a 482 1565 a SDict begin H.S end 482 1565 a 115 x FU([1])580 1680 y SDict begin 13.79993 H.A end 580 1680 a 580 1680 a SDict begin [ /View [/XYZ H.V] /Dest (cite.loadbalancing) cvn H.B /DEST pdfmark end 580 1680 a 40 w FU(T)-8 b(ony)22 b(Bourke.)29 b FO(Server)22 b(load)e(balancing)p FU(.)29 b(O'Reilly)-9 b(,)22 b(2001.)482 1744 y SDict begin H.S end 482 1744 a 114 x FU([2])580 1858 y SDict begin 13.79993 H.A end 580 1858 a 580 1858 a SDict begin [ /View [/XYZ H.V] /Dest (cite.dslecturebook) cvn H.B /DEST pdfmark end 580 1858 a 40 w FU(Geor)o(ge)h(Coulouris,)i(Jen)e(Dollimor)o(e,)i(and)e(T)-5 b(im)25 b(Kindber)o(g.)39 b FO(Distributed)23 b(Systems)620 1973 y(-)d(Concepts)h(and)f(Design,)h(3rd)f(edition)p FU(.)29 b(Addison)21 b(W)-8 b(esley)f(,)21 b(2001.)482 2037 y SDict begin H.S end 482 2037 a 114 x FU([3])580 2151 y SDict begin 13.79993 H.A end 580 2151 a 580 2151 a SDict begin [ /View [/XYZ H.V] /Dest (cite.dabek01widearea) cvn H.B /DEST pdfmark end 580 2151 a 40 w FU(Frank)k(Dabek,)h(M.)f(Frans)g(Kaashoek,)h (David)f(Kar)o(ger)-6 b(,)24 b(Robert)i(Morris,)f(and)h(Ion)620 2266 y(Stoica.)33 b(W)-5 b(ide-ar)o(ea)20 b(cooperative)h(storage)h (with)h(CFS.)33 b(In)22 b FO(Pr)o(oceedings)g(of)g(the)f(18th)620 2380 y(ACM)f(Symposium)e(on)i(Operating)e(Systems)h(Principles)h (\(SOSP)f('01\))p FU(,)f(Chateau)g(Lake)620 2495 y(Louise,)j(Banf)o(f,) d(Canada,)h(October)i(2001.)482 2559 y SDict begin H.S end 482 2559 a 115 x FU([4])580 2674 y SDict begin 13.79993 H.A end 580 2674 a 580 2674 a SDict begin [ /View [/XYZ H.V] /Dest (cite.ripe) cvn H.B /DEST pdfmark end 580 2674 a 40 w FU(Hans)30 b(Dobbertin,)f(Antoon)i(Bosselaers,)e(and)g(Bart)g(Pr)o (eneel.)57 b(RIPEMD-160:)28 b(A)620 2788 y(str)o(engthened)e(version)h (of)f(RIPEMD.)48 b(In)27 b FO(Fast)f(Softwar)o(e)g(Encryption)p FU(,)f(pages)h(71\226)620 2903 y(82,)19 b(1996.)482 2967 y SDict begin H.S end 482 2967 a 114 x FU([5])580 3081 y SDict begin 13.79993 H.A end 580 3081 a 580 3081 a SDict begin [ /View [/XYZ H.V] /Dest (cite.gnutellaweb) cvn H.B /DEST pdfmark end 580 3081 a 40 w FU(Knowbuddy's)e(Gnutella)f(F)-6 b(AQ.)1705 3094 y SDict begin H.S end 1705 3094 a -13 x FP(http://www.rixsoft.com/Knowbuddy/)o(gnute)o (llafa)o(q.html)4145 3028 y SDict begin H.R end 4145 3028 a 4145 3081 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.rixsoft.com/Knowbuddy/gnutellafaq.html) >> /Subtype /Link H.B /ANN pdfmark end 4145 3081 a FU(.)482 3145 y SDict begin H.S end 482 3145 a 115 x FU([6])580 3260 y SDict begin 13.79993 H.A end 580 3260 a 580 3260 a SDict begin [ /View [/XYZ H.V] /Dest (cite.karger97consistent) cvn H.B /DEST pdfmark end 580 3260 a 40 w FU(David)43 b(Kar)o(ger)-6 b(,)41 b(Eric)i(Lehman,)g(T)-8 b(om)44 b(Leighton,)g(Mathhew)f(Levine,) f(Daniel)620 3374 y(Lewin,)27 b(and)g(Rina)h(Panigrahy)-9 b(.)52 b(Consistent)28 b(hashing)h(and)e(random)h(tr)o(ees:)e(Dis-)620 3489 y(tributed)20 b(caching)h(pr)o(otocols)h(for)e(r)o(elieving)h(hot) h(spots)f(on)h(the)f(world)g(wide)g(web.)620 3604 y(In)g FO(ACM)g(Symposium)f(on)h(Theory)f(of)g(Computing)p FU(,)g(pages)g (654\226663,)d(May)j(1997.)482 3668 y SDict begin H.S end 482 3668 a 114 x FU([7])580 3782 y SDict begin 13.79993 H.A end 580 3782 a 580 3782 a SDict begin [ /View [/XYZ H.V] /Dest (cite.oceanstore-asplos) cvn H.B /DEST pdfmark end 580 3782 a 40 w FU(John)55 b(Kubiatowicz,)f(David)g(Bindel,)g(Y)-8 b(an)55 b(Chen,)g(Patrick)f(Eaton,)g(Dennis)620 3897 y(Geels,)21 b(Ramakrishna)g(Gummadi,)g(Sean)f(Rhea,)g(Hakim)h(W)-8 b(eatherspoon,)22 b(W)-8 b(estly)620 4011 y(W)g(eimer)i(,)28 b(Christopher)h(W)-8 b(ells,)29 b(and)f(Ben)g(Zhao.)55 b(Oceanstor)o(e:)28 b(An)g(ar)o(chitectur)o(e)620 4126 y(for)22 b(global-scale)f(persistent)h(storage.)34 b(In)22 b FO(Pr)o(oceedings)f(of)h(ACM)h(ASPLOS)p FU(.)f(ACM,)620 4240 y(November)e(2000.)482 4304 y SDict begin H.S end 482 4304 a 115 x FU([8])580 4419 y SDict begin 13.79993 H.A end 580 4419 a 580 4419 a SDict begin [ /View [/XYZ H.V] /Dest (cite.na-book) cvn H.B /DEST pdfmark end 580 4419 a 40 w FU(James)28 b(F)-8 b(.)28 b(Kur)o(ose)g(and)g(Keith)h(W)-8 b(.)29 b(Ross.)54 b FO(Computer)28 b(Networking)g(-)g(A)g(T)-9 b(op-Down)620 4534 y(Appr)o(oach)18 b(Featuring)j(the)g(Internet)p FU(.)29 b(Addison)21 b(W)-8 b(esley)f(,)21 b(2.)f(edition,)h(2003.)482 4598 y SDict begin H.S end 482 4598 a 114 x FU([9])580 4712 y SDict begin 13.79993 H.A end 580 4712 a 580 4712 a SDict begin [ /View [/XYZ H.V] /Dest (cite.maymounkov02kademlia) cvn H.B /DEST pdfmark end 580 4712 a 40 w FU(P)-11 b(.)23 b(Maymounkov)g(and)f(D.)h (Mazier)o(es.)34 b(Kademlia:)22 b(A)g(peer)o(-to-peer)e(information)620 4827 y(system)h(based)f(on)i(the)e(XOR)i(metric.)30 b(In)21 b FO(Pr)o(oceedings)f(of)h(IPTPS02)p FU(,)d(Mar)o(ch)i(2002.)440 4891 y SDict begin H.S end 440 4891 a 114 x FU([10])580 5005 y SDict begin 13.79993 H.A end 580 5005 a 580 5005 a SDict begin [ /View [/XYZ H.V] /Dest (cite.ns) cvn H.B /DEST pdfmark end 580 5005 a 40 w FU(The)h(network)g(simulator)-6 b(,)21 b(2003.)1715 5018 y SDict begin H.S end 1715 5018 a -13 x FP (http://www.isi.edu/nsnam/ns/)3109 4952 y SDict begin H.R end 3109 4952 a 3109 5005 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.isi.edu/nsnam/ns/) >> /Subtype /Link H.B /ANN pdfmark end 3109 5005 a FU(.)440 5069 y SDict begin H.S end 440 5069 a 115 x FU([11])580 5184 y SDict begin 13.79993 H.A end 580 5184 a 580 5184 a SDict begin [ /View [/XYZ H.V] /Dest (cite.ratnasamy01scalable) cvn H.B /DEST pdfmark end 580 5184 a 40 w FU(Sylvia)26 b(Ratnasamy)-9 b(,)26 b(Paul)h(Francis,)f(Mark)g (Handley)-9 b(,)26 b(Richar)o(d)g(Karp,)g(and)g(Scott)620 5298 y(Shenker)-6 b(.)39 b(A)24 b(scalable)f(content)i(addr)o(essable)c (network.)41 b(In)24 b FO(Pr)o(oceedings)g(of)g(ACM)620 5413 y(SIGCOMM)p FU(,)d(2001.)1831 5662 y(72)p eop end %%Page: 73 75 TeXDict begin 73 74 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.73) cvn H.B /DEST pdfmark end 440 241 a 1556 211 a FN(BIBLIOGRAPHY)p 440 244 2865 4 v 440 417 a SDict begin H.S end 440 417 a 114 x FU([12])580 531 y SDict begin 13.79993 H.A end 580 531 a 580 531 a SDict begin [ /View [/XYZ H.V] /Dest (cite.gnutellascale) cvn H.B /DEST pdfmark end 580 531 a 40 w FU(Jor)o(dan)38 b(Ripper)-6 b(.)90 b(Why)40 b(Gnutella)g(can't)f (scale.)g(No,)h(r)o(eally)-9 b(.,)37 b(Febr)o(uary)i(2001.)620 659 y SDict begin H.S end 620 659 a -13 x FP(http://www.darkridge.com/~jpr5/doc)o(/gnute)o (lla.h)o(tml)3011 593 y SDict begin H.R end 3011 593 a 3011 646 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.darkridge.com/~jpr5/doc/gnutella.html) >> /Subtype /Link H.B /ANN pdfmark end 3011 646 a FU(.)440 712 y SDict begin H.S end 440 712 a 115 x FU([13])580 827 y SDict begin 13.79993 H.A end 580 827 a 580 827 a SDict begin [ /View [/XYZ H.V] /Dest (cite.dummynet) cvn H.B /DEST pdfmark end 580 827 a 40 w FU(Luigi)22 b(Rizzo.)32 b(Dummynet:)23 b(a)e(simple)h(appr)o(oach)e(to)i(the)g(evaluation)f(of) h(network)620 941 y(pr)o(otocols.)30 b FO(ACM)21 b(Computer)g (Communication)f(Review)p FU(,)h(27\(1\):31\22641,)16 b(1997.)440 1008 y SDict begin H.S end 440 1008 a 114 x FU([14])580 1122 y SDict begin 13.79993 H.A end 580 1122 a 580 1122 a SDict begin [ /View [/XYZ H.V] /Dest (cite.md5) cvn H.B /DEST pdfmark end 580 1122 a 40 w FU(Matt)k(Robshaw)-8 b(.)33 b(On)22 b(r)o(ecent)e(r)o(esults)h(for)g(MD2,)g(MD4)f(and)h (MD5.)31 b FO(RSA)22 b(Laborato-)620 1237 y(ries')g(Bulletin)p FU(,)e(1996.)440 1303 y SDict begin H.S end 440 1303 a 115 x FU([15])580 1418 y SDict begin 13.79993 H.A end 580 1418 a 580 1418 a SDict begin [ /View [/XYZ H.V] /Dest (cite.rowstron01pastry) cvn H.B /DEST pdfmark end 580 1418 a 40 w FU(Antony)i(Rowstr)o(on)g (and)e(Peter)h(Dr)o(uschel.)31 b(Pastry:)21 b(Scalable,)e (decentralized)g(ob-)620 1533 y(ject)36 b(location,)g(and)f(r)o(outing) i(for)e(lar)o(ge-scale)f(peer)o(-to-peer)f(systems.)79 b FO(Lectur)o(e)620 1647 y(Notes)20 b(in)h(Computer)g(Science)p FU(,)g(2218:329\226350,)15 b(2001.)440 1714 y SDict begin H.S end 440 1714 a 114 x FU([16])580 1828 y SDict begin 13.79993 H.A end 580 1828 a 580 1828 a SDict begin [ /View [/XYZ H.V] /Dest (cite.sha1) cvn H.B /DEST pdfmark end 580 1828 a 40 w FU(SHA-1,)k(2003.)1124 1841 y SDict begin H.S end 1124 1841 a -13 x FP(http://csrc.nist.gov/cryptval/shs.html)3017 1775 y SDict begin H.R end 3017 1775 a 3017 1828 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://csrc.nist.gov/cryptval/shs.html) >> /Subtype /Link H.B /ANN pdfmark end 3017 1828 a FU(.)440 1895 y SDict begin H.S end 440 1895 a 114 x FU([17])580 2009 y SDict begin 13.79993 H.A end 580 2009 a 580 2009 a SDict begin [ /View [/XYZ H.V] /Dest (cite.stoica01chord) cvn H.B /DEST pdfmark end 580 2009 a 40 w FU(Ion)29 b(Stoica,)f(Robert)h(Morris,)f(David)g (Kar)o(ger)-6 b(,)28 b(M.)g(Francs)g(Kaashoek,)h(and)f(Hari)620 2124 y(Balakrishnan.)41 b(Chor)o(d:)23 b(A)h(scalable)g(peer)o (-to-peer)e(lookup)j(service)f(for)g(internet)620 2238 y(applications.)45 b(In)26 b FO(Pr)o(oceedings)f(of)h(the)f(2001)e (confer)o(ence)k(on)e(applications,)f(technolo-)620 2353 y(gies,)19 b(ar)o(chitectur)o(es,)g(and)g(pr)o(otocols)f(for)i (computer)f(communications)p FU(,)f(pages)h(149\226160.)620 2467 y(ACM)h(Pr)o(ess,)g(2001.)440 2534 y SDict begin H.S end 440 2534 a 114 x FU([18])580 2648 y SDict begin 13.79993 H.A end 580 2648 a 580 2648 a SDict begin [ /View [/XYZ H.V] /Dest (cite.probability-book) cvn H.B /DEST pdfmark end 580 2648 a 40 w FU(Michael)25 b(S\370r)o(ensen.)44 b FO(En)26 b(intr)o(oduktion)e(til)i(sandsynlighedsr)o(egning)p FU(.)43 b(Afdeling)26 b(for)620 2763 y(T)-8 b(eor)o(etisk)21 b(Statistik,)f(3.)g(edition,)h(2002.)440 2829 y SDict begin H.S end 440 2829 a 115 x FU([19])580 2944 y SDict begin 13.79993 H.A end 580 2944 a 580 2944 a SDict begin [ /View [/XYZ H.V] /Dest (cite.vmware) cvn H.B /DEST pdfmark end 580 2944 a 40 w FU(VMwar)o(e)e(is)i(virtual)f(infrastr)o(uctur)o(e,)g (2003.)2071 2957 y SDict begin H.S end 2071 2957 a -13 x FP(http://www.vmware.com/)3166 2891 y SDict begin H.R end 3166 2891 a 3166 2944 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://www.vmware.com/) >> /Subtype /Link H.B /ANN pdfmark end 3166 2944 a FU(.)440 3010 y SDict begin H.S end 440 3010 a 115 x FU([20])580 3125 y SDict begin 13.79993 H.A end 580 3125 a 580 3125 a SDict begin [ /View [/XYZ H.V] /Dest (cite.vogels99file) cvn H.B /DEST pdfmark end 580 3125 a 40 w FU(W)-8 b(erner)26 b(V)-9 b(ogels.)48 b(File)27 b(system)g(usage)g(in)f(windows)i(NT)f(4.0.)46 b(In)27 b FO(Symposium)e(on)620 3240 y(Operating)20 b(Systems)g (Principles)p FU(,)h(pages)f(93\226109,)e(1999.)440 3306 y SDict begin H.S end 440 3306 a 114 x FU([21])580 3420 y SDict begin 13.79993 H.A end 580 3420 a 580 3420 a SDict begin [ /View [/XYZ H.V] /Dest (cite.poisson-url) cvn H.B /DEST pdfmark end 580 3420 a 40 w FU(Eric)69 b(W)-8 b(.)71 b(W)-8 b(eisstein.)188 b(Poisson)72 b(pr)o(ocess)d(\226)h(fr)o(om)f (mathworld,)h(2003.)620 3548 y SDict begin H.S end 620 3548 a -13 x FP (http://mathworld.wolfram.com/Poiss)o(onProc)o(ess.h)o(tml)3011 3482 y SDict begin H.R end 3011 3482 a 3011 3535 a SDict begin [ /H /I /Border [0 0 12] /Color [0 1 1] /Action << /Subtype /URI /URI (http://mathworld.wolfram.com/PoissonProcess.html) >> /Subtype /Link H.B /ANN pdfmark end 3011 3535 a FU(.)440 3601 y SDict begin H.S end 440 3601 a 115 x FU([22])580 3716 y SDict begin 13.79993 H.A end 580 3716 a 580 3716 a SDict begin [ /View [/XYZ H.V] /Dest (cite.zhao01tapestry) cvn H.B /DEST pdfmark end 580 3716 a 40 w FU(B.)23 b(Y)-9 b(.)24 b(Zhao,)g(J.)g(D.)g (Kubiatowicz,)g(and)f(A.)h(D.)f(Joseph.)41 b(T)-8 b(apestry:)23 b(An)h(infrastr)o(uc-)620 3831 y(tur)o(e)k(for)h(fault-tolerant)f (wide-ar)o(ea)f(location)j(and)f(r)o(outing.)57 b(T)-8 b(echnical)29 b(Report)620 3945 y(UCB/CSD-01-1141,)16 b(UC)k(Berkeley)-9 b(,)20 b(April)g(2001.)1831 5662 y(73)p eop end %%Page: 74 76 TeXDict begin 74 75 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 440 241 a SDict begin H.S end 440 241 a 440 241 a SDict begin H.R end 440 241 a 440 241 a SDict begin [ /View [/XYZ H.V] /Dest (page.74) cvn H.B /DEST pdfmark end 440 241 a 440 448 a SDict begin H.S end 440 448 a 440 448 a SDict begin 13.79993 H.A end 440 448 a 440 448 a SDict begin [ /View [/XYZ H.V] /Dest (appendix.A) cvn H.B /DEST pdfmark end 440 448 a 737 x FM(Appendix)44 b(A)440 1638 y FX(Throughput)52 b(test)f(results)927 3445 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2267 @rwi @setspecial %%BeginDocument: appendix/images/throughput-indi-read-1.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: throughput-indi-read-1.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 13:38:49 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 977 M 63 0 V 6185 0 R -63 0 V 630 977 M ( 100) Rshow 714 1533 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 200) Rshow 714 2090 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 300) Rshow 714 2646 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 400) Rshow 714 3203 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 500) Rshow 714 3759 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 600) Rshow 714 4316 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 700) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 800) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 0) Cshow 1393 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 5) Cshow 2072 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 2751 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 15) Cshow 3431 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 4110 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 25) Cshow 4789 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 5468 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 35) Cshow 6147 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 6826 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 45) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Individual throughput \(kbyte/s\)) Cshow grestore 3838 70 M (Number of simultaneous readers) Cshow 1.000 UP 1.000 UL LT0 1386 973 M (Run 1) Rshow 850 3750 Box 986 3710 Box 986 3846 Box 1121 3833 Box 1121 3749 Box 1121 3740 Box 1257 3543 Box 1257 3814 Box 1257 3705 Box 1257 3676 Box 1393 3841 Box 1393 3714 Box 1393 3801 Box 1393 3799 Box 1393 3751 Box 1529 3729 Box 1529 3746 Box 1529 3727 Box 1529 3712 Box 1529 3731 Box 1529 3750 Box 1665 3748 Box 1665 3826 Box 1665 3845 Box 1665 3701 Box 1665 3687 Box 1665 3742 Box 1665 3649 Box 1801 3777 Box 1801 3744 Box 1801 3843 Box 1801 3511 Box 1801 3673 Box 1801 3692 Box 1801 3641 Box 1801 3731 Box 1936 3625 Box 1936 3651 Box 1936 3726 Box 1936 3878 Box 1936 3834 Box 1936 3744 Box 1936 3693 Box 1936 3675 Box 1936 3583 Box 2072 3677 Box 2072 3687 Box 2072 3742 Box 2072 3703 Box 2072 3750 Box 2072 3699 Box 2072 3802 Box 2072 3683 Box 2072 3833 Box 2072 3702 Box 2208 3733 Box 2208 3627 Box 2208 3610 Box 2208 3836 Box 2208 3682 Box 2208 3666 Box 2208 3710 Box 2208 3757 Box 2208 3639 Box 2208 3698 Box 2208 3840 Box 2344 3602 Box 2344 3651 Box 2344 3742 Box 2344 3682 Box 2344 3723 Box 2344 3490 Box 2344 3561 Box 2344 3666 Box 2344 3816 Box 2344 3418 Box 2344 3677 Box 2344 3692 Box 2480 3782 Box 2480 3586 Box 2480 3581 Box 2480 3672 Box 2480 3579 Box 2480 3711 Box 2480 3569 Box 2480 3716 Box 2480 3795 Box 2480 3743 Box 2480 3572 Box 2480 3670 Box 2480 3668 Box 2616 3651 Box 2616 3660 Box 2616 3596 Box 2616 3692 Box 2616 3552 Box 2616 4142 Box 2616 3712 Box 2616 3571 Box 2616 3644 Box 2616 3633 Box 2616 3699 Box 2616 3721 Box 2616 3545 Box 2616 3790 Box 2751 3684 Box 2751 3786 Box 2751 3621 Box 2751 3669 Box 2751 3676 Box 2751 3726 Box 2751 3561 Box 2751 3625 Box 2751 3668 Box 2751 3666 Box 2751 3633 Box 2751 3559 Box 2751 3612 Box 2751 3651 Box 2751 3472 Box 2887 3697 Box 2887 3673 Box 2887 3695 Box 2887 3632 Box 2887 3612 Box 2887 3699 Box 2887 3701 Box 2887 3612 Box 2887 3673 Box 2887 3673 Box 2887 3663 Box 2887 3919 Box 2887 3694 Box 2887 3433 Box 2887 3633 Box 2887 3709 Box 3023 3567 Box 3023 3652 Box 3023 3673 Box 3023 3681 Box 3023 3578 Box 3023 3745 Box 3023 3526 Box 3023 3413 Box 3023 3914 Box 3023 3720 Box 3023 3642 Box 3023 3537 Box 3023 3220 Box 3023 3616 Box 3023 3788 Box 3023 3625 Box 3023 3565 Box 3159 3750 Box 3159 3415 Box 3159 3632 Box 3159 3696 Box 3159 3515 Box 3159 3467 Box 3159 3678 Box 3159 3640 Box 3159 3811 Box 3159 3376 Box 3159 3581 Box 3159 3596 Box 3159 3688 Box 3159 3673 Box 3159 3676 Box 3159 3724 Box 3159 3851 Box 3159 3666 Box 3295 3649 Box 3295 3564 Box 3295 3646 Box 3295 3569 Box 3295 3613 Box 3295 3568 Box 3295 3750 Box 3295 3421 Box 3295 3536 Box 3295 3693 Box 3295 3640 Box 3295 3641 Box 3295 3528 Box 3295 3668 Box 3295 3743 Box 3295 3609 Box 3295 3583 Box 3295 3599 Box 3295 3675 Box 3431 3550 Box 3431 3538 Box 3431 3576 Box 3431 3736 Box 3431 3485 Box 3431 3589 Box 3431 3302 Box 3431 3620 Box 3431 3594 Box 3431 3542 Box 3431 3571 Box 3431 3691 Box 3431 3545 Box 3431 3556 Box 3431 3785 Box 3431 3556 Box 3431 3408 Box 3431 3616 Box 3431 3603 Box 3431 3749 Box 3566 3670 Box 3566 3429 Box 3566 3590 Box 3566 3451 Box 3566 3707 Box 3566 3663 Box 3566 3241 Box 3566 3789 Box 3566 3634 Box 3566 3598 Box 3566 3579 Box 3566 3611 Box 3566 3509 Box 3566 3599 Box 3566 3689 Box 3566 3633 Box 3566 3653 Box 3566 3486 Box 3566 3707 Box 3566 3655 Box 3566 3546 Box 3702 3572 Box 3702 3573 Box 3702 3512 Box 3702 3648 Box 3702 3517 Box 3702 3519 Box 3702 3481 Box 3702 3598 Box 3702 3444 Box 3702 3647 Box 3702 3608 Box 3702 3772 Box 3702 3656 Box 3702 3576 Box 3702 3565 Box 3702 3903 Box 3702 3626 Box 3702 3454 Box 3702 3638 Box 3702 3482 Box 3702 3614 Box 3702 3571 Box 3838 3556 Box 3838 3551 Box 3838 3520 Box 3838 3683 Box 3838 3660 Box 3838 3662 Box 3838 3409 Box 3838 3580 Box 3838 3727 Box 3838 3638 Box 3838 3512 Box 3838 3672 Box 3838 3622 Box 3838 3624 Box 3838 3628 Box 3838 3792 Box 3838 3946 Box 3838 3483 Box 3838 3599 Box 3838 3725 Box 3838 3564 Box 3838 3496 Box 3838 3332 Box 3974 3497 Box 3974 3618 Box 3974 3448 Box 3974 3607 Box 3974 3643 Box 3974 3353 Box 3974 3502 Box 3974 3454 Box 3974 3466 Box 3974 3734 Box 3974 3595 Box 3974 3707 Box 3974 3535 Box 3974 3468 Box 3974 3670 Box 3974 3738 Box 3974 3450 Box 3974 3452 Box 3974 3721 Box 3974 3473 Box 3974 3735 Box 3974 3512 Box 3974 3592 Box 3974 3556 Box 4110 3583 Box 4110 3629 Box 4110 3502 Box 4110 3578 Box 4110 3689 Box 4110 3517 Box 4110 3710 Box 4110 3586 Box 4110 3597 Box 4110 3772 Box 4110 3507 Box 4110 3659 Box 4110 3542 Box 4110 3550 Box 4110 3699 Box 4110 3664 Box 4110 3672 Box 4110 3585 Box 4110 3643 Box 4110 3572 Box 4110 3523 Box 4110 3761 Box 4110 3418 Box 4110 3692 Box 4110 3626 Box 4245 3475 Box 4245 3621 Box 4245 3324 Box 4245 3708 Box 4245 3501 Box 4245 3598 Box 4245 3343 Box 4245 3708 Box 4245 3542 Box 4245 3626 Box 4245 3337 Box 4245 3512 Box 4245 3343 Box 4245 3330 Box 4245 3642 Box 4245 3602 Box 4245 3606 Box 4245 3496 Box 4245 3327 Box 4245 3411 Box 4245 3693 Box 4245 3342 Box 4245 3577 Box 4245 3423 Box 4245 3632 Box 4245 3381 Box 4381 3795 Box 4381 3707 Box 4381 3399 Box 4381 3542 Box 4381 3574 Box 4381 3550 Box 4381 3531 Box 4381 3370 Box 4381 3552 Box 4381 3526 Box 4381 3576 Box 4381 3694 Box 4381 3688 Box 4381 3639 Box 4381 3813 Box 4381 3498 Box 4381 3558 Box 4381 3334 Box 4381 3576 Box 4381 3659 Box 4381 3581 Box 4381 3663 Box 4381 3523 Box 4381 3513 Box 4381 3502 Box 4381 3704 Box 4381 3507 Box 4517 3478 Box 4517 3458 Box 4517 3610 Box 4517 3552 Box 4517 3533 Box 4517 3599 Box 4517 3785 Box 4517 3586 Box 4517 3239 Box 4517 3503 Box 4517 3367 Box 4517 3527 Box 4517 3465 Box 4517 3568 Box 4517 3333 Box 4517 3597 Box 4517 3430 Box 4517 3629 Box 4517 3589 Box 4517 3480 Box 4517 3537 Box 4517 3443 Box 4517 3589 Box 4517 3559 Box 4517 3633 Box 4517 3528 Box 4517 3503 Box 4517 3692 Box 4653 3515 Box 4653 3576 Box 4653 3621 Box 4653 3498 Box 4653 3500 Box 4653 3650 Box 4653 3450 Box 4653 3456 Box 4653 3694 Box 4653 3568 Box 4653 3563 Box 4653 3354 Box 4653 3008 Box 4653 3300 Box 4653 3563 Box 4653 3610 Box 4653 3594 Box 4653 3607 Box 4653 3501 Box 4653 3555 Box 4653 3319 Box 4653 3645 Box 4653 3682 Box 4653 3480 Box 4653 3795 Box 4653 3432 Box 4653 3353 Box 4653 3632 Box 4653 3577 Box 4789 3211 Box 4789 3481 Box 4789 3492 Box 4789 3526 Box 4789 3547 Box 4789 3267 Box 4789 3225 Box 4789 3698 Box 4789 3478 Box 4789 3487 Box 4789 3457 Box 4789 3417 Box 4789 3650 Box 4789 3559 Box 4789 3358 Box 4789 3567 Box 4789 3360 Box 4789 3624 Box 4789 3425 Box 4789 3212 Box 4789 3617 Box 4789 3268 Box 4789 3341 Box 4789 3485 Box 4789 3694 Box 4789 3249 Box 4789 3397 Box 4789 3707 Box 4789 3274 Box 4789 3508 Box 4925 3485 Box 4925 2857 Box 4925 3419 Box 4925 3595 Box 4925 3405 Box 4925 2972 Box 4925 2665 Box 4925 3681 Box 4925 2599 Box 4925 3447 Box 4925 2950 Box 4925 3551 Box 4925 3390 Box 4925 3305 Box 4925 3633 Box 4925 2531 Box 4925 3333 Box 4925 3654 Box 4925 2547 Box 4925 3762 Box 4925 3206 Box 4925 3454 Box 4925 2633 Box 4925 3578 Box 4925 3697 Box 4925 3222 Box 4925 3475 Box 4925 3776 Box 4925 3421 Box 4925 3530 Box 4925 3512 Box 5060 3376 Box 5060 3696 Box 5060 3470 Box 5060 3468 Box 5060 3399 Box 5060 3612 Box 5060 3421 Box 5060 3428 Box 5060 3410 Box 5060 3438 Box 5060 3478 Box 5060 3317 Box 5060 3360 Box 5060 3293 Box 5060 3331 Box 5060 3572 Box 5060 3425 Box 5060 3600 Box 5060 3639 Box 5060 3401 Box 5060 3372 Box 5060 3389 Box 5060 3552 Box 5060 3640 Box 5060 3465 Box 5060 3206 Box 5060 3367 Box 5060 3438 Box 5060 3640 Box 5060 3441 Box 5060 3491 Box 5060 3382 Box 5196 3128 Box 5196 3410 Box 5196 3390 Box 5196 3012 Box 5196 3270 Box 5196 3485 Box 5196 3251 Box 5196 2561 Box 5196 3319 Box 5196 3401 Box 5196 3418 Box 5196 3150 Box 5196 3568 Box 5196 3546 Box 5196 3351 Box 5196 3398 Box 5196 3492 Box 5196 3412 Box 5196 2634 Box 5196 3618 Box 5196 3236 Box 5196 3806 Box 5196 3431 Box 5196 3441 Box 5196 3383 Box 5196 2686 Box 5196 2707 Box 5196 2621 Box 5196 3521 Box 5196 3737 Box 5196 3610 Box 5196 2744 Box 5196 2782 Box 5332 2874 Box 5332 2901 Box 5332 3347 Box 5332 2701 Box 5332 3092 Box 5332 3021 Box 5332 3358 Box 5332 2526 Box 5332 2952 Box 5332 3313 Box 5332 3373 Box 5332 3080 Box 5332 3449 Box 5332 3437 Box 5332 3581 Box 5332 3514 Box 5332 3411 Box 5332 3062 Box 5332 3418 Box 5332 3250 Box 5332 3079 Box 5332 3416 Box 5332 3512 Box 5332 3138 Box 5332 3046 Box 5332 3657 Box 5332 2955 Box 5332 3581 Box 5332 3640 Box 5332 3249 Box 5332 3280 Box 5332 3382 Box 5332 3529 Box 5332 3456 Box 5468 3428 Box 5468 3445 Box 5468 3238 Box 5468 3415 Box 5468 3419 Box 5468 3307 Box 5468 3494 Box 5468 3246 Box 5468 3363 Box 5468 3417 Box 5468 3384 Box 5468 3497 Box 5468 3418 Box 5468 3374 Box 5468 3607 Box 5468 3426 Box 5468 3571 Box 5468 3471 Box 5468 3533 Box 5468 3274 Box 5468 3589 Box 5468 3415 Box 5468 3445 Box 5468 3405 Box 5468 3445 Box 5468 3385 Box 5468 3411 Box 5468 3568 Box 5468 3401 Box 5468 3421 Box 5468 3603 Box 5468 3384 Box 5468 3423 Box 5468 3416 Box 5468 3403 Box 5604 3601 Box 5604 3312 Box 5604 3503 Box 5604 3480 Box 5604 3353 Box 5604 3310 Box 5604 3402 Box 5604 3167 Box 5604 3335 Box 5604 3310 Box 5604 3459 Box 5604 3779 Box 5604 3404 Box 5604 3296 Box 5604 3389 Box 5604 3680 Box 5604 3559 Box 5604 3316 Box 5604 3664 Box 5604 3297 Box 5604 3378 Box 5604 3160 Box 5604 3452 Box 5604 3338 Box 5604 3338 Box 5604 3388 Box 5604 3690 Box 5604 3223 Box 5604 3439 Box 5604 3426 Box 5604 3231 Box 5604 3373 Box 5604 3475 Box 5604 3236 Box 5604 3265 Box 5604 3392 Box 5740 2831 Box 5740 2853 Box 5740 3036 Box 5740 3090 Box 5740 3305 Box 5740 2494 Box 5740 3330 Box 5740 2788 Box 5740 2470 Box 5740 2734 Box 5740 3179 Box 5740 2677 Box 5740 3537 Box 5740 3301 Box 5740 3556 Box 5740 3607 Box 5740 2411 Box 5740 3279 Box 5740 3222 Box 5740 3223 Box 5740 2466 Box 5740 3347 Box 5740 2832 Box 5740 2368 Box 5740 2809 Box 5740 2435 Box 5740 2356 Box 5740 2498 Box 5740 3608 Box 5740 3424 Box 5740 3797 Box 5740 2466 Box 5740 3239 Box 5740 3252 Box 5740 3343 Box 5740 2767 Box 5740 3610 Box 5875 2632 Box 5875 2872 Box 5875 3372 Box 5875 3355 Box 5875 3639 Box 5875 3338 Box 5875 3513 Box 5875 3314 Box 5875 2761 Box 5875 2595 Box 5875 2681 Box 5875 3206 Box 5875 2624 Box 5875 2745 Box 5875 2639 Box 5875 2772 Box 5875 2684 Box 5875 2538 Box 5875 2584 Box 5875 2753 Box 5875 3112 Box 5875 3432 Box 5875 3508 Box 5875 2619 Box 5875 3712 Box 5875 2964 Box 5875 3607 Box 5875 2584 Box 5875 3443 Box 5875 3361 Box 5875 3555 Box 5875 3402 Box 5875 3460 Box 5875 2988 Box 5875 3363 Box 5875 2610 Box 5875 2640 Box 5875 3532 Box 6011 3414 Box 6011 3730 Box 6011 3448 Box 6011 3296 Box 6011 3224 Box 6011 3187 Box 6011 3112 Box 6011 3352 Box 6011 2930 Box 6011 3470 Box 6011 3386 Box 6011 3430 Box 6011 3286 Box 6011 3301 Box 6011 2906 Box 6011 3025 Box 6011 3363 Box 6011 3402 Box 6011 3078 Box 6011 3269 Box 6011 3209 Box 6011 3383 Box 6011 3012 Box 6011 3303 Box 6011 2975 Box 6011 3190 Box 6011 3354 Box 6011 3118 Box 6011 3193 Box 6011 3230 Box 6011 3248 Box 6011 3210 Box 6011 3088 Box 6011 3314 Box 6011 3627 Box 6011 3523 Box 6011 3260 Box 6011 2524 Box 6011 3228 Box 6147 3445 Box 6147 3249 Box 6147 3189 Box 6147 2916 Box 6147 3331 Box 6147 2881 Box 6147 3021 Box 6147 3282 Box 6147 2629 Box 6147 3191 Box 6147 3150 Box 6147 3093 Box 6147 3270 Box 6147 3079 Box 6147 3245 Box 6147 3172 Box 6147 2737 Box 6147 3306 Box 6147 3472 Box 6147 3455 Box 6147 3561 Box 6147 3307 Box 6147 3387 Box 6147 3343 Box 6147 3035 Box 6147 3273 Box 6147 3050 Box 6147 3474 Box 6147 3377 Box 6147 3204 Box 6147 3349 Box 6147 3431 Box 6147 3233 Box 6147 3424 Box 6147 3525 Box 6147 3206 Box 6147 3195 Box 6147 3254 Box 6147 3466 Box 6147 2786 Box 6283 3419 Box 6283 2788 Box 6283 2540 Box 6283 2392 Box 6283 3166 Box 6283 3322 Box 6283 3138 Box 6283 3571 Box 6283 2929 Box 6283 2429 Box 6283 3559 Box 6283 2319 Box 6283 3559 Box 6283 3266 Box 6283 3446 Box 6283 2737 Box 6283 2359 Box 6283 2871 Box 6283 3037 Box 6283 3026 Box 6283 3629 Box 6283 2613 Box 6283 3061 Box 6283 3434 Box 6283 2795 Box 6283 3373 Box 6283 3330 Box 6283 2871 Box 6283 3492 Box 6283 3072 Box 6283 3189 Box 6283 3141 Box 6283 3236 Box 6283 3462 Box 6283 2758 Box 6283 3202 Box 6283 3330 Box 6283 2645 Box 6283 3162 Box 6283 2566 Box 6283 2517 Box 6419 3372 Box 6419 3302 Box 6419 3427 Box 6419 3170 Box 6419 2752 Box 6419 3193 Box 6419 3347 Box 6419 2456 Box 6419 3240 Box 6419 2552 Box 6419 2439 Box 6419 2549 Box 6419 2470 Box 6419 2373 Box 6419 2638 Box 6419 2461 Box 6419 2756 Box 6419 2541 Box 6419 2406 Box 6419 2677 Box 6419 2427 Box 6419 3244 Box 6419 3558 Box 6419 3115 Box 6419 3577 Box 6419 3378 Box 6419 3184 Box 6419 3417 Box 6419 3324 Box 6419 3436 Box 6419 3096 Box 6419 3212 Box 6419 2304 Box 6419 3202 Box 6419 3230 Box 6419 3489 Box 6419 3552 Box 6419 3481 Box 6419 2761 Box 6419 3350 Box 6419 3748 Box 6419 3323 Box 6555 3398 Box 6555 2532 Box 6555 2928 Box 6555 2553 Box 6555 2916 Box 6555 3019 Box 6555 2530 Box 6555 3198 Box 6555 2936 Box 6555 2540 Box 6555 3338 Box 6555 2706 Box 6555 3596 Box 6555 2599 Box 6555 3002 Box 6555 3100 Box 6555 2956 Box 6555 2542 Box 6555 2515 Box 6555 2591 Box 6555 3086 Box 6555 2458 Box 6555 2651 Box 6555 2702 Box 6555 2674 Box 6555 2689 Box 6555 2608 Box 6555 2713 Box 6555 2664 Box 6555 2600 Box 6555 2652 Box 6555 2663 Box 6555 2689 Box 6555 2554 Box 6555 2598 Box 6555 3207 Box 6555 2594 Box 6555 3677 Box 6555 3492 Box 6555 2494 Box 6555 3086 Box 6555 2601 Box 6555 2588 Box 6690 2626 Box 6690 1108 Box 6690 3419 Box 6690 1076 Box 6690 3023 Box 6690 1113 Box 6690 1233 Box 6690 1232 Box 6690 3090 Box 6690 1343 Box 6690 3288 Box 6690 3207 Box 6690 1099 Box 6690 1731 Box 6690 1097 Box 6690 1549 Box 6690 3157 Box 6690 3256 Box 6690 1837 Box 6690 3143 Box 6690 2200 Box 6690 3044 Box 6690 3143 Box 6690 1096 Box 6690 2850 Box 6690 3277 Box 6690 2817 Box 6690 3173 Box 6690 1081 Box 6690 3089 Box 6690 2352 Box 6690 2687 Box 6690 3092 Box 6690 1094 Box 6690 1810 Box 6690 3586 Box 6690 1090 Box 6690 2989 Box 6690 3381 Box 6690 3427 Box 6690 1084 Box 6690 1105 Box 6690 1091 Box 6690 1310 Box 6826 2481 Box 6826 2388 Box 6826 2460 Box 6826 2368 Box 6826 2363 Box 6826 2288 Box 6826 2612 Box 6826 2499 Box 6826 2425 Box 6826 2149 Box 6826 2176 Box 6826 2462 Box 6826 2597 Box 6826 2751 Box 6826 3065 Box 6826 2719 Box 6826 2807 Box 6826 3007 Box 6826 3027 Box 6826 2431 Box 6826 2741 Box 6826 2373 Box 6826 3519 Box 6826 2478 Box 6826 2483 Box 6826 2501 Box 6826 2546 Box 6826 3044 Box 6826 3026 Box 6826 2595 Box 6826 2602 Box 6826 2453 Box 6826 2420 Box 6826 2526 Box 6826 3153 Box 6826 2377 Box 6826 2908 Box 6826 2704 Box 6826 2842 Box 6826 2642 Box 6826 3435 Box 6826 3301 Box 6826 3348 Box 6826 3098 Box 6826 3062 Box 1669 973 Box 1.000 UP 1.000 UL LT1 1386 833 M (Run 2) Rshow 850 3841 TriU 986 3738 TriU 986 3749 TriU 1121 3726 TriU 1121 3746 TriU 1121 3734 TriU 1257 3724 TriU 1257 3720 TriU 1257 3757 TriU 1257 3734 TriU 1393 3825 TriU 1393 3687 TriU 1393 3606 TriU 1393 3587 TriU 1393 3742 TriU 1529 3682 TriU 1529 3582 TriU 1529 3736 TriU 1529 3687 TriU 1529 3793 TriU 1529 3724 TriU 1665 3498 TriU 1665 3677 TriU 1665 3808 TriU 1665 3636 TriU 1665 3716 TriU 1665 3709 TriU 1665 3732 TriU 1801 3748 TriU 1801 3695 TriU 1801 3733 TriU 1801 3699 TriU 1801 3726 TriU 1801 3672 TriU 1801 3674 TriU 1801 3849 TriU 1936 3799 TriU 1936 3635 TriU 1936 3697 TriU 1936 3652 TriU 1936 3693 TriU 1936 3723 TriU 1936 3724 TriU 1936 3545 TriU 1936 3693 TriU 2072 3666 TriU 2072 3674 TriU 2072 3707 TriU 2072 3661 TriU 2072 3664 TriU 2072 3922 TriU 2072 3719 TriU 2072 3670 TriU 2072 3836 TriU 2072 3686 TriU 2208 3689 TriU 2208 3646 TriU 2208 3737 TriU 2208 3619 TriU 2208 3742 TriU 2208 3692 TriU 2208 3647 TriU 2208 3740 TriU 2208 3777 TriU 2208 3687 TriU 2208 3705 TriU 2344 3696 TriU 2344 3624 TriU 2344 3562 TriU 2344 3681 TriU 2344 3654 TriU 2344 3568 TriU 2344 3611 TriU 2344 3700 TriU 2344 3592 TriU 2344 3577 TriU 2344 3575 TriU 2344 3748 TriU 2480 3730 TriU 2480 3711 TriU 2480 3723 TriU 2480 3537 TriU 2480 3911 TriU 2480 3748 TriU 2480 3644 TriU 2480 3632 TriU 2480 3600 TriU 2480 3584 TriU 2480 3472 TriU 2480 3547 TriU 2480 3647 TriU 2616 3722 TriU 2616 3524 TriU 2616 3577 TriU 2616 3528 TriU 2616 3690 TriU 2616 3735 TriU 2616 3713 TriU 2616 3827 TriU 2616 3648 TriU 2616 3665 TriU 2616 3745 TriU 2616 3670 TriU 2616 3459 TriU 2616 3792 TriU 2751 3593 TriU 2751 3608 TriU 2751 3605 TriU 2751 3678 TriU 2751 3694 TriU 2751 3830 TriU 2751 3726 TriU 2751 3642 TriU 2751 3653 TriU 2751 3576 TriU 2751 3673 TriU 2751 3835 TriU 2751 3590 TriU 2751 3579 TriU 2751 3646 TriU 2887 3641 TriU 2887 3678 TriU 2887 3634 TriU 2887 3580 TriU 2887 3729 TriU 2887 3807 TriU 2887 3528 TriU 2887 3582 TriU 2887 3500 TriU 2887 3683 TriU 2887 3550 TriU 2887 3733 TriU 2887 3628 TriU 2887 3696 TriU 2887 3518 TriU 2887 3769 TriU 3023 3538 TriU 3023 3608 TriU 3023 3650 TriU 3023 3583 TriU 3023 3641 TriU 3023 3590 TriU 3023 3699 TriU 3023 3682 TriU 3023 3675 TriU 3023 3575 TriU 3023 3643 TriU 3023 3694 TriU 3023 3737 TriU 3023 3720 TriU 3023 3645 TriU 3023 3836 TriU 3023 3560 TriU 3159 3580 TriU 3159 3607 TriU 3159 3712 TriU 3159 3516 TriU 3159 3629 TriU 3159 3708 TriU 3159 3603 TriU 3159 3725 TriU 3159 3720 TriU 3159 3417 TriU 3159 3737 TriU 3159 3724 TriU 3159 3625 TriU 3159 3577 TriU 3159 3443 TriU 3159 3610 TriU 3159 3481 TriU 3159 3634 TriU 3295 3636 TriU 3295 3643 TriU 3295 3606 TriU 3295 3627 TriU 3295 3716 TriU 3295 3708 TriU 3295 3651 TriU 3295 3689 TriU 3295 3672 TriU 3295 3634 TriU 3295 3527 TriU 3295 3607 TriU 3295 3647 TriU 3295 3579 TriU 3295 3685 TriU 3295 3554 TriU 3295 3472 TriU 3295 3634 TriU 3295 3790 TriU 3431 3626 TriU 3431 3602 TriU 3431 3778 TriU 3431 3659 TriU 3431 3712 TriU 3431 3378 TriU 3431 3608 TriU 3431 3687 TriU 3431 3501 TriU 3431 3529 TriU 3431 3612 TriU 3431 3520 TriU 3431 3542 TriU 3431 3671 TriU 3431 3619 TriU 3431 3541 TriU 3431 3509 TriU 3431 3579 TriU 3431 3617 TriU 3431 3615 TriU 3566 3682 TriU 3566 3526 TriU 3566 3738 TriU 3566 3554 TriU 3566 3629 TriU 3566 3646 TriU 3566 3747 TriU 3566 3412 TriU 3566 3714 TriU 3566 3784 TriU 3566 3513 TriU 3566 3591 TriU 3566 3562 TriU 3566 3662 TriU 3566 3629 TriU 3566 3793 TriU 3566 3496 TriU 3566 3497 TriU 3566 3333 TriU 3566 3610 TriU 3566 3647 TriU 3702 3580 TriU 3702 3533 TriU 3702 3719 TriU 3702 3597 TriU 3702 3662 TriU 3702 3650 TriU 3702 3559 TriU 3702 3688 TriU 3702 3524 TriU 3702 3646 TriU 3702 3518 TriU 3702 3473 TriU 3702 3558 TriU 3702 3609 TriU 3702 3602 TriU 3702 3505 TriU 3702 3456 TriU 3702 3514 TriU 3702 3716 TriU 3702 3741 TriU 3702 3619 TriU 3702 3615 TriU 3838 3640 TriU 3838 3560 TriU 3838 3538 TriU 3838 3549 TriU 3838 3832 TriU 3838 3525 TriU 3838 3529 TriU 3838 3487 TriU 3838 3565 TriU 3838 3607 TriU 3838 3549 TriU 3838 3602 TriU 3838 3503 TriU 3838 3678 TriU 3838 3549 TriU 3838 3406 TriU 3838 3666 TriU 3838 3569 TriU 3838 3627 TriU 3838 3675 TriU 3838 3657 TriU 3838 3501 TriU 3838 3567 TriU 3974 3447 TriU 3974 3457 TriU 3974 3681 TriU 3974 3481 TriU 3974 3684 TriU 3974 3633 TriU 3974 3540 TriU 3974 3621 TriU 3974 3611 TriU 3974 3498 TriU 3974 3463 TriU 3974 3809 TriU 3974 3450 TriU 3974 3584 TriU 3974 3598 TriU 3974 3444 TriU 3974 3699 TriU 3974 3495 TriU 3974 3613 TriU 3974 3466 TriU 3974 3772 TriU 3974 3734 TriU 3974 3593 TriU 3974 3475 TriU 4110 3618 TriU 4110 3704 TriU 4110 3497 TriU 4110 3600 TriU 4110 3642 TriU 4110 3420 TriU 4110 3778 TriU 4110 3426 TriU 4110 3655 TriU 4110 3567 TriU 4110 3484 TriU 4110 3634 TriU 4110 3653 TriU 4110 3511 TriU 4110 3483 TriU 4110 3479 TriU 4110 3456 TriU 4110 3423 TriU 4110 3555 TriU 4110 3585 TriU 4110 3507 TriU 4110 3473 TriU 4110 3479 TriU 4110 3450 TriU 4110 3726 TriU 4245 3449 TriU 4245 3561 TriU 4245 3575 TriU 4245 3552 TriU 4245 3574 TriU 4245 3492 TriU 4245 3423 TriU 4245 3427 TriU 4245 3715 TriU 4245 3434 TriU 4245 3660 TriU 4245 3692 TriU 4245 3427 TriU 4245 3564 TriU 4245 3438 TriU 4245 3502 TriU 4245 3425 TriU 4245 3513 TriU 4245 3642 TriU 4245 3933 TriU 4245 3434 TriU 4245 3489 TriU 4245 3466 TriU 4245 3470 TriU 4245 3522 TriU 4245 3684 TriU 4381 3633 TriU 4381 3341 TriU 4381 3487 TriU 4381 3434 TriU 4381 3587 TriU 4381 3452 TriU 4381 3417 TriU 4381 3548 TriU 4381 3515 TriU 4381 3564 TriU 4381 3660 TriU 4381 3387 TriU 4381 3486 TriU 4381 3620 TriU 4381 3520 TriU 4381 3539 TriU 4381 3430 TriU 4381 3526 TriU 4381 2879 TriU 4381 3536 TriU 4381 3550 TriU 4381 3585 TriU 4381 3917 TriU 4381 3348 TriU 4381 3506 TriU 4381 3541 TriU 4381 3480 TriU 4517 3647 TriU 4517 3592 TriU 4517 3503 TriU 4517 3441 TriU 4517 3630 TriU 4517 3666 TriU 4517 3411 TriU 4517 3402 TriU 4517 3653 TriU 4517 3652 TriU 4517 3581 TriU 4517 3321 TriU 4517 3493 TriU 4517 3634 TriU 4517 3504 TriU 4517 3506 TriU 4517 3519 TriU 4517 3529 TriU 4517 3480 TriU 4517 3539 TriU 4517 3550 TriU 4517 3446 TriU 4517 3580 TriU 4517 3684 TriU 4517 3490 TriU 4517 3427 TriU 4517 3518 TriU 4517 3535 TriU 4653 3485 TriU 4653 3659 TriU 4653 3496 TriU 4653 3542 TriU 4653 3439 TriU 4653 3410 TriU 4653 2972 TriU 4653 3755 TriU 4653 3644 TriU 4653 3658 TriU 4653 3696 TriU 4653 3640 TriU 4653 3471 TriU 4653 3723 TriU 4653 3509 TriU 4653 3469 TriU 4653 3514 TriU 4653 3464 TriU 4653 3430 TriU 4653 3575 TriU 4653 3806 TriU 4653 3505 TriU 4653 3473 TriU 4653 3492 TriU 4653 3451 TriU 4653 3361 TriU 4653 3403 TriU 4653 3721 TriU 4653 3557 TriU 4789 3724 TriU 4789 3457 TriU 4789 3523 TriU 4789 3428 TriU 4789 3581 TriU 4789 3593 TriU 4789 3392 TriU 4789 3438 TriU 4789 3322 TriU 4789 3599 TriU 4789 3607 TriU 4789 3655 TriU 4789 3494 TriU 4789 3422 TriU 4789 3707 TriU 4789 3663 TriU 4789 3516 TriU 4789 3762 TriU 4789 3437 TriU 4789 3469 TriU 4789 3412 TriU 4789 3593 TriU 4789 3486 TriU 4789 3591 TriU 4789 3700 TriU 4789 3631 TriU 4789 3556 TriU 4789 3407 TriU 4789 3396 TriU 4789 3362 TriU 4925 3483 TriU 4925 3537 TriU 4925 3645 TriU 4925 3592 TriU 4925 3282 TriU 4925 3495 TriU 4925 3454 TriU 4925 3480 TriU 4925 3709 TriU 4925 3794 TriU 4925 3584 TriU 4925 3386 TriU 4925 3578 TriU 4925 3550 TriU 4925 3609 TriU 4925 3450 TriU 4925 3411 TriU 4925 3644 TriU 4925 3505 TriU 4925 3684 TriU 4925 3498 TriU 4925 3278 TriU 4925 3620 TriU 4925 3531 TriU 4925 3417 TriU 4925 3635 TriU 4925 3643 TriU 4925 3327 TriU 4925 3535 TriU 4925 3441 TriU 4925 3340 TriU 5060 3362 TriU 5060 3675 TriU 5060 3659 TriU 5060 3624 TriU 5060 3364 TriU 5060 3466 TriU 5060 3450 TriU 5060 3660 TriU 5060 3603 TriU 5060 3511 TriU 5060 3387 TriU 5060 3326 TriU 5060 3685 TriU 5060 3630 TriU 5060 3432 TriU 5060 3477 TriU 5060 3448 TriU 5060 3628 TriU 5060 3474 TriU 5060 3817 TriU 5060 3278 TriU 5060 3756 TriU 5060 3366 TriU 5060 3311 TriU 5060 3294 TriU 5060 3354 TriU 5060 3591 TriU 5060 3474 TriU 5060 3384 TriU 5060 3348 TriU 5060 3480 TriU 5060 3526 TriU 5196 3287 TriU 5196 3380 TriU 5196 3172 TriU 5196 3545 TriU 5196 3685 TriU 5196 3552 TriU 5196 3442 TriU 5196 2754 TriU 5196 3408 TriU 5196 3084 TriU 5196 3450 TriU 5196 3560 TriU 5196 3309 TriU 5196 3422 TriU 5196 3531 TriU 5196 3701 TriU 5196 3376 TriU 5196 3542 TriU 5196 3338 TriU 5196 3416 TriU 5196 3268 TriU 5196 3449 TriU 5196 3178 TriU 5196 3636 TriU 5196 3491 TriU 5196 3587 TriU 5196 3609 TriU 5196 3152 TriU 5196 3656 TriU 5196 3704 TriU 5196 3468 TriU 5196 3501 TriU 5196 3652 TriU 5332 3585 TriU 5332 3344 TriU 5332 2647 TriU 5332 3525 TriU 5332 3239 TriU 5332 2327 TriU 5332 2240 TriU 5332 2551 TriU 5332 2634 TriU 5332 3557 TriU 5332 2519 TriU 5332 2339 TriU 5332 3525 TriU 5332 3020 TriU 5332 2278 TriU 5332 2334 TriU 5332 3447 TriU 5332 2468 TriU 5332 3376 TriU 5332 3656 TriU 5332 3550 TriU 5332 2353 TriU 5332 3613 TriU 5332 3135 TriU 5332 3555 TriU 5332 2278 TriU 5332 3632 TriU 5332 3510 TriU 5332 3099 TriU 5332 3587 TriU 5332 2605 TriU 5332 3365 TriU 5332 2487 TriU 5332 3241 TriU 5468 3497 TriU 5468 3417 TriU 5468 3386 TriU 5468 3365 TriU 5468 3645 TriU 5468 3363 TriU 5468 3298 TriU 5468 3309 TriU 5468 3545 TriU 5468 3378 TriU 5468 3464 TriU 5468 3653 TriU 5468 3364 TriU 5468 3521 TriU 5468 3610 TriU 5468 3469 TriU 5468 3491 TriU 5468 3481 TriU 5468 3322 TriU 5468 3435 TriU 5468 3317 TriU 5468 3474 TriU 5468 3300 TriU 5468 3306 TriU 5468 3418 TriU 5468 3369 TriU 5468 2969 TriU 5468 3563 TriU 5468 3496 TriU 5468 3435 TriU 5468 3710 TriU 5468 3277 TriU 5468 3303 TriU 5468 3593 TriU 5468 3730 TriU 5604 3316 TriU 5604 3640 TriU 5604 3522 TriU 5604 3172 TriU 5604 3637 TriU 5604 3555 TriU 5604 3300 TriU 5604 3797 TriU 5604 3589 TriU 5604 3191 TriU 5604 3287 TriU 5604 3361 TriU 5604 3247 TriU 5604 3318 TriU 5604 3515 TriU 5604 3082 TriU 5604 3349 TriU 5604 3241 TriU 5604 3101 TriU 5604 3414 TriU 5604 3289 TriU 5604 3166 TriU 5604 3573 TriU 5604 3102 TriU 5604 3673 TriU 5604 3528 TriU 5604 3289 TriU 5604 3325 TriU 5604 3102 TriU 5604 3251 TriU 5604 3331 TriU 5604 3171 TriU 5604 3232 TriU 5604 3116 TriU 5604 3338 TriU 5604 3291 TriU 5740 3222 TriU 5740 2694 TriU 5740 2724 TriU 5740 2699 TriU 5740 2998 TriU 5740 2646 TriU 5740 3192 TriU 5740 2310 TriU 5740 2295 TriU 5740 2529 TriU 5740 3216 TriU 5740 3498 TriU 5740 3632 TriU 5740 3330 TriU 5740 3325 TriU 5740 2680 TriU 5740 2554 TriU 5740 2664 TriU 5740 3663 TriU 5740 2543 TriU 5740 2653 TriU 5740 3559 TriU 5740 3795 TriU 5740 3027 TriU 5740 2579 TriU 5740 2597 TriU 5740 3102 TriU 5740 2286 TriU 5740 3384 TriU 5740 3279 TriU 5740 3381 TriU 5740 3280 TriU 5740 3272 TriU 5740 2239 TriU 5740 3479 TriU 5740 3013 TriU 5740 3342 TriU 5875 3441 TriU 5875 3440 TriU 5875 3393 TriU 5875 3580 TriU 5875 3672 TriU 5875 2827 TriU 5875 2875 TriU 5875 3526 TriU 5875 2692 TriU 5875 3483 TriU 5875 2926 TriU 5875 3192 TriU 5875 3443 TriU 5875 3206 TriU 5875 3131 TriU 5875 3169 TriU 5875 3552 TriU 5875 3384 TriU 5875 3128 TriU 5875 3292 TriU 5875 2935 TriU 5875 3302 TriU 5875 3202 TriU 5875 3349 TriU 5875 3455 TriU 5875 3312 TriU 5875 3285 TriU 5875 3448 TriU 5875 3355 TriU 5875 3313 TriU 5875 3395 TriU 5875 2903 TriU 5875 3549 TriU 5875 3455 TriU 5875 3539 TriU 5875 2918 TriU 5875 3513 TriU 5875 3487 TriU 6011 2102 TriU 6011 2952 TriU 6011 3093 TriU 6011 3206 TriU 6011 2935 TriU 6011 3504 TriU 6011 1881 TriU 6011 3410 TriU 6011 2230 TriU 6011 3543 TriU 6011 1836 TriU 6011 2126 TriU 6011 3162 TriU 6011 3247 TriU 6011 1890 TriU 6011 2816 TriU 6011 3153 TriU 6011 2284 TriU 6011 3465 TriU 6011 3367 TriU 6011 2614 TriU 6011 2657 TriU 6011 1860 TriU 6011 1868 TriU 6011 1817 TriU 6011 2849 TriU 6011 3469 TriU 6011 3196 TriU 6011 1968 TriU 6011 3191 TriU 6011 1836 TriU 6011 2922 TriU 6011 3199 TriU 6011 2061 TriU 6011 3611 TriU 6011 2255 TriU 6011 2061 TriU 6011 2101 TriU 6011 3200 TriU 6147 3189 TriU 6147 1882 TriU 6147 3088 TriU 6147 2939 TriU 6147 3200 TriU 6147 2936 TriU 6147 2901 TriU 6147 2575 TriU 6147 1966 TriU 6147 3290 TriU 6147 2710 TriU 6147 2977 TriU 6147 3377 TriU 6147 2751 TriU 6147 3116 TriU 6147 2154 TriU 6147 2833 TriU 6147 3114 TriU 6147 1881 TriU 6147 2087 TriU 6147 3592 TriU 6147 2182 TriU 6147 2936 TriU 6147 3206 TriU 6147 2928 TriU 6147 2877 TriU 6147 3339 TriU 6147 3230 TriU 6147 2818 TriU 6147 3430 TriU 6147 3303 TriU 6147 3269 TriU 6147 2873 TriU 6147 1905 TriU 6147 3027 TriU 6147 3334 TriU 6147 2462 TriU 6147 1903 TriU 6147 3516 TriU 6147 3506 TriU 6283 2553 TriU 6283 3384 TriU 6283 2766 TriU 6283 2525 TriU 6283 2988 TriU 6283 2496 TriU 6283 2735 TriU 6283 2607 TriU 6283 2596 TriU 6283 2667 TriU 6283 2530 TriU 6283 3048 TriU 6283 3358 TriU 6283 3278 TriU 6283 3178 TriU 6283 2607 TriU 6283 2485 TriU 6283 3004 TriU 6283 3148 TriU 6283 3193 TriU 6283 2499 TriU 6283 3269 TriU 6283 3031 TriU 6283 3343 TriU 6283 3319 TriU 6283 2654 TriU 6283 3423 TriU 6283 3057 TriU 6283 3367 TriU 6283 3187 TriU 6283 3405 TriU 6283 3250 TriU 6283 2843 TriU 6283 3218 TriU 6283 3286 TriU 6283 2996 TriU 6283 3045 TriU 6283 3065 TriU 6283 3186 TriU 6283 3016 TriU 6283 3235 TriU 6419 2794 TriU 6419 2918 TriU 6419 2925 TriU 6419 2801 TriU 6419 2893 TriU 6419 2857 TriU 6419 2806 TriU 6419 2747 TriU 6419 2924 TriU 6419 2412 TriU 6419 2615 TriU 6419 2813 TriU 6419 2961 TriU 6419 3486 TriU 6419 2823 TriU 6419 3236 TriU 6419 2724 TriU 6419 2832 TriU 6419 2961 TriU 6419 3591 TriU 6419 2715 TriU 6419 3450 TriU 6419 3289 TriU 6419 2761 TriU 6419 2836 TriU 6419 2724 TriU 6419 2570 TriU 6419 2785 TriU 6419 2770 TriU 6419 3373 TriU 6419 3184 TriU 6419 3039 TriU 6419 3351 TriU 6419 2729 TriU 6419 2676 TriU 6419 3405 TriU 6419 2695 TriU 6419 3310 TriU 6419 2677 TriU 6419 3475 TriU 6419 3414 TriU 6419 2560 TriU 6555 3187 TriU 6555 3305 TriU 6555 3343 TriU 6555 3046 TriU 6555 3443 TriU 6555 3397 TriU 6555 3073 TriU 6555 3135 TriU 6555 2422 TriU 6555 2586 TriU 6555 3130 TriU 6555 3110 TriU 6555 3409 TriU 6555 2418 TriU 6555 3056 TriU 6555 3231 TriU 6555 2501 TriU 6555 3059 TriU 6555 3176 TriU 6555 2927 TriU 6555 3041 TriU 6555 3250 TriU 6555 2796 TriU 6555 2791 TriU 6555 2854 TriU 6555 2525 TriU 6555 2554 TriU 6555 2479 TriU 6555 3026 TriU 6555 2513 TriU 6555 2577 TriU 6555 2431 TriU 6555 2414 TriU 6555 3111 TriU 6555 3286 TriU 6555 3062 TriU 6555 2349 TriU 6555 3480 TriU 6555 2987 TriU 6555 3066 TriU 6555 3344 TriU 6555 2830 TriU 6555 3199 TriU 6690 1714 TriU 6690 2608 TriU 6690 2845 TriU 6690 2981 TriU 6690 3087 TriU 6690 1576 TriU 6690 3013 TriU 6690 1567 TriU 6690 3176 TriU 6690 1653 TriU 6690 1573 TriU 6690 1738 TriU 6690 1539 TriU 6690 2999 TriU 6690 3077 TriU 6690 2948 TriU 6690 3214 TriU 6690 1641 TriU 6690 1823 TriU 6690 3199 TriU 6690 1805 TriU 6690 3131 TriU 6690 1690 TriU 6690 3206 TriU 6690 1656 TriU 6690 3134 TriU 6690 3343 TriU 6690 1581 TriU 6690 1548 TriU 6690 3156 TriU 6690 1700 TriU 6690 2880 TriU 6690 1781 TriU 6690 2859 TriU 6690 2071 TriU 6690 1966 TriU 6690 3068 TriU 6690 3143 TriU 6690 3029 TriU 6690 3131 TriU 6690 1712 TriU 6690 2982 TriU 6690 1899 TriU 6690 1663 TriU 6826 3066 TriU 6826 2944 TriU 6826 3075 TriU 6826 3288 TriU 6826 3027 TriU 6826 2682 TriU 6826 3329 TriU 6826 2597 TriU 6826 2815 TriU 6826 2692 TriU 6826 2344 TriU 6826 2752 TriU 6826 3034 TriU 6826 2852 TriU 6826 3050 TriU 6826 2873 TriU 6826 2853 TriU 6826 2712 TriU 6826 2938 TriU 6826 2397 TriU 6826 2986 TriU 6826 2738 TriU 6826 3331 TriU 6826 2750 TriU 6826 2537 TriU 6826 3007 TriU 6826 2981 TriU 6826 2740 TriU 6826 2715 TriU 6826 3279 TriU 6826 3103 TriU 6826 3255 TriU 6826 3236 TriU 6826 2696 TriU 6826 3208 TriU 6826 2896 TriU 6826 2923 TriU 6826 2835 TriU 6826 2578 TriU 6826 3193 TriU 6826 2544 TriU 6826 2887 TriU 6826 2801 TriU 6826 2637 TriU 6826 2871 TriU 1669 833 TriU 1.000 UP 1.000 UL LT2 1386 693 M (Run 3) Rshow 850 3846 Circle 986 3743 Circle 986 3933 Circle 1121 3747 Circle 1121 3766 Circle 1121 3749 Circle 1257 3742 Circle 1257 3745 Circle 1257 3737 Circle 1257 3711 Circle 1393 3664 Circle 1393 3594 Circle 1393 3747 Circle 1393 3575 Circle 1393 3740 Circle 1529 3831 Circle 1529 3701 Circle 1529 3734 Circle 1529 3709 Circle 1529 3707 Circle 1529 3578 Circle 1665 3674 Circle 1665 3738 Circle 1665 3727 Circle 1665 3846 Circle 1665 3794 Circle 1665 3734 Circle 1665 3518 Circle 1801 3658 Circle 1801 3732 Circle 1801 3599 Circle 1801 3674 Circle 1801 3726 Circle 1801 3685 Circle 1801 3831 Circle 1801 3842 Circle 1936 3507 Circle 1936 3604 Circle 1936 3659 Circle 1936 3688 Circle 1936 3751 Circle 1936 3642 Circle 1936 3463 Circle 1936 3878 Circle 1936 3565 Circle 2072 3648 Circle 2072 3572 Circle 2072 3742 Circle 2072 3684 Circle 2072 3646 Circle 2072 3739 Circle 2072 3682 Circle 2072 3735 Circle 2072 3647 Circle 2072 3719 Circle 2208 3650 Circle 2208 3838 Circle 2208 3726 Circle 2208 3881 Circle 2208 3746 Circle 2208 3659 Circle 2208 3812 Circle 2208 3748 Circle 2208 3589 Circle 2208 3620 Circle 2208 3741 Circle 2344 3743 Circle 2344 3683 Circle 2344 3660 Circle 2344 3699 Circle 2344 3644 Circle 2344 3723 Circle 2344 3653 Circle 2344 3621 Circle 2344 3719 Circle 2344 3671 Circle 2344 3544 Circle 2344 3648 Circle 2480 3742 Circle 2480 3528 Circle 2480 3667 Circle 2480 3640 Circle 2480 3699 Circle 2480 3545 Circle 2480 3726 Circle 2480 3718 Circle 2480 3684 Circle 2480 3641 Circle 2480 3628 Circle 2480 3646 Circle 2480 3573 Circle 2616 3660 Circle 2616 3878 Circle 2616 3616 Circle 2616 3737 Circle 2616 3707 Circle 2616 3604 Circle 2616 3693 Circle 2616 3728 Circle 2616 3552 Circle 2616 3720 Circle 2616 3530 Circle 2616 3719 Circle 2616 3659 Circle 2616 3464 Circle 2751 3773 Circle 2751 3635 Circle 2751 3727 Circle 2751 3448 Circle 2751 3535 Circle 2751 3689 Circle 2751 3581 Circle 2751 3592 Circle 2751 3638 Circle 2751 3646 Circle 2751 3596 Circle 2751 3623 Circle 2751 3493 Circle 2751 3466 Circle 2751 3611 Circle 2887 3564 Circle 2887 3577 Circle 2887 3721 Circle 2887 3496 Circle 2887 3660 Circle 2887 3631 Circle 2887 3515 Circle 2887 3531 Circle 2887 3606 Circle 2887 3671 Circle 2887 3729 Circle 2887 3792 Circle 2887 3605 Circle 2887 3698 Circle 2887 3745 Circle 2887 3681 Circle 3023 3603 Circle 3023 3634 Circle 3023 3608 Circle 3023 3668 Circle 3023 3708 Circle 3023 3612 Circle 3023 3581 Circle 3023 3393 Circle 3023 3746 Circle 3023 3675 Circle 3023 3555 Circle 3023 3665 Circle 3023 3586 Circle 3023 3805 Circle 3023 3640 Circle 3023 3662 Circle 3023 3806 Circle 3159 3707 Circle 3159 3507 Circle 3159 3542 Circle 3159 3518 Circle 3159 3371 Circle 3159 3555 Circle 3159 3700 Circle 3159 3576 Circle 3159 3511 Circle 3159 3756 Circle 3159 3682 Circle 3159 3635 Circle 3159 3540 Circle 3159 3727 Circle 3159 3677 Circle 3159 3579 Circle 3159 3601 Circle 3159 3558 Circle 3295 3682 Circle 3295 3658 Circle 3295 3664 Circle 3295 3610 Circle 3295 3624 Circle 3295 3457 Circle 3295 3490 Circle 3295 3705 Circle 3295 3663 Circle 3295 3692 Circle 3295 3885 Circle 3295 3588 Circle 3295 3502 Circle 3295 3743 Circle 3295 3639 Circle 3295 3605 Circle 3295 3671 Circle 3295 3660 Circle 3295 3529 Circle 3431 3712 Circle 3431 3610 Circle 3431 3678 Circle 3431 3491 Circle 3431 3643 Circle 3431 3592 Circle 3431 3657 Circle 3431 3549 Circle 3431 3576 Circle 3431 3751 Circle 3431 3579 Circle 3431 3416 Circle 3431 3744 Circle 3431 3508 Circle 3431 3582 Circle 3431 3597 Circle 3431 3676 Circle 3431 3456 Circle 3431 3699 Circle 3431 3539 Circle 3566 3582 Circle 3566 3538 Circle 3566 3584 Circle 3566 3543 Circle 3566 3617 Circle 3566 3553 Circle 3566 3609 Circle 3566 3528 Circle 3566 3659 Circle 3566 3532 Circle 3566 3682 Circle 3566 3407 Circle 3566 3669 Circle 3566 3521 Circle 3566 3860 Circle 3566 3585 Circle 3566 3549 Circle 3566 3660 Circle 3566 3527 Circle 3566 3556 Circle 3566 3535 Circle 3702 3580 Circle 3702 3493 Circle 3702 3640 Circle 3702 3510 Circle 3702 3655 Circle 3702 3528 Circle 3702 3659 Circle 3702 3612 Circle 3702 3500 Circle 3702 3374 Circle 3702 3581 Circle 3702 3523 Circle 3702 3489 Circle 3702 3494 Circle 3702 3481 Circle 3702 3495 Circle 3702 3507 Circle 3702 3721 Circle 3702 3595 Circle 3702 3662 Circle 3702 3554 Circle 3702 3559 Circle 3838 3794 Circle 3838 3441 Circle 3838 3653 Circle 3838 3574 Circle 3838 3705 Circle 3838 3310 Circle 3838 3797 Circle 3838 3608 Circle 3838 3601 Circle 3838 3813 Circle 3838 3663 Circle 3838 3520 Circle 3838 3192 Circle 3838 3597 Circle 3838 3559 Circle 3838 3554 Circle 3838 3638 Circle 3838 3591 Circle 3838 3745 Circle 3838 3537 Circle 3838 3740 Circle 3838 3605 Circle 3838 3618 Circle 3974 3513 Circle 3974 3590 Circle 3974 3579 Circle 3974 3498 Circle 3974 3289 Circle 3974 3556 Circle 3974 3524 Circle 3974 3596 Circle 3974 3506 Circle 3974 3571 Circle 3974 3694 Circle 3974 3288 Circle 3974 3518 Circle 3974 3582 Circle 3974 3605 Circle 3974 3556 Circle 3974 3450 Circle 3974 3859 Circle 3974 3518 Circle 3974 3470 Circle 3974 3499 Circle 3974 3673 Circle 3974 3412 Circle 3974 3514 Circle 4110 3607 Circle 4110 3360 Circle 4110 3677 Circle 4110 3543 Circle 4110 3607 Circle 4110 3390 Circle 4110 3221 Circle 4110 3612 Circle 4110 3523 Circle 4110 3558 Circle 4110 3388 Circle 4110 3810 Circle 4110 3432 Circle 4110 3483 Circle 4110 3664 Circle 4110 3471 Circle 4110 3906 Circle 4110 3432 Circle 4110 3573 Circle 4110 3468 Circle 4110 3360 Circle 4110 3681 Circle 4110 3575 Circle 4110 3655 Circle 4110 3588 Circle 4245 3465 Circle 4245 3540 Circle 4245 3469 Circle 4245 3621 Circle 4245 3599 Circle 4245 3549 Circle 4245 3489 Circle 4245 3494 Circle 4245 3644 Circle 4245 3667 Circle 4245 3530 Circle 4245 3513 Circle 4245 3521 Circle 4245 3826 Circle 4245 3605 Circle 4245 3673 Circle 4245 3474 Circle 4245 3427 Circle 4245 3687 Circle 4245 3521 Circle 4245 3480 Circle 4245 3571 Circle 4245 3588 Circle 4245 3508 Circle 4245 3634 Circle 4245 3522 Circle 4381 3736 Circle 4381 3697 Circle 4381 3457 Circle 4381 3354 Circle 4381 3431 Circle 4381 3583 Circle 4381 3663 Circle 4381 3438 Circle 4381 3495 Circle 4381 3510 Circle 4381 3518 Circle 4381 3559 Circle 4381 3446 Circle 4381 3601 Circle 4381 3311 Circle 4381 3621 Circle 4381 3341 Circle 4381 3522 Circle 4381 3539 Circle 4381 3491 Circle 4381 3533 Circle 4381 3471 Circle 4381 3642 Circle 4381 3623 Circle 4381 3656 Circle 4381 3577 Circle 4381 3520 Circle 4517 3658 Circle 4517 3602 Circle 4517 3562 Circle 4517 3464 Circle 4517 3471 Circle 4517 3480 Circle 4517 3301 Circle 4517 3494 Circle 4517 3260 Circle 4517 3711 Circle 4517 3798 Circle 4517 3526 Circle 4517 3589 Circle 4517 3379 Circle 4517 3647 Circle 4517 3518 Circle 4517 3450 Circle 4517 3424 Circle 4517 3295 Circle 4517 3578 Circle 4517 3498 Circle 4517 3515 Circle 4517 3489 Circle 4517 3548 Circle 4517 3511 Circle 4517 3570 Circle 4517 3363 Circle 4517 3559 Circle 4653 3237 Circle 4653 3440 Circle 4653 3521 Circle 4653 3515 Circle 4653 3509 Circle 4653 3708 Circle 4653 3439 Circle 4653 3407 Circle 4653 3693 Circle 4653 3514 Circle 4653 3452 Circle 4653 3595 Circle 4653 3779 Circle 4653 3593 Circle 4653 3386 Circle 4653 3538 Circle 4653 3670 Circle 4653 3681 Circle 4653 3757 Circle 4653 3448 Circle 4653 3552 Circle 4653 3666 Circle 4653 3508 Circle 4653 3619 Circle 4653 3537 Circle 4653 3598 Circle 4653 3602 Circle 4653 3799 Circle 4653 3100 Circle 4789 3600 Circle 4789 3386 Circle 4789 3442 Circle 4789 3509 Circle 4789 3364 Circle 4789 3514 Circle 4789 3403 Circle 4789 3634 Circle 4789 3575 Circle 4789 3360 Circle 4789 3471 Circle 4789 3389 Circle 4789 3370 Circle 4789 3498 Circle 4789 3645 Circle 4789 3427 Circle 4789 3426 Circle 4789 3434 Circle 4789 3660 Circle 4789 3399 Circle 4789 3375 Circle 4789 3739 Circle 4789 3463 Circle 4789 3710 Circle 4789 3426 Circle 4789 3470 Circle 4789 3731 Circle 4789 3371 Circle 4789 3426 Circle 4789 3377 Circle 4925 3479 Circle 4925 3462 Circle 4925 3369 Circle 4925 3532 Circle 4925 3917 Circle 4925 3516 Circle 4925 3220 Circle 4925 3418 Circle 4925 3469 Circle 4925 3527 Circle 4925 3712 Circle 4925 3464 Circle 4925 3401 Circle 4925 3516 Circle 4925 3662 Circle 4925 3649 Circle 4925 3555 Circle 4925 3430 Circle 4925 3139 Circle 4925 3446 Circle 4925 3544 Circle 4925 3530 Circle 4925 3576 Circle 4925 3462 Circle 4925 3503 Circle 4925 3690 Circle 4925 3573 Circle 4925 3147 Circle 4925 3537 Circle 4925 3471 Circle 4925 3444 Circle 5060 3281 Circle 5060 3548 Circle 5060 3443 Circle 5060 3629 Circle 5060 3371 Circle 5060 3689 Circle 5060 3351 Circle 5060 3429 Circle 5060 3280 Circle 5060 3644 Circle 5060 3349 Circle 5060 3453 Circle 5060 3336 Circle 5060 3394 Circle 5060 3461 Circle 5060 3398 Circle 5060 3557 Circle 5060 3436 Circle 5060 3230 Circle 5060 3577 Circle 5060 3510 Circle 5060 3564 Circle 5060 3567 Circle 5060 3605 Circle 5060 3483 Circle 5060 3490 Circle 5060 3549 Circle 5060 3682 Circle 5060 3392 Circle 5060 3474 Circle 5060 3240 Circle 5060 3337 Circle 5196 3534 Circle 5196 3327 Circle 5196 3827 Circle 5196 3591 Circle 5196 3355 Circle 5196 3288 Circle 5196 3545 Circle 5196 3276 Circle 5196 3539 Circle 5196 3685 Circle 5196 3645 Circle 5196 3627 Circle 5196 3500 Circle 5196 3605 Circle 5196 3499 Circle 5196 3468 Circle 5196 3464 Circle 5196 3613 Circle 5196 3344 Circle 5196 3580 Circle 5196 3407 Circle 5196 3697 Circle 5196 3347 Circle 5196 3442 Circle 5196 3367 Circle 5196 3433 Circle 5196 3349 Circle 5196 3480 Circle 5196 3694 Circle 5196 3477 Circle 5196 3559 Circle 5196 3345 Circle 5196 3363 Circle 5332 3321 Circle 5332 3625 Circle 5332 3493 Circle 5332 3416 Circle 5332 3339 Circle 5332 3290 Circle 5332 3298 Circle 5332 3175 Circle 5332 3260 Circle 5332 3407 Circle 5332 3303 Circle 5332 3326 Circle 5332 3278 Circle 5332 3330 Circle 5332 3358 Circle 5332 3526 Circle 5332 3680 Circle 5332 3312 Circle 5332 3304 Circle 5332 3337 Circle 5332 3455 Circle 5332 3334 Circle 5332 3379 Circle 5332 3552 Circle 5332 3299 Circle 5332 3421 Circle 5332 3453 Circle 5332 3371 Circle 5332 3338 Circle 5332 3317 Circle 5332 3335 Circle 5332 3455 Circle 5332 3336 Circle 5332 3302 Circle 5468 3480 Circle 5468 3478 Circle 5468 3418 Circle 5468 3516 Circle 5468 3413 Circle 5468 3254 Circle 5468 3006 Circle 5468 2730 Circle 5468 3439 Circle 5468 3365 Circle 5468 3419 Circle 5468 2944 Circle 5468 3352 Circle 5468 3548 Circle 5468 3626 Circle 5468 3421 Circle 5468 2813 Circle 5468 3595 Circle 5468 3358 Circle 5468 2988 Circle 5468 3602 Circle 5468 2837 Circle 5468 3484 Circle 5468 3489 Circle 5468 3732 Circle 5468 3323 Circle 5468 3364 Circle 5468 3479 Circle 5468 3346 Circle 5468 3660 Circle 5468 3095 Circle 5468 3376 Circle 5468 3640 Circle 5468 3607 Circle 5468 3423 Circle 5604 3418 Circle 5604 3219 Circle 5604 3332 Circle 5604 3396 Circle 5604 3331 Circle 5604 3263 Circle 5604 3764 Circle 5604 2912 Circle 5604 3780 Circle 5604 3368 Circle 5604 3315 Circle 5604 3478 Circle 5604 3512 Circle 5604 3254 Circle 5604 3767 Circle 5604 3168 Circle 5604 3175 Circle 5604 3321 Circle 5604 3225 Circle 5604 3647 Circle 5604 3330 Circle 5604 3655 Circle 5604 3421 Circle 5604 3274 Circle 5604 3304 Circle 5604 3598 Circle 5604 3425 Circle 5604 3468 Circle 5604 3148 Circle 5604 3433 Circle 5604 3612 Circle 5604 3354 Circle 5604 3841 Circle 5604 3316 Circle 5604 3440 Circle 5604 3334 Circle 5740 3575 Circle 5740 3072 Circle 5740 3476 Circle 5740 3526 Circle 5740 3792 Circle 5740 3105 Circle 5740 2752 Circle 5740 2589 Circle 5740 2534 Circle 5740 2967 Circle 5740 2668 Circle 5740 3450 Circle 5740 3001 Circle 5740 2844 Circle 5740 3409 Circle 5740 3417 Circle 5740 3164 Circle 5740 3188 Circle 5740 3459 Circle 5740 3502 Circle 5740 2645 Circle 5740 3409 Circle 5740 3252 Circle 5740 2878 Circle 5740 3472 Circle 5740 3270 Circle 5740 2939 Circle 5740 3324 Circle 5740 3514 Circle 5740 3471 Circle 5740 2931 Circle 5740 3404 Circle 5740 3019 Circle 5740 2831 Circle 5740 2644 Circle 5740 3396 Circle 5740 3527 Circle 5875 3012 Circle 5875 2959 Circle 5875 2772 Circle 5875 3349 Circle 5875 3563 Circle 5875 3346 Circle 5875 3752 Circle 5875 3703 Circle 5875 2985 Circle 5875 3222 Circle 5875 2968 Circle 5875 3313 Circle 5875 3002 Circle 5875 3267 Circle 5875 3344 Circle 5875 3367 Circle 5875 3227 Circle 5875 2940 Circle 5875 3266 Circle 5875 3373 Circle 5875 3179 Circle 5875 3411 Circle 5875 3312 Circle 5875 3687 Circle 5875 3357 Circle 5875 3586 Circle 5875 3290 Circle 5875 3050 Circle 5875 3200 Circle 5875 3510 Circle 5875 3166 Circle 5875 3085 Circle 5875 3196 Circle 5875 3331 Circle 5875 3576 Circle 5875 3359 Circle 5875 3102 Circle 5875 3534 Circle 6011 3565 Circle 6011 3284 Circle 6011 3049 Circle 6011 3410 Circle 6011 3545 Circle 6011 3327 Circle 6011 3062 Circle 6011 2514 Circle 6011 2557 Circle 6011 2868 Circle 6011 3250 Circle 6011 3241 Circle 6011 3319 Circle 6011 3303 Circle 6011 3196 Circle 6011 2424 Circle 6011 3102 Circle 6011 3334 Circle 6011 3466 Circle 6011 3512 Circle 6011 2426 Circle 6011 2501 Circle 6011 2480 Circle 6011 3281 Circle 6011 2670 Circle 6011 3037 Circle 6011 3383 Circle 6011 2769 Circle 6011 3352 Circle 6011 2803 Circle 6011 3583 Circle 6011 2476 Circle 6011 3671 Circle 6011 3242 Circle 6011 3341 Circle 6011 3454 Circle 6011 2407 Circle 6011 2654 Circle 6011 2562 Circle 6147 3125 Circle 6147 3361 Circle 6147 3115 Circle 6147 3174 Circle 6147 3201 Circle 6147 2940 Circle 6147 2881 Circle 6147 3569 Circle 6147 2815 Circle 6147 3309 Circle 6147 3311 Circle 6147 2872 Circle 6147 3324 Circle 6147 3171 Circle 6147 3198 Circle 6147 2841 Circle 6147 3426 Circle 6147 3228 Circle 6147 3317 Circle 6147 3238 Circle 6147 3233 Circle 6147 3204 Circle 6147 3276 Circle 6147 3202 Circle 6147 3260 Circle 6147 3363 Circle 6147 3332 Circle 6147 3225 Circle 6147 3373 Circle 6147 2772 Circle 6147 3341 Circle 6147 3333 Circle 6147 3541 Circle 6147 3250 Circle 6147 3235 Circle 6147 3181 Circle 6147 3476 Circle 6147 3547 Circle 6147 3545 Circle 6147 3264 Circle 6283 2610 Circle 6283 3354 Circle 6283 2317 Circle 6283 3559 Circle 6283 3241 Circle 6283 3206 Circle 6283 2738 Circle 6283 2486 Circle 6283 2888 Circle 6283 2422 Circle 6283 2724 Circle 6283 2303 Circle 6283 2805 Circle 6283 2336 Circle 6283 3280 Circle 6283 2847 Circle 6283 2896 Circle 6283 3135 Circle 6283 2557 Circle 6283 3328 Circle 6283 3515 Circle 6283 3350 Circle 6283 2826 Circle 6283 3464 Circle 6283 3665 Circle 6283 2996 Circle 6283 2405 Circle 6283 3245 Circle 6283 3312 Circle 6283 3574 Circle 6283 2578 Circle 6283 2752 Circle 6283 2487 Circle 6283 2970 Circle 6283 3204 Circle 6283 3408 Circle 6283 2335 Circle 6283 3467 Circle 6283 2450 Circle 6283 3557 Circle 6283 3435 Circle 6419 3119 Circle 6419 3124 Circle 6419 2867 Circle 6419 3209 Circle 6419 3210 Circle 6419 3363 Circle 6419 3009 Circle 6419 2942 Circle 6419 3251 Circle 6419 2678 Circle 6419 3276 Circle 6419 2882 Circle 6419 3610 Circle 6419 2754 Circle 6419 3463 Circle 6419 3058 Circle 6419 2803 Circle 6419 2797 Circle 6419 2624 Circle 6419 3188 Circle 6419 2636 Circle 6419 2609 Circle 6419 3064 Circle 6419 3316 Circle 6419 3340 Circle 6419 3629 Circle 6419 3079 Circle 6419 2832 Circle 6419 3034 Circle 6419 3273 Circle 6419 3163 Circle 6419 3056 Circle 6419 3616 Circle 6419 3574 Circle 6419 3527 Circle 6419 2893 Circle 6419 3466 Circle 6419 3149 Circle 6419 2662 Circle 6419 3370 Circle 6419 2664 Circle 6419 3011 Circle 6555 2625 Circle 6555 2387 Circle 6555 2359 Circle 6555 2556 Circle 6555 2342 Circle 6555 2691 Circle 6555 2527 Circle 6555 2500 Circle 6555 2346 Circle 6555 2731 Circle 6555 2432 Circle 6555 2857 Circle 6555 3197 Circle 6555 2923 Circle 6555 3355 Circle 6555 3130 Circle 6555 2480 Circle 6555 3391 Circle 6555 3302 Circle 6555 3109 Circle 6555 3233 Circle 6555 3224 Circle 6555 3599 Circle 6555 2566 Circle 6555 2419 Circle 6555 2648 Circle 6555 2463 Circle 6555 2257 Circle 6555 2543 Circle 6555 3604 Circle 6555 2387 Circle 6555 2437 Circle 6555 3500 Circle 6555 3239 Circle 6555 3347 Circle 6555 2507 Circle 6555 3582 Circle 6555 3516 Circle 6555 3380 Circle 6555 3378 Circle 6555 2393 Circle 6555 3354 Circle 6555 3425 Circle 6690 3272 Circle 6690 2699 Circle 6690 3031 Circle 6690 3205 Circle 6690 2949 Circle 6690 2882 Circle 6690 2526 Circle 6690 2883 Circle 6690 2705 Circle 6690 2518 Circle 6690 2670 Circle 6690 2681 Circle 6690 2746 Circle 6690 2950 Circle 6690 3240 Circle 6690 3075 Circle 6690 2975 Circle 6690 3172 Circle 6690 3034 Circle 6690 2721 Circle 6690 3047 Circle 6690 2833 Circle 6690 2989 Circle 6690 2882 Circle 6690 2885 Circle 6690 2928 Circle 6690 3277 Circle 6690 2836 Circle 6690 3186 Circle 6690 3326 Circle 6690 3243 Circle 6690 3573 Circle 6690 2854 Circle 6690 3064 Circle 6690 3362 Circle 6690 3442 Circle 6690 3148 Circle 6690 2667 Circle 6690 2814 Circle 6690 3015 Circle 6690 2976 Circle 6690 2893 Circle 6690 3117 Circle 6690 3506 Circle 6826 3266 Circle 6826 2439 Circle 6826 2696 Circle 6826 2627 Circle 6826 2400 Circle 6826 2557 Circle 6826 2470 Circle 6826 2482 Circle 6826 2749 Circle 6826 2557 Circle 6826 2231 Circle 6826 2850 Circle 6826 3036 Circle 6826 3005 Circle 6826 2956 Circle 6826 2959 Circle 6826 2823 Circle 6826 2989 Circle 6826 2472 Circle 6826 3113 Circle 6826 3343 Circle 6826 2522 Circle 6826 2873 Circle 6826 2744 Circle 6826 2661 Circle 6826 3070 Circle 6826 3140 Circle 6826 3322 Circle 6826 3368 Circle 6826 2422 Circle 6826 3021 Circle 6826 2896 Circle 6826 2858 Circle 6826 3410 Circle 6826 2956 Circle 6826 2774 Circle 6826 2442 Circle 6826 2840 Circle 6826 2884 Circle 6826 2870 Circle 6826 2425 Circle 6826 2622 Circle 6826 2686 Circle 6826 2342 Circle 6826 2822 Circle 1669 693 Circle 4.000 UL LT0 1386 553 M (Average) Rshow 1470 553 M 399 0 V 850 3812 M 136 -25 V 135 -33 V 136 -37 V 136 -6 V 136 3 V 136 1 V 136 0 V 135 -36 V 136 31 V 136 2 V 136 -64 V 136 8 V 136 15 V 135 -36 V 136 15 V 136 -13 V 136 -22 V 136 14 V 136 -36 V 135 2 V 136 -15 V 136 17 V 136 -38 V 136 10 V 135 -33 V 136 0 V 136 -12 V 136 8 V 136 -42 V 136 -52 V 135 32 V 136 -75 V 136 -180 V 136 194 V 136 -25 V 136 -324 V 135 153 V 136 -213 V 136 108 V 136 -103 V 136 24 V 136 -142 V 135 -338 V 136 246 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 1276 3633 a FK(Figur)o(e)17 b(A.1:)1649 3528 y SDict begin H.S end 1649 3528 a 1649 3528 a SDict begin H.R end 1649 3528 a 1649 3528 a SDict begin [ /View [/XYZ H.V] /Dest (figure.A.1) cvn H.B /DEST pdfmark end 1649 3528 a 105 x FK(Read)i(thr)o(oughput)g(for)f(r)24 b Ft(=)e FR(1)p FK(.)927 5176 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2267 @rwi @setspecial %%BeginDocument: appendix/images/throughput-indi-read-2.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: throughput-indi-read-2.eps %%Creator: gnuplot 3.7 patchlevel 3 %%CreationDate: Fri Dec 12 13:38:49 2003 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke userlinewidth 2 mul setlinewidth } def /AL { stroke userlinewidth 2 div setlinewidth } def /UL { dup gnulinewidth mul /userlinewidth exch def dup 1 lt {pop 1} if 10 mul /udl exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V 6185 0 R -63 0 V 630 420 M ( 0) Rshow 714 977 M 63 0 V 6185 0 R -63 0 V 630 977 M ( 100) Rshow 714 1533 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 200) Rshow 714 2090 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 300) Rshow 714 2646 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 400) Rshow 714 3203 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 500) Rshow 714 3759 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 600) Rshow 714 4316 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 700) Rshow 714 4872 M 63 0 V 6185 0 R -63 0 V -6269 0 R ( 800) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M ( 0) Cshow 1393 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 5) Cshow 2072 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 10) Cshow 2751 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 15) Cshow 3431 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 20) Cshow 4110 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 25) Cshow 4789 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 30) Cshow 5468 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 35) Cshow 6147 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 40) Cshow 6826 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R ( 45) Cshow 1.000 UL LTb 714 420 M 6248 0 V 0 4452 V -6248 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (Individual throughput \(kbyte/s\)) Cshow grestore 3838 70 M (Numb 8