Subject: re: Java Grande Concurrency Special Issue Deadline August 7 Resent-Date: Fri, 06 Aug 1999 22:30:54 -0400 Resent-From: Geoffrey Fox Resent-To: p_gcf@npac.syr.edu Date: Fri, 6 Aug 1999 11:43:19 -0400 (EDT) From: Maurice Herlihy To: Geoffrey Fox CC: mpw@east.sun.com Enclosed please find our submission to the special issue. Maurice %!PS-Adobe-2.0 %%Creator: dvips(k) 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) %%Title: journal.dvi %%Pages: 18 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Helvetica-Bold Helvetica Times-Roman %%EndComments %DVIPSCommandLine: dvips journal -o %DVIPSParameters: dpi=300 %DVIPSSource: TeX output 1999.08.06:1139 %%BeginProcSet: tex.pro %! /TeXDict 300 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 2 string 0 1 255{IE S dup 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 /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{pop false[ (Display)(NeXT)(LaserWriter 16/600)]{dup length product length le{dup 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 rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: 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: special.pro %! TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale true def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 (journal.dvi) @start %DVIPSBitmapFont: Fa cmmi10 10 7 /Fa 7 111 df<00000C0000000C0000001C0000001C0000003C0000007C0000007C0000 00BE0000009E0000011E0000021E0000021E0000041E0000041E0000081E0000101E0000 101E0000201F0000200F00007FFF0000800F0000800F0001000F0001000F0002000F0004 000F0004000F001C000F80FF807FF01C1D7F9C1F>65 D<01FFFF80003E00E0003C007000 3C0078003C0038003C0038007800380078007800780078007800F000F001E000F003C000 F00F0000FFFE0001E0078001E003C001E001E001E001E003C001E003C001E003C001E003 C001E0078003C0078003800780070007801E000F003C00FFFFE0001D1C7F9B1F>I<01FF FF00003E03C0003C00E0003C00F0003C0070003C0070007800F0007800F0007800F00078 00E000F001E000F003C000F0070000F01E0001FFF00001E0000001E0000001E0000003C0 000003C0000003C0000003C00000078000000780000007800000078000000F800000FFF0 00001C1C7E9B1B>80 D<0003F800000E0E000038038000E001C001C001C0038000E00700 00E00F0000F01E0000F01C0000F03C0000F03C0000F0780000F0780000F0780000F0F000 01E0F00001E0F00001E0F00003C0F00003C0F0000380F0000780F0000F00703C0E007042 1C0038823800388270001C83C0000787810001FF0100000303000003020000038E000003 FC000003F8000001F8000001E0001C257E9C21>I<01FFFE00003E03C0003C00E0003C00 F0003C0070003C0070007800F0007800F0007800F0007801E000F001C000F0078000F01E 0000FFF00001E03C0001E00E0001E00F0001E00F0003C00F0003C00F0003C00F0003C00F 0007801E0007801E0807801E0807801E100F800E10FFF00E20000003C01D1D7E9B20>I< 0003F00000700000700000E00000E00000E00000E00001C00001C00001C00001C000F380 030B800E07801C07803C0700380700780700780700F00E00F00E00F00E00F00E00F01C40 E01C40701C40703C4030CC800F0700141D7F9C16>100 D<3C1F004E61804681C04701C0 8F01C08E01C00E01C00E01C01C03801C03801C03801C0700380710380710380E10380E20 70064030038014127E9119>110 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmbx12 12 30 /Fb 30 122 df<0007F83F00007FFFFFC001FC0FE3E003F01FC7E007E01FC7E00FC01F87 E00FC01F83C00FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F8000 FFFFFFFC00FFFFFFFC000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000F C01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC0 1F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80007FF8FFF8007FF8FF F80023237FA221>11 D<387CFEFEFE7C3807077C8610>46 D<00180000780001F800FFF8 00FFF80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F8007FFFE07FFFE013207C9F1C>49 D<03FC000FFF003C1FC07007E07C07F0 FE03F0FE03F8FE03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F80 001F00003E0000380000700000E01801C0180380180700180E00380FFFF01FFFF03FFFF0 7FFFF0FFFFF0FFFFF015207D9F1C>I<01FE0007FFC00F07E01E03F03F03F03F01F83F81 F83F01F81F03F80C03F00003F00003E00007C0001F8001FE0001FF000007C00001F00001 F80000FC0000FC0000FE7C00FE7C00FEFE00FEFE00FEFE00FC7C01FC7801F83C07F00FFF C003FE0017207E9F1C>I<0000E00001E00003E00003E00007E0000FE0001FE0001FE000 37E00077E000E7E001C7E00187E00307E00707E00E07E00C07E01807E03807E07007E0E0 07E0FFFFFFFFFFFF0007E00007E00007E00007E00007E00007E00007E000FFFF00FFFF18 207E9F1C>I<000070000000007000000000F800000000F800000000F800000001FC0000 0001FC00000003FE00000003FE00000003FE000000067F000000067F0000000C7F800000 0C3F8000000C3F800000181FC00000181FC00000301FE00000300FE00000700FF0000060 07F000006007F00000C007F80000FFFFF80001FFFFFC00018001FC00018001FC00030001 FE00030000FE00070000FF000600007F000600007F00FFE007FFF8FFE007FFF825227EA1 2A>65 D 68 DI72 D<03FFFF03FFFF0007F00007F00007F00007F00007F00007F00007F00007F00007F00007 F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007 F00007F03807F07C07F0FE07F0FE07F0FE07E07C0FE0781FC01FFF0007F80018227FA11D >74 D80 D<7FFFFFFF807FFFFFFF807E03F80F807803F807807003F803806003F80180E003F8 01C0E003F801C0C003F800C0C003F800C0C003F800C0C003F800C00003F800000003F800 000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 03F800000003F800000003F800000003F8000001FFFFF00001FFFFF00022227EA127>84 D<0FFE003FFF807E07E07E03F07E01F07E01F83C01F80001F80001F8003FF803FFF81FC1 F83F01F87E01F8FC01F8FC01F8FC01F8FC01F87E02F87E0CF81FF8FF07E03F18167E951B >97 DI<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000 FC0000FC0000FC0000FC00007C00007E00007E00003E00181F00300FC06007FFC000FF00 15167E9519>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FFFF F8FFFFF8FC0000FC0000FC00007C00007C00007E00003E00181F00300FC07003FFC000FF 0015167E951A>101 D<001F8000FFE001F1F003E3F007E3F00FC3F00FC1E00FC0000FC0 000FC0000FC0000FC0000FC000FFFE00FFFE000FC0000FC0000FC0000FC0000FC0000FC0 000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0 007FFC007FFC00142380A211>I<01FE0F0007FFBF800F87C7801F03E7801E01E0003E01 F0003E01F0003E01F0003E01F0003E01F0001E01E0001F03E0000F87C0000FFF800009FE 000018000000180000001C0000001FFFE0001FFFF8000FFFFE0007FFFF001FFFFF007C00 3F8078001F80F8000F80F8000F80F8000F807C001F007E003F001F80FC000FFFF80001FF C00019217F951C>II<0E001F003F803F803F801F000E0000000000000000000000 00000000FF80FF801F801F801F801F801F801F801F801F801F801F801F801F801F801F80 1F801F801F801F80FFF0FFF00C247FA30F>I108 DI<00FE0007FFC00F83E01E00F03E00F8 7C007C7C007C7C007CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C 3E00F81F01F00F83E007FFC000FE0017167E951C>111 D114 D<07F3001FFF00780F00 700700F00300F00300F80000FF0000FFF0007FFC003FFE001FFF0007FF00003F80C00F80 C00780E00780E00780F00700FC1E00EFFC00C7F00011167E9516>I<00C00000C00000C0 0000C00001C00001C00003C00007C0000FC0001FC000FFFF00FFFF000FC0000FC0000FC0 000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC1800FC1800FC1800FC1 800FC18007C18007E30003FE0000FC0011207F9F16>I118 DI121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmtt10 10 46 /Fc 46 123 df<6030F078F078F078F078F078F078F078F078E038E038E0380D0C7C9916 >34 D<00E001E007C007000F001E003C0038007800700070007000F000E000E000E000E0 00E000E000E000F000700070007000780038003C001E000F00070007C001E000E00B217A 9C16>40 DI45 D<70F8F8F8700505788416>I<0001 80000380000780000700000F00000E00001E00001C00003C0000380000780000700000F0 0000E00001E00001C00001C00003C0000380000780000700000F00000E00001E00001C00 003C0000380000780000700000F00000E00000E0000011207E9C16>I<387C7C7C380000 000000000000387C7C7C3C1C3C3878F0600618799116>59 D<7FFFC0FFFFE0FFFFE00000 00000000000000000000000000FFFFE0FFFFE07FFFC0130B7F9116>61 D<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00071C00071C 00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C07007E0FC0FF1F E07E0FC013197F9816>65 D<7FFFC0FFFFC07FFFC01C01C01C01C01C01C01C01C01C0000 1C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00E01C00E01C00E0 1C00E01C00E07FFFE0FFFFE07FFFE013197F9816>69 D<7FFFE0FFFFE07FFFE01C00E01C 00E01C00E01C00E01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C 00001C00001C00001C00001C00001C00007F8000FFC0007F800013197F9816>I<01F180 07FF800FFF801F0F803C0780780780780380700380F00000E00000E00000E00000E00000 E01FC0E01FE0E01FC0F003807003807807807807803C0F801E1F800FFF8007FB8001F380 13197F9816>I<01FF0003FF8001FF00001C00001C00001C00001C00001C00001C00001C 00001C00001C00001C00001C00001C00001C00001C00001C00001C00601C00F01C00F07C 00FFF8007FF0001FC00011197E9816>74 D77 D<1FFC003FFE007FFF00780F00F00780E00380E00380E00380E00380E00380E00380E003 80E00380E00380E00380E00380E00380E00380E00380F00780F00780780F007FFF003FFE 001FFC0011197E9816>79 D<7FF800FFFE007FFF001C0F801C03801C03C01C01C01C01C0 1C01C01C03C01C03801C0F801FFF001FFE001FF8001C00001C00001C00001C00001C0000 1C00001C00007F0000FF80007F000012197F9816>I<1FFC003FFE007FFF00780F00F007 80E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E003 80E00380E0E380E1E380F0F780787F007FFF003FFE001FFC00001C00001E00000E00000F 00000700000700111F7E9816>I<7FF000FFFC007FFE001C0F001C07801C03801C03801C 03801C03801C07801C0F001FFE001FFC001FFE001C1F001C07001C07001C07001C07001C 07101C07381C07387F07F8FF83F07F01E01519809816>I<07E3001FFF007FFF00781F00 F00F00E00700E00700E00000F000007800007F80001FF00007FC0000FE00000F00000780 000380000380E00380E00380F00780F80F00FFFE00FFFC00C7F00011197E9816>I<7FFF E0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000E00000E00000E0 0000E00000E00000E00000E00000E00000E00000E00000E00000E00007FC000FFE0007FC 0013197F9816>I<1FE0007FF8007FFC00783E00301E00000E00003E0007FE003FFE007F CE00F80E00E00E00E00E00F01E00F83E007FFFE03FF7E00FC3E013127E9116>97 DI<03F80FFE1FFE3C1E780C7000F000E000E000E000E000F00070 0778073E0F1FFE0FFC03F010127D9116>I<003F00003F00003F00000700000700000700 00070003E7000FFF003FFF003C1F00780F00700F00F00700E00700E00700E00700E00700 F00F00F00F00781F007C3F003FFFE01FF7E007C7E013197F9816>I<03F0000FFC001FFE 003E1F00780700700780F00380FFFF80FFFF80FFFF80E00000F000007003807803803E0F 801FFF000FFE0003F80011127E9116>I<001F0000FF8001FF8003C78003830003800003 80007FFF00FFFF00FFFF0003800003800003800003800003800003800003800003800003 80000380000380000380007FFC00FFFE007FFC0011197F9816>I<03E3C00FFFE01FFFE0 1E3CC03C1E00380E00380E00380E003C1E001E3C001FFC003FF8003BE0003800003C0000 3FFC003FFF007FFFC07803C0F001E0E000E0E000E0E000E0F001E07C07C03FFF800FFE00 03F800131C7F9116>II<03000780078003000000000000000000 FF80FF80FF80038003800380038003800380038003800380038003800380FFFCFFFEFFFC 0F1A7C9916>I<003000780078003000000000000000000FF81FF80FF800380038003800 380038003800380038003800380038003800380038003800380038003800386078F0F0FF E07FC03F800D237E9916>I<7E0000FE00007E00000E00000E00000E00000E00000E7FE0 0E7FE00E7FE00E0F000E1E000E3C000E78000EF0000FF8000FF8000FBC000F1E000E0E00 0E0F000E07807F87F0FFCFF07F87F01419809816>I<7FC000FFC0007FC00001C00001C0 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 0001C00001C00001C00001C00001C0007FFF00FFFF807FFF0011197E9816>III<03E0000FF8001FFC003C1E00780F00700700E00380E00380E003 80E00380E00380F00780700700780F003C1E001FFC000FF80003E00011127E9116>II<03E3800FFB801FFF803E1F80780F80700780F00780 E00380E00380E00380E00380F00780700780780F803C1F803FFF800FFB8003E380000380 000380000380000380000380000380001FF0003FF8001FF0151B7F9116>I<7F0F80FF3F E07FFFE007F1E007E0C007C0000780000780000700000700000700000700000700000700 000700007FFC00FFFC007FFC0013127F9116>I<0FEC3FFC7FFCF03CE01CE01CF0007F80 1FF007FC003EE00EE00EF00EF81EFFFCFFF8C7E00F127D9116>I<030000070000070000 0700000700007FFF00FFFF00FFFF00070000070000070000070000070000070000070000 07010007038007038007078007878003FF0003FE0000F80011177F9616>II<7F1FC0FF9FE07F1FC01C07001C07000E 0E000E0E000E0E00071C00071C00071C00071C0003B80003B80003B80001F00001F00000 E00013127F9116>II<7F1F C07F3FC07F1FC00F1E00073C0003B80003F00001F00000E00001E00001F00003B800073C 00071C000E0E007F1FC0FF3FE07F1FC013127F9116>I<7F1FC0FF9FE07F1FC01C07000E 07000E0E000E0E00070E00071C00071C00039C00039C0003980001B80001B80000F00000 F00000F00000E00000E00000E00001C00079C0007BC0007F80007F00003C0000131B7F91 16>I<3FFFC07FFFC07FFFC0700780700F00701E00003C0000F80001F00003E00007C000 0F00001E01C03C01C07801C0FFFFC0FFFFC0FFFFC012127F9116>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmsy10 10 2 /Fd 2 16 df0 D<07E01FF83FFC7FFE7FFEFFFFFFFF FFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E010107E9115>15 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmti10 10 58 /Fe 58 122 df<1C3E3E3E3A0204040808106080070D779C0D>39 D<00030006000800180030006000C000C0018003000300060006000C000C001C00180018 00380030003000700070006000600060006000E000E000E000E000E00060006000600060 00600020003000100008000800102A7B9E11>I<001000100008000C0004000600060006 00060006000700070007000700070006000600060006000E000E000C000C001C00180018 0038003000300060006000C000C001800300030006000C00180010006000C000102A809E 11>I45 D<70F8F8F0E005057B840D>I<003E0000E1800181 C00300C00700C00600C00E00E00C00E01C00C01C00C01801C03801C03801C03801C07003 80700380700380700380600700E00700E00600E00E00E00E00E00C00E018006038006070 0030C0001F0000131D7C9B15>48 D<0004000C00180038007807B8007000700070007000 E000E000E000E001C001C001C001C0038003800380038007000700070007000F00FFF00E 1C7B9B15>I<003E000041800080C00100C00200E00440E00440E00840E00840E00840E0 1081C01081C01103800E0300000600000C00001800006000008000030000040000080040 1000802000802001007F070043FE0081FC00807800131D7D9B15>I<001F000060C00080 C00100600200600240600440E00440E00440E00481C00301C000038000070000FC00001C 00000600000600000700000700000700300700780700F00E00E00E00801C004018004030 0020E0001F8000131D7D9B15>I<0001800001C000038000038000038000030000070000 0700000600000E00000C00001C0000180000180000300000300000600000400000C60001 8E00010E00020E00061C000C1C00181C003F1C0040F800803F8000380000380000700000 700000700000700000E00000600012247E9B15>I<00806001FFC001FF8001FE00010000 02000002000002000002000004000004F000050C00060C000C0E00080E00000E00000F00 000E00001E00301E00781E00781C00F03C0080380080780040700040E0002180001E0000 131D7C9B15>I<09C0400FE0801FE1801C6100302600201A00600400400C008008008018 0000300000300000600000600000C00000C00001C0000180000380000300000700000700 000700000E00000E00000E00001C00001C0000180000121D799B15>55 D<001F000060C00080600100600300300300300700600700600700C00780C007E10003F6 0001FC0000FC0001FE00063F000C1F00180F80300780200380600380600380C00300C003 00C002006004006008003830000FC000141D7D9B15>I<003E0000E1000181800300C006 00C00E00C00C00C01C00C01C00C01C01C03801C03801C03801C03803C018038018078008 0B800C330003C700000700000E00000C00601C00F01800F03000E0600080C0004180003E 0000121D7C9B15>I<0E1F1F1E0C000000000000000070F8F8F0E008127B910D>I<000018 0000001800000038000000380000007800000078000000F800000178000001780000027C 0000023C0000043C00000C3C0000083C0000103C0000103C0000203C0000203C0000403C 0000FFFC0000803C0001003C0001003E0002001E0002001E0004001E000C001E001C003E 00FF01FFC01A1D7E9C1F>65 D<01FFFF00003E03C0003C01E0003C00E0003C00E0003C00 E0007800E0007801E0007801E0007803C000F0038000F0070000F01E0000FFFC0001E00E 0001E0070001E0078001E0078003C0078003C0078003C0078003C0078007800F0007800E 0007801E0007803C000F00F000FFFFC0001B1C7E9B1D>I<0003F020001E0C60003002E0 00E003C001C001C0038001C0070000C00E0000801E0000801C0000803C0000803C000000 780000007800000078000000F0000000F0000000F0000000F0000000F0000400F0000400 F0000400F0000800700008007000100038002000180040000C0180000706000001F80000 1B1E7A9C1E>I<01FFFF00003E03C0003C00E0003C00E0003C0070003C00700078007800 780038007800380078007800F0007800F0007800F0007800F0007801E000F001E000F001 E000F001E000E003C001E003C001C003C003C003C003800780070007800E0007801C0007 8038000F00E000FFFF80001D1C7E9B1F>I<01FFFFF0003E00F0003C0030003C0020003C 0020003C00200078002000780020007808200078080000F0100000F0100000F0300000FF F00001E0200001E0200001E0200001E0200003C0408003C0008003C0008003C001000780 01000780030007800200078006000F001C00FFFFFC001C1C7E9B1C>I<0003F020001E0C 60003002E000E003C001C001C0038001C0070000C00E0000801E0000801C0000803C0000 803C000000780000007800000078000000F0000000F0000000F003FF80F0003E00F0003C 00F0003C00F0003C00F0003C007000780070007800380078001800B8000C013000070610 0001F800001B1E7A9C20>71 D<01FFE7FF80003E00F800003C00F000003C00F000003C00 F000003C00F000007801E000007801E000007801E000007801E00000F003C00000F003C0 0000F003C00000FFFFC00001E007800001E007800001E007800001E007800003C00F0000 03C00F000003C00F000003C00F000007801E000007801E000007801E000007801E00000F 803E0000FFF3FFC000211C7E9B1F>I<03FF80007C0000780000780000780000780000F0 0000F00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C0000780 000780000780000780000F00000F00000F00000F00001F0000FFE000111C7D9B10>I<00 1FFE0001F00001E00001E00001E00001E00003C00003C00003C00003C000078000078000 0780000780000F00000F00000F00000F00001E00001E00001E00781E00783C00F83C00F8 3800E0780040F00061C0001F0000171D7E9B16>I<01FFE0003E00003C00003C00003C00 003C0000780000780000780000780000F00000F00000F00000F00001E00001E00001E000 01E00003C00203C00203C00203C00407800407800C0780180780380F00F0FFFFF0171C7E 9B1A>76 D<01FF0003FE003F0003E0002F0007C0002F000BC0002F000BC0002F0013C000 4F001780004F002780004F004780004F004780008F008F000087808F000087810F000087 810F000107821E000107841E000107841E000107881E000207883C000207903C000207A0 3C000207A03C000403C078000403C0780004038078000C030078001C0300F800FF820FFF 00271C7E9B25>I<01FE00FF80001E001C00002F001800002F001000002F801000002780 100000478020000043C020000043C020000043C020000081E040000081E040000081F040 000080F040000100F0800001007880000100788000010078800002003D000002003D0000 02003F000002001F000004001E000004000E000004000E00000C000E00001C00040000FF 80040000211C7E9B1F>I<0007F000001C1C0000700E0000E0070001C003800380038007 0003800E0003C01E0003C01C0003C03C0003C03C0003C0780003C0780003C0780003C0F0 000780F0000780F0000780F0000F00F0000F00F0000E00F0001E00F0003C007000380070 0070007800E0003801C0001C0380000E0E000003F800001A1E7A9C20>I<01FFFE00003E 0380003C01C0003C00E0003C00E0003C00E0007801E0007801E0007801E0007801C000F0 03C000F0038000F0070000F01C0001FFF00001E0000001E0000001E0000003C0000003C0 000003C0000003C00000078000000780000007800000078000000F800000FFF000001B1C 7E9B1C>I<000F8400304C00603C00C01801801803801803801807001007001007000007 800007C00007F80003FF0001FF8000FF80001FC00003C00003C00001C00001C02001C020 01C0600380600380600300600600F00C00CC180083E000161E7D9C17>83 D<1FFFFFC01C0781C0300F00C0200F0080600F0080400F0080401E0080801E0080801E00 80001E0000003C0000003C0000003C0000003C0000007800000078000000780000007800 0000F0000000F0000000F0000000F0000001E0000001E0000001E0000001E0000003E000 007FFF00001A1C799B1E>I<7FF83FE00F8007000F0006000F0004000F0004000F000400 1E0008001E0008001E0008001E0008003C0010003C0010003C0010003C00100078002000 780020007800200078002000F0004000F0004000F0004000F0008000F0008000F0010000 7002000070040000380800001C30000007C000001B1D789B1F>I87 D<01FFC1FE003F00F0001E0060001E0080001F0180000F0100000F0200000F8400000788 00000790000007E0000003E0000003C0000003E0000001E0000003E0000005F0000008F0 000010F0000030F8000060780000407C0000807C0001003C0002003E0006003E001E003E 00FF80FFC01F1C7E9B1F>I<01E307170C0F180F380E300E700E700EE01CE01CE01CE01C E039E039E0396079319A1E0C10127C9115>97 D<3F00070007000E000E000E000E001C00 1C001C001C0039E03A183C0C380C700C700E700E700EE01CE01CE01CE018E038E030E060 60C031801E000F1D7C9C13>I<00F803040E0C1C1E183C301870007000E000E000E000E0 00E000E0046008601030600F800F127C9113>I<0007E00000E00000E00001C00001C000 01C00001C000038000038000038000038001E7000717000C0F00180F00380E00300E0070 0E00700E00E01C00E01C00E01C00E01C00E03900E03900E03900607900319A001E0C0013 1D7C9C15>I<00F807040C0418023804300470087FF0E000E000E000E000E00060046008 301030600F800F127C9113>I<0003C0000660000CF0001DE0001CC0001C000038000038 0000380000380000380003FF8000700000700000700000700000700000E00000E00000E0 0000E00000E00001C00001C00001C00001C00001C0000380000380000380000300000300 00670000F60000F60000EC00007800001425819C0D>I<0078C001C5C00303C00603C00E 03800C03801C03801C0380380700380700380700380700380E00380E00380E00181E000C 7C00079C00001C00001C00003800603800F03000F07000E1C0007F0000121A7E9113>I< 0FC00001C00001C0000380000380000380000380000700000700000700000700000E3E00 0EC3000F03800E03801E03801C03801C03801C0380380700380700380700380E00700E40 700E40701C40701C80E00C80600700121D7E9C15>I<018003C003800300000000000000 0000000000001C002600470047008E008E000E001C001C001C0038003800710071007100 720072003C000A1C7C9B0D>I<0007000F000F0006000000000000000000000000007800 8C010C020C021C041C001C001C0038003800380038007000700070007000E000E000E000 E001C061C0F180F300E60078001024819B0D>I<0FC00001C00001C00003800003800003 80000380000700000700000700000700000E07800E08800E11C00E23C01C47801C83001D 00001E00003FC00038E000387000387000707100707100707100707200E03200601C0012 1D7E9C13>I<1F800380038007000700070007000E000E000E000E001C001C001C001C00 38003800380038007000700070007000E200E200E200E40064003800091D7D9C0B>I<1C 1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C 0701C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D 127C9122>I<383E004CC3004D03804E03809E03809C03801C03801C0380380700380700 380700380E00700E40700E40701C40701C80E00C8060070012127C9117>I<00F800030C 000E06001C0300180300300300700380700380E00700E00700E00700E00E00E00E00E01C 0060180060300030E0000F800011127C9115>I<03878004C86004D03004E03009C03009 C03801C03801C0380380700380700380700380600700E00700C00701800783000E86000E 78000E00000E00001C00001C00001C00001C0000380000FF0000151A809115>I<01E107 130C0F180F380E300E700E700EE01CE01CE01CE01CE038E038E038607831F01E70007000 7000E000E000E000E001C00FF8101A7C9113>I<1C3C26C24706470F8E1E8E0C0E000E00 1C001C001C001C0038003800380038007000300010127C9112>I<01F006080C080C1C18 181C001F001FC00FF007F0007820387030F030F030806060C01F000E127D9111>I<0300 0700070007000E000E000E000E00FFE01C001C001C003800380038003800700070007000 7000E080E080E100E100660038000B1A7C990E>I<1C01802E03804E03804E03808E0700 8E07001C07001C0700380E00380E00380E00380E00301C80301C80301C80383C80184D00 0F860011127C9116>I<1C062E0E4E064E068E028E021C021C0238043804380438083008 30083010382018400F800F127C9113>I<1E01832703874703874703838707018707010E 07010E07011C0E021C0E021C0E021C0E04180C04181C04181C081C1E080C263007C3C018 127C911C>I<0E00C01701C02701C02701C04703804703800E03800E03801C07001C0700 1C07001C0700180E00180E00180E001C1E000C3C0007DC00001C00001800603800F03000 F06000E0C0004180003E0000121A7D9114>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmr10 10 82 /Ff 82 128 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E 01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E 01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E 01C0000E01C0000E01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703C00E 03C00E01800E00000E00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F 87F8151D809C17>I<007FC001C1C00303C00703C00E01C00E01C00E01C00E01C00E01C0 0E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0 0E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF8151D809C17>I<003F07E000 01C09C18000380F018000701F03C000E01E03C000E00E018000E00E000000E00E000000E 00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C000E00E01C000E00 E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0 1C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D809C 23>I16 D<0E0E1E3870E0800707779C15>19 D<7070F8F8FCFCFCFC7474 040404040404080808081010202040400E0D7F9C15>34 D<70F8FCFC7404040408081020 40060D7D9C0C>39 D<00800100020006000C000C00180018003000300030006000600060 006000E000E000E000E000E000E000E000E000E000E000E000E000600060006000600030 0030003000180018000C000C000600020001000080092A7C9E10>I<8000400020003000 180018000C000C0006000600060003000300030003000380038003800380038003800380 0380038003800380038003000300030003000600060006000C000C001800180030002000 40008000092A7E9E10>I<00060000000600000006000000060000000600000006000000 060000000600000006000000060000000600000006000000060000FFFFFFE0FFFFFFE000 060000000600000006000000060000000600000006000000060000000600000006000000 0600000006000000060000000600001B1C7E9720>43 D<70F0F8F8780808081010202040 050D7D840C>II<70F8F8F87005057D840C>I<00030003000700 060006000E000C001C0018001800380030003000700060006000E000C000C001C0018003 80030003000700060006000E000C000C001C001800180038003000700060006000E000C0 00C00010297E9E15>I<03C00C301818381C300C700E700E700EF00FF00FF00FF00FF00F F00FF00FF00FF00FF00FF00FF00FF00F700E700E700E300C381C18180C3007E0101D7E9B 15>I<010007003F00C70007000700070007000700070007000700070007000700070007 000700070007000700070007000700070007000700FFF80D1C7C9B15>I<07C01830201C 401C400EF00FF80FF80FF80F700F000F001E001E001C00380030007000C0018001000200 04010801100130023FFE7FFEFFFE101C7E9B15>I<07E01870203C201C781E781E781E38 1E001C001C00380030006007C00030001C001C000E000F000F700FF80FF80FF80FF00E40 1C201C183007C0101D7E9B15>I<000C00000C00001C00003C00003C00005C0000DC0000 9C00011C00031C00021C00041C000C1C00081C00101C00301C00201C00401C00C01C00FF FFC0001C00001C00001C00001C00001C00001C00001C0001FFC0121C7F9B15>I<300C3F F83FF03FC020002000200020002000200023E02C303018301C200E000E000F000F000F60 0FF00FF00FF00F800E401E401C2038187007C0101D7E9B15>I<00F0030C06040C0E181E 381E380C700070007000F3E0F430F818F81CF80EF00EF00FF00FF00FF00FF00F700F700F 700E380E381C18180C3003E0101D7E9B15>I<4000007FFF807FFF007FFF004002008004 0080040080080000100000100000200000600000400000C00000C00001C0000180000180 00038000038000038000038000078000078000078000078000078000078000030000111D 7E9B15>I<03E00C301008200C200660066006700670067C0C3E183FB01FE007F007F818 FC307E601E600FC007C003C003C003C00360026004300C1C1007E0101D7E9B15>I<03C0 0C301818381C700C700EF00EF00EF00FF00FF00FF00FF00F700F701F381F181F0C2F07CF 000E000E000E301C781C78187038207010C00F80101D7E9B15>I<70F8F8F87000000000 0000000070F8F8F87005127D910C>I<0FE03078401CE01EF01EF01E601E001C00380070 00C0018001800100030002000200020002000200000000000000000007000F800F800F80 07000F1D7E9C14>63 D<000600000006000000060000000F0000000F0000000F00000017 8000001780000037C0000023C0000023C0000043E0000041E0000041E0000080F0000080 F0000080F000010078000100780001FFF80002003C0002003C0002003C0004001E000400 1E000C001F000C000F001E001F00FF00FFF01C1D7F9C1F>65 D I<001F808000E0618001801980070007800E0003801C0003801C00018038000180780000 807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F00000 00F0000000700000807800008078000080380000801C0001001C0001000E000200070004 000180080000E03000001FC000191E7E9C1E>IIII<001F80 8000E0618001801980070007800E0003801C0003801C0001803800018078000080780000 8070000080F0000000F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F 80700007807800078078000780380007801C0007801C0007800E00078007000B80018011 8000E06080001F80001C1E7E9C21>III<07FF80007C00003C00003C00003C00003C00 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 003C00003C00003C00703C00F83C00F83C00F8380070780040700030E0000F8000111D7F 9B15>III II<003F800000E0E0000380380007001C000E000E001C000700 3C00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0 F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C000780 1C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20>II82 D<07E0801C1980300580300380600180E00180E00080E00080E00080F00000F800007C00 007FC0003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001 C0C00180C00180E00300D00200CC0C0083F800121E7E9C17>I<7FFFFFC0700F01C0600F 00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B1E> IIII89 D<7FFFF07C01F07001E06003C06003C0400780400F80 400F00401E00001E00003C00007C0000780000F00000F00001E00003E00003C010078010 0780100F00101F00301E00203C00203C00607800E0F803E0FFFFE0141C7E9B19>II<08081010202040404040808080808080B8B8FCFCFCFC7C7C3838 0E0D7B9C15>II<0FE0001838003C1C003C0E00180E00000E 00000E0001FE000F8E003C0E00780E00700E00F00E20F00E20F00E20701E203827400FC3 8013127F9115>97 DI<03F80E0C1C 1E381E780C7000F000F000F000F000F000F0007000780238021C040E1803E00F127F9112 >I<001F8000038000038000038000038000038000038000038000038000038000038003 F3800E0B801C0780380380780380700380F00380F00380F00380F00380F00380F0038070 03807803803803801C07800E1B8003E3F0141D7F9C17>I<07E00C301818381C701E700E F00EFFFEF000F000F000F00070007002380218040E1803E00F127F9112>I<00F8018C07 1E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038007E4C00C38C0381C80 381C00781E00781E00781E00781E00381C00381C001C300037E000200000300000300000 3FF8001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800 121C7F9215>II<38007C007C007C 003800000000000000000000000000FC001C001C001C001C001C001C001C001C001C001C 001C001C001C001C001C001C00FF80091D7F9C0C>I<01C003E003E003E001C000000000 000000000000000007E000E000E000E000E000E000E000E000E000E000E000E000E000E0 00E000E000E000E000E000E000E060E0F0C0F1C061803E000B25839C0D>IIIII<03F0000E1C00180600380700 700380700380F003C0F003C0F003C0F003C0F003C0F003C07003807003803807001C0E00 0E1C0003F00012127F9115>II<03E0800E19801C058038 0780780380780380F00380F00380F00380F00380F00380F003807003807803803807801C 07800E1B8003E380000380000380000380000380000380000380000380001FF0141A7F91 16>II<1F9020704030C010C010E010F8007F803FE00FF000F880388018 C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C 001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F 9910>IIIIII<7FFC70386038407040 F040E041C003C0038007000F040E041C043C0C380870087038FFF80E127F9112>II<6060F0F0F9F0F0F060600C057C9C15>127 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmbx12 14.4 41 /Fg 41 122 df<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE 0000FE0000FE00FFFFFEFFFFFEFFFFFE17277BA622>49 D<00FF800007FFF0000FFFFC00 1E03FE003800FF807C007F80FE003FC0FF001FC0FF001FE0FF001FE0FF001FE07E001FE0 3C001FE000001FE000001FC000003FC000003F8000007F0000007E000000FC000001F800 0003F0000003E00000078000000F0000001E0000003800E0007000E000E000E001C001C0 038001C0060001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF80 1B277DA622>I<007F800003FFF00007FFFC000F81FE001F00FF003F807F003F807F803F 807F803F807F801F807F801F007F8000007F000000FF000000FE000001FC000001F80000 07F00000FF800000FFC0000001F8000000FE0000007F0000007F8000003FC000003FC000 003FE000003FE03C003FE07E003FE0FF003FE0FF003FE0FF003FC0FF003FC0FE007F807C 00FF003F01FE001FFFFC0007FFF00000FF80001B277DA622>I<00000F0000000F000000 1F0000003F0000007F000000FF000001FF000001FF000003BF0000073F00000E3F00001C 3F00003C3F0000383F0000703F0000E03F0001C03F0003803F0007803F0007003F000E00 3F001C003F0038003F0070003F00F0003F00FFFFFFF8FFFFFFF8FFFFFFF800007F000000 7F0000007F0000007F0000007F0000007F0000007F0000007F00001FFFF8001FFFF8001F FFF81D277EA622>I<180003001F801F001FFFFE001FFFFC001FFFF8001FFFF0001FFFE0 001FFF80001FFE00001C0000001C0000001C0000001C0000001C0000001C0000001C7FC0 001DFFF8001F80FC001E003F001C003F0000001F8000001FC000001FC000001FE000001F E018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE001FC0FC001FC078003F8078003F 803C007F001F01FE000FFFFC0003FFF00000FF80001B277DA622>I<0007F800003FFE00 00FFFF0001FC078003F00FC007E01FC00FC01FC01F801FC01F801FC03F800F803F000000 7F0000007F0000007F000000FF020000FF1FF000FF3FFC00FF603E00FFC03F00FF801F80 FF801FC0FF801FC0FF001FC0FF001FE0FF001FE0FF001FE07F001FE07F001FE07F001FE0 7F001FE03F001FE03F001FC01F801FC01F801F800FC03F0007E07E0003FFFC0001FFF800 003FC0001B277DA622>I<380000003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07F FFFFC07FFFFFC07FFFFF8070000F0070001E0070003C00E0003800E0007800E000F00000 01E0000003C0000003800000078000000F0000000F0000001F0000001E0000003E000000 3E0000007E0000007E0000007C000000FC000000FC000000FC000000FC000001FC000001 FC000001FC000001FC000001FC000001FC000001FC000001FC0000007000001C297CA822 >I<003FC00001FFF00003FFFC0007C07E000F003F001E001F001E000F803E000F803E00 0F803F000F803F800F803FC00F003FF01F001FFC1E001FFE3C000FFFF80007FFE00003FF F00001FFFC0001FFFE0007FFFF000F0FFF801E07FFC03E01FFC07C007FE07C001FE0F800 0FE0F80007E0F80003E0F80003E0F80003E0F80003C07C0003C07E0007803F000F001FC0 3F000FFFFC0003FFF800007FC0001B277DA622>I<1C007F007F00FF80FF80FF807F007F 001C000000000000000000000000000000000000001C007F007F00FF80FF80FF807F007F 001C00091B7B9A13>58 D<00000780000000000780000000000FC0000000000FC0000000 000FC0000000001FE0000000001FE0000000003FF0000000003FF0000000003FF0000000 0077F80000000077F800000000F7FC00000000E3FC00000000E3FC00000001C1FE000000 01C1FE00000003C1FF0000000380FF0000000380FF00000007007F80000007007F800000 0F007FC000000E003FC000000E003FC000001C001FE000001C001FE000003FFFFFF00000 3FFFFFF000003FFFFFF00000700007F80000700007F80000F00007FC0000E00003FC0001 E00003FE0001C00001FE0001C00001FE0003C00001FF00FFFE003FFFFCFFFE003FFFFCFF FE003FFFFC2E297EA833>65 DI68 DI72 DI<0000FFC000 00000FFFFC0000003FC0FF000000FE001FC00001FC000FE00003F80007F00007F00003F8 000FE00001FC001FE00001FE001FC00000FE003FC00000FF003FC00000FF007FC00000FF 807F8000007F807F8000007F807F8000007F80FF8000007FC0FF8000007FC0FF8000007F C0FF8000007FC0FF8000007FC0FF8000007FC0FF8000007FC0FF8000007FC0FF8000007F C0FF8000007FC07F8000007F807FC00000FF807FC00000FF803FC00000FF003FC00000FF 001FE00001FE001FE00001FE000FF00003FC0007F00003F80003F80007F00001FC000FE0 0000FF003FC000003FC0FF0000000FFFFC00000000FFC000002A297CA833>79 DI82 D<7FFFFFFFFF807FFFFFFFFF807FFFFFFFFF807F807F807F807C007F800F8078007F8007 8078007F80078070007F800380F0007F8003C0F0007F8003C0E0007F8001C0E0007F8001 C0E0007F8001C0E0007F8001C0E0007F8001C000007F80000000007F80000000007F8000 0000007F80000000007F80000000007F80000000007F80000000007F80000000007F8000 0000007F80000000007F80000000007F80000000007F80000000007F80000000007F8000 0000007F80000000007F80000000007F80000000007F80000000007F80000000007F8000 0000007F80000000FFFFFFC00000FFFFFFC00000FFFFFFC0002A287EA72F>84 D87 D<03FF80000FFFF0001F01FC003F80FE003F80 7F003F803F003F803F801F003F8000003F8000003F8000003F800000FF80007FFF8003FF BF800FF03F801F803F803F003F807E003F80FC003F80FC003F80FC003F80FC003F80FE00 7F807E00DFC03F839FFC1FFF0FFC03FC03FC1E1B7E9A21>97 DI<003FF00001FFFC0003F03E000FC07F 001F807F003F007F003F007F007F003E007E0000007E000000FE000000FE000000FE0000 00FE000000FE000000FE000000FE0000007E0000007E0000007F0000003F0003803F8003 801F8007000FE00E0003F83C0001FFF800003FC000191B7E9A1E>I<00007FF000007FF0 00007FF0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0003F87F001FFF7F007F03FF00FC00FF01F8007F0 3F0007F03F0007F07E0007F07E0007F07E0007F0FE0007F0FE0007F0FE0007F0FE0007F0 FE0007F0FE0007F0FE0007F0FE0007F07E0007F07E0007F03F0007F03F0007F01F800FF0 0FC01FF007E07FFF01FFE7FF007F87FF202A7EA925>I<003FC00001FFF00007E07C000F C03E001F801F003F001F803F000F807F000F807E000FC0FE000FC0FE0007C0FE0007C0FF FFFFC0FFFFFFC0FE000000FE000000FE000000FE0000007E0000007F0000003F0001C03F 8001C01F8003C00FC0078003F01F0000FFFC00003FE0001A1B7E9A1F>I<0007F8003FFC 007E3E01FC7F03F87F03F07F07F07F07F03E07F00007F00007F00007F00007F00007F000 07F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F000 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000 07F0007FFF807FFF807FFF80182A7EA915>I<00FF81F003FFE7F80FC1FE1C1F007C7C3F 007E7C3E003E107E003F007E003F007E003F007E003F007E003F007E003F003E003E003F 007E001F007C000FC1F8001BFFE00038FF80003800000038000000380000003C0000003F FFF8003FFFFF001FFFFFC01FFFFFE00FFFFFF01FFFFFF03C0007F07C0001F8F80000F8F8 0000F8F80000F8F80000F87C0001F07C0001F03F0007E00FC01F8007FFFF00007FF0001E 287E9A22>I I<07001FC03FE03FE03FE03FE03FE01FC007000000000000000000000000000000FFE0FF E0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F E00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7EAA12>I107 DIII<003FE00001FFFC0003F07E 000FC01F801F800FC03F0007E03F0007E07E0003F07E0003F07E0003F0FE0003F8FE0003 F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F87E0003F07E0003F03F0007 E03F0007E01F800FC00FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>II114 D<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FE0000FFE0007FFF007FFF C03FFFE01FFFF007FFF800FFF80007FC0000FCE0007CE0003CF0003CF00038F80038FC00 70FF01E0F7FFC0C1FF00161B7E9A1B>I<00E00000E00000E00000E00001E00001E00001 E00003E00003E00007E0000FE0001FFFE0FFFFE0FFFFE00FE0000FE0000FE0000FE0000F E0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0700FE0700FE0700F E0700FE0700FE0700FE07007F0E003F0C001FF80007F0014267FA51A>I I120 DI E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmti9 9 16 /Fh 16 122 df<0000200000600000600000F00000F00001700003700002700004700004 7000087000087000107000207000207000407800403800FFF80180380100380200380200 38040038040038080038180038FE01FF181B7E9A1D>65 D<03CC0E2E181C381C301C701C E038E038E038E038C072C072C07260F261341E180F107C8F14>97 D<01E006180C181838301070006000E000E000E000E000E008E010602030C01F000D107C 8F12>99 D<001F80000380000380000380000700000700000700000700000E00000E0003 CE000E2E00181C00381C00301C00701C00E03800E03800E03800E03800C07200C07200C0 720060F2006134001E1800111A7C9914>I<01E00E181C08380870087010FFE0E000E000 E000E000E0086010602030C01F000D107C8F12>I<1F8000038000038000038000070000 0700000700000700000E00000E00000E7C000F86001E07001E07001C07001C0700380E00 380E00380E00381C00701C80701C80703880703900E01900600E00111A7E9914>104 D<030706000000000000384C4E8E9C9C1C3838707272E2E4643808197C980C>I<1F8003 800380038007000700070007000E000E000E0E0E131C271C431C801F003C003F8039C038 E070E270E270E270E4E0646038101A7E9912>107 D<1F0707070E0E0E0E1C1C1C1C3838 383870707070E4E4E4E4E830081A7D990A>I<307C1E00598663009E0783809E0703809C 0703809C070380380E0700380E0700380E0700380E0E00701C0E40701C0E40701C1C4070 1C1C80E0380C80601807001A107C8F1F>I<01F006180C0C180E300E700E600EE00EE00E E00CE01CE018E030606030C01F000F107C8F14>111 D<030F000590C009E0C009C06009 C06009C0600380E00380E00380E00380E00701C00701800703800703000E8E000E78000E 00000E00001C00001C00001C00001C0000FF00001317808F14>I<30F05D189E389C189C 009C0038003800380038007000700070007000E00060000D107C8F10>114 D<06000E000E000E000E001C001C00FFC01C0038003800380038007000700070007000E1 00E100E100E200E40038000A177C960D>116 D<380C104C0E384E1C388E1C189C1C189C 1C181C381038381038381038381070702070702070704030704018B8800F0F0015107C8F 19>119 D<38064C074E0E8E0E9C0E9C0E1C1C381C381C381C703870387038307838F00F 700070006060E0E1C0C18047003C0010177C8F13>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmbx9 9 7 /Fi 7 117 df<000300000007800000078000000FC000000FC000000FC000001FE00000 1FE000003FF0000033F0000033F0000061F8000061F80000E1FC0000C0FC0000C0FC0001 807E0001FFFE0003FFFF0003003F0007003F8006001F8006001F800C000FC0FF807FFCFF 807FFC1E1A7F9921>65 D<1FF0003FFC007C1F007C0F007C0F80380F80000F8001FF801F EF803E0F807C0F80F80F80F80F80F80F807C37803FE7E01F83E013117F9015>97 DI<03FC000FFE001E1F003C1F007C1F00780E00F80000F8 0000F80000F80000F800007800007C00003C01801F03000FFE0003F80011117F9014>I< FC78FCFC3DBE3D3E3F3E3E1C3E003E003E003E003E003E003E003E003E00FFC0FFC00F11 7F9012>114 D<1FD83FF87038E018E018FC00FFC07FF03FF81FFC01FCC03CC01CE01CF0 38FFF0CFC00E117F9011>I<0600060006000E000E001E003E00FFF0FFF03E003E003E00 3E003E003E003E003E003E183E183E183E183E301FF007C00D187F9711>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmr9 9 55 /Fj 55 123 df<00FE3C0381E60607CF0E078F1C07861C03801C03801C03801C03801C03 80FFFFF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03 801C03801C03801C0380FF8FF0181A809916>11 D<00FC000383000603800E07801C0780 1C03001C00001C00001C00001C0000FFFF801C03801C03801C03801C03801C03801C0380 1C03801C03801C03801C03801C03801C03801C03801C0380FF8FF0141A809915>I<60F0 F86808080810102040050B7D990B>39 D<00800100020004000C00080018003000300030 006000600060006000E000E000E000E000E000E000E000E000E000E00060006000600060 00300030003000180008000C00040002000100008009267D9B0F>I<8000400020001000 180008000C00060006000600030003000300030003800380038003800380038003800380 0380038003000300030003000600060006000C0008001800100020004000800009267E9B 0F>I<60F0F07010101020204040040B7D830B>44 DI<60F0F060 04047D830B>I<07E00C301818300C700E60066006E007E007E007E007E007E007E007E0 07E007E007E007E00760066006700E300C18180C3007E0101A7F9813>48 D<03000700FF000700070007000700070007000700070007000700070007000700070007 000700070007000700070007007FF80D197D9813>I<0F80106020704038F038F83CF81C F81C701C003C003800380070006000E001C00180030006040C04180430083FF87FF8FFF8 0E197E9813>I<07E00C301818300C600CE006E006E007E007E007E007E007600F300F30 170C2707C700060006000E300C781C7818703030600F80101A7F9813>57 D<007F00000180C000060030000800080010000400203E020020E1020041C08100438071 008380708087007080870070808700708087007080870070808700708083807080438070 8041C0F10020E13100203E1E0010000000080000000600038001803E00007FE000191A7E 991E>64 D<000C0000000C0000000C0000001E0000001E0000001E0000002F0000002F00 00006F800000478000004780000083C0000083C0000083C0000101E0000101E0000101E0 000200F00003FFF0000200F00004007800040078000C007C0008003C0008003C003C003E 00FF01FFC01A1B7F9A1D>II<003F0201C0C60380260600 1E0C000E1C0006380006380006780002700002F00002F00000F00000F00000F00000F000 00F00000F000027000027800023800023800041C00040C000806001003802001C0C0003F 00171C7E9A1C>II<003F020001C0C6000380260006001E000C000E001C00060038 000600380006007800020070000200F0000200F0000000F0000000F0000000F0000000F0 000000F003FFC0F0001E0070001E0078001E0038001E0038001E001C001E000C001E0006 001E000380260001C0C200003F00001A1C7E9A1E>71 D73 D<07FF80003C00003C00003C00003C00003C00003C00003C0000 3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00703C00F8 3C00F83C00F83C00F0780040700030E0000F8000111B809914>I77 D<007F000001C1C000070070000E0038001C001C001C001C0038000E0078000F0078000F 0070000700F0000780F0000780F0000780F0000780F0000780F0000780F0000780F00007 807000070078000F0078000F0038000E001C001C001E003C000E0038000700700001C1C0 00007F0000191C7E9A1E>79 DI82 D<07C21836300E600E6006E006E002E002F002F00078007F803FF01FF80FFC01FE001E00 0F000F8007800780078007C006E00EF00CCC1883E0101C7E9A15>I<7FFFFF00701E0700 601E0100401E0100C01E0180801E0080801E0080801E0080001E0000001E0000001E0000 001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000 001E0000001E0000001E0000001E0000001E000003FFF000191A7F991C>II87 D91 D93 D<1FC000707000783800781C00301C00001C 0003FC001E1C00381C00701C00E01C00E01C80E01C80E03C80705F801F8F0011107F8F13 >97 DI<07F01C1C383C703C7018E000E000E000E000E000 E0007000700438081C1807E00E107F8F11>I<003F000007000007000007000007000007 0000070000070000070000070003E7000C1700180F00300700700700E00700E00700E007 00E00700E00700E00700600700700700380F001C370007C7E0131A7F9915>I<07C01C30 30187018600CE00CFFFCE000E000E000E0006000700438081C1807E00E107F8F11>I<01 F007180E3C0C3C1C181C001C001C001C001C00FFC01C001C001C001C001C001C001C001C 001C001C001C001C001C001C00FF800E1A80990C>I<0007000FC9801871803031007038 007038007038007038003030001860002FC0006000006000007000003FF0003FFC001FFE 00600F00C00300C00300C00300C00300600600381C0007E00011197F9013>II<183C3C18000000000000FC1C1C1C1C1C1C1C1C1C1C1C1C1C1CFF08 1A80990A>I<00C001E001E000C000000000000000000000000007E000E000E000E000E0 00E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0E0F1C061803E00 0B2183990C>IIIII<07E01C38300C700E6006E0 07E007E007E007E007E0076006700E381C1C3807E010107F8F13>II114 D<1F2060E04020C020C020F0007F003FC01FE000F080708030C030C020F0408F800C107F 8F0F>I<0800080008000800180018003800FFC038003800380038003800380038003800 382038203820382018201C4007800B177F960F>IIIIIII E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmr12 12 22 /Fk 22 122 df<70F8FCFC7404040404080810102040060F7C840E>44 D<70F8F8F87005057C840E>46 D<008003800F80FF80F380038003800380038003800380 038003800380038003800380038003800380038003800380038003800380038003800380 03800380FFFEFFFE0F217CA018>49 D<007E0001FF0003C1800701C00E03C01C03C01C01 80380000380000780000700000700000F0F800F30C00F40600F40300F80380F801C0F001 C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C03803C01803801C07 000E0E0007FC0001F00013227EA018>54 D<01F00007FC000E0E001C0700380380780380 700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E07003E03803E0 1805E00C05E00619E003E1E00001C00001C00003C0000380000380300380780700780E00 701C003038001FF0000FC00013227EA018>57 D<0001800000018000000180000003C000 0003C0000003C0000005E0000005E0000009F0000008F0000008F0000010780000107800 0010780000203C0000203C0000203C0000401E0000401E0000C01F0000800F0000800F00 01FFFF8001FFFF8001000780020003C0020003C0020003C0040001E0040001E0040001E0 0C0000F01E0001F0FF800FFFFF800FFF20237EA225>65 D72 D77 D80 D87 D<1FE000303800780C00780E00 30070000070000070000070000FF0007C7001E07003C0700780700700700F00708F00708 F00708F00F087817083C23900FC1E015157E9418>97 D<01FE000703000C07801C078038 0300780000700000F00000F00000F00000F00000F00000F00000F0000070000078004038 00401C00800C010007060001F80012157E9416>99 D<01FC000707000C03801C01C03801 C07801E07000E0F000E0FFFFE0F00000F00000F00000F00000F000007000007800203800 201C00400E008007030000FC0013157F9416>101 D<00007003F1980E1E181C0E183807 003807007807807807807807807807803807003807001C0E001E1C0033F0002000002000 003000003800003FFE001FFFC00FFFE03000F0600030C00018C00018C00018C000186000 306000303800E00E038003FE0015217F9518>103 D<0E0000FE0000FE00001E00000E00 000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E60C00E80 E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00 700E00700E00700E00700E0070FFE7FFFFE7FF18237FA21B>I<1C003E003E003E001C00 000000000000000000000000000000000E007E007E001E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E000E00FFC0FFC00A227FA10E>I<0E00FE00FE001E 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E000E000E000E000E00FFE0FFE00B237FA20E>108 D<0E3CFE46FE8F1F0F0F060F000E000E000E000E000E000E000E000E000E000E000E000E 000E00FFF0FFF010157F9413>114 D<0F8830786018C018C008C008E008F0007F003FE0 0FF001F8003C801C800C800CC00CC008E018D0308FC00E157E9413>I<02000200020002 0002000600060006000E001E003FFCFFFC0E000E000E000E000E000E000E000E000E000E 000E040E040E040E040E040E040708030801F00E1F7F9E13>I<0E0070FE07F0FE07F01E 00F00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E 00700E00F00E00F006017803827F00FC7F18157F941B>I121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmr17 17.28 29 /Fl 29 120 df<78FCFCFCFC780000000000000000000000000000000000000078FCFCFC FC78061F7A9E12>58 D<0000030000000000030000000000030000000000078000000000 0780000000000FC0000000000FC0000000000FC00000000017E00000000013E000000000 13E00000000023F00000000021F00000000021F00000000040F80000000040F800000000 40F800000000807C00000000807C00000001007E00000001003E00000001003E00000002 003F00000002001F00000002001F00000004000F80000004000F80000004000F80000008 0007C00000080007C00000180007E000001FFFFFE000001FFFFFE00000200003F0000020 0001F00000200001F00000400000F80000400000F80000400000F800008000007C000080 00007C00018000007E00010000003E00010000003E00030000003F00030000001F000700 00001F001F8000003F80FFE00001FFFCFFE00001FFFC2E327EB132>65 D68 D73 D<003FFFC0003FFFC00000 FE0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000000 7C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000000 7C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000000 7C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C007800 7C00FC007C00FC007C00FC007C00F8007800B000F8004000F0004001E0002001C0001803 8000060F000001F800001A327CB022>I<00003FC000000001E07800000007000E000000 1E0007800000380001C00000F00000F00001E00000780003E000007C0003C000003C0007 8000001E000F8000001F000F0000000F001F0000000F801F0000000F803E00000007C03E 00000007C07E00000007E07E00000007E07C00000003E07C00000003E0FC00000003F0FC 00000003F0FC00000003F0FC00000003F0FC00000003F0FC00000003F0FC00000003F0FC 00000003F0FC00000003F0FC00000003F0FC00000003F07C00000003E07E00000007E07E 00000007E07E00000007E03E00000007C03F0000000FC01F0000000F801F0000000F800F 8000001F000F8000001F0007C000003E0003C000003C0003E000007C0001F00000F80000 F80001F000003C0003C000001E000780000007000E00000001E078000000003FC000002C 337CB134>79 D<007F802001FFE06007C078600F001CE01E0006E03C0003E0380001E078 0000E0700000E070000060F0000060F0000060F0000020F0000020F0000020F8000020F8 0000007C0000007E0000003F0000003FC000001FF800000FFF800007FFF00003FFFC0000 FFFF00000FFF800000FFC000001FE0000007E0000003F0000001F0000000F0000000F800 0000F88000007880000078800000788000007880000078C0000078C0000070E00000F0E0 0000E0F00000E0F80001C0EC000380E7000700C1F01E00C07FFC00800FF0001D337CB125 >83 D<7FFFFFFFFFE07FFFFFFFFFE07E000F8007E078000F8001E070000F8000E060000F 80006040000F80002040000F800020C0000F800030C0000F80003080000F80001080000F 80001080000F80001080000F80001080000F80001080000F80001000000F80000000000F 80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F 80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F 80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F 80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F 80000000000F80000000000F80000000000F80000000000F80000000001FC00000000FFF FF8000000FFFFF80002C317EB030>I<00FE00000303C0000C00E0001000700010003800 3C003C003E001C003E001E003E001E0008001E0000001E0000001E0000001E00000FFE00 00FC1E0003E01E000F801E001F001E003E001E003C001E007C001E00F8001E04F8001E04 F8001E04F8003E04F8003E0478003E047C005E043E008F080F0307F003FC03E01E1F7D9E 21>97 D<0780000000FF80000000FF800000000F80000000078000000007800000000780 000000078000000007800000000780000000078000000007800000000780000000078000 0000078000000007800000000780000000078000000007800000000781FC000007860780 00078801C000079000E00007A000700007C00038000780003C000780001E000780001E00 0780001F000780000F000780000F000780000F800780000F800780000F800780000F8007 80000F800780000F800780000F800780000F000780000F000780001F000780001E000780 001E000780003C0007C00038000720007000072000E000061801C00006060700000401F8 000021327EB125>I<001FC00000F0300001C00C00078002000F0002000E000F001E001F 003C001F003C001F007C00040078000000F8000000F8000000F8000000F8000000F80000 00F8000000F8000000F8000000F8000000780000007C0000003C0000003C0000801E0000 800E0001000F0001000780020001C00C0000F03000001FC000191F7E9E1D>I<000000F0 0000001FF00000001FF000000001F000000000F000000000F000000000F000000000F000 000000F000000000F000000000F000000000F000000000F000000000F000000000F00000 0000F000000000F000000000F000000000F000000FC0F000007030F00001C00CF0000380 02F000070001F0000E0001F0001E0000F0003C0000F0003C0000F0007C0000F000780000 F000780000F000F80000F000F80000F000F80000F000F80000F000F80000F000F80000F0 00F80000F000780000F000780000F0007C0000F0003C0000F0003C0000F0001E0000F000 0E0001F000070002F000038004F00001C008F80000F030FF80001FC0FF8021327EB125> I<003F800000E0E0000380380007003C000E001E001E001E001C000F003C000F007C000F 0078000F8078000780F8000780F8000780FFFFFF80F8000000F8000000F8000000F80000 00F8000000F8000000780000007C0000003C0000003C0000801E0000800E0001000F0002 000700020001C00C0000F03000001FC000191F7E9E1D>I<0007E0001C1000383800707C 00E07C01E07C01C03803C00003C00003C00003C00003C00003C00003C00003C00003C000 03C00003C00003C000FFFFC0FFFFC003C00003C00003C00003C00003C00003C00003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000 03C00003C00003C00003C00003C00003C00003C00007E0007FFF007FFF0016327FB114> I<000000F0007F030801C1C41C0380E81C070070080F0078001E003C001E003C003E003E 003E003E003E003E003E003E003E003E003E003E001E003C001E003C000F007800070070 000780E00009C1C000087F000018000000180000001800000018000000180000001C0000 000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E0300000F070000070E00000 38E0000038E0000038E0000038E00000387000007070000070380000E01C0001C0070007 0001C01C00003FE0001E2F7E9F21>I<0780000000FF80000000FF800000000F80000000 078000000007800000000780000000078000000007800000000780000000078000000007 800000000780000000078000000007800000000780000000078000000007800000000780 0000000780FE00000783078000078C03C000079001E00007A001E00007A000F00007C000 F00007C000F000078000F000078000F000078000F000078000F000078000F000078000F0 00078000F000078000F000078000F000078000F000078000F000078000F000078000F000 078000F000078000F000078000F000078000F000078000F000078000F000078000F0000F C001F800FFFC1FFF80FFFC1FFF8021327EB125>I<0F001F801F801F801F800F00000000 0000000000000000000000000000000000000007807F807F800F80078007800780078007 800780078007800780078007800780078007800780078007800780078007800780078007 8007800FC0FFF8FFF80D307EAF12>I<001E003F003F003F003F001E0000000000000000 0000000000000000000000000000001F01FF01FF001F000F000F000F000F000F000F000F 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F 000F000F000F000F000F000F000F000F000F200EF80EF81EF81C703860701FC0103E83AF 14>I<0780FF80FF800F8007800780078007800780078007800780078007800780078007 800780078007800780078007800780078007800780078007800780078007800780078007 800780078007800780078007800780078007800780078007800FC0FFFCFFFC0E327EB112 >108 D<0780FE001FC000FF83078060F000FF8C03C18078000F9001E2003C0007A001E4 003C0007A000F4001E0007C000F8001E0007C000F8001E00078000F0001E00078000F000 1E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E 00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00 078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E0007 8000F0001E00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC 1FFF83FFF0341F7E9E38>I<0780FE0000FF83078000FF8C03C0000F9001E00007A001E0 0007A000F00007C000F00007C000F000078000F000078000F000078000F000078000F000 078000F000078000F000078000F000078000F000078000F000078000F000078000F00007 8000F000078000F000078000F000078000F000078000F000078000F000078000F0000780 00F000078000F0000FC001F800FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F0 780001C01C00070007000F0007801E0003C01C0001C03C0001E03C0001E0780000F07800 00F0780000F0F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F800 00F8780000F07C0001F03C0001E03C0001E01E0003C01E0003C00F00078007800F0001C0 1C0000F07800001FC0001D1F7E9E21>I<0781FC0000FF86078000FF8801C0000F9000E0 0007A000700007C00078000780003C000780003E000780001E000780001F000780001F00 0780000F000780000F800780000F800780000F800780000F800780000F800780000F8007 80000F800780000F000780001F000780001F000780001E000780003E000780003C0007C0 00780007A000700007A000E000079803C00007860F00000781F800000780000000078000 000007800000000780000000078000000007800000000780000000078000000007800000 00078000000007800000000FC0000000FFFC000000FFFC000000212D7E9E25>I<0783E0 FF8418FF887C0F907C07A07C07A03807C00007C00007C000078000078000078000078000 078000078000078000078000078000078000078000078000078000078000078000078000 0780000780000780000FC000FFFE00FFFE00161F7E9E19>114 D<01FC100E03301800F0 300070600030E00030E00010E00010E00010F00010F800007E00003FF0001FFF000FFFC0 03FFE0003FF00001F80000F880003C80003C80001CC0001CC0001CE0001CE00018F00038 F00030EC0060C301C080FE00161F7E9E1A>I<00400000400000400000400000400000C0 0000C00000C00001C00001C00003C00007C0000FC0001FFFE0FFFFE003C00003C00003C0 0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0 0003C00003C01003C01003C01003C01003C01003C01003C01003C01001C02001E02000E0 400078C0001F00142C7FAB19>I<078000F000FF801FF000FF801FF0000F8001F0000780 00F000078000F000078000F000078000F000078000F000078000F000078000F000078000 F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0 00078000F000078000F000078000F000078000F000078001F000078001F000078001F000 038002F00003C004F00001C008F800007030FF80001FC0FF80211F7E9E25>III E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 379 436 a Fl(A)21 b(T)-6 b(ale)22 b(of)g(Tw)n(o)f(Directories:) 30 b(Implemen)n(ting)465 527 y(Distributed)22 b(Shared)f(Ob)t(jects)g (in)g(Ja)n(v)l(a)528 648 y Fk(Maurice)15 b(Herlih)o(y)434 697 y Fj(Computer)e(Science)h(Departmen)o(t)545 743 y(Bro)o(wn)f(Univ)o (ersit)o(y)513 788 y(Pro)o(vidence,)h(RI)f(02912)505 834 y(herlih)o(y@cs.bro)o(wn.edu)1107 648 y Fk(Mic)o(hael)i(P)l(.)h(W)l (arres)1142 697 y Fj(Sun)e(Microsystems)1126 743 y(mp)o(w@east.sun.com) 813 927 y Fk(August)i(6,)h(1999)889 1070 y Fi(Abstract)419 1128 y Fj(A)f Fh(dir)n(e)n(ctory)h Fj(service)h(k)o(eeps)f(trac)o(k)g (of)f(the)h(lo)q(cation)h(and)g(status)f(of)f(mobile)361 1174 y(ob)r(jects)e(in)g(a)g(distributed)i(system.)j(This)14 b(pap)q(er)h(describ)q(es)g(our)f(exp)q(erience)h(im-)361 1220 y(plemen)o(ting)d(t)o(w)o(o)e(distributed)i(directory)f(proto)q (cols)h(as)e(part)g(of)f(the)h Fh(A)o(leph)f(to)n(olkit)p Fj(,)361 1265 y(a)k(distributed)i(shared)f(ob)r(ject)f(system)g (implemen)o(ted)i(in)f(Ja)o(v)n(a.)j(One)c(proto)q(col)h(is)361 1311 y(a)j(con)o(v)o(en)o(tional)j Fh(home)s Fj(-based)c(proto)q(col,)j (in)e(whic)o(h)h(a)f(\014xed)g(no)q(de)h(k)o(eeps)f(trac)o(k)361 1357 y(of)d(the)g(ob)r(ject's)g(lo)q(cation)i(and)f(status.)20 b(The)14 b(other)h(is)f(a)g(no)o(v)o(el)h Fh(arr)n(ow)j Fj(proto)q(col,)361 1402 y(based)c(on)f(a)g(simple)i(path-rev)o(ersal)g (algorithm.)419 1448 y(W)m(e)g(w)o(ere)g(surprised)i(to)e(disco)o(v)o (er)i(that)e(the)h(arro)o(w)f(proto)q(col)h(outp)q(erformed)361 1494 y(the)10 b(home)g(proto)q(col,)h(sometimes)g(substan)o(tiall)q(y)m (,)h(across)f(a)e(range)i(of)e(system)h(sizes.)361 1539 y(This)k(pap)q(er)g(describ)q(es)h(a)e(series)h(of)f(exp)q(erimen)o(ts) i(testing)f(whether)g(the)f(discrep-)361 1585 y(ancy)f(is)g(due)h(to)e (an)h(artifact)g(of)f(the)h(Ja)o(v)n(a)f(run-time)i(system)f(\(suc)o(h) g(as)g(di\013erences)361 1631 y(in)f(thread)g(managemen)o(t)g(or)f(ob)r (ject)g(serializati)q(on)j(costs\),)e(or)f(whether)g(it)h(is)f(some-) 361 1676 y(thing)18 b(inheren)o(t)f(in)g(the)g(proto)q(cols)g(themselv) o(es.)28 b(In)17 b(the)f(end,)h(w)o(e)f(use)g(insigh)o(ts)361 1722 y(gained)d(from)f(these)g(exp)q(erimen)o(tal)i(results)e(to)g (design)h(a)f(new)f(directory)i(proto)q(col)361 1768 y(that)g(outp)q(erforms)h(b)q(oth.)419 1932 y(A)d(preliminary)k(v)o (ersion)e(of)e(this)h(pap)q(er)h(app)q(eared)g(in)f(the)g(1999)g(Ja)o (v)n(a)g(Grande)361 1977 y(Conference)i([1)o(].)257 2113 y Fg(1)67 b(In)n(tro)r(duction)257 2204 y Ff(Man)o(y)15 b(distributed)h(systems)f(supp)q(ort)h(some)e(form)g(of)g Fe(mobile)i(obje)n(ct)p Ff(,)f(whic)o(h)g(could)g(b)q(e)257 2254 y(a)g(\014le,)g(a)g(pro)q(cess,)i(or)e(an)o(y)g(other)g(data)g (structure.)24 b(A)15 b Fe(dir)n(e)n(ctory)j Ff(service)f(allo)o(ws)d (no)q(des)257 2304 y(to)j(k)o(eep)g(trac)o(k)g(of)g(mobile)d(ob)r (jects.)28 b(In)17 b(this)g(pap)q(er,)g(w)o(e)g(are)g(primarily)d(in)o (terested)19 b(in)257 2354 y(directories)e(that)e(trac)o(k)g(cac)o(hed) h(copies)g(of)e(shared)i(data)f(ob)r(jects,)h(but)f(the)h(tec)o (hniques)257 2403 y(describ)q(ed)g(could)e(also)f(b)q(e)i(applied)e(to) h(other)g(kinds)g(of)f(mobile)f(ob)r(jects.)320 2453 y(This)g(pap)q(er)i(describ)q(es)h(our)e(exp)q(erience)i(implem)o(en)o (ting)10 b(t)o(w)o(o)i(distributed)i(directory)257 2503 y(proto)q(cols)j(as)f(part)h(of)f(the)h Fe(A)o(leph)g(to)n(olkit)i Ff([14)o(],)d(a)g(distributed)h(shared)h(ob)r(ject)f(system)963 2628 y(1)p eop %%Page: 2 2 2 1 bop 257 262 a Ff(implemen)o(ted)13 b(in)i(Ja)o(v)n(a.)22 b(In)15 b(the)h(Aleph)g(to)q(olkit,)e(as)h(describ)q(ed)i(b)q(elo)o(w,) e(a)g(collection)g(of)257 311 y Fe(pr)n(o)n(c)n(essing)j(elements)j Ff(\(PEs\),)e(eac)o(h)f(a)f(Ja)o(v)n(a)f(virtual)h(mac)o(hine,)f(share) i(a)f(collection)g(of)257 361 y Fe(glob)n(al)c(obje)n(cts)p Ff(.)k(Copies)12 b(of)f(global)e(ob)r(jects)k(\(either)g(exclusiv)o(e)f (or)f(shared\))i(are)f(cac)o(hed)h(at)257 411 y(PEs)j(on)f(demand.)21 b(The)16 b Fe(dir)n(e)n(ctory)f(manager)20 b Ff(pac)o(k)n(age)15 b(is)g(in)g(c)o(harge)g(of)g(k)o(eeping)g(trac)o(k)257 461 y(of)i(eac)o(h)h(global)e(ob)r(ject's)i(cac)o(hed)h(copies,)f(in)o (v)n(alidating)d(or)i(mo)o(ving)e(them)i(around)g(as)257 511 y(needed.)320 560 y(W)m(e)c(consider)i(t)o(w)o(o)e(alternativ)o(e)h (directory)h(proto)q(cols.)320 643 y Fd(\017)20 b Ff(The)15 b Fe(home)j Ff(directory)e(proto)q(col)e(is)g(a)h(con)o(v)o(en)o (tional)e(in)o(v)n(alidation-based)f(sc)o(heme)361 693 y(in)g(whic)o(h)f(eac)o(h)i(global)d(ob)r(ject)j(is)f(asso)q(ciated)g (with)g(a)g(\014xed)g Fe(home)j Ff(PE.)d(The)h(home)361 743 y(k)o(eeps)i(trac)o(k)f(of)g(the)g(status)h(and)e(lo)q(cation)g(of) h(the)g(ob)r(ject's)h(cac)o(hed)g(copies.)320 826 y Fd(\017)20 b Ff(The)c Fe(arr)n(ow)j Ff(directory)d(proto)q(col)f([12)o(])g(is)g(a) h(recen)o(tly-dev)o(elop)q(ed)h(proto)q(col)e(based)361 876 y(on)f(a)f(simple)g(path-rev)o(ersal)h(algorithm.)257 959 y(This)i(pap)q(er)g(giv)o(es)f(the)h(\014rst)h(exp)q(erimen)o(tal)d (comparison)g(of)h(the)h(arro)o(w)f(and)h(home)e(di-)257 1009 y(rectory)h(proto)q(cols.)320 1059 y(The)j(arro)o(w)f(proto)q(col) h(w)o(as)f(originally)e(conceiv)o(ed)k(as)f(a)f(w)o(a)o(y)g(to)h (circum)o(v)o(en)o(t)f(scal-)257 1108 y(abilit)o(y)f(problems)h (inheren)o(t)h(in)f(home-based)g(proto)q(cols,)h(and)g(a)f(theoretical) h(analysis)257 1158 y(app)q(ears)e(elsewhere)g([12)o(].)j(Nev)o (ertheless,)e(w)o(e)d(w)o(ere)i(curious)f(ho)o(w)f(it)g(w)o(ould)f(p)q (erform)h(in)257 1208 y(practice)k(on)e(a)g(relativ)o(ely)f (small-scale)g(system,)h(so)g(w)o(e)g(ran)h(some)e(simple)g (distributed)257 1258 y(b)q(enc)o(hmarks)h(to)g(compare)f(the)i(arro)o (w)f(proto)q(col)f(against)h(the)g(con)o(v)o(en)o(tional)f(home)g(di-) 257 1308 y(rectory)j(proto)q(col.)26 b(T)m(o)15 b(our)i(surprise,)h (the)f(arro)o(w)f(proto)q(col)g(outp)q(erformed)h(the)g(home)257 1357 y(proto)q(col,)j(sometimes)d(substan)o(tially)m(,)h(across)h(a)g (range)g(of)f(system)g(sizes,)j(and)e(across)257 1407 y(di\013eren)o(t)c(platforms)d(and)i(JDKs.)320 1457 y(This)f(pap)q(er)h (describ)q(es)h(a)e(series)i(of)d(exp)q(erimen)o(ts)i(devised)g(to)f (explain)f(this)h(discrep-)257 1507 y(ancy)m(.)23 b(One)16 b(h)o(yp)q(othesis)g(is)f(that)h(the)g(di\013erence)h(is)f(an)f (artifact)g(of)g(the)h(Ja)o(v)n(a)f(run-time)257 1557 y(system,)d(due)h(to)g(di\013eren)o(t)g(w)o(a)o(ys)f(in)g(whic)o(h)g (the)h(proto)q(cols)g(mak)o(e)e(use)i(of)f(p)q(oten)o(tially)f(ex-)257 1606 y(p)q(ensiv)o(e)17 b(Ja)o(v)n(a)e(constructs)j(suc)o(h)e(as)g (threading,)g(ob)r(ject)g(serialization,)f(transp)q(ort-lev)o(el)257 1656 y(proto)q(cols)d(\(e.g.,)f(RMI)h(vs.)17 b(UDP\),)12 b(etc.)18 b(An)12 b(alternativ)o(e)f(h)o(yp)q(othesis)i(is)e(that)h (the)g(di\013er-)257 1706 y(ence)h(re\015ects)g(inheren)o(t)f(prop)q (erties)g(of)e(the)i(t)o(w)o(o)e(proto)q(cols.)18 b(In)11 b(the)g(end,)h(w)o(e)f(use)h(insigh)o(ts)257 1756 y(gained)17 b(from)e(these)j(exp)q(erimen)o(tal)e(results)h(to)g(devise)g(a)g(no)o (v)o(el)f Fe(hybrid)21 b Ff(proto)q(col)16 b(that)257 1806 y(com)o(bines)d(adv)n(an)o(tages)h(of)f(b)q(oth)h(the)h (home-based)e(and)g(arro)o(w)h(proto)q(cols.)257 1943 y Fg(2)67 b(Bac)n(kground:)31 b(The)22 b(Aleph)h(T)-6 b(o)r(olkit)257 2034 y Ff(The)11 b(w)o(ork)f(describ)q(ed)i(here)g(w)o (as)e(p)q(erformed)g(in)g(the)h(con)o(text)g(of)f(the)h Fe(A)o(leph)g(to)n(olkit)j Ff([14)o(],)c(a)257 2084 y(collection)i(of)g (Ja)o(v)n(a)f(pac)o(k)n(ages)h(that)g(implemen)o(ts)e(a)i (platform-indep)q(enden)o(t)f(distributed)257 2134 y(shared)16 b(ob)r(ject)f(system.)21 b(A)14 b(distributed)i(program)d(runs)i(on)f (a)h(n)o(um)o(b)q(er)f(of)g(logical)f(pro-)257 2183 y(cessors,)i (called)e Fe(Pr)n(o)n(c)n(essing)h(Elements)j Ff(\(PEs\).)i(Eac)o(h)13 b(PE)h(is)f(a)g(Ja)o(v)n(a)f(Virtual)h(Mac)o(hine,)257 2233 y(with)j(its)g(o)o(wn)f(address)i(space.)24 b(Aleph)16 b(pro)o(vides)g(the)h(abilit)o(y)d(to)h(start)i(threads)f(on)g(re-)257 2283 y(mote)10 b(pro)q(cessors,)i(and)f(to)f(comm)o(unicate)e(either)j (b)o(y)f(shared)i(ob)r(jects)f(\(with)f(transparen)o(t)257 2333 y(sync)o(hronization)i(and)f(cac)o(hing\),)h(or)f(b)o(y)h (message-passing)f(or)g(b)o(y)h(ordered)h(reliable)e(m)o(ul-)257 2383 y(ticast.)320 2432 y(Structuring)16 b(a)f(distributed)h(system)f (as)h(a)f(to)q(olkit)f(allo)o(ws)g(programmers)g(to)h(\\mix-)257 2482 y(and-matc)o(h")e(di\013eren)o(t)i(implemen)o(tations)d(of)h (run-time)h(system)g(comp)q(onen)o(ts)g(without)963 2628 y(2)p eop %%Page: 3 3 3 2 bop 257 262 a Ff(the)11 b(need)g(to)f(restructure)j(the)e (application)e(eac)o(h)i(time.)k(T)m(o)10 b(this)g(end,)h(the)g(Aleph)f (T)m(o)q(olkit)257 311 y(isolates)h(the)h(most)d(p)q (erformance-critical)i(and)f(application-dep)q(enden)o(t)h(comp)q(onen) o(ts)g(of)257 361 y(the)h(run-time)e(system)h(as)h(distinct)f(pac)o(k)n (ages)h(that)f(can)g(b)q(e)h(replaced)h(without)d(ha)o(ving)h(to)257 411 y(restructure)16 b(higher-lev)o(el)c(applications.)k(Within)c(the)h (to)q(olkit,)e(eac)o(h)i(of)f(these)h(pac)o(k)n(ages)257 461 y(is)f(accessible)i(only)d(through)h(a)g(Ja)o(v)n(a)f Fe(interfac)n(e)p Ff(,)h(a)g(language)f(construct)j(that)e(constrains) 257 511 y(metho)q(d)17 b(signatures)h(\(and)g(indirectly)f (functionalit)o(y\).)27 b(The)18 b(Aleph)g(to)q(olkit)e(pro)o(vides)257 560 y(one)11 b(or)f(more)f Fe(default)h Ff(implemen)o(tations)d(of)j (these)i(pac)o(k)n(ages,)e(and)g(users)i(are)e(encouraged)257 610 y(to)15 b(substitute)h(their)f(o)o(wn)f(customized)g(implemen)o (tations.)k(When)c(a)h(PE)g(is)f(started,)i(it)257 660 y(c)o(ho)q(oses)h(at)e(run-time)f(whic)o(h)h(implem)o(en)o(tation)d(to) j(use)h(based)g(on)f(run-time)f(\015ags)h(or)g(a)257 710 y(con\014guration)f(\014le.)320 760 y(Aleph)g(encapsulates)h(a)e(v) n(ariet)o(y)h(of)f(run-time)g(services)i(b)q(ehind)f(in)o(terfaces,)h (but)f(the)257 809 y(t)o(w)o(o)20 b(that)g(concern)h(us)f(here)h(are)f (the)h Fe(dir)n(e)n(ctory)e(manager)p Ff(,)i(in)f(c)o(harge)g(of)f (managing)257 859 y(replicated)g(copies)g(of)e(distributed)i(shared)g (ob)r(jects,)h(and)e(the)h Fe(c)n(ommunic)n(ation)g(man-)257 909 y(ager)p Ff(,)f(in)e(c)o(harge)i(of)e(p)q(oin)o(t-to-p)q(oin)o(t)g (message-passing.)27 b(In)18 b(this)f(pap)q(er,)h(w)o(e)f(compare)257 959 y(t)o(w)o(o)d(distinct)g(implem)o(en)o(tations)d(of)i(the)h (directory)h(manager,)d(one)i(based)g(on)f(the)i(home)257 1009 y(proto)q(col,)f(and)f(one)h(based)h(on)f(the)g(arro)o(w)g(proto)q (col.)320 1059 y(Within)8 b(eac)o(h)i(implem)o(en)o(tation)c(of)j(the)h (directory)g(manager,)e(p)q(oin)o(t-to-p)q(oin)o(t)g(message-)257 1108 y(passing)15 b(is)f(handled)g(b)o(y)g(calls)g(to)g(the)h(comm)o (unication)c(manager.)18 b(Messages)e(in)e(Aleph)257 1158 y(are)22 b(mo)q(deled)e(lo)q(osely)g(on)h Fe(active)g(messages)k Ff([28)o(].)39 b(Eac)o(h)21 b(message)g(encompasses)h(a)257 1208 y(metho)q(d)e(and)g(its)h(argumen)o(ts,)g(and)f(that)g(metho)q(d)g (is)g(called)g(when)h(the)g(message)g(is)257 1258 y(receiv)o(ed.)37 b(The)20 b(abstract)h(class)f Fc(aleph.Message)d Ff(implemen)o(ts)g Fc(Serializable)h Ff(and)257 1308 y Fc(Runnable)p Ff(.)23 b(A)16 b(new)g(message)g(class)g(is)g(de\014ned)h(b)o(y)f(extending)g Fc(aleph.Message)p Ff(,)e(pro-)257 1357 y(viding)g(a)h Fc(void)21 b(run\(\))14 b Ff(metho)q(d)g(to)h(b)q(e)h(called)e(b)o(y)h (the)h(receiv)o(er.)23 b(Messages)16 b(sen)o(t)g(from)257 1407 y(one)i(PE)f(to)g(another)h(are)f(receiv)o(ed)h(in)f(FIF)o(O)g (order.)29 b(T)m(o)16 b(minim)o(ize)f(thread)i(manage-)257 1457 y(men)o(t)11 b(o)o(v)o(erhead,)g(if)g(the)h(programmer)d (indicates)j(that)f(a)g(message's)g Fc(run\(\))o Ff(metho)q(d)f(can-) 257 1507 y(not)16 b(blo)q(c)o(k)f(\(i.e.,)g(pause)h(for)f(an)g (unpredictable)i(duration\),)e(then)h(that)g(metho)q(d)f(is)g(run)257 1557 y(to)i(completion)d(b)q(efore)j(accepting)g(the)g(next)g(message.) 26 b(Otherwise,)18 b(the)f(PE)f(starts)i(a)257 1606 y(thread)g(to)f (execute)h(the)g Fc(run\(\))e Ff(metho)q(d,)g(and)h(imm)o(ediately)d (accepts)k(the)g(next)f(mes-)257 1656 y(sage.)26 b(W)m(e)16 b(curren)o(tly)h(ha)o(v)o(e)f(t)o(w)o(o)g(implemen)o(tations)d(of)j (the)h(comm)o(unication)c(manager)257 1706 y(in)o(terface,)h(one)g (based)h(on)f(UDP)g(datagrams,)d(and)j(one)g(based)h(on)e(Ja)o(v)n(a)h (RMI.)257 1843 y Fg(3)67 b(Directory)24 b(Proto)r(cols)257 1934 y Ff(Because)15 b(PEs)e(are)g(distinct)g(Ja)o(v)n(a)f(virtual)g (mac)o(hines,)f(they)i(cannot)g(share)h(regular)e(Ja)o(v)n(a)257 1984 y(ob)r(jects.)33 b(Aleph)18 b(pro)o(vides)h(a)f Fc(GlobalObject)d Ff(class)k(that)g(allo)o(ws)e(PEs)i(to)f(share)h(an)o (y)257 2034 y(serializable)j(ob)r(ject.)42 b(The)22 b(co)q(de)g (fragmen)o(t)e(in)h(Figure)h(1)f(sho)o(ws)h(ho)o(w)f(to)h(create)h(a) 257 2084 y(global)18 b(ob)r(ject,)k(op)q(en)e(it,)g(mo)q(dify)d(it,)k (and)e(commit)e(the)j(c)o(hange.)36 b(The)20 b(metho)q(ds)f(of)257 2134 y(the)c Fc(GlobalObject)c Ff(class)k(do)e(little)g(more)g(than)h (call)f(the)i(directory)f(manager.)320 2183 y(W)m(e)21 b(no)o(w)h(describ)q(e)i(the)f(t)o(w)o(o)f(directory)g(proto)q(cols)h (\(and)f(their)h(v)n(arian)o(ts\).)42 b(F)m(or)257 2233 y(brevit)o(y)m(,)13 b(w)o(e)g(omit)d(man)o(y)h(details.)18 b(W)m(e)12 b(describ)q(e)j(eac)o(h)e(directory)h(as)f(if)f(it)g(w)o (ere)i(trac)o(king)257 2283 y(the)h(lo)q(cation)e(of)g(a)h(single)f(ob) r(ject,)h(and)g(w)o(e)g(fo)q(cus)h(on)e(exclusiv)o(e)i(access.)963 2628 y(3)p eop %%Page: 4 4 4 3 bop 345 249 a Fc(GlobalObject)19 b(g)i(=)h(new)f(GlobalObject\(new) e(Queue\(\)\);)345 299 y(Queue)h(q)i(=)f(\(Queue\))g(g.open\("w"\);)85 b(//)21 b(acquire)f(exclusive)g(access)345 348 y(q.enq\(x\);)543 b(//)21 b(modify)f(the)i(object)345 398 y(g.release\(\);)477 b(//)21 b(commit)f(and)i(release)624 531 y Ff(Figure)14 b(1:)k(Ho)o(w)13 b(to)h(Use)h(a)e(Global)f(Ob)r(ject)460 622 y(message)253 b(function)308 b(blo)q(c)o(king?)p 436 638 1076 2 v 460 673 a Fc(RetrieveRequest)69 b Ff(ask)14 b(home)f(for)g(ob)r(ject)99 b(y)o(es)460 723 y Fc(RetrieveResponse)47 b Ff(gran)o(t)14 b(ob)r(ject)g(to)g(PE)115 b(no)460 773 y Fc(ReleaseRequest)91 b Ff(in)o(v)n(alidate)12 b(cac)o(hed)j(cop)o(y) 50 b(y)o(es)460 822 y Fc(ReleaseResponse)69 b Ff(con\014rm)13 b(in)o(v)n(alidation)92 b(no)648 953 y(Figure)14 b(2:)j(Home)c (Directory)i(Messages)257 1081 y Fb(3.1)56 b(The)18 b(Home)g(Directory) 257 1158 y Ff(The)f Fe(home)i Ff(directory)e(is)f(a)f(\\v)n(anilla")f (sc)o(heme)i(in)f(whic)o(h)h(eac)o(h)h(global)d(ob)r(ject)j(is)e(asso-) 257 1207 y(ciated)j(with)f(a)g(\014xed)g(PE,)h(termed)f(that)g(ob)r (ject's)h(\\home".)26 b(The)18 b(home)e(k)o(eeps)i(trac)o(k)257 1257 y(of)e(the)i(n)o(um)o(b)q(er,)e(status)h(and)g(lo)q(cation)e(of)h (all)g(cac)o(hed)h(copies)h(of)e(that)g(ob)r(ject.)27 b(There)257 1307 y(ma)o(y)12 b(b)q(e)i(one)f(read/write)h(cac)o(hed)h (cop)o(y)m(,)d(or)h(there)i(ma)o(y)c(b)q(e)j(m)o(ultiple)e(read-only)g (cac)o(hed)257 1357 y(copies.)29 b(If)17 b(a)g(clien)o(t)g(has)g(a)g (cac)o(hed)i(cop)o(y)e(of)f(the)i(ob)r(ject,)h(it)e(k)o(eeps)h(trac)o (k)f(of)g(whether)257 1407 y(the)g(ob)r(ject)f(is)f Fe(busy)20 b Ff(\(in)c(use)g(b)o(y)f(a)h(lo)q(cal)e(thread\),)j(and)e(if)g(so,)h (whether)h(the)f(home)e(has)257 1456 y(requested)i(the)f(cop)o(y)f(to)f (b)q(e)i(returned)h(or)d(in)o(v)n(alidated.)320 1506 y(W)m(e)f(will)g(illustrate)g(this)h(proto)q(col)g(b)o(y)g(tracing)g (ho)o(w)f(one)h(PE)h(can)f(acquire)g(exclusiv)o(e)257 1556 y(access)19 b(to)d(a)g(global)e(ob)r(ject)k(held)e(b)o(y)g (another.)26 b(When)16 b(the)h(clien)o(t)g(requests)h(exclusiv)o(e)257 1606 y(access)e(to)e(a)f(global)g(ob)r(ject,)h(it)f(do)q(es)i(the)f (follo)o(wing.)308 1684 y(1.)20 b(It)14 b(sends)h(a)f Fc(RetrieveRequest)d Ff(message)i(to)h(the)g(ob)r(ject's)h(home.)308 1765 y(2.)20 b(The)11 b(home)e(sends)i(a)f Fc(ReleaseRequest)d Ff(messages)j(to)g(the)h(PE)g(holding)e(the)h(cac)o(hed)361 1815 y(cop)o(y)m(,)j(and)h Fc(RetrieveRequest.)o(run\(\))c Ff(blo)q(c)o(ks.)308 1896 y(3.)20 b(A)o(t)c(the)h(PE)f(holding)e(the)j (cop)o(y)m(,)e(the)i Fc(ReleaseRequest.r)o(un\(\))12 b Ff(metho)q(d)j(blo)q(c)o(ks)361 1945 y(while)g(the)i(cac)o(hed)g(cop) o(y)e(is)h(in)f(use.)25 b(When)16 b(ob)r(ject)g(b)q(ecomes)g(free,)h (the)f(metho)q(d)361 1995 y(in)o(v)n(alidates)10 b(the)i(cop)o(y)g(and) f(returns)i(a)f Fc(ReleaseResponse)c Ff(message)j(to)h(the)g(home)361 2045 y(as)i(con\014rmation.)308 2126 y(4.)20 b(A)o(t)10 b(the)g(home,)f(the)h(blo)q(c)o(k)o(ed)g Fc(RetrieveRequest.)o(run\(\)) c Ff(is)j(noti\014ed,)h(and)g(it)f(sends)361 2176 y(a)16 b Fc(RetrieveResponse)d Ff(message)k(con)o(taining)e(the)i(curren)o(t)h (ob)r(ject)f(cop)o(y)g(to)f(the)361 2225 y(requesting)f(clien)o(t.)257 2304 y(Ov)o(erall,)21 b(acquiring)e(exclusiv)o(e)i(access)h(to)e(an)g (ob)r(ject)h(requires)g(four)f(messages)g(\(t)o(w)o(o)257 2354 y(blo)q(c)o(king\).)31 b(The)19 b(other)g(cases)h(\(e.g.,)f(read)g (access\))h(are)f(similar.)29 b(Figure)19 b(2)f(sho)o(ws)h(a)257 2403 y(table)14 b(of)f(message)h(classes)h(used)g(b)o(y)f(the)g(home)f (directory)m(.)320 2453 y(The)d(home)f(directory)i(is)f(simple)f(and)h (easy)h(to)f(implemen)o(t,)d(and)k(similar)c(sc)o(hemes)k(are)257 2503 y(widely)j(used)h(in)e(distributed)i(shared)g(memory)d(\(DSM\))i (systems)g(and)g(shared-memory)963 2628 y(4)p eop %%Page: 5 5 5 4 bop 587 1120 a @beginspecial 66 @llx 94 @lly 532 @urx 636 @ury 2160 @rhi @setspecial %%BeginDocument: arrow1.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: 66 94 532 636 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 10 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 202 363 218 587 Line %I 1 End Begin %I Line %I b 65520 1 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 258 595 570 499 Line %I 1 End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -384 120 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -36 -33 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 549.5 619.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 210 339 218 83 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 250 75 586 187 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 578 483 226 355 Line %I 1 End Begin %I Line %I b 65520 0 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 586 475 242 91 Line %I 1 End Begin %I Line %I b 65520 1 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 610 451 610 219 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -440 -449 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -36 -344 ] concat %I 614 640 87 69 Elli End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t u Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -36 -33 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 549.5 619.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 549.5 308.5 ] concat %I [ (node) ] Text End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 203.5 ] concat %I [ (node) ] Text End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 476.5 ] concat %I [ (node) ] Text End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -112 -336 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 203 524 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 1 0 0 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 264 791 ] concat %I [ (object) ] Text End End %I eop Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 413 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 -0 -1 -34 811 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End End %I eop showpage %%Trailer end %%EndDocument @endspecial 681 1211 a Ff(Figure)14 b(3:)k(Initial)12 b(Directory)i(State)257 1344 y(m)o(ultipro)q(cessors\([7,)j(9,)h(10)o (,)g(17,)f(18,)g(21,)h(24)o(].)31 b(Nev)o(ertheless,)21 b(an)o(y)c(sc)o(heme)i(in)f(whic)o(h)257 1394 y(an)f(ob)r(ject)h(has)f (a)g(\014xed)h(home)e(su\013ers)j(from)c(p)q(oten)o(tial)h(problems)h (of)f(scalabilit)o(y)g(and)257 1444 y(lo)q(calit)o(y)m(.)31 b(As)19 b(the)g(n)o(um)o(b)q(er)f(of)g(PEs)i(gro)o(ws,)f(or)g(if)f(an)g (ob)r(ject)i(is)e(a)g(\\hot)h(sp)q(ot",)g(that)257 1493 y(ob)r(ject's)f(home)f(is)g(lik)o(ely)f(to)h(b)q(ecome)g(a)g(sync)o (hronization)h(b)q(ottlenec)o(k,)g(since)g(it)f(m)o(ust)257 1543 y(mediate)e(all)g(access)j(to)d(that)h(ob)r(ject.)25 b(Moreo)o(v)o(er,)17 b(if)e(a)h(clien)o(t)g(is)f(far)h(from)e(an)i(ob)r (ject's)257 1593 y(home,)c(then)i(it)f(m)o(ust)f(incur)i(the)g(cost)g (of)f(comm)o(unicating)d(with)j(the)h(home,)d(ev)o(en)j(if)f(the)257 1643 y(PE)i(curren)o(tly)g(holding)d(the)j(ob)r(ject)f(is)g(nearb)o(y)m (.)257 1759 y Fb(3.2)56 b(The)18 b(Arro)n(w)i(Directory)257 1836 y Ff(W)m(e)c(start)g(with)g(the)g(simplest)f(form)f(of)i(the)g (proto)q(col,)g(p)q(ostp)q(oning)g(re\014nemen)o(ts)g(un)o(til)257 1885 y(later.)h(The)11 b Fe(arr)n(ow)g(dir)n(e)n(ctory)i Ff(is)d(a)g(tree)i(spanning)e(all)f(PEs.)17 b(Eac)o(h)11 b(PE)g(stores)h(a)e(directory)257 1935 y Fe(entry)24 b Ff(in)19 b(the)h(form)e(of)h(an)h(\\arro)o(w")f(whic)o(h)h(can)g(p)q (oin)o(t)f(either)i(to)e(itself,)i(or)e(to)h(an)o(y)257 1985 y(of)f(its)h(neigh)o(b)q(ors)g(in)f(the)i(tree.)37 b(The)20 b(meaning)e(of)h(the)h(link)f(is)g(the)i(follo)o(wing:)27 b(if)19 b(a)257 2035 y(PE's)h(link)f(p)q(oin)o(ts)h(to)f(itself,)i (then)f(the)g(ob)r(ject)h(either)f(resides)h(at)f(that)g(PE,)f(or)h (will)257 2085 y(so)q(on)e(reside)g(there.)30 b(Otherwise,)19 b(if)e(the)h(PE's)f(link)g(p)q(oin)o(ts)g(to)g(a)g(neigh)o(b)q(or,)h (then)g(the)257 2135 y(ob)r(ject)e(curren)o(tly)f(resides)h(in)e(the)h (comp)q(onen)o(t)e(of)h(the)h(directory)g(tree)h(con)o(taining)d(that) 257 2184 y(neigh)o(b)q(or.)26 b(Informally)m(,)13 b(except)18 b(for)e(the)h(PE)g(that)g(curren)o(tly)g(holds)f(an)g(ob)r(ject,)i(a)e (PE)257 2234 y(kno)o(ws)e(only)f(in)h(whic)o(h)f(\\direction")h(that)g (ob)r(ject)h(lies.)320 2284 y(The)h(en)o(tire)h(directory)g(proto)q (col)e(can)i(b)q(e)f(describ)q(ed)i(in)e(a)f(single)h(paragraph.)24 b(The)257 2334 y(directory)c(tree)g(is)f(initialized)e(so)i(that)g (follo)o(wing)e(the)i(links)g(from)e(an)o(y)h(PE)i(leads)f(to)257 2384 y(the)d(PE)f(where)h(the)f(ob)r(ject)h(resides)g(\(Figure)f(3\).) 21 b(T)m(o)14 b(acquire)h(exclusiv)o(e)h(access)g(to)f(the)257 2433 y(ob)r(ject,)i(a)e(PE)i(sends)g(a)e Fc(Find)g Ff(message)g(to)h (the)g(the)h(PE)f(indicated)g(b)o(y)f(its)h(arro)o(w,)g(and)257 2483 y(\\\015ips")c(its)h(arro)o(w)f(to)h(p)q(oin)o(t)f(to)g(itself)h (\(Figure)f(4\).)18 b(When)13 b(a)f(PE)h Fa(P)18 b Ff(whose)13 b(arro)o(w)g(p)q(oin)o(ts)963 2628 y(5)p eop %%Page: 6 6 6 5 bop 582 908 a @beginspecial 26 @llx 124 @lly 589 @urx 556 @ury 1440 @rhi @setspecial %%BeginDocument: source.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: 26 124 589 556 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 10 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 408 -104 ] concat Begin %I Elli %I b 65535 0 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 122 459 72 72 Elli End Begin %I Elli %I b 65535 0 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 14.8 300.6 ] concat %I 122 459 72 72 Elli End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 326 109 ] concat %I 207 325 71 101 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 618 331 618 51 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 210 323 210 43 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 621 379 604 578 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 408 126 ] concat %I 230 320 329 95 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 230 320 329 95 Line %I 1 End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -39 380 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 207 325 71 101 Line %I 1 End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t u Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 476.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 444 -226 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 352 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -99 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 682 341 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 154 869 128 853 Line %I 1 End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 412 9 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 476.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 530 491 530 443 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 110 125 ] concat %I 530 491 530 443 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 554 491 554 459 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 61.9999 125 ] concat %I 554 491 554 459 Line %I 1 End Begin %I Poly %I b 65535 0 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 3 578 427 578 387 530 387 3 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Red 1 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 -0 -0 1 -34 117 ] concat %I 333 518 333 519 Line %I 1 End End %I eop showpage %%Trailer end %%EndDocument @endspecial 609 1000 a Ff(Figure)14 b(4:)k(P)o(ath)c(Rev)o(ersal)g(at) f(Source)i(No)q(de)559 1612 y @beginspecial -8 @llx 124 @lly 589 @urx 556 @ury 1440 @rhi @setspecial %%BeginDocument: arrownode.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: -8 124 589 556 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 11 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 618 331 618 51 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 210 323 210 43 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 621 379 604 578 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 408 126 ] concat %I 230 320 329 95 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 230 320 329 95 Line %I 1 End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -39 380 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 207 325 71 101 Line %I 1 End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t u Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 476.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 378 126 ] concat %I 207 325 71 101 Line %I 1 End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 7 586 306 604 291 499 122 519 105 464 101 457 148 481 137 7 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -34 -560 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 352 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -99 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 682 341 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 154 869 128 853 Line %I 1 End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 444 -226 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 352 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -99 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 682 341 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 154 869 128 853 Line %I 1 End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 412 9 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 476.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 58 155 26 107 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 94 117 ] concat %I 58 155 26 107 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -26 125 ] concat %I 162 147 146 123 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -122 125 ] concat %I 162 147 146 123 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 530 491 530 443 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 110 125 ] concat %I 530 491 530 443 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 554 491 554 459 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 61.9999 125 ] concat %I 554 491 554 459 Line %I 1 End Begin %I BSpl %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -9.99999 101 ] concat %I 3 474 203 426 251 426 331 3 BSpl %I 1 End Begin %I BSpl %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 0.6 0 0 0.6 210 231.8 ] concat %I 3 474 203 426 251 426 331 3 BSpl %I 1 End End %I eop showpage %%Trailer end %%EndDocument @endspecial 554 1703 a(Figure)f(5:)j(P)o(ath)d(Rev)o(ersal)g(at)g(In)o (termediate)g(No)q(de)456 2315 y @beginspecial -8 @llx 114 @lly 633 @urx 486 @ury 1440 @rhi @setspecial %%BeginDocument: destination.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: -8 114 633 486 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 10 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 32 -40 ] concat Begin %I Elli %I b 65535 0 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 122 459 72 72 Elli End Begin %I Elli %I b 65535 0 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 14.8 300.6 ] concat %I 122 459 72 72 Elli End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 618 331 618 51 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 210 323 210 43 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 408 126 ] concat %I 230 320 329 95 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 230 320 329 95 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 207 325 71 101 Line %I 1 End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t u Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 145.5 476.5 ] concat %I [ (node) ] Text End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 378 126 ] concat %I 207 325 71 101 Line %I 1 End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 7 586 306 604 291 499 122 519 105 464 101 457 148 481 137 7 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -34 -560 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 352 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -99 -55 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 682 341 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0 1 0 SetCBg %I p 1 SetP %I t u %I 154 869 128 853 Line %I 1 End End %I eop Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 1 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 764 -649 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 1 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 473 -689 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -28 -167 ] concat %I 614 640 87 69 Elli End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 58 155 26 107 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 94 117 ] concat %I 58 155 26 107 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -26 125 ] concat %I 162 147 146 123 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Green 0 1 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -122 125 ] concat %I 162 147 146 123 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Red 1 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 14 -155 ] concat %I 530 491 530 443 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Red 1 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 158 -187 ] concat %I 530 491 530 443 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Red 1 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 14 -163 ] concat %I 554 491 554 459 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Red 1 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 110 -187 ] concat %I 554 491 554 459 Line %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -9.99999 101 ] concat %I 3 474 203 426 251 426 331 3 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 0.6 0 0 0.6 210 231.8 ] concat %I 3 474 203 426 251 426 331 3 BSpl %I 1 End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 107 188 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 1 0 0 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Poly %I b 65535 0 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 3 186 427 210 395 242 427 3 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 491 -35.9999 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 1 0 0 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Text %I cfg Black 0 0 0 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 504 170 ] concat %I [ (shortest path) ] Text End End %I eop showpage %%Trailer end %%EndDocument @endspecial 564 2407 a(Figure)g(6:)k(P)o(ath)c(Rev)o(ersal)g(at)g (Destination)f(No)q(de)963 2628 y(6)p eop %%Page: 7 7 7 6 bop 421 820 a @beginspecial 58 @llx 94 @lly 532 @urx 690 @ury 1440 @rhi @setspecial %%BeginDocument: concur1.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: 58 94 532 690 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 11 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -368 56 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -26 408 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 586 475 242 91 Line %I 1 End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -25 133 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 202 363 218 587 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 258 595 570 499 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -420 87 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 165.5 739.5 ] concat %I [ (node) ] Text End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 610 451 610 219 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -344 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -33 ] concat %I 614 640 87 69 Elli End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 61 468 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 122 735 ] concat %I [ (object) ] Text End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 386 376 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 622.5 ] concat %I [ (A) ] Text End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 311.5 ] concat %I [ (B) ] Text End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 388 109 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -449 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -418 237 ] concat %I 3 626 571 642 539 682 555 3 Poly End End %I eop showpage %%Trailer end %%EndDocument @endspecial 627 w @beginspecial 58 @llx 94 @lly 532 @urx 690 @ury 1440 @rhi @setspecial %%BeginDocument: concur2.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: 58 94 532 690 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 11 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -368 56 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 16 -376 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 16 -63.9999 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg none SetP %I p n %I t [ 1 -0 -0 1 -18 -179 ] concat %I 553 473 246 347 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg none SetP %I p n %I t [ 1 -0 -0 1 -34 117 ] concat %I 553 473 246 347 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 586 475 242 91 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 202 363 218 587 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 258 595 570 499 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -420 87 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 165.5 739.5 ] concat %I [ (node) ] Text End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 610 451 610 219 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -344 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -33 ] concat %I 614 640 87 69 Elli End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 61 468 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 122 735 ] concat %I [ (object) ] Text End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 386 376 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -16 -16 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ -1 0 0 1 606 -326 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 155 -326 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ -1 0 0 1 936 70 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Orange 1 0.647059 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 254 -271 ] concat %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Orange 1 0.647059 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 254 -271 ] concat %I 154 869 128 853 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 54 148 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 134 140 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 270.8 317.2 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 187.8 326.2 ] concat %I 298 475 346 491 Line %I 1 End End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 622.5 ] concat %I [ (A) ] Text End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 311.5 ] concat %I [ (B) ] Text End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -64 -56 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ -1 0 0 1 664 -581 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 213 -581 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ -1 0 0 1 994 -185 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 312 -526 ] concat %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 312 -526 ] concat %I 154 869 128 853 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0.230472 0.976577 0.203128 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 116 -103 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0.230472 0.976577 0.203128 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 196 -111 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0.230472 0.976577 0.203128 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 332.8 66.2001 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Green 0.230472 0.976577 0.203128 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 249.8 75.2001 ] concat %I 298 475 346 491 Line %I 1 End End %I eop Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 388 109 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -449 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 3 626 571 642 539 682 555 3 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 -195 ] concat %I 3 626 571 642 539 682 555 3 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -418 237 ] concat %I 3 626 571 642 539 682 555 3 Poly End End %I eop showpage %%Trailer end %%EndDocument @endspecial 532 911 a Ff(Figure)14 b(7:)j(Tw)o(o)d(Find)f(requests)j (issued)f(concurren)o(tly)396 1569 y @beginspecial 58 @llx 94 @lly 532 @urx 690 @ury 1440 @rhi @setspecial %%BeginDocument: concur3.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: 58 94 532 690 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 11 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -368 56 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 -1 779 355 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 16 -376 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 16 -63.9999 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg none SetP %I p n %I t [ 1 -0 -0 1 -18 -179 ] concat %I 553 473 246 347 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg none SetP %I p n %I t [ 1 -0 -0 1 -34 117 ] concat %I 553 473 246 347 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 586 475 242 91 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 202 363 218 587 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 258 595 570 499 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -420 87 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 165.5 739.5 ] concat %I [ (node) ] Text End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 610 451 610 219 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -344 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -33 ] concat %I 614 640 87 69 Elli End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 61 468 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 122 735 ] concat %I [ (object) ] Text End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -16 -16 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ -1 0 0 1 606 -326 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 155 -326 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ -1 0 0 1 936 70 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Orange 1 0.647059 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 254 -271 ] concat %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Orange 1 0.647059 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 254 -271 ] concat %I 154 869 128 853 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 54 148 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 134 140 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 270.8 317.2 ] concat %I 298 475 346 491 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 0.6 0 0 0.6 187.8 326.2 ] concat %I 298 475 346 491 Line %I 1 End End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 622.5 ] concat %I [ (A) ] Text End Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 311.5 ] concat %I [ (B) ] Text End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 -1 -40 547 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -449 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 3 626 571 642 539 682 555 3 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 -195 ] concat %I 3 626 571 642 539 682 555 3 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 64 -16 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 0 55.9999 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ -1 0 0 1 344 -325 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -107 -325 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ -1 0 0 1 674 70.9999 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -7.99994 -270 ] concat %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -7.99994 -270 ] concat %I 154 869 128 853 Line %I 1 End End %I eop Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 82 499 82 451 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 98 499 98 475 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 102 125 ] concat %I 82 499 82 451 Line %I 1 End Begin %I Line %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 70 117 ] concat %I 98 499 98 475 Line %I 1 End End %I eop Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -418 237 ] concat %I 3 626 571 642 539 682 555 3 Poly End End %I eop showpage %%Trailer end %%EndDocument @endspecial 627 w @beginspecial 66 @llx 93 @lly 544 @urx 636 @ury 1440 @rhi @setspecial %%BeginDocument: concur4.ps %!PS-Adobe-2.0 EPSF-1.2 %%Creator: idraw %%DocumentFonts: Helvetica-Bold %%Pages: 1 %%BoundingBox: 66 93 544 636 %%EndComments %%BeginIdrawPrologue /arrowhead { 0 begin transform originalCTM itransform /taily exch def /tailx exch def transform originalCTM itransform /tipy exch def /tipx exch def /dy tipy taily sub def /dx tipx tailx sub def /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def gsave originalCTM setmatrix tipx tipy translate angle rotate newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto patternNone not { originalCTM setmatrix /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul arrowWidth div def /padtail brushWidth 2 div def tipx tipy translate angle rotate padtip 0 translate arrowHeight padtip add padtail add arrowHeight div dup scale arrowheadpath ifill } if brushNone not { originalCTM setmatrix tipx tipy translate angle rotate arrowheadpath istroke } if grestore end } dup 0 9 dict put def /arrowheadpath { newpath arrowHeight neg arrowWidth 2 div moveto 0 0 lineto arrowHeight neg arrowWidth 2 div neg lineto } def /leftarrow { 0 begin y exch get /taily exch def x exch get /tailx exch def y exch get /tipy exch def x exch get /tipx exch def brushLeftArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def /rightarrow { 0 begin y exch get /tipy exch def x exch get /tipx exch def y exch get /taily exch def x exch get /tailx exch def brushRightArrow { tipx tipy tailx taily arrowhead } if end } dup 0 4 dict put def %%EndIdrawPrologue /arrowHeight 10 def /arrowWidth 5 def /IdrawDict 51 dict def IdrawDict begin /reencodeISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } def /ISOLatin1Encoding [ /.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 /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/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/backslash/bracketright /asciicircum/underscore/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/braceleft/bar/braceright/asciitilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine /guillemotright/onequarter/onehalf/threequarters/questiondown /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis /yacute/thorn/ydieresis ] def /Helvetica-Bold reencodeISO def /none null def /numGraphicParameters 17 def /stringLimit 65535 def /Begin { save numGraphicParameters dict begin } def /End { end restore } def /SetB { dup type /nulltype eq { pop false /brushRightArrow idef false /brushLeftArrow idef true /brushNone idef } { /brushDashOffset idef /brushDashArray idef 0 ne /brushRightArrow idef 0 ne /brushLeftArrow idef /brushWidth idef false /brushNone idef } ifelse } def /SetCFg { /fgblue idef /fggreen idef /fgred idef } def /SetCBg { /bgblue idef /bggreen idef /bgred idef } def /SetF { /printSize idef /printFont idef } def /SetP { dup type /nulltype eq { pop true /patternNone idef } { dup -1 eq { /patternGrayLevel idef /patternString idef } { /patternGrayLevel idef } ifelse false /patternNone idef } ifelse } def /BSpl { 0 begin storexyn newpath n 1 gt { 0 0 0 0 0 0 1 1 true subspline n 2 gt { 0 0 0 0 1 1 2 2 false subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline } if n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Circ { newpath 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if } def /CBSpl { 0 begin dup 2 gt { storexyn newpath n 1 sub dup 0 0 1 1 2 2 true subspline 1 1 n 3 sub { /i exch def i 1 sub dup i dup i 1 add dup i 2 add dup false subspline } for n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline n 2 sub dup n 1 sub dup 0 0 1 1 false subspline patternNone not { ifill } if brushNone not { istroke } if } { Poly } ifelse end } dup 0 4 dict put def /Elli { 0 begin newpath 4 2 roll translate scale 0 0 1 0 360 arc closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 1 dict put def /Line { 0 begin 2 storexyn newpath x 0 get y 0 get moveto x 1 get y 1 get lineto brushNone not { istroke } if 0 0 1 1 leftarrow 0 0 1 1 rightarrow end } dup 0 4 dict put def /MLine { 0 begin storexyn newpath n 1 gt { x 0 get y 0 get moveto 1 1 n 1 sub { /i exch def x i get y i get lineto } for patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if brushNone not { istroke } if 0 0 1 1 leftarrow n 2 sub dup n 1 sub dup rightarrow } if end } dup 0 4 dict put def /Poly { 3 1 roll newpath moveto -1 add { lineto } repeat closepath patternNone not { ifill } if brushNone not { istroke } if } def /Rect { 0 begin /t exch def /r exch def /b exch def /l exch def newpath l b moveto l t lineto r t lineto r b lineto closepath patternNone not { ifill } if brushNone not { istroke } if end } dup 0 4 dict put def /Text { ishow } def /idef { dup where { pop pop pop } { exch def } ifelse } def /ifill { 0 begin gsave patternGrayLevel -1 ne { fgred bgred fgred sub patternGrayLevel mul add fggreen bggreen fggreen sub patternGrayLevel mul add fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor eofill } { eoclip originalCTM setmatrix pathbbox /t exch def /r exch def /b exch def /l exch def /w r l sub ceiling cvi def /h t b sub ceiling cvi def /imageByteWidth w 8 div ceiling cvi def /imageHeight h def bgred bggreen bgblue setrgbcolor eofill fgred fggreen fgblue setrgbcolor w 0 gt h 0 gt and { l w add b translate w neg h scale w h true [w 0 0 h neg 0 h] { patternproc } imagemask } if } ifelse grestore end } dup 0 8 dict put def /istroke { gsave brushDashOffset -1 eq { [] 0 setdash 1 setgray } { brushDashArray brushDashOffset setdash fgred fggreen fgblue setrgbcolor } ifelse brushWidth setlinewidth originalCTM setmatrix stroke grestore } def /ishow { 0 begin gsave fgred fggreen fgblue setrgbcolor /fontDict printFont printSize scalefont dup setfont def /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end transform exch pop def /vertoffset 1 printSize sub descender sub def { 0 vertoffset moveto show /vertoffset vertoffset printSize sub def } forall grestore end } dup 0 3 dict put def /patternproc { 0 begin /patternByteLength patternString length def /patternHeight patternByteLength 8 mul sqrt cvi def /patternWidth patternHeight def /patternByteWidth patternWidth 8 idiv def /imageByteMaxLength imageByteWidth imageHeight mul stringLimit patternByteWidth sub min def /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv patternHeight mul patternHeight max def /imageHeight imageHeight imageMaxHeight sub store /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def 0 1 imageMaxHeight 1 sub { /y exch def /patternRow y patternByteWidth mul patternByteLength mod def /patternRowString patternString patternRow patternByteWidth getinterval def /imageRow y imageByteWidth mul def 0 patternByteWidth imageByteWidth 1 sub { /x exch def imageString imageRow x add patternRowString putinterval } for } for imageString end } dup 0 12 dict put def /min { dup 3 2 roll dup 4 3 roll lt { exch } if pop } def /max { dup 3 2 roll dup 4 3 roll gt { exch } if pop } def /midpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 x1 add 2 div y0 y1 add 2 div end } dup 0 4 dict put def /thirdpoint { 0 begin /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 2 mul x1 add 3 div y0 2 mul y1 add 3 div end } dup 0 4 dict put def /subspline { 0 begin /movetoNeeded exch def y exch get /y3 exch def x exch get /x3 exch def y exch get /y2 exch def x exch get /x2 exch def y exch get /y1 exch def x exch get /x1 exch def y exch get /y0 exch def x exch get /x0 exch def x1 y1 x2 y2 thirdpoint /p1y exch def /p1x exch def x2 y2 x1 y1 thirdpoint /p2y exch def /p2x exch def x1 y1 x0 y0 thirdpoint p1x p1y midpoint /p0y exch def /p0x exch def x2 y2 x3 y3 thirdpoint p2x p2y midpoint /p3y exch def /p3x exch def movetoNeeded { p0x p0y moveto } if p1x p1y p2x p2y p3x p3y curveto end } dup 0 17 dict put def /storexyn { /n exch def /y n array def /x n array def n 1 sub -1 0 { /i exch def y i 3 2 roll put x i 3 2 roll put } for } def /SSten { fgred fggreen fgblue setrgbcolor dup true exch 1 0 0 -1 0 6 -1 roll matrix astore } def /FSten { dup 3 -1 roll dup 4 1 roll exch newpath 0 0 moveto dup 0 exch lineto exch dup 3 1 roll exch lineto 0 lineto closepath bgred bggreen bgblue setrgbcolor eofill SSten } def /Rast { exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore } def %%EndProlog %I Idraw 11 Grid 8 8 %%Page: 1 1 Begin %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.796472 0 0 0.796472 0 0 ] concat /originalCTM matrix currentmatrix def Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 -1 -32 819 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 1 380 109 ] concat %I 7 210 283 186 251 202 251 210 131 226 131 218 251 234 251 7 Poly End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ 1 -0 -0 1 -25 109 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 16 -63.9999 ] concat Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 38 45 ] concat %I 522 715 64 48 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg White 1 1 1 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 0.563636 -0 -0 0.563636 265.782 357 ] concat %I 522 715 64 48 Elli End End %I eop Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg none SetP %I p n %I t [ 1 -0 -0 1 -34 117 ] concat %I 553 473 246 347 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 586 475 242 91 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 202 363 218 587 Line %I 1 End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 258 595 570 499 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -420 87 ] concat %I 614 640 87 69 Elli End Begin %I Line %I b 65520 3 0 0 [12 4] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -34 117 ] concat %I 610 451 610 219 Line %I 1 End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -344 ] concat %I 614 640 87 69 Elli End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -36 -33 ] concat %I 614 640 87 69 Elli End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 376 -440 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 0.4 0 0 0.4 61 468 ] concat Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t u %I 9 40 750 90 800 260 800 370 720 540 720 610 640 590 530 370 520 90 590 9 CBSpl End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -24 278 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 -286 366 ] concat Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 -1 290 1080 ] concat Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 90 710 140 740 210 740 260 710 4 BSpl %I 1 End Begin %I BSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t u %I 4 120 730 150 710 200 710 220 730 4 BSpl %I 1 End End %I eop Begin %I CBSpl %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg White 1 1 1 SetCBg %I p 1 SetP %I t u %I 10 412 353 440 368 478 370 495 363 506 354 511 350 489 342 474 340 451 341 425 347 10 CBSpl End End %I eop End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--24-* Helvetica-Bold 24 SetF %I t [ 1 0 0 1 122 735 ] concat %I [ (object) ] Text End End %I eop Begin %I Text %I cfg White 1 1 1 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 566.5 622.5 ] concat %I [ (A) ] Text End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -449 ] concat %I 614 640 87 69 Elli End Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Green 0.230472 0.976577 0.203128 SetCBg %I p 0 SetP %I t [ 1 -0 -0 1 -34 117 ] concat %I 3 626 571 642 539 682 555 3 Poly End Begin %I Pict %I b u %I cfg u %I cbg u %I f u %I p u %I t [ 1 0 0 1 72 -192 ] concat Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ -1 0 0 1 630 -534 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ 1 0 0 1 179 -534 ] concat %I 8 231 913 264 946 319 891 286 913 297 902 275 913 286 902 253 913 8 Poly End Begin %I Poly %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Red 0.976577 0.0742199 0.250004 SetCBg %I p 1 SetP %I t [ -1 0 0 1 960 -138 ] concat %I 4 528 495 528 528 583 528 583 495 4 Poly End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Orange 1 0.647059 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 278 -479 ] concat %I 99 869 125 851 Line %I 1 End Begin %I Line %I b 65535 2 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Orange 1 0.647059 0 SetCBg %I p 1 SetP %I t [ 1 0 0 1 278 -479 ] concat %I 154 869 128 853 Line %I 1 End Begin %I Pict %I b u %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I cbg u %I f u %I p u %I t [ 1 0 0 1 -184 -32 ] concat Begin %I BSpl %I b 65535 3 0 0 [] 0 SetB %I cfg Orange 1 0.647059 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 1 0 0 1 -34 117 ] concat %I 3 560 328 588 354 610 334 3 BSpl %I 1 End Begin %I BSpl %I b 65535 3 0 0 [] 0 SetB %I cfg Orange 1 0.647059 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ -1 0 0 1 1219 119 ] concat %I 3 560 328 588 354 610 334 3 BSpl %I 1 End Begin %I BSpl %I b 65535 3 0 0 [] 0 SetB %I cfg Orange 1 0.647059 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ -0.6 0 0 0.6 986 250.4 ] concat %I 3 560 328 588 354 610 334 3 BSpl %I 1 End Begin %I BSpl %I b 65535 3 0 0 [] 0 SetB %I cfg Orange 1 0.647059 0 SetCFg %I cbg White 1 1 1 SetCBg none SetP %I p n %I t [ 0.6 0 0 0.6 202 245.4 ] concat %I 3 560 328 588 354 610 334 3 BSpl %I 1 End End %I eop End %I eop Begin %I Poly %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg Black 0 0 0 SetCBg %I p 1 SetP %I t [ -1 0 0 -1 787 659 ] concat %I 7 298 123 282 83 314 59 306 83 538 163 530 179 298 107 7 Poly End Begin %I Elli %I b 65535 3 0 0 [] 0 SetB %I cfg Black 0 0 0 SetCFg %I cbg b.31 0.68751 0.68751 1 SetCBg %I p 1 SetP %I t [ 1 0 0 1 -440 -176 ] concat %I 614 640 87 69 Elli End Begin %I Text %I cfg Red 0.976577 0.0742199 0.250004 SetCFg %I f -adobe-helvetica-bold-o-normal--34-* Helvetica-Bold 34 SetF %I t [ 1 0 0 1 416 153 ] concat %I [ (waiting) ] Text End End %I eop showpage %%Trailer end %%EndDocument @endspecial 472 1661 a(Figure)f(8:)j Fa(B)r Ff('s)e(request)g(o)o(v)o (ertak)o(es)g(and)e(div)o(erts)i Fa(A)p Ff('s)f(request)257 1793 y(to)h Fa(Q)g Ff(receiv)o(es)i(a)d Fc(Find)h Ff(message)f(from)g Fa(R)p Ff(,)g(it)h(imm)o(ediately)d(\\\015ips")j(its)g(arro)o(w)g(bac)o (k)g(to)257 1843 y Fa(R)p Ff(.)i(If)12 b(it)f(do)q(es)i(not)e(ha)o(v)o (e)h(a)f(cac)o(hed)i(cop)o(y)f(of)f(the)h(ob)r(ject,)h(it)e(forw)o (ards)h(the)g(message)g(to)f Fa(Q)p Ff(,)257 1893 y(the)j(prior)f (target)g(of)f(its)h(arro)o(w)g(\(Figure)g(5\).)18 b(If)12 b(it)h(do)q(es)g(ha)o(v)o(e)g(a)g(cop)o(y)m(,)f(it)g(w)o(aits)h(un)o (til)f(the)257 1943 y(cop)o(y)h(is)f(no)g(longer)g(in)f(use,)i(and)f (sends)i(the)f(ob)r(ject)g(bac)o(k)f(to)g(the)h(originator)e(of)g(the)i Fc(Find)257 1992 y Ff(message.)22 b(Note)16 b(that)f(the)h(PE)g(can)f (send)i(the)e(ob)r(ject)h(bac)o(k)g(directly)m(,)f(without)g(further) 257 2042 y(in)o(teraction)f(with)g(the)g(directory)h(\(Figure)f(6\).) 320 2092 y(An)e(in)o(teresting)h(asp)q(ect)g(of)f(the)g(arro)o(w)g (proto)q(col)g(is)g(that)h(it)e(in)o(tegrates)i(sync)o(hroniza-)257 2142 y(tion)g(and)f(na)o(vigation)f(in)h(a)g(single)h(mec)o(hanism.)i (Figure)e(7)f(sho)o(ws)h(a)g(directory)g(in)g(whic)o(h)257 2192 y(no)q(des)i Fa(A)g Ff(and)f Fa(B)i Ff(ha)o(v)o(e)e(issued)h (concurren)o(t)h Fc(Find)d Ff(requests.)21 b(In)15 b(Figure)f(8,)f Fa(B)r Ff('s)i(request)257 2241 y(arriv)o(es)j(\014rst,)g(and)g(\\div)o (erts")f Fa(A)p Ff('s)g(request)i(bac)o(k)e(to)g Fa(B)r Ff(.)29 b(In)18 b(this)f(w)o(a)o(y)m(,)f(path)i(rev)o(ersal)257 2291 y(imp)q(oses)h(a)f(distributed)i(queue)f(structure)j(on)c(blo)q(c) o(k)o(ed)h Fc(Find)f Ff(requests,)k(where)e(eac)o(h)257 2341 y Fc(Find)12 b Ff(is)h(bu\013ered)i(at)d(its)h(predecessor's)j (PE.)d(When)g(a)g(PE)g(releases)i(the)e(ob)r(ject,)g(it)g(go)q(es)257 2391 y(directly)j(to)f(the)h(next)g(w)o(aiting)e(PE.)h(This)g (distributed)h(queue)g(structure)i(is)d(attractiv)o(e)257 2441 y(for)g(sev)o(eral)g(reasons.)21 b(First,)15 b(it)f(ensures)j (that)d(no)h(single)f(PE)h(b)q(ecomes)g(a)f(sync)o(hroniza-)257 2491 y(tion)d(b)q(ottlenec)o(k.)18 b(Second,)13 b(if)d(there)j(is)e (con)o(ten)o(tion)h(for)f(an)g(ob)r(ject,)h(then)g(eac)o(h)g(time)e (that)963 2628 y(7)p eop %%Page: 8 8 8 7 bop 331 1120 a @beginspecial 50 @llx 50 @lly 770 @urx 554 @ury 2160 @rhi @setspecial %%BeginDocument: Counter-16-arrowhome-rmi-jdk2.ps %!PS-Adobe-2.0 %%Creator: gnuplot %%DocumentFonts: Helvetica %%BoundingBox: 50 50 770 554 %%Pages: (atend) %%EndComments /gnudict 40 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -40 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 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 /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 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 /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { 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 P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { 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 P } def /C { 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 /T { 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 P } def /S { 2 copy A C} def end %%EndProlog %%Page: 1 1 gnudict begin gsave 50 50 translate 0.100 0.100 scale 0 setgray /Helvetica findfont 120 scalefont setfont newpath LTa 720 301 M 6273 0 V LTb 720 301 M 63 0 V 6210 0 R -63 0 V 648 301 M (0) Rshow 720 969 M 63 0 V 6210 0 R -63 0 V 648 969 M (100) Rshow 720 1638 M 63 0 V 6210 0 R -63 0 V -6282 0 R (200) Rshow 720 2306 M 63 0 V 6210 0 R -63 0 V -6282 0 R (300) Rshow 720 2974 M 63 0 V 6210 0 R -63 0 V -6282 0 R (400) Rshow 720 3642 M 63 0 V 6210 0 R -63 0 V -6282 0 R (500) Rshow 720 4311 M 63 0 V 6210 0 R -63 0 V -6282 0 R (600) Rshow 720 4979 M 63 0 V 6210 0 R -63 0 V -6282 0 R (700) Rshow 720 301 M 0 63 V 0 4615 R 0 -63 V 720 181 M (1) Cshow 1138 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (2) Cshow 1556 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (3) Cshow 1975 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (4) Cshow 2393 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (5) Cshow 2811 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (6) Cshow 3229 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (7) Cshow 3647 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (8) Cshow 4066 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (9) Cshow 4484 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (10) Cshow 4902 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (11) Cshow 5320 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (12) Cshow 5738 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (13) Cshow 6157 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (14) Cshow 6575 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (15) Cshow 6993 301 M 0 63 V 0 4615 R 0 -63 V 0 -4735 R (16) Cshow 720 301 M 6273 0 V 0 4678 V -6273 0 V 720 301 L 120 2640 M currentpoint gsave translate 90 rotate 0 0 M (Iteration Time \(milliseconds\)) Cshow grestore 3856 61 M (Number of PEs) Cshow