I am enclosing the postscript of the latest P/G/O draft here. It can also
still be found at
http://www.nas.nasa.gov/NAS/Tools/MPI2/
-Dave
=============================================================================
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: temp.dvi
%%Pages: 13
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: /usr/local/bin/dvips -o temp.ps temp
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource: TeX output 1996.07.29:2345
%%BeginProcSet: tex.pro
/TeXDict 250 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 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
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 product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{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
TeXDict begin 40258437 52099154 1000 300 300 (temp.dvi)
@start /Fa 20 119 df<7FF0FFE07FE00C037D8A10>45 D<70F8F8F0E005057B840E>I<
00000200000006000000060000000E0000001E0000001E0000003F0000002F0000004F00
00004F0000008F0000010F0000010F0000020F0000020F0000040F00000C0F0000080F00
00100F0000100F0000200F80003FFF800040078000C00780008007800100078001000780
0200078002000780060007801E000F80FF807FF81D207E9F22>65
D<01FFFFFE001E001C001E000C001E0004001E0004003C0004003C0004003C0004003C00
040078080800780800007808000078180000F0300000FFF00000F0300000F0300001E020
0001E0200001E0200001E0001003C0002003C0002003C0004003C0004007800080078001
8007800100078007000F001F00FFFFFE001F1F7D9E1F>69 D<01FFFF00001E03C0001E00
E0001E0070001E0078003C0078003C0078003C0078003C0078007800F0007800F0007801
E0007801C000F0070000F01E0000FFF00000F0380001E01C0001E01E0001E00E0001E00F
0003C01E0003C01E0003C01E0003C01E0007803C0007803C0807803C0807803C100F801C
10FFF00C20000007C01D207D9E21>82 D<00F1800389C00707800E03801C03803C038038
0700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C4030
8C800F070013147C9317>97 D<007E0001C1000300800E07801E07801C07003C02007800
00780000780000F00000F00000F00000F00000F0000070010070020030040018380007C0
0011147C9315>99 D<0000780003F80000700000700000700000700000E00000E00000E0
0000E00001C00001C000F1C00389C00707800E03801C03803C0380380700780700780700
780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F070015207C
9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000F000F00070007001
70023804183807C010147C9315>I<00007800019C00033C00033C000718000700000700
000E00000E00000E00000E00000E0001FFE0001C00001C00001C00001C00003800003800
00380000380000380000700000700000700000700000700000700000E00000E00000E000
00E00000C00001C00001C0000180003180007B0000F300006600003C00001629829F0E>
I<00C001E001E001C000000000000000000000000000000E003300230043804300470087
000E000E000E001C001C001C003840388030807080310033001C000B1F7C9E0E>105
D<03C01FC0038003800380038007000700070007000E000E000E000E001C001C001C001C
0038003800380038007000700070007100E200E200E200E200640038000A207C9F0C>
108 D<1C0F80F0002630C318004740640C004780680E004700700E004700700E008E00E0
1C000E00E01C000E00E01C000E00E01C001C01C038001C01C038001C01C038001C01C070
8038038071003803806100380380E10038038062007007006600300300380021147C9325
>I<1C0F802630C04740604780604700704700708E00E00E00E00E00E00E00E01C01C01C
01C01C01C01C03843803883803083807083803107003303001C016147C931A>I<007C00
01C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0F003C0F003C0
F00780F00700700F00700E0030180018700007C00013147C9317>I<01C1E00262180474
1C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01C03C01C03C01C0380380
780380700380E003C1C0072380071E000700000700000E00000E00000E00000E00001C00
001C0000FFC000171D809317>I<1C1E002661004783804787804707804703008E00000E
00000E00000E00001C00001C00001C00001C000038000038000038000038000070000030
000011147C9313>114 D<00FC030206010C030C070C060C000F800FF007F803FC003E00
0E700EF00CF00CE008401020601F8010147D9313>I<018001C003800380038003800700
0700FFF007000E000E000E000E001C001C001C001C003800380038003820704070407080
708031001E000C1C7C9B0F>I<0E03803307802307C04383C04301C04700C08700800E00
800E00800E00801C01001C01001C01001C02001C02001C04001C04001C08000E300003C0
0012147C9315>118 D E /Fb 10 58 df<1F00318060C04040C060C060C060C060C060C0
60C060C060404060C031801F000B107F8F0F>48 D<0C003C00CC000C000C000C000C000C
000C000C000C000C000C000C000C00FF8009107E8F0F>I<1F00618040C08060C0600060
006000C00180030006000C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000
C0008001800F00008000400060C060C060804060801F000B107F8F0F>I<030003000700
0F000B001300330023004300C300FFE003000300030003001FE00B107F8F0F>I<20803F
002C002000200020002F0030802040006000600060C06080C061801F000B107F8F0F>I<
0780184030C060C06000C000CF00F080E040C060C060C060406060C030801F000B107F8F
0F>I<40007FE07FC08080808001000200040004000C0008000800180018001800180018
000B117E900F>I<1F00318060C060C060C071803F000F00338061C0C060C060C0604040
60801F000B107F8F0F>I<1F00318060C0C040C060C060C06040E021E01E600060004060
C0608043003E000B107F8F0F>I E /Fc 30 118 df<001C0000003E0000003E0000002E
0000006700000067000000E7800000C7800000C3800001C3C0000183C0000181C0000381
E0000381E0000700F0000700F0000600F0000E0078000FFFF8000FFFF8001C003C001C00
3C0018003C0038001E0038001E0070001F0070000F0070000F00E0000780191D7F9C1C>
65 D<FFF800FFFF00F00F80F003C0F001E0F000F0F000F0F000F0F000F0F000F0F001E0
F007C0FFFF80FFFE00FFFF80F03FC0F003E0F001F0F000F0F00078F00078F00078F00078
F00078F000F0F001E0F007C0FFFF80FFFC00151D7C9C1C>I<003FC000FFF003C0F00780
300F00001E00003C00003C0000780000780000780000F00000F00000F00000F00000F000
00F00000F00000F00000F000007800007800007800003C00003C00001E00000F00080780
1803C07800FFF0003F80151F7D9D1B>I<FFFFC0FFFFC0F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F00000F00000FFFF80FFFF80F00000F00000F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000FFFFC0FFFFC0121D7C9C
19>69 D<FFFF80FFFF80F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000FFFF00FFFF00F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000111D7C9C18>I<003F8001FFF003C0F807
80380F00181E00003C00003C0000780000780000780000F00000F00000F00000F00000F0
0000F00000F007F8F007F8F000387800387800387800383C00383C00381E00380F003807
803803C0F801FFF0003F80151F7D9D1C>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0041D7C9C0C>73 D<F0003CF00078F000F0F001E0F003C0F007
80F00F00F01E00F03C00F07800F0F000F0E000F1F000F3F000F77800FE7C00FC3C00FC1E
00F81F00F00F00F00F80F00780F003C0F003E0F001E0F000F0F000F0F00078F0007C161D
7C9C1D>75 D<F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000FFFEFFFE0F1D7C9C16>I<FC
0007E0FC0007E0FC0007E0EE000DE0EE000DE0EE000DE0E70019E0E70019E0E70019E0E7
8039E0E38031E0E3C071E0E3C071E0E1C061E0E1C061E0E1E0E1E0E1E0E1E0E0E0C1E0E0
F1C1E0E07181E0E07181E0E07181E0E03B01E0E03B01E0E03B01E0E01E01E0E01E01E0E0
1E01E0E00001E01B1D7C9C24>I<FC0070FC0070FE0070EE0070EF0070E70070E70070E7
8070E38070E3C070E3C070E1E070E1E070E0E070E0F070E07070E07870E07870E03C70E0
3C70E01C70E01E70E00E70E00E70E00F70E00770E007F0E003F0E003F0141D7C9C1D>I<
003F000001FFE00003FFF00007C0F8000F807C001E001E003E001F003C000F0078000780
7800078078000780F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0
F00003C0F80007C078000780780007807C000F803C000F003E001F001F003E000F807C00
07C0F80003FFF00001FFE000003F00001A1F7E9D1F>I<FFFC00FFFF00F00F80F003C0F0
01E0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F003E0F00FC0FFFF80FFFE00F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000141D7C9C1B>I<FFF800FFFF00F00F80F003C0F001E0F000F0F000F0F000F0F000F0
F000F0F001E0F003E0F00FC0FFFF80FFFF00FFF800F03C00F01C00F01E00F00F00F00F00
F00780F00780F003C0F003C0F001E0F000F0F000F0F00078151D7C9C1B>82
D<03F8000FFE001C0F00380700700300600000E00000E00000E00000E00000F000007800
007F00003FE0001FFC0007FE0001FF00001F800007800003C00003C00001C00001C00001
C00001C0C00180E00380F007007C0E001FFC0007F000121F7E9D17>I<FFFFFF80FFFFFF
80001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00191D7F9C1C>I<F00070F00070F00070F00070F00070F00070F00070F00070F00070F0
0070F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F0
0070F000707800E07800E03C01C01E03800F078007FE0001F800141E7C9C1D>I<F00003
80F00003807800070078000700780007003C000E003C000E003E000E001E001C001E001C
000F0038000F0038000F003800078070000780700003C0600003C0E00003C0E00001E0C0
0001E1C00001E1C00000F1800000F380000073000000730000007B0000003E0000003E00
00001C0000191D7F9C1C>I<F80001E07C0001C03E0003801E0007801F0007000F800E00
07801E0007C01C0003E03C0001E0380001F0700000F0F0000078E000007DC000003FC000
001F8000001F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F00001B1D809C1C>89
D<0FC03FF07FF87038401C001C001C00FC0FFC3FFC781CE01CE01CE01CF07C7FFC7FDC3F
1C0E127E9114>97 D<07C01FE03FF078787018601CFFFCFFFCFFFCE000E000E000700070
043C1C3FFC1FF807E00E127E9112>101 D<03C3C00FFFC01FFFC01C3800381C00381C00
381C00381C00381C001C38001FF8001FF0003BC0003800003800001FFC001FFF003FFF80
700780E001C0E001C0E001C0F003C07C0F803FFF001FFE0007F800121B7F9115>103
D<F0F0F0F000000000000000707070707070707070707070707070707070041D7E9C0A>
105 D<E000E000E000E000E000E000E000E000E000E000E000E03CE078E0F0E1E0E3C0E7
80EF00FF00FF80FB80F9C0F1E0E0E0E0F0E078E038E03CE01E0F1D7D9C14>107
D<E3E0EFF0FFF8F83CF01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE0
1C0E127D9115>110 D<03F0000FFC001FFE003C0F00780780700380E001C0E001C0E001
C0E001C0E001C0F003C07003807807803C0F001FFE000FFC0003F00012127F9115>I<E3
80E780EF80FC00F800F000F000E000E000E000E000E000E000E000E000E000E000E00009
127D910E>114 D<1FC03FF07FF0F030E000E000F0007F003FC01FE000F0003800388038
F078FFF07FE01FC00D127F9110>I<1C001C001C001C001C001C00FFE0FFE01C001C001C
001C001C001C001C001C001C001C001C001C001C201FF00FF007C00C187F970F>I<E01C
E01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE07CFFFC7FDC3F1C0E12
7D9115>I E /Fd 53 124 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0
000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0
000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0
000E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C18>11
D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E0000FFFF
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<6060F0F0F8F868680808080808
08101010102020404080800D0C7F9C15>34 D<004000800100020006000C000C00180018
00300030007000600060006000E000E000E000E000E000E000E000E000E000E000E000E0
00600060006000700030003000180018000C000C00060002000100008000400A2A7D9E10
>40 D<800040002000100018000C000C000600060003000300038001800180018001C001
C001C001C001C001C001C001C001C001C001C001C0018001800180038003000300060006
000C000C00180010002000400080000A2A7E9E10>I<60F0F0701010101020204080040C
7C830C>44 D<FFE0FFE00B0280890E>I<60F0F06004047C830C>I<000100030006000600
06000C000C000C0018001800180030003000300060006000C000C000C001800180018003
0003000300060006000C000C000C00180018001800300030003000600060006000C000C0
0010297E9E15>I<0FE03038401CE00EF00EF00EF00E000C001C0030006000C000800180
0100010001000100010001000000000000000000000003000780078003000F1D7E9C14>
63 D<000600000006000000060000000F0000000F0000000F0000001780000017800000
1780000023C0000023C0000023C0000041E0000041E0000041E0000080F0000080F00001
80F8000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E000C
001F001E001F00FF80FFF01C1D7F9C1F>65 D<FFFFC00F00F00F00380F003C0F001C0F00
1E0F001E0F001E0F001E0F001C0F003C0F00780F01F00FFFE00F00780F003C0F001E0F00
0E0F000F0F000F0F000F0F000F0F000F0F001E0F001E0F003C0F0078FFFFE0181C7E9B1D
>I<001F808000E0618001801980070007800E0003801C0003801C000180380001807800
00807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F000
0000F0000000700000807800008078000080380000801C0001001C0001000E0002000700
04000180080000E03000001FC000191E7E9C1E>I<FFFFC0000F00F0000F003C000F000E
000F0007000F0007000F0003800F0003C00F0001C00F0001C00F0001E00F0001E00F0001
E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001C00F0001C00F0003C00F0003
800F0007800F0007000F000E000F001C000F007000FFFFC0001B1C7E9B20>I<FFFFFC0F
003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F02000F06000F
FE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00060F00060F
000C0F003CFFFFFC181C7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F0004
0F00040F02040F02000F02000F02000F06000FFE000F06000F02000F02000F02000F0200
0F00000F00000F00000F00000F00000F00000F00000F8000FFF800161C7E9B1B>I<001F
808000E0618001801980070007800E0003801C0003801C00018038000180780000807800
008070000080F0000000F0000000F0000000F0000000F0000000F0000000F000FFF0F000
0F80700007807800078078000780380007801C0007801C0007800E00078007000B800180
118000E06080001F80001C1E7E9C21>I<FFF3FFC00F003C000F003C000F003C000F003C
000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000FFFFC
000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C
000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F>I<FFF00F000F000F00
0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F00FFF00C1C7F9B0F>I<FF8000FF800F8000F8000F8000F8000BC0
0178000BC00178000BC001780009E002780009E002780008F004780008F004780008F004
7800087808780008780878000878087800083C107800083C107800083C107800081E2078
00081E207800081E207800080F407800080F407800080780780008078078000807807800
08030078001C03007800FF8307FF80211C7E9B26>77 D<FF007FC00F800E000F8004000B
C0040009E0040009E0040008F0040008F8040008780400083C0400083C0400081E040008
0F0400080F0400080784000807C4000803C4000801E4000801E4000800F40008007C0008
007C0008003C0008003C0008001C0008000C001C000C00FF8004001A1C7E9B1F>I<003F
800000E0E0000380380007001C000E000E001C0007003C00078038000380780003C07800
03C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F000
01E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C000380
380000E0E000003F80001B1E7E9C20>I<FFFF800F00E00F00780F003C0F001C0F001E0F
001E0F001E0F001E0F001E0F001C0F003C0F00780F00E00FFF800F00000F00000F00000F
00000F00000F00000F00000F00000F00000F00000F00000F0000FFF000171C7E9B1C>I<
FFFF00000F01E0000F0078000F003C000F001C000F001E000F001E000F001E000F001E00
0F001C000F003C000F0078000F01E0000FFF00000F03C0000F00E0000F00F0000F007800
0F0078000F0078000F0078000F0078000F0078000F0078100F0078100F0038100F003C20
FFF01C20000007C01C1D7E9B1F>82 D<07E0801C1980300580700380600180E00180E000
80E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007
C00003C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E
7E9C17>I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F00
20800F0020000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00001F800003FFFC001B1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F000400
0F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000400
0F0004000F0004000F0004000F0004000F0004000F0004000F0004000F00040007000800
07800800038010000180100000C020000070C000001F00001A1D7E9B1F>I<1FC0003070
00783800781C00301C00001C00001C0001FC000F1C00381C00701C00601C00E01C40E01C
40E01C40603C40304E801F870012127E9115>97 D<FC00001C00001C00001C00001C0000
1C00001C00001C00001C00001C00001C00001C7C001D86001E03001C01801C01C01C00C0
1C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01801E030019060010F800
131D7F9C17>I<07E00C301878307870306000E000E000E000E000E000E0006000700430
0418080C3007C00E127E9112>I<003F0000070000070000070000070000070000070000
070000070000070000070003E7000C1700180F00300700700700600700E00700E00700E0
0700E00700E00700E00700600700700700300700180F000C370007C7E0131D7E9C17>I<
03E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E0
0F127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<
00038003C4C00C38C01C3880181800381C00381C00381C00381C001818001C38000C3000
13C0001000003000001800001FF8001FFF001FFF803003806001C0C000C0C000C0C000C0
6001803003001C0E0007F800121C7F9215>I<FC00001C00001C00001C00001C00001C00
001C00001C00001C00001C00001C00001C7C001C87001D03001E03801C03801C03801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF0141D
7F9C17>I<18003C003C0018000000000000000000000000000000FC001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<FC00
001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C3FC01C0F
001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C001C1C
001C0E001C0F001C0F80FF9FE0131D7F9C16>107 D<FC001C001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00
1C001C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C
01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01
C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F
9124>I<FC7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03
801C03801C03801C03801C03801C03801C0380FF9FF014127F9117>I<03F0000E1C0018
0600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C060018070038030
03001806000E1C0003F00012127F9115>I<FC7C001D86001E03001C01801C01C01C00C0
1C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C01801E03001D06001CF800
1C00001C00001C00001C00001C00001C00001C0000FF8000131A7F9117>I<03C1000C33
00180B00300F00700700700700E00700E00700E00700E00700E00700E007006007007007
00300F00180F000C370007C700000700000700000700000700000700000700000700003F
E0131A7E9116>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C001C00
1C001C001C00FFC00D127F9110>I<1F9030704030C010C010E010F8007F803FE00FF000
F880388018C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C00
3C00FFE01C001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E20
03C00C1A7F9910>I<FC1F801C03801C03801C03801C03801C03801C03801C03801C0380
1C03801C03801C03801C03801C03801C07800C07800E1B8003E3F014127F9117>I<FF07
E03C03801C01001C01000E02000E020007040007040007040003880003880003D80001D0
0001D00000E00000E00000E00000400013127F9116>I<FF3FCFE03C0F03801C0701801C
0701001C0B01000E0B82000E0B82000E1182000711C4000711C4000720C40003A0E80003
A0E80003C0680001C0700001C0700001803000008020001B127F911E>I<7F8FF00F0380
0F030007020003840001C80001D80000F00000700000780000F800009C00010E00020E00
0607000403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01000E02000E02
0007040007040007040003880003880003D80001D00001D00000E00000E00000E0000040
00004000008000008000F08000F10000F300006600003C0000131A7F9116>I<7FFC7038
6038407040F040E041C003C0038007000F040E041C043C0C380870087038FFF80E127F91
12>I<FFFFF01401808B15>I E /Fe 10 118 df<78FCFCFCFC7800000000000078FCFCFC
FC7806127D910D>58 D<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001F80FC0
00F80FC000FC0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0
007E0FC0007E0FC0007E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001F00FC0
07E00FC01FC0FFFFFF00FFFFF8001F1C7E9B25>68 D<FFC00003FFFFE00007FF0FE00007
F00DF0000DF00DF0000DF00DF0000DF00CF80019F00CF80019F00C7C0031F00C7C0031F0
0C3E0061F00C3E0061F00C1F00C1F00C1F00C1F00C1F00C1F00C0F8181F00C0F8181F00C
07C301F00C07C301F00C03E601F00C03E601F00C01FC01F00C01FC01F00C01FC01F00C00
F801F00C00F801F0FFC0701FFFFFC0701FFF281C7E9B2D>77 D<03FC000E0E001C1F003C
1F00781F00780E00F80000F80000F80000F80000F80000F800007800007801803C01801C
03000E0E0003F80011127E9115>99 D<03F8F00E0F381E0F381C07303C07803C07803C07
803C07801C07001E0F000E0E001BF8001000001800001800001FFF001FFFC00FFFE01FFF
F07801F8F00078F00078F000787000707800F01E03C007FF00151B7F9118>103
D<1E003F003F003F003F001E00000000000000000000000000FF00FF001F001F001F001F
001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>105
D<FF0FC0FF31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF18127F911B>110
D<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8F800
F87800F07800F03C01E01E03C00F078001FC0015127F9118>I<1FD830786018E018E018
F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E127E9113>115
D<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F01F80F01F80786FF01F8FF18127F911B>117
D E /Ff 25 124 df<FFC0FFC00A027D8A0F>45 D<3078F8787005057C840D>I<000004
00000C00000C0000180000180000300000300000600000600000C00000C0000180000180
000300000300000600000600000C00000C00001800001800003000003000006000006000
00C00000C0000180000180000300000300000600000600000600000C00000C0000180000
180000300000300000600000600000C00000C00000800000162D7EA117>I<000C001C00
FC0F380038003800380038003800700070007000700070007000E000E000E000E000E000
E001C001C001C001C001C001C0038003C0FFFE0F1E7C9D17>49 D<007F000183C00201E0
0400F00700F00F00F00F01F00F01F00001E00001E00003C0000380000700000E0000F800
000E000007000007800007C00003C00007C03007C07807C0F807C0F807C0F00780800F00
400E00201C0018780007E000141F7D9D17>51 D<0000600000600000E00001C00003C000
05C0000DC00009C00011C000238000438000C38000838001038002038004070008070018
0700100700200700400700FFFFF0000E00000E00000E00000E00000E00001C00001E0001
FFE0141E7E9D17>I<01803001FFE003FFC003FF0003FC00020000020000020000040000
040000040000047C000587000603800C01800801C00001C00001E00001E00001E00001E0
7003C0F803C0F003C0E00380800780400700400E00201C0018700007C000141F7D9D17>
I<0000100000001800000038000000380000007800000078000000FC000001BC0000013C
0000033C0000023C0000063C0000043E0000081E0000081E0000101E0000101E0000201E
0000200F0000400F0000400F0000FFFF0000800F0001000F800100078002000780020007
8004000780040007800C0007C03E0007C0FF807FFC1E207E9F22>65
D<0001F808000E061800380138007000F801E0007803C0007007800030078000300F0000
301F0000301E0000303E0000203C0000007C0000007C0000007C0000007C000000F80000
00F8000000F8000000F8000000F80000007800004078000080780000803C0000803C0001
001C0002000E00020006000C000300100001C0E000003F00001D217B9F21>67
D<07FFFF00007C01E0003C00F0003C00780078003C0078003C0078001E0078001E007800
1E0078001F00F0001F00F0001F00F0001F00F0001F00F0001F00F0001F01E0001E01E000
3E01E0003E01E0003E01E0003C01E0007C03C0007803C000F003C000F003C001E003C003
C003C0078007800F0007803C00FFFFE000201F7E9E23>I<07FFFFF8007C0078003C0038
003C001800780018007800080078000800780008007800080078080800F0100000F01000
00F0100000F0300000FFF00000F0700001E0200001E0200001E0200001E0200001E00008
01E0001003C0001003C0001003C0002003C0002003C0006003C000C0078001C0078007C0
FFFFFF801D1F7E9E1F>I<0001FC04000F030C003C009C0070007C00E0003C01C0003803
800018078000180F0000181F0000181E0000183E0000103C0000007C0000007C0000007C
0000007C000000F8000000F8000000F8007FFCF80003E0780001E0780001E0780003C078
0003C03C0003C03C0003C01C0003C00E0007C007000B800380118001E06080003F80001E
217B9F24>71 D<07FFC7FFC0007C00F800003C007800003C007800007800F000007800F0
00007800F000007800F000007800F000007800F00000F001E00000F001E00000F001E000
00F001E00000FFFFE00000F001E00001E003C00001E003C00001E003C00001E003C00001
E003C00001E003C00003C007800003C007800003C007800003C007800003C007800003C0
07800007800F000007C00F8000FFF8FFF800221F7E9E22>I<07FFE0007C00003C00003C
0000780000780000780000780000780000780000F00000F00000F00000F00000F00000F0
0001E00001E00001E00001E00001E00001E00003C00003C00003C00003C00003C00003C0
0007800007C000FFFC00131F7F9E10>I<07FFF000007E0000003C0000003C0000007800
00007800000078000000780000007800000078000000F0000000F0000000F0000000F000
0000F0000000F0000001E0000001E0000001E0000001E0000001E0008001E0010003C001
0003C0010003C0030003C0020003C0060003C0060007801E0007807C00FFFFFC00191F7E
9E1C>76 D<07FC0000FFC0007C0000F800003C00017800003C00017800004E0002F00000
4E0002F000004E0004F000004E0004F000004E0008F000004E0008F00000870011E00000
870011E00000870021E00000870021E00000870041E00000838041E00001038083C00001
038083C00001038103C00001038203C0000101C203C0000101C403C0000201C407800002
01C80780000201C80780000201D00780000200F00780000600E00780000600E00F00000F
00C00F8000FFE0C1FFF8002A1F7E9E2A>I<07FC01FFC0003E003E00003E001800003E00
1800004F001000004F001000004780100000478010000043C010000043C010000083C020
000081E020000081E020000080F020000080F020000080782000010078400001007C4000
01003C400001003C400001001E400001001E400002000F800002000F800002000F800002
000780000200078000060003800006000300000F00010000FFE0010000221F7E9E22>I<
0003F800001E0E000038070000E0038001C001C003C001E0078000E00F0000F00F0000F0
1E0000F01E0000F83E0000F83C0000F87C0000F87C0000F87C0000F87C0000F8F80001F0
F80001F0F80001F0F80001F0F80003E0780003E0780003C0780007C07C0007803C000F00
3C001E001E001C000E0038000700F00003C3C00000FE00001D217B9F23>I<07FFFF0000
7C03C0003C01E0003C00F0007800F0007800F8007800F8007800F8007800F8007800F000
F001F000F001E000F003C000F0078000F00F0000FFF80001E0000001E0000001E0000001
E0000001E0000001E0000003C0000003C0000003C0000003C0000003C0000003C0000007
80000007C00000FFFC00001D1F7E9E1F>I<07FFFC00007C0700003C03C0003C01E00078
01E0007801F0007801F0007801F0007801F0007801E000F003E000F003C000F0078000F0
0F0000F03C0000FFF00001E0300001E0380001E01C0001E01C0001E01C0001E01E0003C0
3E0003C03E0003C03E0003C03E0003C03E0003C03E0207803E0407C01F04FFFC0F180000
03E01F207E9E21>82 D<003F040060CC01803C03801C03001C0700180600080E00080E00
080E00080E00000F00000F80000FE00007FE0003FF8001FFC0007FE00007E00001E00000
E00000F00000F04000E04000E04000E04000E06000C0600180E00380F80300C60C0081F8
0016217D9F19>I<3FFFFFF03C0780F03007803060078030400F0010400F0010C00F0010
800F0010800F0010800F0010001E0000001E0000001E0000001E0000001E0000001E0000
003C0000003C0000003C0000003C0000003C0000003C0000007800000078000000780000
00780000007800000078000000F0000001F800007FFFE0001C1F7A9E21>I<FFFC3FF80F
8007C007800300078003000F0002000F0002000F0002000F0002000F0002000F0002001E
0004001E0004001E0004001E0004001E0004001E0004003C0008003C0008003C0008003C
0008003C0008003C000800380010003800100038001000380020003C0040001C0040001C
0080000E0100000706000001F800001D20799E22>I<FFF003FE1F8000F80F0000600F00
00400F0000400F8000800780018007800100078002000780020007C0040003C0040003C0
080003C0080003C0100003E0100001E0200001E0200001E0400001E0400001F0800000F1
000000F1000000F2000000F2000000FC0000007C00000078000000780000007000000070
0000002000001F207A9E22>I<FFFFFC16017E8C17>123 D E /Fg
42 123 df<007000E001C00380078007000E001E001E003C003C003C0078007800780078
007000F000F000F000F000F000F000F000F000F000F000F000F000700078007800780078
003C003C003C001E001E000E0007000780038001C000E000700C2E7EA112>40
D<E000700038001C001E000E0007000780078003C003C003C001E001E001E001E000E000
F000F000F000F000F000F000F000F000F000F000F000F000E001E001E001E001E003C003
C003C00780078007000E001E001C0038007000E0000C2E7DA112>I<7878787818303060
60E0050A7D830D>44 D<FFC0FFC0FFC00A037F8B0F>I<001F0000001F0000003F800000
3B8000003B8000007BC0000073C0000071C00000F1E00000E1E00000E0E00001E0F00001
E0F00001C0F00003C0780003C078000380780007803C0007803C0007003C000FFFFE000F
FFFE000FFFFE001E000F001E000F003C000F803C0007803C000780780007C0780003C078
0003C0F00003E01B207F9F1E>65 D<001FC000FFF801FFFC03E03C07800C0F00001E0000
3E00003C00007C0000780000780000780000F00000F00000F00000F00000F00000F00000
F00000F000007800007800007800007C00003C00003E00001E00000F000207800E03E03E
01FFFC00FFF0001FC017227DA01D>67 D<FFFC00FFFF80FFFFC0F007E0F001F0F000F8F0
0078F0003CF0003CF0001EF0001EF0000EF0000FF0000FF0000FF0000FF0000FF0000FF0
000FF0000FF0000FF0001EF0001EF0001EF0003CF0007CF000F8F001F0F007E0FFFFC0FF
FF80FFFC0018207B9F21>I<FFFFC0FFFFC0FFFFC0F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF80F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFFE0FFFFE0FFFFE0
13207B9F1B>I<FFFFC0FFFFC0FFFFC0F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000FFFF00FFFF00FFFF00F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000012207B9F1A
>I<001FE000FFF801FFFE03E03E07800E0F00001E00003E00003C00007C000078000078
0000780000F00000F00000F00000F00000F00000F00000F003FEF003FE7803FE78001E78
001E7C001E3C001E3E001E1E001E0F001E07801E03E03E01FFFE00FFF8001FC017227DA0
1E>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004
207C9F0D>73 D<F0003EF0007CF000F8F001F0F003E0F007C0F00780F00F00F01F00F03E
00F07C00F0F800F1F000F3F800F3F800F7FC00FFBC00FF1E00FE1F00FC0F00F80780F007
80F003C0F003E0F001E0F000F0F000F8F00078F0003CF0003CF0001EF0001F18207B9F20
>75 D<F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF8011207B9F19>I<F800
01F8FC0003F8FC0003F8F4000378F6000778F6000778F6000778F3000E78F3000E78F300
0E78F3801E78F3801E78F1801C78F1C03C78F1C03C78F0C03878F0C03878F0E07878F0E0
7878F0607078F070F078F070F078F030E078F039E078F039E078F019C078F019C078F019
C078F00F8078F00F8078F00F8078F00000781D207B9F28>I<FC0078FE0078FE0078F600
78F70078F70078F38078F38078F38078F3C078F1C078F1E078F1E078F0E078F0F078F070
78F07078F07878F03878F03C78F03C78F01C78F01E78F00E78F00E78F00E78F00778F007
78F00378F003F8F003F8F001F815207B9F20>I<003F000000FFC00003FFF00007E1F800
0F807C001F003E001E001E003C000F003C000F00780007807800078078000780F00003C0
F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F80007C0
7800078078000780780007803C000F003C000F001E001E001F003E000F807C0007E1F800
03FFF00000FFC000003F00001A227DA021>I<FFF800FFFF00FFFF80F00FC0F003E0F001
E0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F003E0F00FC0FFFF80FFFF
00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F0000014207B9F1D>I<FFF800FFFF00FFFF80F007C0F003E0F001E0F000F0F0
00F0F000F0F000F0F000F0F001E0F003E0F007C0FFFF80FFFF00FFF800F03C00F01E00F0
1E00F00F00F00F00F00780F00780F003C0F001C0F001E0F000F0F000F0F00078F00078F0
003C16207B9F1D>82 D<01FC0007FF800FFFC01F03C03C00C03C00007800007800007800
007800007800007C00003C00003F00001FE0000FFC0007FE0001FF00003F800007C00003
C00003E00001E00001E00001E00001E00001E00001C0C003C0F007C0FC0F807FFF001FFE
0003F80013227EA019>I<FFFFFFC0FFFFFFC0FFFFFFC0001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00001A207E9F1F
>I<F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F0
00F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F0
00F0F000F07801E07801E03C03C03C03C01F0F800FFF0007FE0001F80014217B9F1F>I<
F00001E0F00001E0780003C0780003C0780003C03C0007803C0007803C0007801E000F00
1E000F001F000F000F001E000F001E0007801C0007803C0007803C0003C0380003C07800
03C0780001E0700001E0F00001E0F00000F0E00000F1E00000F1E0000071C000007BC000
003B8000003B8000003F8000001F0000001F00001B207F9F1E>I<F0007C000FF0007E00
0FF0007E000F78006E000E7800EE001E7800E7001E7800E7001E3C00E7003C3C01E7803C
3C01C7803C3C01C3803C1E01C380781E03C3C0781E0383C0780E0381C0700F0381C0F00F
0781E0F00F0701E0F0070700E0E0078700E1E0078F00E1E0078E00F1E0038E0071C0038E
0071C003CE0073C001DC00738001DC003B8001DC003B8001DC003B8000F8003F0000F800
1F0000F8001F0028207F9F2B>I<07E03FF87FFC701E401F000F000F000F003F07FF1FFF
7E0FF80FF00FF00FF00FF83F7FFF3FEF1F8F10147E9316>97 D<F00000F00000F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F1F000F7FC00FFFE00FC
3E00F80F00F00F00F00780F00780F00780F00780F00780F00780F00780F00F00F00F00F8
1F00FC3E00FFFC00F7F800F1E00011207D9F17>I<03F00FFC1FFE3E0E3C0278007800F0
00F000F000F000F000F000780078003C013E0F1FFF0FFE03F010147E9314>I<00078000
078000078000078000078000078000078000078000078000078000078000078007C7800F
F7801FFF803E1F807C0780780780F80780F00780F00780F00780F00780F00780F00780F0
0780780780780F803E1F801FFF800FF78007C78011207E9F17>I<03F0000FFC001FFE00
3E1F003C0700780700700380FFFF80FFFF80FFFF80F00000F00000F00000700000780000
3C01003E07001FFF0007FE0001F80011147F9314>I<03E0F00FFFF01FFFF03E3E003C1E
00780F00780F00780F00780F00780F003C1E003E3E001FFC003FF80033E0003000003800
003FFE003FFF801FFFC03FFFE07803F0F000F0F000F0F000F0F801F07E07E03FFFC00FFF
0003FC00141E7F9317>103 D<F0F0F0F00000000000000000F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F004207D9F0B>105 D<F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F01F00F01E00F03C00F07800F0F000F1E000
F3C000F78000FFC000FFC000FFE000F9F000F8F000F0F800F07C00F07C00F03E00F01E00
F01F00F00F8011207D9F16>107 D<F0FC07E0F3FE1FF0F7FF3FF8FE0FF07CF807C03CF8
07C03CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF0
07803CF007803CF007803CF007803CF007803CF007803C1E147D9325>109
D<F1F8F3FCF7FEFC1FF80FF80FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
0FF00FF00F10147D9317>I<01F80007FE001FFF803F0FC03C03C07801E07801E0F000F0
F000F0F000F0F000F0F000F0F000F07801E07801E03C03C03F0FC01FFF8007FE0001F800
14147F9317>I<F1F000F7FC00FFFE00FC3E00F81F00F00F00F00F80F00780F00780F007
80F00780F00780F00780F00F00F00F00F81F00FC3E00FFFC00F7F800F1E000F00000F000
00F00000F00000F00000F00000F00000F00000F00000111D7D9317>I<03C7800FF7801F
FF803E1F807C0F80780780780780F00780F00780F00780F00780F00780F00780F8078078
07807C0F803E1F801FFF800FF78007C78000078000078000078000078000078000078000
0780000780000780111D7E9317>I<F0E0F3E0F7E0FF00FC00FC00F800F800F000F000F0
00F000F000F000F000F000F000F000F000F0000B147D9310>I<07F01FFC3FFC780C7800
780078007C003FC01FF00FF803F8007C003C003CC03CF07CFFF87FF00FC00E147F9311>
I<1E001E001E001E001E001E00FFF0FFF0FFF01E001E001E001E001E001E001E001E001E
001E001E001E001E001E201FF00FF007C00C1A7F9910>I<F00FF00FF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00FF00FF00FF01FF03FFFFF7FEF3F0F10147D9317>I<F0
03C0F003C07807807807807C07803C0F003C0F001E0F001E1E000E1E000F1C000F1C0007
3C0007380003B80003B80003B00001F00001F00000E00000E00001C00001C00001C00003
80000780007F00007E00007C0000121D7F9315>121 D<7FFF7FFF7FFF003E003C007800
F800F001E003E007C007800F001F001E003C007C00FFFFFFFFFFFF10147F9314>I
E /Fh 29 119 df<FFFEFFFEFFFE0F037F8E14>45 D<F8F8F8F8F805057B8410>I<0030
0000700001F0000FF000FFF000FFF000F1F00001F00001F00001F00001F00001F00001F0
0001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0
0001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0
00FFFFE0FFFFE0FFFFE013287BA71D>49 D<00FE0003FF800FFFC01FFFE01F07F03C01F8
7800FC78007C70007CF0003EF0003E60003E20003E00003E00003E00003E00007C00007C
0000780000F80001F00001E00003E00007C0000F80001F00003E00007C0000F80001F000
03E00003C0000780000F00001E00003C00007FFFFE7FFFFE7FFFFE7FFFFE17287EA71D>
I<007E0003FF8007FFE01FFFF03F83F83E00F87C007C38007C30007C10007C00007C0000
7C0000F80000F80001F80003F0000FE001FFC001FF8001FFC001FFE00001F80000FC0000
7C00003E00003E00001F00001F00001F00001F00001F80001FC0003EE0003EF0007E7C00
FC3F01F81FFFF00FFFE003FFC000FE0018297EA71D>I<0007E0000FE0000BE0001BE000
1BE0003BE0003BE00073E00073E000F3E000F3E001E3E001E3E003E3E003C3E007C3E00F
83E00F83E01F03E01F03E03E03E03E03E07C03E07C03E0F803E0FFFFFFFFFFFFFFFFFFFF
FFFF0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E018277EA6
1D>I<3FFFF83FFFF83FFFF83FFFF83E00003E00003E00003E00003E00003E00003E0000
3E00003E00003E00003E3E003EFF803FFFE03FFFF03FC1F03F00F83F007C3E007C00007C
00003E00003E00003E00003E00003E00003E00003E40003E60007CE0007CF000F87801F8
7F07F03FFFE00FFFC007FF0001FC0017287EA61D>I<0003FF00000FFFE0003FFFF800FF
FFF801FE01F803F8007007E0001007C000000F8000001F8000001F0000003E0000003E00
00007C0000007C0000007C0000007C000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F80000007C0000007C0000007C0000007C00
00003E0000003E0000001F0000001F8000000F80000007C0000007E0000803F8003801FE
01F800FFFFF8003FFFF0000FFFC00003FE001D2C7CAA25>67 D<FFFFFF80FFFFFF80FFFF
FF80FFFFFF80F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000FFFFFC00FFFF
FC00FFFFFC00FFFFFC00F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F8000000192A7BA921>70 D<F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7BA910>73
D<FE000000FFFE000000FFFE000000FFFF000001FFFB000001DFFB800003DFFB800003DF
FB800003DFF9C000079FF9C000079FF9C000079FF9E0000F9FF8E0000F1FF8E0000F1FF8
F0001F1FF870001E1FF870001E1FF878003E1FF838003C1FF83C007C1FF83C007C1FF81C
00781FF81E00F81FF81E00F81FF80E00F01FF80F01F01FF80F01F01FF80701E01FF80783
E01FF80783E01FF80383C01FF803C7C01FF803C7C01FF801C7801FF801EF801FF801EF80
1FF800EF001FF800FF001FF8007E001FF8007E001FF8007E001FF80000001F282A7BA933
>77 D<FF00007CFF00007CFF80007CFF80007CFBC0007CFBC0007CF9E0007CF9E0007CF9
F0007CF8F0007CF8F0007CF8F8007CF878007CF87C007CF83C007CF83E007CF81E007CF8
1F007CF80F007CF80F807CF80F807CF807C07CF807C07CF803C07CF803E07CF801E07CF8
01F07CF800F07CF800F87CF800787CF8007C7CF8003C7CF8003C7CF8003E7CF8001E7CF8
001E7CF8000F7CF8000F7CF80007FCF80007FCF80003FCF80003FC1E2A7BA929>I<0003
FC0000000FFF0000003FFFC00000FFFFF00001FE07F80003F801FC0007E0007E000FC000
3F000F80001F001F00000F801F00000F803E000007C03E000007C07C000003E07C000003
E07C000003E078000001E0F8000001F0F8000001F0F8000001F0F8000001F0F8000001F0
F8000001F0F8000001F0F8000001F0F8000001F0F8000001F07C000003E07C000003E07C
000003E07E000007E03E000007C03E000007C01F00000F801F80001F800F80001F000FC0
003F0007E0007E0003F801FC0001FE07F80000FFFFF000003FFFC000001FFF80000003FC
0000242C7DAA2B>I<FFFFC000FFFFF800FFFFFE00F8007F00F8001F80F80007C0F80003
C0F80003E0F80001E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001
E0F80003E0F80003E0F80007C0F8001F80F8007F00FFFFFE00FFFFFC00FFFFF000F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000001C2A7B
A925>I<01FC000FFF803FFFC03FFFE03C03F03001F00001F80000F80000F80000F80000
F80001F800FFF807FFF81FFFF83FC0F87E00F8FC00F8F800F8F800F8F800F8FC01F87E07
F87FFFF83FFFF81FFCF80FE0F8151B7E9A1C>97 D<007F8001FFE007FFF80FFFF81FC078
3F00103E00007C00007C00007C0000F80000F80000F80000F80000F80000F80000F80000
7C00007C00007C00003E00003F00181FC0780FFFF807FFF801FFE0007F80151B7E9A1A>
99 D<00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E
00003E00003E00003E00003E01FC3E03FF3E0FFFBE1FFFFE1FC1FE3F007E3E003E7C003E
7C003EFC003EF8003EF8003EF8003EF8003EF8003EF8003EF8003EFC003E7C003E7C003E
7E007E3F00FE1FC1FE1FFFFE0FFFBE03FE3E01F83E172A7EA91E>I<00FC0003FF0007FF
800FFFC01F87E03F01E03E00F07C00F07C0070F80078FFFFF8FFFFF8FFFFF8FFFFF8F800
00F80000F800007800007C00007C00003E00003F00181FC0F80FFFF807FFF801FFE0007F
00151B7E9A1A>I<007C078001FF3FC007FFFFC00FFFFFC00F83E0001F01F0001F01F000
3E00F8003E00F8003E00F8003E00F8003E00F8001F01F0001F01F0000F83E0000FFFE000
1FFFC0001DFF00001C7C00003C0000003C0000003E0000001FFFE0001FFFF8000FFFFE00
1FFFFF003FFFFF807E003F807C000FC0F80007C0F80007C0F80007C0F80007C0FC000FC0
7E001F803F807F001FFFFE000FFFFC0003FFF000007F80001A287F9A1D>103
D<F8F8F8F8F800000000000000000000F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8052A7CA90E>105 D<F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7CA90E>108
D<F83F00F8FFC0FBFFE0FFFFF0FF83F0FE01F8FC00F8FC00F8FC00F8F800F8F800F8F800
F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800
F8F800F8F800F8F800F8151B7C9A1E>110 D<007E0001FF8007FFE00FFFF01F81F83F00
FC3E007C7C003E7C003E78001EF8001FF8001FF8001FF8001FF8001FF8001FF8001F7C00
3E7C003E7C003E3E007C3F00FC1FC3F80FFFF007FFE003FFC0007E00181B7E9A1D>I<F8
3F00F9FFC0FBFFE0FFFFF0FF07F8FC01F8F800FCF800FCF8007CF8007EF8003EF8003EF8
003EF8003EF8003EF8003EF8003EF8007EF8007CF800FCFC00F8FC01F8FF07F0FFFFE0FB
FFC0F9FF80F87E00F80000F80000F80000F80000F80000F80000F80000F80000F80000F8
0000F80000F8000017277C9A1E>I<F83CF8FCF9FCFBFCFFE0FF80FF00FE00FC00FC00FC
00F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F8000E1B7C
9A14>114 D<07F8001FFF003FFF807FFF807C0780F80100F80000F80000F80000FC0000
7F00007FF0003FFC001FFE0007FF0000FF80001FC0000FC00007C00007C04007C0E007C0
FC1F80FFFF807FFF001FFE0007F800121B7E9A16>I<0F80000F80000F80000F80000F80
000F80000F8000FFFF80FFFF80FFFF800F80000F80000F80000F80000F80000F80000F80
000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80
800FC38007FFC007FFC003FF0001F80012227FA115>I<F800F8F800F8F800F8F800F8F8
00F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F800F8F8
00F8F800F8F800F8F800F8F801F8F803F8FC07F8FFFFF87FFEF83FF8F81FC0F8151B7C9A
1E>I<F8001FF8001F7C003E7C003E7C003E3E007C3E007C3E007C1F00F81F00F81F00F8
0F81F00F81F00F81F007C3E007C3E007C3E003C3C003E7C001E78001E78001E78000E700
00F70000FF00007E00007E00181B7F9A1B>I E /Fi 22 124 df<000000000070000000
0000F80000000001F80000000001F80000000003F80000000003F00000000007F0000000
0007E00000000007E0000000000FE0000000000FC0000000001FC0000000001F80000000
001F80000000003F80000000003F00000000007F00000000007E00000000007E00000000
00FE0000000000FC0000000001FC0000000001F80000000001F80000000003F800000000
03F00000000007F00000000007E00000000007E0000000000FE0000000000FC000000000
1FC0000000001F80000000001F80000000003F80000000003F00000000007F0000000000
7E00000000007E0000000000FE0000000000FC0000000001FC0000000001F80000000001
F80000000003F80000000003F00000000007F00000000007E00000000007E0000000000F
E0000000000FC0000000001FC0000000001F80000000003F80000000003F00000000003F
00000000007F00000000007E0000000000FE0000000000FC0000000000FC0000000001FC
0000000001F80000000003F80000000003F00000000003F00000000007F00000000007E0
000000000FE0000000000FC0000000000FC0000000001FC0000000001F80000000003F80
000000003F00000000003F00000000007F00000000007E0000000000FE0000000000FC00
00000000FC0000000001FC0000000001F80000000003F80000000003F00000000003F000
00000007F00000000007E0000000000FE0000000000FC0000000000FC0000000001FC000
0000001F80000000003F80000000003F00000000003F00000000007F00000000007E0000
000000FE0000000000FC0000000000FC0000000000F800000000007800000000002D677A
CC3A>47 D<0000000007C000000000000000000FE000000000000000000FE00000000000
0000001FF000000000000000001FF000000000000000001FF000000000000000003FF800
000000000000003FF800000000000000007FFC00000000000000007FFC00000000000000
007FFC0000000000000000FFFE0000000000000000FFFE0000000000000001FFFF000000
0000000001FFFF0000000000000001FFFF0000000000000003FFFF8000000000000003FF
FF8000000000000007FFFFC000000000000007DFFFC000000000000007CFFFC000000000
00000FCFFFE00000000000000F87FFE00000000000001F87FFF00000000000001F07FFF0
0000000000001F03FFF00000000000003F03FFF80000000000003E01FFF8000000000000
7E01FFFC0000000000007C01FFFC0000000000007C00FFFC000000000000FC00FFFE0000
00000000F8007FFE000000000001F8007FFF000000000001F0007FFF000000000001F000
3FFF000000000003F0003FFF800000000003E0001FFF800000000007E0001FFFC0000000
0007C0001FFFC00000000007C0000FFFC0000000000FC0000FFFE0000000000F800007FF
E0000000001F800007FFF0000000001F000007FFF0000000001F000003FFF0000000003F
000003FFF8000000003E000001FFF8000000007FFFFFFFFFFC000000007FFFFFFFFFFC00
0000007FFFFFFFFFFC00000000FFFFFFFFFFFE00000000F80000007FFE00000001F80000
007FFF00000001F00000003FFF00000001F00000003FFF00000003F00000003FFF800000
03E00000001FFF80000007E00000001FFFC0000007C00000000FFFC0000007C00000000F
FFC000000F800000000FFFE000000F8000000007FFE000001F8000000007FFF000001F00
00000003FFF000001F0000000003FFF000003E0000000003FFF80000FFC000000001FFF8
00FFFFFF800007FFFFFFFEFFFFFF800007FFFFFFFEFFFFFF800007FFFFFFFEFFFFFF8000
07FFFFFFFE4F487CC758>65 D<000000007FFE0000060000000FFFFFC0001E0000007FFF
FFF8003E000003FFFFFFFE007E00000FFFF800FF80FE00003FFF80001FC1FE0000FFFC00
0007F3FE0001FFF0000001FFFE0007FFC00000007FFE000FFF000000003FFE001FFE0000
00001FFE003FFC000000000FFE007FF80000000007FE00FFF00000000007FE01FFF00000
000003FE01FFE00000000001FE03FFE00000000001FE07FFC00000000000FE07FFC00000
000000FE0FFF800000000000FE0FFF8000000000007E1FFF8000000000007E1FFF000000
0000007E3FFF0000000000003E3FFF0000000000003E3FFF0000000000003E7FFF000000
0000003E7FFE000000000000007FFE000000000000007FFE00000000000000FFFE000000
00000000FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE000000
00000000FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE000000
00000000FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE000000
000000007FFE000000000000007FFE000000000000007FFE000000000000007FFF000000
000000003FFF0000000000001E3FFF0000000000001E3FFF0000000000001E1FFF000000
0000001E1FFF8000000000001E0FFF8000000000003E0FFF8000000000003C07FFC00000
0000003C07FFC000000000003C03FFE000000000007801FFE000000000007801FFF00000
000000F000FFF00000000001F0007FF80000000001E0003FFC0000000003C0001FFE0000
00000780000FFF800000000F000007FFC00000003E000001FFF00000007C000000FFFC00
0001F80000003FFF80000FF00000000FFFF8007FC000000003FFFFFFFF00000000007FFF
FFFC00000000000FFFFFE00000000000007FFE00000047497AC754>67
D<000000007FFC00000C000000000FFFFFC0003C00000000FFFFFFF0007C00000003FFFF
FFFC00FC0000001FFFF001FF01FC0000003FFF00003FC3FC000000FFF8000007E7FC0000
03FFE0000003FFFC000007FFC0000000FFFC00000FFF000000007FFC00001FFE00000000
3FFC00003FFC000000001FFC00007FF8000000000FFC0000FFF0000000000FFC0001FFF0
0000000007FC0003FFE00000000003FC0003FFE00000000003FC0007FFC00000000001FC
0007FFC00000000001FC000FFF800000000001FC001FFF800000000000FC001FFF800000
000000FC001FFF000000000000FC003FFF0000000000007C003FFF0000000000007C003F
FF0000000000007C007FFF0000000000007C007FFE00000000000000007FFE0000000000
0000007FFE0000000000000000FFFE0000000000000000FFFE0000000000000000FFFE00
00000000000000FFFE0000000000000000FFFE0000000000000000FFFE00000000000000
00FFFE0000000000000000FFFE0000000000000000FFFE0000000000000000FFFE000000
0000000000FFFE0000000000000000FFFE0000000000000000FFFE00000000000000007F
FE0000003FFFFFFFFC7FFE0000003FFFFFFFFC7FFE0000003FFFFFFFFC7FFF0000003FFF
FFFFFC3FFF0000000000FFFC003FFF0000000000FFFC003FFF0000000000FFFC001FFF00
00000000FFFC001FFF8000000000FFFC001FFF8000000000FFFC000FFF8000000000FFFC
0007FFC000000000FFFC0007FFC000000000FFFC0003FFE000000000FFFC0003FFE00000
0000FFFC0001FFF000000000FFFC0000FFF000000000FFFC00007FF800000000FFFC0000
3FFC00000000FFFC00001FFE00000000FFFC00000FFF00000001FFFC000007FFC0000001
FFFC000003FFF0000003FFFC000000FFFC00000FCFFC0000003FFF80001F87FC0000001F
FFF800FF03FC00000003FFFFFFFE00FC00000000FFFFFFF8003C000000000FFFFFE0000C
00000000007FFE000000004E497AC75B>71 D<00000003FFF0000000000000007FFFFF80
000000000003FFFFFFF000000000000FFF003FFC00000000003FF80007FF0000000000FF
E00001FFC000000003FF8000007FF000000007FF0000003FF80000000FFE0000001FFC00
00001FFC0000000FFE0000003FF800000007FF0000007FF000000003FF800000FFF00000
0003FFC00001FFE000000001FFE00003FFE000000001FFF00003FFC000000000FFF00007
FFC000000000FFF80007FF80000000007FF8000FFF80000000007FFC000FFF8000000000
7FFC001FFF00000000003FFE001FFF00000000003FFE003FFF00000000003FFF003FFF00
000000003FFF003FFF00000000003FFF007FFF00000000003FFF807FFE00000000001FFF
807FFE00000000001FFF807FFE00000000001FFF807FFE00000000001FFF80FFFE000000
00001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FF
FE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE0000000000
1FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC0FFFE00
000000001FFFC0FFFE00000000001FFFC0FFFE00000000001FFFC07FFE00000000001FFF
807FFF00000000003FFF807FFF00000000003FFF807FFF00000000003FFF803FFF000000
00003FFF003FFF00000000003FFF003FFF00000000003FFF001FFF80000000007FFE001F
FF80000000007FFE001FFF80000000007FFE000FFFC000000000FFFC000FFFC000000000
FFFC0007FFC000000000FFF80003FFE000000001FFF00003FFE000000001FFF00001FFF0
00000003FFE00000FFF800000007FFC000007FF800000007FF8000007FFC0000000FFF80
00003FFE0000001FFF0000000FFF0000003FFC00000007FFC00000FFF800000003FFE000
01FFF000000000FFF80007FFC0000000007FFF807FFF80000000000FFFFFFFFC00000000
0003FFFFFFF00000000000007FFFFF8000000000000003FFF0000000004A497AC757>79
D<FFFFFFFFFFFF000000FFFFFFFFFFFFF80000FFFFFFFFFFFFFE0000FFFFFFFFFFFFFFC0
00001FFF80001FFFE000001FFF800001FFF800001FFF800000FFFC00001FFF8000003FFE
00001FFF8000001FFF00001FFF8000001FFF80001FFF8000000FFF80001FFF8000000FFF
C0001FFF80000007FFC0001FFF80000007FFE0001FFF80000007FFE0001FFF80000007FF
F0001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FF
F0001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FFF0001FFF80000007FF
E0001FFF80000007FFE0001FFF80000007FFE0001FFF80000007FFC0001FFF8000000FFF
C0001FFF8000000FFF80001FFF8000001FFF80001FFF8000001FFF00001FFF8000003FFE
00001FFF800000FFFC00001FFF800003FFF000001FFF80001FFFE000001FFFFFFFFFFF80
00001FFFFFFFFFFC0000001FFFFFFFFFE00000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000001FFF8000000000
00001FFF800000000000001FFF800000000000001FFF800000000000FFFFFFFFF0000000
00FFFFFFFFF000000000FFFFFFFFF000000000FFFFFFFFF00000000044477CC64F>I<00
007FF00003000007FFFF000700001FFFFFE00F00007FFFFFF01F0000FFC00FFC3F0001FE
0000FE7F0003F800003FFF0007F000000FFF000FE0000007FF001FC0000003FF001FC000
0001FF003FC0000000FF003F800000007F007F800000007F007F800000003F007F800000
003F00FF800000001F00FF800000001F00FFC00000001F00FFC00000001F00FFC0000000
0F00FFE00000000F00FFF00000000F00FFF80000000F00FFFE00000000007FFF80000000
007FFFF8000000007FFFFF800000003FFFFFFC0000003FFFFFFFC000001FFFFFFFF80000
0FFFFFFFFF000007FFFFFFFF800007FFFFFFFFE00003FFFFFFFFF00001FFFFFFFFF80000
7FFFFFFFFC00003FFFFFFFFE00000FFFFFFFFF000003FFFFFFFF0000007FFFFFFF800000
03FFFFFFC00000003FFFFFC000000001FFFFE0000000001FFFE00000000007FFE0000000
0003FFF00000000000FFF00000000000FFF070000000007FF0F0000000003FF0F0000000
003FF0F0000000003FF0F0000000001FF0F0000000001FF0F8000000001FF0F800000000
1FE0F8000000001FE0FC000000001FE0FC000000001FC0FE000000003FC0FF000000003F
C0FF000000003F80FFC00000007F00FFE00000007F00FFF8000000FE00FFFE000003FC00
FE7FC00007F800FC3FFC003FF000F80FFFFFFFC000F003FFFFFF0000E0007FFFFC0000C0
0003FFE0000034497AC741>83 D<000FFFF000000000FFFFFF00000003FFFFFFC0000007
F8007FF000000FFC001FFC00000FFC0007FE00001FFE0003FF00001FFE0003FF80001FFE
0001FF80001FFE0001FFC0001FFE0000FFC0000FFC0000FFE00007F80000FFE00003F000
00FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000
FFE0000000007FFFE00000003FFFFFE0000003FFFFFFE000001FFFF0FFE000007FFE00FF
E00001FFE000FFE00003FF8000FFE0000FFE0000FFE0001FFC0000FFE0001FF80000FFE0
003FF80000FFE0007FF00000FFE0007FF00000FFE000FFE00000FFE000FFE00000FFE000
FFE00000FFE000FFE00000FFE000FFE00001FFE000FFE00001FFE0007FF00003FFE0007F
F000077FE0003FF8000F7FE0001FFC003E7FF8000FFF80F83FFFE003FFFFF01FFFE000FF
FFC00FFFE0000FFE0003FFE0332E7CAD38>97 D<00001FFFC0000001FFFFFC000007FFFF
FF00001FF8007F80007FE000FFC000FF8000FFC001FF0001FFE003FE0001FFE007FE0001
FFE00FFC0001FFE00FFC0001FFE01FF80000FFC03FF800007F803FF800003F007FF80000
00007FF0000000007FF0000000007FF000000000FFF000000000FFF000000000FFF00000
0000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF00000
0000FFF0000000007FF0000000007FF0000000007FF8000000007FF8000000003FF80000
00003FF8000000001FFC000000F00FFC000000F00FFE000001E007FE000001E003FF0000
03C001FF8000078000FFC0000F00007FF0003E00001FFC01FC000007FFFFF0000001FFFF
C00000001FFC00002C2E7CAD34>99 D<0000000000FF8000000001FFFF8000000001FFFF
8000000001FFFF8000000001FFFF800000000007FF800000000003FF800000000003FF80
0000000003FF800000000003FF800000000003FF800000000003FF800000000003FF8000
00000003FF800000000003FF800000000003FF800000000003FF800000000003FF800000
000003FF800000000003FF800000000003FF800000000003FF800000000003FF80000000
0003FF800000000003FF800000000003FF8000001FFC03FF800001FFFF83FF800007FFFF
E3FF80001FFC03F3FF80007FE0007FFF8000FF80003FFF8001FF00000FFF8003FE000007
FF8007FE000003FF800FFC000003FF800FFC000003FF801FF8000003FF803FF8000003FF
803FF8000003FF803FF0000003FF807FF0000003FF807FF0000003FF807FF0000003FF80
FFF0000003FF80FFF0000003FF80FFF0000003FF80FFF0000003FF80FFF0000003FF80FF
F0000003FF80FFF0000003FF80FFF0000003FF80FFF0000003FF80FFF0000003FF807FF0
000003FF807FF0000003FF807FF0000003FF807FF0000003FF803FF8000003FF803FF800
0003FF801FF8000003FF801FF8000003FF800FFC000003FF8007FC000007FF8003FE0000
0FFF8001FF00001FFF8000FF80007FFF80007FC000FBFFC0003FF807E3FFFF000FFFFFC3
FFFF0001FFFF03FFFF00003FF003FFFF38487CC741>I<00001FFC00000001FFFFC00000
07FFFFF000001FF80FFC00007FC001FE0000FF8000FF0001FF00007F8003FE00003FC007
FC00001FE00FFC00001FE01FF800001FF01FF800000FF03FF800000FF83FF800000FF83F
F000000FF87FF0000007F87FF0000007FC7FF0000007FCFFF0000007FCFFF0000007FCFF
FFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFF000000000FFF000000000FFF000000000FF
F000000000FFF0000000007FF0000000007FF0000000007FF0000000003FF8000000003F
F8000000001FF80000003C1FF80000003C0FFC0000003C0FFC0000007807FE000000F803
FF000001F001FF800003E000FFC00007C0003FE0001F80001FFC01FF000007FFFFFC0000
00FFFFE00000000FFF00002E2E7DAD35>I<007C0001FF0003FF8007FFC007FFC00FFFE0
0FFFE00FFFE00FFFE00FFFE007FFC007FFC003FF8001FF00007C00000000000000000000
000000000000000000000000000000000000000000000000000000007FC0FFFFC0FFFFC0
FFFFC0FFFFC003FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0
01FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0
01FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0
01FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFFFF18497CC820>105
D<007FC000FFFFC000FFFFC000FFFFC000FFFFC00003FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF
8019487CC720>108 D<00FF8003FF000003FF000000FFFF801FFFE0001FFFE00000FFFF
807FFFF8007FFFF80000FFFF81F80FFC01F80FFC0000FFFF83C007FE03C007FE000003FF
878003FF078003FF000001FF8E0003FF0E0003FF000001FF9C0003FF9C0003FF800001FF
B80001FFB80001FF800001FFB80001FFF80001FFC00001FFF00001FFF00001FFC00001FF
F00001FFF00001FFC00001FFE00001FFE00001FFC00001FFE00001FFE00001FFC00001FF
E00001FFE00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FF
C00001FFC00001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFF
FF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80592E7BAD62>I<00FF8007FE0000
FFFF803FFFC000FFFF807FFFF000FFFF81F81FF800FFFF83C00FFC0003FF870007FE0001
FF8E0007FE0001FF9C0007FF0001FFB80003FF0001FFB80003FF8001FFF00003FF8001FF
F00003FF8001FFE00003FF8001FFE00003FF8001FFE00003FF8001FFC00003FF8001FFC0
0003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC000
03FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003
FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF
8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF80
01FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF80FF
FFFF81FFFFFFFFFFFF81FFFFFFFFFFFF81FFFFFFFFFFFF81FFFFFF382E7BAD41>I<0000
0FFE0000000001FFFFF000000007FFFFFC0000001FF803FF0000007FE000FFC00000FF80
003FE00001FF00001FF00003FE00000FF80007FC000007FC000FFC000007FE000FF80000
03FE001FF8000003FF003FF8000003FF803FF0000001FF803FF0000001FF807FF0000001
FFC07FF0000001FFC07FF0000001FFC0FFF0000001FFE0FFF0000001FFE0FFF0000001FF
E0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0
FFF0000001FFE0FFF0000001FFE07FF0000001FFC07FF0000001FFC07FF0000001FFC07F
F0000001FFC03FF8000003FF803FF8000003FF801FF8000003FF001FFC000007FF000FFC
000007FE0007FE00000FFC0003FE00000FF80001FF00001FF00000FF80003FE000007FE0
00FFC000001FFC07FF00000007FFFFFC00000001FFFFF0000000001FFF000000332E7DAD
3A>I<007F803F80FFFF80FFE0FFFF81FFF8FFFF83C3FCFFFF8707FE03FF8E07FE01FF9C
0FFF01FFB80FFF01FFB80FFF01FFF00FFF01FFF00FFF01FFF007FE01FFE003FC01FFE001
F801FFE0000001FFE0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00000
01FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001
FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FF
C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00000FFFFFF
E000FFFFFFE000FFFFFFE000FFFFFFE000282E7DAD2F>114 D<000FFE01C000FFFFC7C0
03FFFFFFC007F801FFC00FC0007FC01F00001FC03F00000FC07E000007C07E000007C07E
000003C0FE000003C0FE000003C0FF000003C0FF800003C0FFE0000000FFF80000007FFF
C000007FFFFF00003FFFFFE0003FFFFFF8001FFFFFFC000FFFFFFF0007FFFFFF8001FFFF
FFC0007FFFFFE0001FFFFFE00000FFFFF0000003FFF00000007FF87000001FF8F000000F
F8F0000007F8F8000007F8F8000003F8F8000003F8FC000003F0FC000003F0FE000003F0
FF000007E0FF800007E0FFC0000FC0FFF0001F80FEFC00FF00F87FFFFC00F01FFFF000E0
03FF8000252E7CAD2E>I<0001E000000001E000000001E000000001E000000001E00000
0001E000000003E000000003E000000003E000000007E000000007E000000007E0000000
0FE00000000FE00000001FE00000003FE00000003FE00000007FE0000001FFE0000003FF
E000000FFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC000FFE0000000FFE0000000FFE0
000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
FFE000F000FFE000F000FFE000F000FFE000F000FFE000F000FFE000F000FFE000F000FF
E000F000FFE000F0007FE000E0007FF001E0003FF001E0003FF003C0001FF80380000FFE
0F000007FFFE000001FFFC0000001FF00024427EC12D>I<007FC00000FF80FFFFC001FF
FF80FFFFC001FFFF80FFFFC001FFFF80FFFFC001FFFF8003FFC00007FF8001FFC00003FF
8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF80
01FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001
FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FF
C00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC0
0003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC00003FF8001FFC000
03FF8001FFC00003FF8001FFC00007FF8001FFC00007FF8001FFC00007FF8000FFC0000F
FF8000FFC0001FFF8000FFC0001FFF80007FE0003BFF80003FE000F3FFC0001FF803E3FF
FF000FFFFF83FFFF0003FFFF03FFFF00003FF803FFFF382E7BAD41>I<FFFFFF0001FFFF
FFFFFF0001FFFFFFFFFF0001FFFFFFFFFF0001FFFF01FFC000001FC001FFE000000F8000
FFE000000F0000FFF000001F00007FF000001E00007FF800003E00003FF800003C00003F
FC00003C00001FFC00007800001FFE00007800001FFE0000F800000FFE0000F000000FFF
0001F0000007FF0001E0000007FF8003E0000003FF8003C0000003FFC007C0000001FFC0
0780000001FFE00780000000FFE00F00000000FFF00F00000000FFF01F000000007FF01E
000000007FF83E000000003FF83C000000003FFC7C000000001FFC78000000001FFEF800
0000000FFEF0000000000FFFF00000000007FFE00000000007FFE00000000007FFE00000
000003FFC00000000003FFC00000000001FF800000000001FF800000000000FF00000000
0000FF0000000000007E0000000000007E0000000000003C000000382E7EAD3D>I<FFFF
FFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF803903809D3A>123
D E /Fj 8 117 df<00003C000000007C00000001FC00000007FC0000003FFC0000FFFF
FC0000FFFFFC0000FFFFFC0000FFCFFC0000000FFC0000000FFC0000000FFC0000000FFC
0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC00
00000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000
000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000000
0FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000F
FC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC
0000000FFC0000000FFC0000000FFC00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF
80213879B730>49 D<0000001FFE000060000003FFFFE000E000001FFFFFF801E000007F
FFFFFE03E00001FFFC00FF07E00007FFC0001FCFE0000FFF000007FFE0001FFC000001FF
E0003FF0000000FFE0007FE00000007FE000FFC00000003FE001FF800000001FE003FF00
0000000FE007FF000000000FE00FFE0000000007E00FFE0000000007E01FFC0000000003
E01FFC0000000003E03FF80000000003E03FF80000000001E03FF80000000001E07FF800
00000001E07FF80000000001E07FF00000000000007FF0000000000000FFF00000000000
00FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF000
0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000000000
00FFF00000000000007FF00000000000007FF00000000000007FF80000000000007FF800
00000001E03FF80000000001E03FF80000000001E03FF80000000001E01FFC0000000001
E01FFC0000000003C00FFE0000000003C00FFE0000000003C007FF00000000078003FF00
000000078001FF800000000F0000FFC00000001F00007FE00000003E00003FF00000007C
00001FFC000000F800000FFF000003F0000007FFC0000FE0000001FFFC007F800000007F
FFFFFF000000001FFFFFFC0000000003FFFFE000000000001FFE0000003B3D7BBB46>67
D<003FFE00000001FFFFE0000007FFFFF800000FE007FC00000FF001FE00001FF800FF00
001FF8007F80001FF8007FC0001FF8003FC0000FF0003FE00007E0003FE00003C0003FE0
000000003FE0000000003FE0000000003FE0000000003FE0000000FFFFE000001FFFFFE0
00007FF83FE00003FF803FE00007FC003FE0000FF0003FE0001FE0003FE0003FE0003FE0
007FC0003FE0007FC0003FE000FF80003FE000FF80003FE000FF80003FE000FF80003FE0
00FF80007FE0007FC0007FE0007FC000DFE0003FE0039FF0001FF80F0FFFE007FFFE0FFF
E001FFFC07FFE0003FE000FFE02B267DA52F>97 D<0001FF8000000FFFF000007FFFFC00
00FF81FE0003FE007F8007F8003F800FF0001FC00FF0000FE01FE0000FE03FE0000FF03F
E00007F07FC00007F07FC00007F87FC00007F8FFC00007F8FFC00007F8FFFFFFFFF8FFFF
FFFFF8FFFFFFFFF8FFC0000000FFC0000000FFC0000000FFC00000007FC00000007FC000
00007FC00000003FE00000003FE00000781FE00000781FF00000780FF00000F007F80001
F003FC0003E001FE000FC000FFC07F80003FFFFE00000FFFF8000000FFC00025267DA52C
>101 D<00FE00000000FFFE00000000FFFE00000000FFFE00000000FFFE0000000007FE
0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE
0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE
0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE00FF800003FE
03FFF00003FE0FFFF80003FE1E03FC0003FE3801FE0003FE6001FF0003FEC000FF0003FF
C000FF8003FF8000FF8003FF0000FF8003FF0000FF8003FF0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFEFFFF
F83FFFFE2F3C7CBB36>104 D<00FE01FF0000FFFE1FFFF000FFFE7FFFFC00FFFEFC07FE
00FFFFF001FF0007FFC0007F8003FF00003FC003FE00003FE003FE00001FF003FE00001F
F803FE00000FF803FE00000FFC03FE00000FFC03FE000007FC03FE000007FE03FE000007
FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007
FE03FE000007FE03FE000007FC03FE00000FFC03FE00000FFC03FE00000FFC03FE00000F
F803FE00001FF003FE00001FF003FF00003FE003FF80007FC003FFC000FF8003FFE001FF
0003FEFC07FE0003FE7FFFF80003FE1FFFE00003FE03FE000003FE0000000003FE000000
0003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000
0003FE0000000003FE0000000003FE0000000003FE0000000003FE00000000FFFFF80000
00FFFFF8000000FFFFF8000000FFFFF80000002F377DA536>112
D<01FC03F000FFFC0FFC00FFFC1FFF00FFFC3C3F80FFFC707F8007FCE0FFC003FCC0FFC0
03FD80FFC003FD80FFC003FF807F8003FF003F0003FF001E0003FF00000003FE00000003
FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE
00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00
000003FE00000003FE00000003FE00000003FE00000003FE000000FFFFFC0000FFFFFC00
00FFFFFC0000FFFFFC000022267DA528>114 D<000F0000000F0000000F0000000F0000
000F0000001F0000001F0000001F0000001F0000003F0000003F0000007F0000007F0000
00FF000001FF000003FF000007FF00001FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF001FF0000
01FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF0000
01FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF000001FF0000
01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C01FF003C00FF0078
00FF8078007F80F0003FC1E0001FFFC0000FFF800001FE001E377EB626>116
D E /Fk 74 124 df<001F83E000F06E3001C078780380F8780300F03007007000070070
000700700007007000070070000700700007007000FFFFFF800700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11
D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700
00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000
E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFFE007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E07FE7FE1720809F19>I<001F81F80000F04F04
0001C07C06000380F80F000300F00F000700F00F00070070000007007000000700700000
070070000007007000000700700000FFFFFFFF0007007007000700700700070070070007
007007000700700700070070070007007007000700700700070070070007007007000700
700700070070070007007007000700700700070070070007007007000700700700070070
07007FE3FE3FF02420809F26>I<7038F87CFC7EFC7E743A040204020402080408041008
1008201040200F0E7E9F17>34 D<70F8FCFC74040404080810102040060E7C9F0D>39
D<0020004000800100020006000C000C00180018003000300030007000600060006000E0
00E000E000E000E000E000E000E000E000E000E000E00060006000600070003000300030
00180018000C000C000600020001000080004000200B2E7DA112>I<8000400020001000
08000C00060006000300030001800180018001C000C000C000C000E000E000E000E000E0
00E000E000E000E000E000E000E000C000C000C001C00180018001800300030006000600
0C00080010002000400080000B2E7DA112>I<01800180018001800180C183F18F399C0F
F003C003C00FF0399CF18FC1830180018001800180018010147DA117>I<000600000006
000000060000000600000006000000060000000600000006000000060000000600000006
000000060000000600000006000000060000FFFFFFF0FFFFFFF000060000000600000006
000000060000000600000006000000060000000600000006000000060000000600000006
00000006000000060000000600001C207D9A23>I<70F8FCFC7404040408081010204006
0E7C840D>I<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<0001000300030006
00060006000C000C000C00180018001800300030003000600060006000C000C000C00180
018001800300030003000600060006000C000C000C001800180018003000300030006000
60006000C000C000C000102D7DA117>I<03F0000E1C001C0E0018060038070070038070
0380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F0
03C0F003C0F003C0F003C07003807003807003807807803807001806001C0E000E1C0003
F000121F7E9D17>I<018003800F80F38003800380038003800380038003800380038003
800380038003800380038003800380038003800380038003800380038007C0FFFE0F1E7C
9D17>I<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007
C00007C0000780000780000F00000E00001C0000380000700000600000C0000180000300
000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C0010
0E00200F00780F80780780780780380F80000F80000F00000F00000E00001C0000380003
F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F0078040
0780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00
002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E00
200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E00
00FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE0001000001000001000001000
0010000010000011F000161C00180E001007001007800003800003800003C00003C00003
C07003C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E9D17
>I<007C000182000701000E03800C07801C0780380300380000780000700000700000F1
F000F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C070
03C07003803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC0
7FFF807FFF80400100800200800200800400000800000800001000002000002000004000
00400000C00000C00001C000018000038000038000038000038000078000078000078000
078000078000078000078000030000121F7D9D17>I<03F0000C0C001006003003002001
806001806001806001807001807803003E03003F06001FC8000FF00003F80007FC000C7E
00103F00300F806003804001C0C001C0C000C0C000C0C000C0C000806001802001001002
000C0C0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700700380F0
0380F00380F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C003
E3C0000380000380000380000700300700780600780E00700C002018001070000FC00012
1F7E9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D>I<0FC03070
40384038E03CF03CF03C603C0038007000E000C001800180010003000200020002000200
020002000000000000000000000007000F800F800F8007000E207D9F15>63
D<000100000003800000038000000380000007C0000007C0000007C0000009E0000009E0
000009E0000010F0000010F0000010F00000207800002078000020780000403C0000403C
0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F0002000780020007
8002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65
D<FFFFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F
8007800F8007800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F
0007800F8007800780078007C0078007C0078007C0078007C0078007C00780078007800F
8007800F0007801F000F803C00FFFFF0001A1F7E9E20>I<000FC040007030C001C009C0
038005C0070003C00E0001C01E0000C01C0000C03C0000C07C0000407C00004078000040
F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000
780000007C0000407C0000403C0000401C0000401E0000800E0000800700010003800200
01C0040000703800000FC0001A217D9F21>I<FFFFFF000F800F00078003000780030007
800100078001800780008007800080078000800780808007808000078080000780800007
81800007FF80000781800007808000078080000780800007808000078000200780002007
800020078000400780004007800040078000C0078000C0078001800F800F80FFFFFF801B
1F7E9E1F>69 D<FFFFFF000F800F00078003000780030007800100078001800780008007
8000800780008007800080078080000780800007808000078080000781800007FF800007
818000078080000780800007808000078080000780000007800000078000000780000007
8000000780000007800000078000000FC00000FFFE0000191F7E9E1E>I<000FE0200078
186000E004E0038002E0070001E00F0000E01E0000601E0000603C0000603C0000207C00
002078000020F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
7FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F0001E00700
01E0038002E000E0046000781820000FE0001E217D9F24>I<FFF8FFF80F800F8007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007FFFF0007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F000F800F
80FFF8FFF81D1F7E9E22>I<FFFC0FC00780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800FC0
FFFC0E1F7F9E10>I<0FFFC0007C00003C00003C00003C00003C00003C00003C00003C00
003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00
003C00003C00203C00F83C00F83C00F83C00F0380040780040700030E0000F800012207E
9E17>I<FFFE000FC0000780000780000780000780000780000780000780000780000780
000780000780000780000780000780000780000780000780000780000780020780020780
0207800207800607800407800407800C07801C0F807CFFFFFC171F7E9E1C>76
D<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F0004E0004F00
04E0004F000470008F000470008F000470008F000438010F000438010F000438010F0004
1C020F00041C020F00041C020F00040E040F00040E040F00040E040F000407080F000407
080F000407080F000403900F000403900F000401E00F000401E00F000401E00F000E00C0
0F001F00C01F80FFE0C1FFF8251F7E9E2A>I<FF803FF807C007C007C0038005E0010005
E0010004F001000478010004780100043C0100043C0100041E0100040F0100040F010004
078100040781000403C1000401E1000401E1000400F1000400F1000400790004003D0004
003D0004001F0004001F0004000F0004000700040007000E0003001F000300FFE001001D
1F7E9E22>I<001F800000F0F00001C0380007801E000F000F000E0007001E0007803C00
03C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001F0F80001F0F800
01F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E03C0003C03C00
03C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F23>
I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007800F8007800F
8007800F8007800F8007800F0007801E0007801C000780780007FFE00007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
0007800000078000000FC00000FFFC0000191F7E9E1F>I<FFFF80000F80F00007807800
07803C0007801E0007801E0007801F0007801F0007801F0007801F0007801E0007801E00
07803C00078078000780F00007FF80000781C0000780E0000780F0000780700007807800
078078000780780007807C0007807C0007807C0007807C0407807E0407803E040FC01E08
FFFC0F10000003E01E207E9E21>82 D<07E0800C1980100780300380600180600180E001
80E00080E00080E00080F00000F000007800007F00003FF0001FFC000FFE0003FF00001F
800007800003C00003C00001C08001C08001C08001C08001C0C00180C00380E00300F006
00CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F
0030800F0010800F0010800F0010800F0010000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>
I<FFFC3FF80FC007C0078003800780010007800100078001000780010007800100078001
000780010007800100078001000780010007800100078001000780010007800100078001
00078001000780010007800100078001000780010007800100038002000380020001C002
0001C0040000E008000070180000382000000FC0001D207E9E22>I<FFF07FF81FF01F80
0FC007C00F00078003800F00078001000F0007C00100078007C00200078007C002000780
07C0020003C009E0040003C009E0040003C009E0040003E010F00C0001E010F0080001E0
10F0080001F02078080000F02078100000F02078100000F0403C10000078403C20000078
403C20000078C03E2000003C801E4000003C801E4000003C801E4000001F000F8000001F
000F8000001F000F8000001E00078000000E00070000000E00070000000C000300000004
000200002C207F9E2F>87 D<7FF83FF80FE00FC007C0070003C0020001E0040001F00C00
00F0080000781000007C1000003C2000003E4000001E4000000F8000000F800000078000
0003C0000007E0000005E0000009F0000018F8000010780000207C0000603C0000401E00
00801F0001800F0001000780020007C0070003C01F8007E0FFE01FFE1F1F7F9E22>I<FE
FEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0FEFE072D7CA10D>91 D<FEFE060606060606060606060606060606060606
0606060606060606060606060606060606060606060606FEFE072D7FA10D>93
D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E001E0E00380E
00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>97
D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
000E3E000EC3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E00
780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F80E0C
1C1E381E380C70007000F000F000F000F000F000F00070007000380138011C020E0C03F0
10147E9314>I<000380003F800003800003800003800003800003800003800003800003
8000038000038003E380061B801C0780380380380380700380700380F00380F00380F003
80F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E9F19
>I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F0
0000F000007000007000003800801800800C010007060001F80011147F9314>I<007C00
C6018F038F07060700070007000700070007000700FFF007000700070007000700070007
00070007000700070007000700070007000700070007007FF01020809F0E>I<0000E003
E3300E3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E380033
E0002000002000003000003000003FFE001FFF800FFFC03001E0600070C00030C00030C0
0030C000306000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F01C0
0F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C0000000000000000
00000000000E007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E00FFC00A1F809E0C>I<0E0000FE00000E00000E00000E00000E00000E00
000E00000E00000E00000E00000E00000E0FF00E03C00E03000E02000E04000E08000E10
000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E07800E03800E03C00E03
E0FFCFF815207F9F18>107 D<0E00FE000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E00FFE00B20809F0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E
000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00
0E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00FF
E7FE7FE023147F9326>I<0E3E00FE43000E81800F01C00F01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16
147F9319>I<01F800070E001C03803801C03801C07000E07000E0F000F0F000F0F000F0
F000F0F000F0F000F07000E07000E03801C03801C01C0380070E0001F80014147F9317>
I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E00780E00780E00780E00
780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E00000E00000E00000E00
000E00000E00000E00000E0000FFE000151D7F9319>I<03E0800619801C05803C078038
0380780380700380F00380F00380F00380F00380F00380F0038070038078038038038038
07801C0B800E138003E38000038000038000038000038000038000038000038000038000
3FF8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E
000E000E000E000E000E00FFE00F147F9312>I<1F9030704030C010C010C010E0007800
7F803FE00FF00070803880188018C018C018E030D0608F800D147E9312>I<0200020002
00060006000E000E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E
080E080E080E080E080610031001E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E03
C00603C0030DC001F1FC16147F9319>I<FF83F81E01E01C00C00E00800E00800E008007
010007010003820003820003820001C40001C40001EC0000E80000E80000700000700000
700000200015147F9318>I<FF9FE1FC3C0780701C0300601C0380200E0380400E038040
0E03C0400707C0800704C0800704E080038861000388710003C8730001D0320001D03A00
00F03C0000E01C0000E01C0000601800004008001E147F9321>I<7FC3FC0F01E00701C0
07018003810001C20000E40000EC00007800003800003C00007C00004E00008700010700
0303800201C00601E01E01E0FF07FE1714809318>I<FF83F81E01E01C00C00E00800E00
800E008007010007010003820003820003820001C40001C40001EC0000E80000E8000070
00007000007000002000002000004000004000004000F08000F08000F100006200003C00
00151D7F9318>I<3FFF380E200E201C40384078407000E001E001C00380078007010E01
1E011C0338027006700EFFFE10147F9314>I<FFFFFC1601808C17>I
E /Fl 47 122 df<70F8FCFC7404040404080810102040060F7C840E>44
D<FFE0FFE00B027F8B10>I<70F8F8F87005057C840E>I<01F000071C000C060018030038
03803803807001C07001C07001C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F0
01E0F001E0F001E0F001E0F001E0F001E0F001E0F001E07001C07001C07001C07803C038
03803803801C07000C0600071C0001F00013227EA018>48 D<008003800F80F380038003
800380038003800380038003800380038003800380038003800380038003800380038003
80038003800380038003800380038007C0FFFE0F217CA018>I<03F0000C1C0010070020
07804003C04003C08003E0F003E0F801E0F801E0F801E02003E00003E00003C00003C000
0780000700000E00001C0000180000300000600000C00001800001000002002004002008
00201800603000403FFFC07FFFC0FFFFC013217EA018>I<03F8000C1E00100700200780
4007C07807C07803C07807C03807C0000780000780000700000F00000E0000380003F000
001C00000F000007800007800003C00003C00003E02003E07003E0F803E0F803E0F003C0
4003C0400780200780100F000C1C0003F00013227EA018>I<000200000600000E00000E
00001E00001E00002E00004E00004E00008E00008E00010E00020E00020E00040E00040E
00080E00100E00100E00200E00200E00400E00800E00FFFFF8000E00000E00000E00000E
00000E00000E00000E00001F0001FFF015217FA018>I<1000801E07001FFF001FFE001F
F80013E00010000010000010000010000010000010000010F800130E0014070018038010
03800001C00001C00001E00001E00001E00001E07001E0F001E0F001E0E001C08001C040
03C04003802007001006000C1C0003F00013227EA018>I<007E0001C1000300800601C0
0E03C01C03C0180180380000380000780000700000700000F0F800F30C00F40600F40300
F80380F801C0F001C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C0
3801C01803801C03000C0600070C0001F00013227EA018>I<01F800060E000803001001
802001802000C06000C06000C06000C07000C07801803E01003F02001FC4000FF80003F8
0003FC00067F00083F80100F803007C06001C06000E0C000E0C00060C00060C00060C000
606000406000C03000801803000E0E0003F00013227EA018>56 D<01F000060C000C0600
180700380380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E0
7001E07003E03803E01805E00C05E00619E003E1E00001C00001C00001C0000380000380
300300780700780600700C002018001030000FC00013227EA018>I<0001800000018000
000180000003C0000003C0000003C0000005E0000005E000000DF0000008F0000008F000
0010F800001078000010780000203C0000203C0000203C0000401E0000401E0000401E00
00800F0000800F0000FFFF000100078001000780030007C0020003C0020003C0040003E0
040001E0040001E00C0000F00C0000F03E0001F8FF800FFF20237EA225>65
D<0007E0100038183000E0063001C00170038000F0070000F00E0000701E0000701C0000
303C0000303C0000307C0000107800001078000010F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F800000078000000780000107C0000103C0000103C0000
101C0000201E0000200E000040070000400380008001C0010000E0020000381C000007E0
001C247DA223>67 D<FFFFFFC00F8007C0078001C0078000C00780004007800040078000
6007800020078000200780002007802020078020000780200007802000078060000780E0
0007FFE0000780E000078060000780200007802000078020000780200807800008078000
08078000100780001007800010078000300780003007800070078000E00F8003E0FFFFFF
E01D227EA121>69 D<FFFFFFC00F8007C0078001C0078000C00780004007800040078000
6007800020078000200780002007802020078020000780200007802000078060000780E0
0007FFE0000780E000078060000780200007802000078020000780200007800000078000
00078000000780000007800000078000000780000007800000078000000FC00000FFFE00
001B227EA120>I<FFFC0FC0078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
0FC0FFFC0E227EA112>73 D<03FFF0001F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00000F00000F00000F00700F00F80F00F80F00F80E00F01E00401C00
20380018700007C00014237EA119>I<FFC00003FF0FC00003F007C00003E005E00005E0
05E00005E004F00009E004F00009E004F00009E004780011E004780011E004780011E004
3C0021E0043C0021E0043C0021E0041E0041E0041E0041E0040F0081E0040F0081E0040F
0081E004078101E004078101E004078101E00403C201E00403C201E00401E401E00401E4
01E00401E401E00400F801E00400F801E00400F801E004007001E00E007001E01F007003
F0FFE0203FFF28227EA12D>77 D<FF8007FF07C000F807C0007005E0002004F0002004F0
002004780020047C0020043C0020041E0020041F0020040F002004078020040780200403
C0200401E0200401E0200400F0200400F8200400782004003C2004003E2004001E200400
0F2004000F20040007A0040003E0040003E0040001E0040001E0040000E00E0000601F00
0060FFE0002020227EA125>I<FFFFF0000F803C0007800F0007800780078007C0078003
C0078003E0078003E0078003E0078003E0078003E0078003E0078003C0078007C0078007
8007800F0007803C0007FFF0000780000007800000078000000780000007800000078000
0007800000078000000780000007800000078000000780000007800000078000000FC000
00FFFC00001B227EA121>80 D<FFFFE000000F803C000007800E00000780078000078007
C000078003C000078003E000078003E000078003E000078003E000078003E000078003C0
00078007C000078007800007800E000007803C000007FFE0000007807000000780380000
07801C000007801E000007800E000007800F000007800F000007800F000007800F000007
800F800007800F800007800F800007800F808007800FC080078007C0800FC003C100FFFC
01E2000000007C0021237EA124>82 D<03F0200C0C601802603001E07000E0600060E000
60E00060E00020E00020E00020F00000F000007800007F00003FF0001FFE000FFF0003FF
80003FC00007E00001E00000F00000F0000070800070800070800070800070C00060C000
60E000C0F000C0C80180C6070081FC0014247DA21B>I<7FFFFFF8780780786007801840
0780084007800840078008C007800C800780048007800480078004800780040007800000
078000000780000007800000078000000780000007800000078000000780000007800000
078000000780000007800000078000000780000007800000078000000780000007800000
07800000078000000FC00003FFFF001E227EA123>I<0FE0001838003C0C003C0E001807
0000070000070000070000FF0007C7001E07003C0700780700700700F00708F00708F007
08F00F087817083C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F000E61C00E8060
0F00300E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C
0E003C0E00380F00700C80600C41C0083F0017237FA21B>I<01FE000703000C07801C07
80380300780000700000F00000F00000F00000F00000F00000F00000F000007000007800
403800401C00800C010007060001F80012157E9416>I<0000E0000FE00001E00000E000
00E00000E00000E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C
02E01C01E03800E07800E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E070
00E07800E03800E01801E00C02E0070CF001F0FE17237EA21B>I<01FC000707000C0380
1C01C03801C07801E07000E0F000E0FFFFE0F00000F00000F00000F00000F00000700000
7800203800201C00400E008007030000FC0013157F9416>I<003C00C6018F038F030F07
0007000700070007000700070007000700FFF80700070007000700070007000700070007
0007000700070007000700070007000700070007807FF8102380A20F>I<00007001F198
071E180E0E181C07001C07003C07803C07803C07803C07801C07001C07000E0E000F1C00
19F0001000001000001800001800001FFE000FFFC00FFFE03800F0600030400018C00018
C00018C000186000306000303800E00E038003FE0015217F9518>I<0E0000FE00001E00
000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F
800E60C00E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00
700E00700E00700E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<1C001E00
3E001E001C00000000000000000000000000000000000E00FE001E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<01
C003E003E003E001C00000000000000000000000000000000001E00FE001E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E060E0F0C0F18061803E000B2C82A10F>I<0E0000FE00001E00000E00000E00
000E00000E00000E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01
C00E01800E02000E04000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07
800E03C00E01C00E01E00E00F00E00F8FFE3FE17237FA21A>I<0E00FE001E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E00FFE00B237FA20E>I<0E1FC07F00
FE60E183801E807201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E
003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E00
3800E00E003800E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E
1F80FE60C01E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC00
0707000C01801800C03800E0700070700070F00078F00078F00078F00078F00078F00078
F000787000707800F03800E01C01C00E038007070001FC0015157F9418>I<0E1F00FE61
C00E80600F00700E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E00
1E0E003C0E003C0E00380F00700E80E00E41C00E3F000E00000E00000E00000E00000E00
000E00000E00000E00000E0000FFE000171F7F941B>I<0E3CFE461E8F0F0F0F060F000E
000E000E000E000E000E000E000E000E000E000E000E000E000F00FFF010157F9413>
114 D<0F8830786018C018C008C008E008F0007F803FE00FF001F8003C801C800C800CC0
0CC008E018D0308FC00E157E9413>I<02000200020002000600060006000E001E003E00
FFF80E000E000E000E000E000E000E000E000E000E000E000E040E040E040E040E040E04
0708030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E00700E00700E00700E00
700E00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F00601700382
7800FC7F18157F941B>I<FFC1FE1E00780E00300E00200E002007004007004003808003
808003808001C10001C10000E20000E20000E20000740000740000380000380000380000
100017157F941A>I<FF8FF8FF1E01E03C1C01C0180E01C0180E01E0100E01E010070260
20070270200702702003843040038438400384384001C8188001C81C8001C81C8000F00D
0000F00F0000F00F0000600600006006000060060020157F9423>I<FFC1FE1E00780E00
300E00200E002007004007004003808003808003808001C10001C10000E20000E20000E2
00007400007400003800003800003800001000001000002000002000002000004000F040
00F08000F180004300003C0000171F7F941A>121 D E /Fm 20 118
df<FFFF80FFFF80FFFF8011037F9016>45 D<FFFFFFE00000FFFFFFFC000007E0007F00
0003E0000F800003E00003C00003E00001E00003E00000F00003E00000780003E000003C
0003E000001E0003E000001E0003E000000F0003E000000F0003E000000F8003E0000007
8003E0000007C003E0000007C003E0000003C003E0000003C003E0000003E003E0000003
E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003
E003E0000003E003E0000003E003E0000003E003E0000003C003E0000003C003E0000007
C003E0000007C003E00000078003E00000078003E000000F8003E000000F0003E000001F
0003E000001E0003E000003C0003E00000780003E00000F80003E00001F00003E00003E0
0003E0000F800007E0003F0000FFFFFFFC0000FFFFFFE000002B317CB033>68
D<FFFF80FFFF8007F00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007F000FFFF
80FFFF8011317DB017>73 D<FFF00000007FF8FFF00000007FF807F00000007F0002F800
0000BE0002F8000000BE0002F8000000BE00027C0000013E00027C0000013E00023E0000
023E00023E0000023E00023E0000023E00021F0000043E00021F0000043E00021F000004
3E00020F8000083E00020F8000083E00020F8000083E000207C000103E000207C000103E
000207C000103E000203E000203E000203E000203E000201F000403E000201F000403E00
0201F000403E000200F800803E000200F800803E000200F800803E0002007C01003E0002
007C01003E0002007C01003E0002003E02003E0002003E02003E0002003E02003E000200
1F04003E0002001F04003E0002000F88003E0002000F88003E0002000F88003E00020007
D0003E00020007D0003E00020007D0003E00020003E0003E00020003E0003E00020003E0
003E00070001C0003E000F8001C0007F00FFF801C00FFFF8FFF800800FFFF835317CB03D
>77 D<FFFFFFC000FFFFFFF80007E0007E0003E0001F0003E000078003E00003C003E000
01E003E00001F003E00001F003E00000F003E00000F803E00000F803E00000F803E00000
F803E00000F803E00000F803E00000F003E00001F003E00001E003E00003E003E00003C0
03E000078003E0001F0003E0007C0003FFFFF00003E000000003E000000003E000000003
E000000003E000000003E000000003E000000003E000000003E000000003E000000003E0
00000003E000000003E000000003E000000003E000000003E000000003E000000003E000
000003E000000003E000000003E000000007F0000000FFFF800000FFFF80000025317CB0
2D>80 D<007F802001FFE02007C078600F001C601E0006E03C0003E0380001E0780000E0
700000E070000060F0000060F0000060F0000020F0000020F0000020F8000020F8000000
7C0000007E0000003F0000003FC000001FF800000FFF800007FFF80003FFFC0000FFFF00
000FFF800000FFC000001FE0000007E0000003F0000001F0000000F0000000F8000000F8
8000007880000078800000788000007880000078C0000078C0000070E00000F0E00000E0
F00000E0F80001C0EC000380C7000700C1F01E00807FFC00800FF0001D337CB125>83
D<00FE00000303C0000C00E00010007000100038003C003C003E001C003E001E003E001E
0008001E0000001E0000001E0000001E00000FFE0000FC1E0003E01E000F801E001F001E
003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8003E04F8003E0478003E
047C005E043E008F080F0307F003FC03E01E1F7D9E21>97 D<003F8000E0600380180700
040F00041E001E1C003E3C003E7C003E7C0008780000F80000F80000F80000F80000F800
00F80000F80000F80000F800007800007C00007C00003C00011E00011E00020F00020700
0403801800E060003F80181F7D9E1D>99 D<000001E000003FE000003FE0000003E00000
01E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00000
01E0000001E0000001E0000001E0000001E0000001E0001F81E000F061E001C019E00780
05E00F0003E00E0003E01E0001E03C0001E03C0001E07C0001E0780001E0F80001E0F800
01E0F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0780001E07800
01E03C0001E03C0001E01C0001E01E0003E00E0005E0070009E0038011F000E061FF003F
81FF20327DB125>I<003F800000E0E0000380380007003C000E001E001E001E001C000F
003C000F007C000F0078000F8078000780F8000780F8000780FFFFFF80F8000000F80000
00F8000000F8000000F8000000F8000000780000007C0000003C0000003C0000801E0000
800E0001000F0002000780020001C00C0000F03000001FC000191F7E9E1D>I<0007E000
1C1000383800707C00E07C01E07C01C03803C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C000FFFFC0FFFFC003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C00003C00003C00003C00003C00007E0007FFF007F
FF0016327FB114>I<000000F0007F030801C1C41C0380E81C070070080F0078001E003C
001E003C003E003E003E003E003E003E003E003E003E003E003E003E001E003C001E003C
000F007800070070000780E00009C1C000087F0000180000001800000018000000180000
00180000001C0000000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E0300000
F070000070E0000038E0000038E0000038E0000038E00000387000007070000070380000
E01C0001C00700070001C01C00003FE0001E2F7E9F21>I<07000F801F801F800F800700
000000000000000000000000000000000000000000000780FF80FF800F80078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
0780078007800FC0FFF8FFF80D307EAF12>105 D<0780FE001FC000FF83078060F000FF
8C03C18078000F9001E2003C0007A001E4003C0007A000F4001E0007C000F8001E0007C0
00F8001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000
F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F000
1E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E
000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341F7E9E38>109
D<0780FE0000FF83078000FF8C03C0000F9001E00007A001E00007A000F00007C000F000
07C000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F0000FC001
F800FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F0780001C01C00070007000F
0007801E0003C01C0001C03C0001E03C0001E0780000F0780000F0780000F0F80000F8F8
0000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8780000F07C0001F03C
0001E03C0001E01E0003C01E0003C00F00078007800F0001C01C0000F07800001FC0001D
1F7E9E21>I<0783E0FF8C18FF907C0F907C07A07C07C03807C00007C00007C000078000
078000078000078000078000078000078000078000078000078000078000078000078000
0780000780000780000780000780000780000FC000FFFE00FFFE00161F7E9E19>114
D<01FC100E03301800F0300070600030E00030E00010E00010E00010F00010F800007E00
003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C80003C80001CC0001CC000
1CE0001CE00018F00038F00030CC0060C301C080FE00161F7E9E1A>I<00400000400000
400000400000400000C00000C00000C00001C00001C00003C00007C0000FC0001FFFE0FF
FFE003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C01003C01003C01003C01003C01003C01003C01003
C01001C02001E02000E0400078C0001F00142C7FAB19>I<078000F000FF801FF000FF80
1FF0000F8001F000078000F000078000F000078000F000078000F000078000F000078000
F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0
00078000F000078000F000078000F000078000F000078000F000078000F000078001F000
078001F000078001F000038002F00003C004F00001C008F800007030FF80001FC0FF8021
1F7E9E25>I E /Fn 5 85 df<00000000600000000000E00000000000E00000000001E0
0000000003E00000000003E00000000007E00000000007F0000000000DF0000000000DF0
0000000019F00000000039F00000000031F00000000061F00000000061F000000000C1F0
00000000C1F00000000181F00000000381F00000000301F00000000601F00000000601F0
0000000C01F80000000C00F80000001800F80000003800F80000003000F80000006000F8
0000006000F8000000C000F8000000C000F8000001FFFFF8000001FFFFF80000030000F8
0000060000F80000060000F800000C0000F800000C0000FC00001800007C00001800007C
00003000007C00007000007C00006000007C0000C000007C0000C000007C0001C000007C
0003C000007C000FE00000FE00FFF8001FFFE0FFF8001FFFE02B327CB134>65
D<000FFFFFFC0000000FFFFFFF800000007E000FE00000007C0003F00000007C0000F800
00007C00007C0000007C00007C000000F800003E000000F800001E000000F800001F0000
00F800001F000001F000001F000001F000000F800001F000000F800001F000000F800003
E000000F800003E000000F800003E000000F800003E000001F800007C000001F800007C0
00001F800007C000001F800007C000001F80000F8000001F00000F8000003F00000F8000
003F00000F8000003F00001F0000007E00001F0000007E00001F0000007E00001F000000
7C00003E000000FC00003E000000F800003E000001F800003E000001F000007C000003E0
00007C000003E000007C000007C000007C00000F800000F800000F000000F800001E0000
00F800003C000000F8000078000001F00001F0000001F00003E0000001F0000F80000003
F0007F000000FFFFFFFC000000FFFFFFC000000031317BB035>68
D<000FFFFFFFF8000FFFFFFFF800007E0003F800007C0000F800007C00007800007C0000
7800007C0000300000F80000300000F80000300000F80000300000F80000300001F00000
300001F00000300001F00000300001F00000600003E00180600003E00180000003E00180
000003E00180000007C00300000007C00300000007C00700000007C01F0000000FFFFE00
00000FFFFE0000000F801E0000000F800E0000001F000C0000001F000C0000001F000C00
00001F000C0000003E00180000003E00180000003E00000000003E00000000007C000000
00007C00000000007C00000000007C0000000000F80000000000F80000000000F8000000
0000F80000000001F00000000001F00000000001F00000000003F000000000FFFFE00000
00FFFFE00000002D317BB02E>70 D<000FFFFFE000000FFFFFFC0000007E003F0000007C
000F8000007C0007C000007C0003E000007C0003E00000F80001F00000F80001F00000F8
0001F00000F80003F00001F00003F00001F00003F00001F00003F00001F00003E00003E0
0007E00003E00007C00003E0000FC00003E0000F800007C0001F000007C0003E000007C0
0078000007C001E000000F800F8000000FFFFC0000000F800E0000000F80070000001F00
038000001F0003C000001F0001E000001F0001E000003E0001F000003E0001F000003E00
01F000003E0001F000007C0003F000007C0003F000007C0003E000007C0003E00000F800
07E00000F80007E00000F80007E00000F80007E01801F00007E03001F00007E03001F000
07E02003F00003E060FFFF8001E0C0FFFF8000F180000000003E002D327BB033>82
D<07FFFFFFFFF007FFFFFFFFF00FE007E007F00F8007C001F00E0007C000E00C0007C000
E01C0007C000E018000F8000E018000F8000E030000F8000C030000F8000C030001F0000
C060001F0000C060001F0000C060001F0000C0C0003E00018000003E00000000003E0000
0000003E00000000007C00000000007C00000000007C00000000007C0000000000F80000
000000F80000000000F80000000000F80000000001F00000000001F00000000001F00000
000001F00000000003E00000000003E00000000003E00000000003E00000000007C00000
000007C00000000007C00000000007C0000000000F80000000000F80000000000F800000
00000F80000000001F00000000001F00000000001F00000000003F000000003FFFFF0000
003FFFFF0000002C3174B032>84 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%EndSetup
%%Page: 0 1
0 0 bop 799 911 a Fn(D)25 b(R)g(A)g(F)g(T)225 1002 y
Fm(Do)r(cumen)n(t)20 b(for)i(a)f(Standard)g(Message-P)n(assing)f(In)n
(terface)621 1196 y Fl(Message)c(P)o(assing)h(In)o(terface)e(F)l(orum)
833 1323 y(July)h(29,)g(1996)77 1381 y(This)h(w)o(ork)f(w)o(as)h(supp)q
(orted)g(in)f(part)h(b)o(y)e(ARP)l(A)h(and)h(NSF)e(under)h(gran)o(t)h
(ASC-9310330,)i(the)192 1439 y(National)d(Science)f(F)l(oundation)i
(Science)e(and)i(T)l(ec)o(hnology)f(Cen)o(ter)f(Co)q(op)q(erativ)o(e)76
1497 y(Agreemen)o(t)e(No.)22 b(CCR-8809615,)d(and)e(b)o(y)e(the)h
(Commission)e(of)j(the)f(Europ)q(ean)i(Comm)o(unit)n(y)654
1555 y(through)f(Esprit)f(pro)s(ject)g(P6643.)p eop
%%Page: 1 2
1 1 bop 166 49 a Fk(This)20 b(is)h(the)f(result)g(of)f(a)h(LaT)l(eX)g
(run)g(of)g(a)f(draft)g(of)h(a)f(single)j(c)o(hapter)d(of)h(the)g(MPIF)
f(Final)75 106 y(Rep)q(ort)d(do)q(cumen)o(t.)969 2828
y(i)p eop
%%Page: 1 3
1 2 bop 75 361 a Fj(Chapter)31 b(1)75 568 y Fi(One)39
b(Sided)e(Comm)m(unications)f({)75 693 y(P/G/O)k(Alternativ)m(e)75
933 y Fh(1.1)59 b(Intro)r(duction)75 1035 y Fk(F)l(or)19
b(the)g(purp)q(oses)h(of)f(this)h(c)o(hapter,)g(1-sided)g(comm)o
(unication)g(is)g(de\014ned)h(as)e(comm)o(unication)h(in)75
1091 y(whic)o(h)13 b(one)f(pro)q(cess)g(sp)q(eci\014es)i(b)q(oth)e(the)
g(source)f(and)i(destination)f(of)g(the)g(data)f(to)g(b)q(e)i(comm)o
(unicated.)75 1148 y(In)23 b(general,)h(1-sided)f(comm)o(unication)f
(can)h(o\013er)e(more)g(e\016cien)o(t)i(utilization)h(of)e(hardw)o(are)
f(than)75 1204 y(traditional)g(message)f(passing)h(in)g(some)f(cases,)h
(and)g(ma)o(y)f(o\013er)f(a)h(more)g(natural)h(framew)o(ork)e(for)75
1261 y(programming)i(some)g(applications,)j(but)d(it)h(do)q(es)f(not)g
(tec)o(hnically)j(o\013er)c(an)o(y)h(more)g(p)q(o)o(w)o(er)g(than)75
1317 y(message)15 b(passing.)166 1374 y(In)20 b(1-sided)h(comm)o
(unication,)f(the)g(pro)q(cess)g(whic)o(h)g(sp)q(eci\014es)h(the)f
(source)f(and)h(destination)g(of)75 1430 y(the)15 b(comm)o(unication)h
(will)h(b)q(e)f(called)h(the)e(originator,)g(and)g(m)o(ust)g(con)o
(tain)g(either)h(the)g(source)f(or)g(the)75 1487 y(destination)k(of)f
(the)h(data.)29 b(The)18 b(other)g(pro)q(cess)h(\(i.e.)29
b(the)19 b(one)f(other)g(than)h(the)f(originator)g(whic)o(h)75
1543 y(holds)12 b(either)f(the)g(source)g(or)g(destination)h(of)e(the)h
(data\))f(will)j(b)q(e)f(called)g(the)f(target.)18 b(If)11
b(b)q(oth)g(the)g(source)75 1599 y(and)j(destination)h(are)f(in)h(the)f
(same)f(pro)q(cess,)h(that)g(pro)q(cess)g(will)i(b)q(e)e(called)i(b)q
(oth)e(the)g(originator)g(and)75 1656 y(target.)166 1712
y(The)h(originator)f(can)h(p)q(erform)g(t)o(w)o(o)e(general)j(op)q
(erations:)j Fg(PUT)p Fk(,)c(in)h(whic)o(h)f(the)g(originator)g(con-)75
1769 y(tains)j(the)f(source)h(of)f(the)g(comm)o(unication)h(and)g(the)g
(target)e(con)o(tains)h(the)h(destination,)g(and)g Fg(GET)p
Fk(,)75 1825 y(in)g(whic)o(h)f(the)g(target)f(con)o(tains)h(the)g
(source)g(of)g(the)g(comm)o(unication)g(and)g(the)g(originator)g(con)o
(tains)75 1882 y(the)e(destination.)166 1938 y(The)f(target)f(has)h
(some)g(con)o(trol)g(o)o(v)o(er)g(the)g(comm)o(unication.)20
b(Sp)q(eci\014call)q(y)l(,)d(it)d(sp)q(eci\014es)i(when)f(an)75
1995 y(originator)j(is)g(allo)o(w)o(ed)h(to)e(p)q(erform)h(1-sided)h
(op)q(erations)f(to)f(its)i(address)f(space,)g(whic)o(h)h(p)q(ortion)f
(of)75 2051 y(that)c(address)h(space)g(is)g(a)o(v)m(ailable)i(as)d(the)
h(source)g(or)f(destination)h(of)g(1-sided)h(comm)o(unications,)f(and)
75 2108 y(whic)o(h)h(op)q(erations)g(\(i.e.)21 b(PUT)15
b(or)g(GET\))g(ma)o(y)g(b)q(e)h(p)q(erformed)g(to)f(that)g(address)g
(space.)21 b(The)16 b(target)75 2164 y(sp)q(eci\014es)h(these)e(b)o(y)h
(executing)g(an)f Fg(MPI)p 782 2164 14 2 v 16 w(OFFER)h
Fk(op)q(eration.)166 2220 y(Sync)o(hronization)c(b)q(et)o(w)o(een)e
(the)h(originator)f(and)g(target)f(is)i(pro)o(vided)g(b)o(y)g(matc)o
(hing,)g(in)g(a)f(manner)75 2277 y(similar)22 b(to)e(that)g(p)q
(erformed)i(b)o(y)e Fg(MPI)p 772 2277 V 16 w(ISSEND)h
Fk(and)g Fg(MPI)p 1140 2277 V 16 w(SRECV)p Fk(.)h(Sp)q(eci\014cally)l
(,)j(a)c Fg(MPI)p 1710 2277 V 15 w(PUT)g Fk(or)75 2333
y Fg(MPI)p 160 2333 V 16 w(GET)d Fk(op)q(eration)g(on)g(the)f
(originator)h(initiates)h(a)e(request)h(to)f(p)q(erform)h(a)f(transfer)
g(to)g(or)h(from)75 2390 y(the)h(target)e(pro)q(cess,)i(but)g(that)f
(request)h(cannot)f(complete)h(un)o(til)h(the)f(target)e(pro)q(cess)i
(p)q(erforms)f(a)75 2446 y(matc)o(hing)11 b Fg(MPI)p
354 2446 V 16 w(OFFER)h Fk(op)q(eration.)18 b Fg(MPI)p
824 2446 V 16 w(PUT)11 b Fk(and)g Fg(MPI)p 1108 2446
V 16 w(GET)h Fk(op)q(erations)f(con)o(tain)g Fg(communicato)o(r)p
Fk(,)75 2503 y Fg(tag)p Fk(,)i(and)g Fg(ta)o(rget)p 363
2503 V 16 w(rank)g Fk(argumen)o(ts)e(\(lik)o(e)j Fg(MPI)p
874 2503 V 16 w(ISSEND)p Fk(\))e(and)h(the)g Fg(OFFER)h
Fk(m)o(ust)e(con)o(tain)h(a)f(matc)o(hing)75 2559 y Fg(communicato)o(r)
d Fk(and)i Fg(tag)f Fk(\(lik)o(e)i Fg(MPI)p 691 2559
V 15 w(SRECV)p Fk(\).)f(Unlik)o(e)h(their)f(message-passing)g(coun)o
(terparts,)f(a)h(single)75 2616 y Fg(MPI)p 160 2616 V
16 w(OFFER)16 b Fk(on)f(the)h(target)e(can)i(matc)o(h)f(m)o(ultiple)i
Fg(PUT)f Fk(and)f Fg(GET)h Fk(requests)f(from)g(the)h(originator,)75
2672 y(since)f(the)f(requests)g(con)o(tain)g(most)f(of)h(the)g
(information)g(ab)q(out)g(the)g(data)f(transfer.)19 b(A)14
b(non-blo)q(c)o(king)964 2828 y(1)p eop
%%Page: 2 4
2 3 bop 75 -100 a Fk(2)196 b Ff(CHAPTER)15 b(1.)35 b(ONE)15
b(SIDED)h(COMMUNICA)l(TIONS)g({)f(P/G/O)f(AL)l(TERNA)l(TIVE)75
49 y Fk(v)o(ersion)h(of)g Fg(MPI)p 366 49 14 2 v 16 w(OFFER)p
Fk(,)g Fg(MPI)p 633 49 V 16 w(IOFFER)p Fk(,)g(is)h(also)f(pro)o(vided.)
166 106 y(Tw)o(o)e(forms)h(of)g(this)h(p)q(oin)o(t-to-p)q(oin)o(t)g
(1-sided)g(mo)q(del)g(are)f(pro)o(vided,)h(whic)o(h)h(di\013er)e(only)h
(in)g(their)75 162 y(progress)e(prop)q(erties.)20 b(In)14
b(the)f(\014rst)g(form,)g(called)i(non-progressiv)o(e,)f(an)f
Fg(OFFER)h Fk(will)h(not)f(necessarily)75 219 y(satisfy)e(a)h
Fg(PUT)f Fk(or)h Fg(GET)f Fk(request)h(un)o(til)h(or)e(unless)i(the)e
Fg(OFFER)i Fk(completes)f(or)f(attempts)g(to)g(complete.)75
275 y(In)k(the)g(second)g(form,)f(called)i(progressiv)o(e,)f(a)f
Fg(PUT)h Fk(or)f Fg(GET)h Fk(request)g(will)h(alw)o(a)o(ys)e(b)q(e)h
(satis\014ed)h(b)o(y)e(a)75 332 y(matc)o(hing)e Fg(OFFER)p
Fk(,)g(ev)o(en)g(if)h(the)f Fg(OFFER)g Fk(do)q(es)g(not)g(complete)g
(or)g(attempt)f(to)g(complete.)20 b(This)13 b(latter)75
388 y(progress)k(rule)i(is)g(similar)g(to)e(the)i(progress)e(rule)i
(for)e(non)o(blo)q(c)o(king)j(op)q(erations)e(de\014ned)h(in)g(Section)
75 444 y(3.7.4)e(of)i(the)g(MPI-1)g(standard.)31 b(The)19
b(user)g(is)g(advised)h(to)f(use)g(the)g(non-progressiv)o(e)g(forms)g
(of)f(1-)75 501 y(sided)13 b(comm)o(unication)f(whenev)o(er)g(p)q
(ossible,)h(b)q(ecause)g(enforcemen)o(t)e(of)g(the)g(more)g(stringen)o
(t)h(progress)75 557 y(prop)q(ert)o(y)k(can)g(incur)h(signi\014can)o(t)
h(o)o(v)o(erhead)d(on)h(some)g(arc)o(hitectures.)23 b(It)17
b(is)f(p)q(ossible)i(to)e(implemen)o(t)75 614 y(an)o(y)10
b(program)g(without)h(using)h(the)f(progressiv)o(e)f(forms,)h(though)f
(it)i(ma)o(y)e(require)h(initiating)i(a)d(separate)75
670 y(pro)q(cess)15 b(to)g(serv)o(e)g(as)g(an)g(agen)o(t)f(in)i(some)f
(rare)g(cases.)166 727 y(In)23 b(addition)h(to)d(the)i(p)q(oin)o
(t-to-p)q(oin)o(t)g(1-sided)h(mo)q(dels,)h(a)d(collectiv)o(e)i(mo)q
(del)f(of)g(these)f(same)75 783 y(op)q(erations)12 b(is)h(also)f(pro)o
(vided)h(for)e(the)h(b)q(ene\014t)h(of)f(those)g(who)g(desire)h(\(or)e
(are)h(familiar)h(with\))f(the)g(Bulk)75 840 y(Sync)o(hronous)j(P)o
(arallel)h(mo)q(del,)g(or)e(the)h(BARRIER-st)o(yle)j(o\013ered)c(b)o(y)
h(some)g(computer)g(v)o(endors.)k(In)75 896 y(the)12
b(collectiv)o(e)i(1-sided)f(mo)q(del,)h(all)f(pro)q(cesses)f(within)i
(a)e(comm)o(unicator)f(p)q(erform)h(zero)g(or)g(more)g
Fg(GET)75 953 y Fk(and/or)i Fg(PUT)h Fk(op)q(erations,)g(after)f(\(or)g
(during\))h(whic)o(h)h(all)g(pro)q(cesses)f(p)q(erform)f(an)h
Fg(OFFER)h Fk(op)q(eration)75 1009 y(whic)o(h)g(satis\014es)f(all)i(p)q
(ending)g Fg(GET)e Fk(and/or)g Fg(PUT)g Fk(requests.)166
1113 y Fe(Discussion:)34 b Fd(There)15 b(are)f(probably)f(b)q(etter)j
(names)d(than)h(OFFER.)f(Ma)o(yb)q(e)i Fc(MPI)p 1529
1113 13 2 v 14 w(PUBLIC)p Fd(?)75 1303 y Fh(1.2)59 b(Miscellaneous)20
b(F)n(unctions)75 1405 y Fk(Within)11 b(message-passing)g(or)e(1-sided)
i(routines,)h(the)e(use)g(of)g(regions)g(allo)q(cated)i(using)e(the)h
(MPI)p 1748 1405 14 2 v 16 w(RMA)p 1873 1405 V 17 w(MALLOC)75
1461 y(function)16 b(ma)o(y)f(pro)o(vide)g(more)g(e\016cien)o(t)h
(execution)g(on)f(some)g(arc)o(hitectures.)75 1612 y
Fg(MPI)p 160 1612 V 16 w(RMA)p 275 1612 V 17 w(MALLOC\(base,)g(size\))
117 1689 y Fd(OUT)108 b Fg(base)505 b Fd(Address)16 b(of)d(allo)q
(cated)g(bu\013er)117 1764 y(IN)155 b Fg(size)519 b Fd(Size)15
b(of)e(bu\013er)i(to)e(allo)q(cate,)g(in)h(b)o(ytes)166
1936 y Fe(Missing:)35 b Fd(Descriptiv)o(e)15 b(text)f(written)g(b)o(y)g
(others)h(for)e(this)h(function)g(is)g(b)q(etter)h(than)f(I)g(could)g
(m)o(uster.)75 2127 y Fh(1.3)59 b(Non-Progressive)21
b(P)n(oint)f(to)g(P)n(oint)75 2228 y Fg(MPI)p 160 2228
V 16 w(PUT)f Fk(is)h(used)g(to)f(issue)h(a)f(request)h(to)e(transfer)h
(data)g(from)f(the)i(calling)h(pro)q(cess)f(to)e(another)75
2284 y(pro)q(cess.)1967 46 y Fb(1)1967 103 y(2)1967 159
y(3)1967 215 y(4)1967 272 y(5)1967 328 y(6)1967 385 y(7)1967
441 y(8)1967 498 y(9)1959 554 y(10)1959 611 y(11)1959
667 y(12)1959 724 y(13)1959 780 y(14)1959 836 y(15)1959
893 y(16)1959 949 y(17)1959 1006 y(18)1959 1062 y(19)1959
1119 y(20)1959 1175 y(21)1959 1232 y(22)1959 1288 y(23)1959
1345 y(24)1959 1401 y(25)1959 1457 y(26)1959 1514 y(27)1959
1570 y(28)1959 1627 y(29)1959 1683 y(30)1959 1740 y(31)1959
1796 y(32)1959 1853 y(33)1959 1909 y(34)1959 1966 y(35)1959
2022 y(36)1959 2078 y(37)1959 2135 y(38)1959 2191 y(39)1959
2248 y(40)1959 2304 y(41)1959 2361 y(42)1959 2417 y(43)1959
2474 y(44)1959 2530 y(45)1959 2587 y(46)1959 2643 y(47)1959
2699 y(48)p eop
%%Page: 3 5
3 4 bop 75 -100 a Ff(1.3.)34 b(NON-PR)o(OGRESSIVE)17
b(POINT)f(TO)f(POINT)810 b Fk(3)75 49 y Fg(MPI)p 160
49 14 2 v 16 w(PUT\(combine,)26 b(o)o(rigin)p 587 49
V 15 w(addr,)h(o)o(rigin)p 832 49 V 15 w(count,)g(o)o(rigin)p
1098 49 V 16 w(datat)o(yp)q(e,)g(ta)o(rget)p 1429 49
V 17 w(rank,)f(ta)o(rget)p 1680 49 V 16 w(disp,)h(ta)o(r-)75
106 y(get)p 137 106 V 17 w(count,)16 b(ta)o(rget)p 400
106 V 16 w(datat)o(yp)q(e,)g(tag,)f(comm\))117 183 y
Fd(IN)155 b Fg(combine)430 b Fd(Com)o(bine)12 b(next)j(op)e(with)h
(this)g(one)g(\(Bo)q(olean\))117 258 y(IN)155 b Fg(o)o(rigin)p
427 258 V 16 w(addr)381 b Fd(Data)13 b(to)h(b)q(e)h(put)117
333 y(IN)155 b Fg(o)o(rigin)p 427 333 V 16 w(count)360
b Fd(Num)o(b)q(er)14 b(of)f(data)g(elemen)o(ts)h(at)g(origin)p
1535 333 13 2 v 14 w(addr)117 408 y(IN)155 b Fg(o)o(rigin)p
427 408 14 2 v 16 w(datat)o(yp)q(e)302 b Fd(Datat)o(yp)q(e)14
b(of)f(eac)o(h)i(elemen)o(t)e(at)h(origin)p 1540 408
13 2 v 14 w(addr)117 483 y(IN)155 b Fg(ta)o(rget)p 433
483 14 2 v 17 w(rank)375 b Fd(Rank)13 b(of)h(target)117
559 y(IN)155 b Fg(ta)o(rget)p 433 559 V 17 w(disp)384
b Fd(Relativ)o(e)13 b(displacemen)o(t)g(in)h(target)117
634 y(IN)155 b Fg(ta)o(rget)p 433 634 V 17 w(count)353
b Fd(Num)o(b)q(er)14 b(of)f(elemen)o(ts)h(in)f(target)117
709 y(IN)155 b Fg(ta)o(rget)p 433 709 V 17 w(datat)o(yp)q(e)295
b Fd(Datat)o(yp)q(e)14 b(of)f(elemen)o(ts)h(in)f(target)117
784 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 859 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)166 984 y Fg(MPI)p
251 984 V 16 w(GET)14 b Fk(is)g(used)g(to)f(issue)h(a)f(request)h(to)f
(transfer)f(data)h(from)g(another)g(pro)q(cess)h(to)f(the)g(calling)75
1040 y(pro)q(cess.)75 1191 y Fg(MPI)p 160 1191 V 16 w(GET\(combine,)27
b(o)o(rigin)p 585 1191 V 15 w(addr,)g(o)o(rigin)p 830
1191 V 15 w(count,)h(o)o(rigin)p 1097 1191 V 15 w(datat)o(yp)q(e,)g(ta)
o(rget)p 1428 1191 V 17 w(rank,)e(ta)o(rget)p 1679 1191
V 17 w(disp,)h(ta)o(r-)75 1247 y(get)p 137 1247 V 17
w(count,)16 b(ta)o(rget)p 400 1247 V 16 w(datat)o(yp)q(e,)g(tag,)f
(comm\))117 1325 y Fd(IN)155 b Fg(combine)430 b Fd(Com)o(bine)12
b(next)j(op)e(with)h(this)g(one)g(\(Bo)q(olean\))117
1400 y(OUT)108 b Fg(o)o(rigin)p 427 1400 V 16 w(addr)381
b Fd(Data)13 b(to)h(b)q(e)h(retriev)o(ed)117 1475 y(IN)155
b Fg(o)o(rigin)p 427 1475 V 16 w(count)360 b Fd(Num)o(b)q(er)14
b(of)f(data)g(elemen)o(ts)h(at)g(origin)p 1535 1475 13
2 v 14 w(addr)117 1550 y(IN)155 b Fg(o)o(rigin)p 427
1550 14 2 v 16 w(datat)o(yp)q(e)302 b Fd(Datat)o(yp)q(e)14
b(of)f(eac)o(h)i(elemen)o(t)e(at)h(origin)p 1540 1550
13 2 v 14 w(addr)117 1625 y(IN)155 b Fg(ta)o(rget)p 433
1625 14 2 v 17 w(rank)375 b Fd(Rank)13 b(of)h(target)117
1700 y(IN)155 b Fg(ta)o(rget)p 433 1700 V 17 w(disp)384
b Fd(Relativ)o(e)13 b(displacemen)o(t)g(in)h(target)117
1775 y(IN)155 b Fg(ta)o(rget)p 433 1775 V 17 w(count)353
b Fd(Num)o(b)q(er)14 b(of)f(elemen)o(ts)h(in)f(target)117
1851 y(IN)155 b Fg(ta)o(rget)p 433 1851 V 17 w(datat)o(yp)q(e)295
b Fd(Datat)o(yp)q(e)14 b(of)f(elemen)o(ts)h(in)f(target)117
1926 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 2001 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)98 2175 y Fk(Requesting:)27
b(A)19 b Fg(PUT)f Fk(or)g Fg(GET)g Fk(op)q(eration)h(will)h(alw)o(a)o
(ys)e(complete,)h(and)g(results)f(in)h(the)g(issuance)189
2232 y(of)c(a)g Fg(PUT)g Fk(or)g Fg(GET)h Fk(request.)k(F)l(or)15
b(brevit)o(y)h(of)f(description,)h(the)g(argumen)o(ts)e(of)h(the)h(op)q
(eration)189 2288 y(issuing)g(a)f Fg(PUT)g Fk(or)g Fg(GET)h
Fk(request)f(will)i(b)q(e)f(describ)q(ed)h(as)d(b)q(elonging)j(to)e
(the)g(request)g(itself.)98 2382 y(Com)o(bining:)23 b(If)17
b(the)g Fg(combine)g Fk(argumen)o(t)f(of)g(a)h Fg(PUT)f
Fk(\()p Fg(GET)p Fk(\))h(request)f(is)i Fc(true)p Fk(,)f(the)g(request)
g(will)h(b)q(e)189 2438 y(com)o(bined)f(with)g(the)g(next)g
Fg(PUT)g Fk(\()p Fg(GET)p Fk(\))f(request)h(issued)g(from)f(the)h(same)
f(pro)q(cess)h(\(thread?\))189 2495 y(whic)o(h)g(has)g(the)f(same)h
Fg(tag)p Fk(,)f Fg(comm)p Fk(,)f(and)i Fg(ta)o(rget)p
1038 2495 V 16 w(rank)g Fk(argumen)o(ts,)e(to)h(form)g(a)g(single)i
(request.)189 2551 y(An)o(y)d(n)o(um)o(b)q(er)g(of)g(requests)g(can)h
(b)q(e)f(com)o(bined)i(in)f(this)f(w)o(a)o(y)l(.)-32
46 y Fb(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32 272
y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 4 6
4 5 bop 75 -100 a Fk(4)196 b Ff(CHAPTER)15 b(1.)35 b(ONE)15
b(SIDED)h(COMMUNICA)l(TIONS)g({)f(P/G/O)f(AL)l(TERNA)l(TIVE)98
49 y Fk(Matc)o(hing:)19 b(Eac)o(h)13 b Fg(PUT)h Fk(\()p
Fg(GET)p Fk(\))g(request)g(will)h(b)q(e)g(serviced)g(at)e(most)g(once,)
h(and)g(only)h(b)o(y)e(an)h Fg(OFFER)189 106 y Fk(or)e
Fg(IOFFER)h Fk(op)q(eration)f(executing)i(in)f(the)g(pro)q(cess)g
(designated)g(b)o(y)g(the)f Fg(comm)f Fk(and)i Fg(ta)o(rget)p
1779 106 14 2 v 16 w(rank)189 162 y Fk(argumen)o(ts)j(of)g(the)h
Fg(PUT)g Fk(\()p Fg(GET)p Fk(\))g(request,)g(and)g(whic)o(h)h(has)e
(matc)o(hing)h Fg(comm)e Fk(and)i Fg(tag)g Fk(argu-)189
219 y(men)o(ts)d(and)i(an)f Fg(ops)h Fk(argumen)o(t)e(whic)o(h)i
(includes)i Fc(MPI)p 1137 219 13 2 v 14 w(PUTS)p 1258
219 V 14 w(OK)d Fk(\()p Fc(MPI)p 1440 219 V 14 w(GETS)p
1558 219 V 15 w(OK)p Fk(\).)98 312 y(Non-Ov)o(ertaking:)26
b(If)18 b(a)g Fg(PUT)h Fk(or)e Fg(GET)i Fk(request)f(is)h(serviced,)h
(all)f(other)f Fg(PUT)g Fk(and)g Fg(GET)h Fk(requests)189
369 y(issued)13 b(from)e(the)i(same)f(pro)q(cess)g(\(thread\))f(and)i
(ha)o(ving)f(iden)o(tical)i Fg(comm)p Fk(,)d Fg(tag)p
Fk(,)h(and)h Fg(ta)o(rget)p 1779 369 14 2 v 16 w(rank)189
425 y Fk(argumen)o(ts)h(will)j(already)e(ha)o(v)o(e)g(b)q(een)h
(serviced.)98 519 y(Servicing:)21 b(When)15 b(a)g(giv)o(en)g
Fg(PUT)h Fk(\()p Fg(GET)p Fk(\))e(request)h(is)h(serviced)g(b)o(y)f(a)f
(giv)o(en)i Fg(OFFER)f Fk(op)q(eration,)g Fg(o)o(ri-)189
576 y(gin)p 249 576 V 16 w(count)f Fk(data)e(items)i(of)e(datat)o(yp)q
(e)h Fg(o)o(rigin)p 949 576 V 15 w(datat)o(yp)q(e)p Fk(,)h(starting)f
(at)f(lo)q(cation)i Fg(o)o(rigin)p 1652 576 V 15 w(addr)f
Fk(in)h(the)189 632 y(pro)q(cess)d(from)f(whic)o(h)h(the)g
Fg(PUT)g Fk(\()p Fg(GET)p Fk(\))g(request)g(w)o(as)f(issued,)i(is)f
(transferred)g(to)f(\(from\))f(the)i(pro-)189 689 y(cess)k(on)g(whic)o
(h)h(the)g Fg(OFFER)g Fk(op)q(eration)f(executes)h(in)g(the)g(lo)q
(cation)g(obtained)g(b)o(y)f(m)o(ultiplying)189 745 y
Fg(ta)o(rget)p 304 745 V 16 w(disp)h Fk(from)f(the)h
Fg(PUT)f Fk(\()p Fg(GET)p Fk(\))g(request)h(with)g Fg(disp)p
1179 745 V 17 w(unit)h Fk(of)e(the)g Fg(OFFER)h Fk(op)q(eration,)g
(then)189 801 y(in)o(terpreting)h(this)g(lo)q(cation)h(to)e(b)q(e)h
(the)g(b)q(eginning)i(of)d Fg(ta)o(rget)p 1282 801 V
16 w(count)i Fk(data)e(items)h(of)f(datat)o(yp)q(e)189
858 y Fg(ta)o(rget)p 304 858 V 16 w(datat)o(yp)q(e)p
Fk(.)21 b(If)13 b(m)o(ultiple)i(requests)e(are)g(com)o(bined)h(in)o(to)
f(a)f(single)j(request)e(using)h(the)f Fg(com-)189 914
y(bine)j Fk(argumen)o(t,)e(eac)o(h)i(p)q(ortion)f(of)g(the)g(request)h
(is)g(handled)h(in)f(this)f(w)o(a)o(y)l(.)20 b([Note:)f(In)d(the)g
(end,)189 971 y(this)f(should)h(w)o(ork)f(the)g(same)g(as)g(in)h
(Marc's)e(original)i(prop)q(osal].)98 1065 y(Non-Conformance:)j(Lo)q
(cal)e(references)f(to)e(addresses)i(in)g(the)f(range)g(sp)q(eci\014ed)
j(b)o(y)d(the)g Fg(o)o(rigin)p 1767 1065 V 15 w(base)p
Fk(,)189 1121 y Fg(o)o(rigin)p 298 1121 V 15 w(datat)o(yp)q(e)p
Fk(,)k(and)e Fg(o)o(rigin)p 704 1121 V 16 w(count)h Fk(argumen)o(ts)f
(of)f(a)h Fg(PUT)h Fk(or)e Fg(GET)i Fk(op)q(eration)g(are)e(not)h(p)q
(er-)189 1178 y(mitted)k(b)q(et)o(w)o(een)h(that)f(op)q(eration)g(and)h
(follo)o(wing)g(completion)g(of)f(an)h Fg(OFFER)g Fk(or)f
Fg(IOFFER)189 1234 y Fk(op)q(eration)15 b(ha)o(ving)h(the)f(same)g
Fg(tag)g Fk(and)g Fg(comm)f Fk(argumen)o(ts.)166 1340
y Fg(MPI)p 251 1340 V 16 w(OFFER)20 b Fk(is)f(used)h(to)f(sp)q(ecify)i
(that)d(the)h(calling)j(pro)q(cess)d(is)h(willing)h(to)e(b)q(e)h(the)f
(target)f(of)75 1397 y(MPI)p 167 1397 V 16 w(PUT)d(and/or)g(MPI)p
537 1397 V 16 w(GET)g(op)q(erations)g(issued)i(b)o(y)e(other)g(pro)q
(cesses.)75 1548 y Fg(MPI)p 160 1548 V 16 w(OFFER\(ops,)h(base,)f
(size,)g(disp)p 707 1548 V 18 w(unit,)h(tag,)f(comm,)e(count\))117
1625 y Fd(IN)155 b Fg(ops)524 b Fd(Op)q(erations)15 b(to)f(b)q(e)g
(serviced)h(\()p Fc(PUT)p Fd(,)e Fc(GET)p Fd(,)g(or)h(b)q(oth\))117
1700 y(INOUT)62 b Fg(base)505 b Fd(Bu\013er)15 b(made)e(a)o(v)n
(ailable)f(to)i(PUT)g(and/or)f(GET)h(requests)117 1775
y(IN)155 b Fg(size)519 b Fd(Size)15 b(of)e(base)h(in)g(b)o(ytes)117
1850 y(IN)155 b Fg(disp)p 395 1850 V 18 w(unit)422 b
Fd(Scale)14 b(factor)g(for)g(target)p 1304 1850 13 2
v 15 w(disp)g(in)f(requests)117 1925 y(IN)155 b Fg(tag)526
b Fd(T)m(ag)117 2001 y(IN)155 b Fg(comm)470 b Fd(Comm)o(unicator)117
2076 y(IN)155 b Fg(count)482 b Fd(Num)o(b)q(er)14 b(of)f(requests)j(to)
d(service)98 2250 y Fk(Op)q(erations:)20 b(If)c Fg(count)g
Fk(is)g(non-zero,)f(the)g Fg(ops)h Fk(argumen)o(t)f(m)o(ust)f(ha)o(v)o
(e)h(one)g(of)g(the)g(follo)o(wing)h(v)m(alues:)189 2306
y Fc(MPI)p 266 2306 V 14 w(PUTS)p 387 2306 V 14 w(OK)p
Fk(,)22 b Fc(MPI)p 571 2306 V 14 w(GETS)p 689 2306 V
15 w(OK)p Fk(,)f(or)h Fc(MPI)p 936 2306 V 14 w(PUTS)p
1057 2306 V 14 w(OK)g Fk(+)h Fc(MPI)p 1286 2306 V 14
w(GETS)p 1404 2306 V 15 w(OK)p Fk(,)e(in)i(whic)o(h)h(case)e(the)189
2363 y Fg(MPI)p 274 2363 14 2 v 15 w(OFFER)h Fk(op)q(eration)f(will)i
(matc)o(h)e Fg(PUT)g Fk(requests,)h Fg(GET)f Fk(requests,)i(or)d
Fg(PUT)h Fk(and)h Fg(GET)189 2419 y Fk(requests,)14 b(resp)q(ectiv)o
(ely)l(.)98 2513 y(Completion:)19 b(An)12 b Fg(MPI)p
515 2513 V 16 w(OFFER)h Fk(op)q(eration)f(will)i(complete)f(if)g(and)f
(only)h(if)g(all)g(of)f(the)g Fg(PUT)g Fk(and)h Fg(GET)189
2570 y Fk(requests)k(issued)h(b)o(y)f(the)g(pro)q(cess)g(\(thread?\))25
b(executing)18 b(the)f Fg(MPI)p 1389 2570 V 16 w(OFFER)p
Fk(,)g(and)h(ha)o(ving)f(the)189 2626 y(same)g Fg(tag)g
Fk(and)h Fg(comm)p Fk(,)d(ha)o(v)o(e)i(b)q(een)i(fully)f(serviced,)h
(\(*\))e(and)g(the)h Fg(MPI)p 1462 2626 V 15 w(OFFER)h
Fk(has)e(serviced)189 2682 y(exactly)e Fg(count)h(PUT)f
Fk(and/or)f Fg(GET)h Fk(requests)g(\(eac)o(h)f(of)g(whic)o(h)i(ma)o(y)e
(b)q(e)h(a)g(com)o(bined)h(request\).)1967 46 y Fb(1)1967
103 y(2)1967 159 y(3)1967 215 y(4)1967 272 y(5)1967 328
y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959
611 y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959
836 y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 5 7
5 6 bop 75 -100 a Ff(1.3.)34 b(NON-PR)o(OGRESSIVE)17
b(POINT)f(TO)f(POINT)810 b Fk(5)98 49 y(Progress:)17
b(If)11 b(an)g Fg(MPI)p 482 49 14 2 v 15 w(OFFER)h Fk(op)q(eration)f
(is)h(con)o(tin)o(uously)g(capable)g(of)e(\014nishing,)j(then)f(it)f
(will)i(\014nish)189 106 y(within)18 b(a)e(\014nite)i(time.)26
b(An)17 b Fg(MPI)p 777 106 V 16 w(OFFER)h Fk(op)q(eration)f(is)g(not)g
(guaran)o(teed)f(to)g(service)i Fg(PUT)f Fk(or)189 162
y Fg(GET)e Fk(requests)g(un)o(til)i(the)e Fg(MPI)p 739
162 V 16 w(OFFER)h Fk(op)q(eration)f(completes)h(or)f(attempts)f(to)g
(complete.)98 256 y(Non-conformance:)29 b(Lo)q(cal)20
b(references)h(to)e(addresses)h(in)g(the)g(range)g(sp)q(eci\014ed)i(b)o
(y)d(the)h Fg(base)h Fk(and)189 312 y Fg(size)d Fk(argumen)o(ts)f(of)g
(an)h Fg(MPI)p 704 312 V 16 w(OFFER)h Fk(op)q(eration)f(are)g(not)f(p)q
(ermitted)i(during)g(the)f(execution)189 369 y(of)c(that)f(op)q
(eration.)20 b(Multiple)d(references)e(to)f(a)g(single)h(address)g
(within)h(that)d(range)h(b)o(y)h(one)f(or)189 425 y(more)g
Fg(GET)i Fk(and/or)f Fg(PUT)g Fk(requests)g(serviced)h(b)o(y)g(the)f
Fg(MPI)p 1240 425 V 16 w(OFFER)h Fk(are)e(also)i(not)e(p)q(ermitted.)
166 579 y Fe(Discussion:)33 b Fd(OFFER)14 b(could)f(b)q(e)h(giv)o(en)f
Fc(o)o(rigin)p 964 579 13 2 v 15 w(rank)h Fd(and)f Fc(status)h
Fd(argumen)o(ts)e(with)h(the)h(same)f(purp)q(ose)75 635
y(and)18 b(general)h(meaning)e(as)h(the)h(same)f(argumen)o(ts)g(in)g
Fc(MPI)p 1056 635 V 14 w(RECV)p Fd(.)f(Ho)o(w)o(ev)o(er,)j(since)f
(these)h(op)q(erations)f(can)75 692 y(service)c(m)o(ultiple)d
(requests,)j(these)h(argumen)o(ts)d(seem)g(less)i(useful)f(than)g(for)f
Fc(MPI)p 1388 692 V 15 w(RECV)p Fd(.)189 845 y Fa(R)n(ationale.)38
b Fg(MPI)p 514 845 14 2 v 16 w(OFFER)14 b Fk(pla)o(ys)g(a)f(dual)h
(role)g({)f(i.e.)19 b(servicing)c(remote)e(requests)g(and)h(w)o(aiting)
189 902 y(for)h(lo)q(cal)i(requests)f(to)f(complete)i({)f(partially)h
(for)e(simplicit)o(y)j(and)f(partially)g(to)e(handle)i(those)189
958 y(cases)c(where)g(pro)q(cesses)g(are)g(p)q(erforming)h(PUT)f(and)g
(GET)f(op)q(erations)h(to)g(eac)o(h)g(other.)19 b(In)14
b(this)189 1015 y(latter)19 b(case,)g(to)g(a)o(v)o(oid)g(deadlo)q(c)o
(k,)i(eac)o(h)e(pro)q(cess)h(m)o(ust)e(p)q(erform)h(b)q(oth)h(of)e
(these)i(op)q(erations)189 1071 y(concurren)o(tly)l(.)g(\()p
Fa(End)c(of)g(r)n(ationale.)p Fk(\))189 1177 y Fa(A)n(dvic)n(e)c(to)h
(implementors.)37 b Fk(On)13 b(non-cac)o(he-coheren)o(t)f
(shared-memory)g(arc)o(hitectures,)g(where)189 1234 y(remote)k(op)q
(erations)h(access)h(main)f(memory)g(but)g(not)g(cac)o(he,)g(an)g
(OFFER)g(op)q(eration)h(with)f(a)189 1290 y(non-zero)d
Fg(count)i Fk(argumen)o(t)e(can)h(b)q(egin)h(b)o(y)e(p)q(erforming)h(a)
f(cac)o(he)h(\015ush)g(of)g(the)f(memory)g(range)189
1347 y(\(to)g(ensure)j(that)e(remote)g(pro)q(cesses)h(will)i(see)e(or)f
(up)q(date)h(the)g(freshest)g(v)m(alues\).)22 b(Conforming)189
1403 y(programs)12 b(will)k(not)e(bring)g(an)o(y)g(addresses)g(in)o
(ternal)h(to)e(this)i(range)f(in)o(to)g(cac)o(he)g(b)o(y)g(referencing)
189 1460 y(them)h(for)h(the)g(duration)g(of)f(the)h(op)q(eration.)22
b(Ho)o(w)o(ev)o(er,)15 b(if)h(false)g(sharing)h(exists,)f(where)g(cac)o
(he)189 1516 y(lines)i(ma)o(y)e(con)o(tain)h(data)g(from)f(b)q(oth)h
(inside)h(and)f(outside)h(the)f(public)i(region,)e(b)o(ytes)g(within)
189 1573 y(shared)e(cac)o(he)h(lines)g(ma)o(y)f(need)h(to)f(b)q(e)h
(sen)o(t)f(to)f(their)i(destination)g(explicitly)l(.)23
b(\()p Fa(End)16 b(of)g(advic)n(e)189 1629 y(to)g(implementors.)p
Fk(\))166 1735 y(MPI)p 258 1735 V 16 w(IOFFER)g(is)g(a)f(non-blo)q(c)o
(king)h(v)o(ersion)g(of)f(MPI)p 1113 1735 V 16 w(OFFER.)75
1886 y Fg(MPI)p 160 1886 V 16 w(IOFFER\(ops,)g(base,)h(size,)f(disp)p
720 1886 V 18 w(unit,)h(tag,)e(comm,)f(count,)j(request\))117
1963 y Fd(IN)155 b Fg(ops)524 b Fd(Op)q(erations)15 b(to)f(b)q(e)g
(serviced)h(\()p Fc(PUT)p Fd(,)e Fc(GET)p Fd(,)g(or)h(b)q(oth\))117
2039 y(INOUT)62 b Fg(base)505 b Fd(Bu\013er)15 b(made)e(a)o(v)n
(ailable)f(to)i(PUT)g(and/or)f(GET)h(requests)117 2114
y(IN)155 b Fg(size)519 b Fd(Size)15 b(of)e(base)h(in)g(b)o(ytes)117
2189 y(IN)155 b Fg(disp)p 395 2189 V 18 w(unit)422 b
Fd(Scale)14 b(factor)g(for)g(target)p 1304 2189 13 2
v 15 w(disp)g(in)f(requests)117 2264 y(IN)155 b Fg(tag)526
b Fd(T)m(ag)117 2339 y(IN)155 b Fg(comm)470 b Fd(Comm)o(unicator)117
2414 y(IN)155 b Fg(count)482 b Fd(Num)o(b)q(er)14 b(of)f(requests)j(to)
d(service)98 2589 y Fk(Progress:)27 b Fg(MPI)p 392 2589
14 2 v 16 w(IOFFER)19 b Fk(do)q(es)h(not)f(follo)o(w)g(the)h(standard)f
(progress)f(rule)i(asso)q(ciated)g(with)g(non-)189 2645
y(blo)q(c)o(king)f(comm)o(unication.)30 b(Sp)q(eci\014cally)l(,)22
b(if)d(a)f Fg(MPI)p 1137 2645 V 15 w(W)l(AIT)h Fk(is)f(nev)o(er)h(p)q
(erformed)f(on)h(the)f(re-)189 2701 y(quest)h(returned)g(b)o(y)g
Fg(MPI)p 653 2701 V 15 w(IOFFER)p Fk(,)g(then)g Fg(MPI)p
1043 2701 V 16 w(IOFFER)g Fk(is)h(not)e(required)i(to)e(satisfy)h(all)h
(\(or)-32 46 y Fb(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32
272 y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 6 8
6 7 bop 75 -100 a Fk(6)196 b Ff(CHAPTER)15 b(1.)35 b(ONE)15
b(SIDED)h(COMMUNICA)l(TIONS)g({)f(P/G/O)f(AL)l(TERNA)l(TIVE)189
49 y Fk(an)o(y\))e(matc)o(hing)h Fg(PUT)h Fk(or)e Fg(GET)i
Fk(requests)f(issued)h(for)f(it.)19 b(This)14 b(is)g(exp)q(ected)g(to)e
(b)q(e)i(the)f(b)q(eha)o(vior)189 106 y(on)i(some)h(arc)o(hitectures,)f
(sp)q(eci\014cally)k(those)c(in)h(whic)o(h)h(the)f(originator)f(do)q
(es)h(not)f(ha)o(v)o(e)g(direct)189 162 y(access)g(to)g(the)g(target's)
e(memory)l(.)98 256 y(Indeterminate)22 b(Coun)o(ts:)33
b(If)21 b(the)h Fg(count)h Fk(argumen)o(t)e(of)g Fg(MPI)p
1202 256 14 2 v 16 w(IOFFER)h Fk(op)q(eration)g(has)f(the)h(v)m(alue)
189 312 y Fc(MPI)p 266 312 13 2 v 14 w(COUNT)p 424 312
V 14 w(ANY)p Fk(,)10 b(then)h(the)f(op)q(eration)h(will)h(con)o(tin)o
(ue)f(to)f(service)h Fg(PUT)f Fk(and/or)g Fg(GET)h Fk(requests)189
369 y(un)o(til)k(an)f Fg(MPI)p 442 369 14 2 v 16 w(W)l(AIT)g
Fk(is)h(issued)h(on)e(the)h Fg(request)p Fk(,)g(at)f(whic)o(h)h(time)g
(the)f(op)q(eration)h(will)h(attempt)189 425 y(to)e(complete.)21
b Fc(MPI)p 531 425 13 2 v 14 w(COUNT)p 689 425 V 14 w(ANY)15
b Fk(is)h(not)f(a)g(legal)h(v)m(alue)g(for)f Fg(MPI)p
1344 425 14 2 v 15 w(OFFER)p Fk(.)75 569 y Fh(1.4)59
b(Progressive)21 b(Op)r(erations)75 670 y Fk(The)10 b(op)q(erations)h
(in)g(this)f(section)h(\(i.e.)18 b Fg(MPI)p 837 670 V
16 w(PUTP)p Fk(,)10 b Fg(MPI)p 1078 670 V 16 w(GETP)p
Fk(,)g Fg(MPI)p 1316 670 V 16 w(OFFERP)p Fk(,)g(and)h
Fg(MPI)p 1691 670 V 15 w(IOFFERP)p Fk(\))75 726 y(are)g(completely)h
(analogous)f(to)g(the)g(op)q(erations)h(in)g(the)f(previous)h(section)g
(\(i.e.)18 b Fg(MPI)p 1548 726 V 16 w(PUT)p Fk(,)11 b
Fg(MPI)p 1761 726 V 16 w(GET)p Fk(,)75 783 y Fg(MPI)p
160 783 V 16 w(OFFER)p Fk(,)j(and)g Fg(MPI)p 513 783
V 16 w(IOFFER)p Fk(\).)f(They)h(tak)o(e)f(the)h(same)g(argumen)o(ts,)f
(and)h(ha)o(v)o(e)f(the)h(same)g(e\013ects,)75 839 y(except)e(that)e
(\(1\))g Fg(PUTP)h Fk(and)g Fg(GETP)h Fk(requests)f(will)h(b)q(e)g
(serviced)g(ev)o(en)g(if)f(the)g(matc)o(hing)g Fg(MPI)p
1691 839 V 16 w(OFFERP)75 896 y Fk(or)g Fg(MPI)p 212
896 V 16 w(IOFFERP)g Fk(op)q(eration)h(do)q(es)g(not)e(complete,)j(and)
e(\(2\))g(m)o(ultiple)i Fg(PUTP)f Fk(and)f Fg(GETP)h
Fk(op)q(erations)75 952 y(serviced)18 b(b)o(y)e(a)g(single)i
Fg(MPI)p 566 952 V 16 w(OFFERP)f Fk(or)f Fg(MPI)p 908
952 V 16 w(IOFFERP)h Fk(op)q(eration)g(ma)o(y)f(access)g(the)h(same)f
(target)75 1009 y(address.)166 1065 y(Users)g(ma)o(y)g(\014nd)h(these)f
(op)q(erations)h(useful)g(for)f(p)q(erforming)g(so-called)i(third-part)
o(y)e(comm)o(uni-)75 1122 y(cation.)k(Here,)15 b(the)f(\014rst)h(pro)q
(cess)g(PUTs)f(data)g(to)g(the)h(third)g(pro)q(cess,)g(and)g(a)f
(second)i(pro)q(cess)f(GETs)75 1178 y(data)g(from)f(the)i(third)f(pro)q
(cess,)h(but)f(the)g(third)h(pro)q(cess)g(is)g(not)e(explicitly)19
b(in)o(v)o(olv)o(ed)d(in)g(the)f(comm)o(u-)75 1235 y(nication.)33
b(This)19 b(can)g(b)q(e)h(accomplished)h(b)o(y)e(ha)o(ving)g(the)g
(third)h(pro)q(cess)f(b)q(egin)i(an)e Fg(MPI)p 1679 1235
V 16 w(IOFFERP)75 1291 y Fk(op)q(eration)f(\(probably)g(with)h(a)e
Fg(count)i Fk(of)f Fc(MPI)p 895 1291 13 2 v 14 w(COUNT)p
1053 1291 V 14 w(ANY)p Fk(\),)f(after)g(whic)o(h)i(it)f(can)g(go)g(ab)q
(out)f(other)75 1347 y(pro)q(cessing.)25 b(Note,)17 b(ho)o(w)o(ev)o
(er,)f(that)g(in)h(order)g(for)f(the)h(third)g(pro)q(cess)g(to)f
(access)h(the)g(region)g(o\013ered)75 1404 y(in)e(the)g
Fg(MPI)p 290 1404 14 2 v 16 w(IOFFERP)g Fk(in)g(a)g(p)q(ortable)g(w)o
(a)o(y)l(,)e(it)i(m)o(ust)f(still)i(either)g(complete)f(the)g
Fg(MPI)p 1599 1404 V 15 w(IOFFERP)g Fk(\(b)o(y)75 1460
y(calling)i Fg(MPI)p 304 1460 V 16 w(W)l(AIT)p Fk(\))e(or)f(p)q(erform)
h Fg(MPI)p 775 1460 V 16 w(GETP)h Fk(or)e Fg(MPI)p 1061
1460 V 16 w(PUTP)i Fk(op)q(erations)f(to)f(the)i(region.)166
1517 y(The)11 b(user)g(is)h(advised)f(to)g(use)g(these)g(op)q(erations)
g(only)g(when)h(necessary)f(if)g(p)q(ortabilit)o(y)h(is)g(an)e(issue,)
75 1573 y(since)21 b(they)e(ma)o(y)g(incur)i(signi\014can)o(t)f(o)o(v)o
(erhead)f(on)h(some)f(systems.)32 b(Ev)o(en)20 b(applications)h
(requiring)75 1630 y(third-part)o(y)13 b(comm)o(unication)h(can)f(b)q
(e)g(implemen)o(ted)i(using)f(the)f(non-progressiv)o(e)g(op)q(erations)
g(in)h(the)75 1686 y(previous)h(sections)f(b)o(y)g(initiating)h(a)f
(separate)f(pro)q(cess)h(whic)o(h)h(lo)q(ops)f(on)g(an)g
Fg(MPI)p 1506 1686 V 16 w(OFFER)g Fk(op)q(eration.)75
1743 y(In)j(this)g(case,)g(the)g(\014rst,)f(second,)h(and)g(third)g
(pro)q(cesses)g(in)h(the)f(third-part)o(y)f(scenario)h(can)g(p)q
(erform)75 1799 y(non-progressiv)o(e)e(PUT)g(and)h(GET)e(op)q(erations)
i(targeting)e(the)i(new)f(pro)q(cess.)189 1905 y Fa(R)n(ationale.)70
b Fk(Hardw)o(are)19 b(constrain)o(ts)h(nearly)h(dictate)f(that)g(a)f
(third)i(part)o(y)f(m)o(ust)f(p)q(erform)189 1962 y(some)j(MPI)g(op)q
(eration)h(to)f(allo)o(w)h(it)f(to)g(access)h(its)f(o)o(wn)g(region)h
(atomically)l(.)43 b(Giv)o(en)23 b(this,)189 2018 y(other)12
b(functions)h(\(lik)o(e)h(the)f Fg(MPI)p 758 2018 V 16
w(LOCK)f Fk(and)h Fg(MPI)p 1073 2018 V 16 w(UNLOCK)g
Fk(functions)g(in)h(another)e(prop)q(osal\))189 2075
y(could)h(ha)o(v)o(e)e(b)q(een)i(added)g(to)e(this)h(prop)q(osal)g(to)g
(allo)o(w)g(suc)o(h)g(access,)g(but)h(the)f(logical)h(function)f(of)189
2131 y(these)h(w)o(ould)h(b)q(e)g(iden)o(tical)h(to)e(completing)i(the)
e Fg(MPI)p 1121 2131 V 16 w(IOFFERP)h Fk(op)q(eration)f(and)h(then)g
(starting)189 2188 y(another.)19 b(This)d(prop)q(osal)f(therefore)g
(adv)o(o)q(cates)g(the)g(latter)g(approac)o(h.)20 b(\()p
Fa(End)15 b(of)i(r)n(ationale.)p Fk(\))189 2294 y Fa(R)n(ationale.)44
b Fk(MPI)16 b(w)o(ould)g(probably)h(not)e(lose)i(an)o(y)e(signi\014can)
o(t)i(functionalit)o(y)h(if)e(this)g(section)189 2350
y(w)o(as)c(dropp)q(ed)i(completely)l(.)21 b(The)14 b(requiremen)o(t)g
(to)e(supp)q(ort)i(third-part)o(y)f(comm)o(unication)h(w)o(as)189
2407 y(demonstrated)g(b)o(y)i(a)e(stra)o(w)g(v)o(ote)h(at)f(the)i(July)
g(MPIF)f(meeting.)20 b(\()p Fa(End)c(of)g(r)n(ationale.)p
Fk(\))166 2560 y Fe(Discussion:)37 b Fd(If)14 b(I)g(p)q(erform)g(a)g
Fc(MPI)p 778 2560 13 2 v 15 w(GETP)f Fd(or)i Fc(MPI)p
1041 2560 V 14 w(PUTP)f Fd(op)q(eration)g(to)h(m)o(y)d(o)o(wn)j
(region,)f(then)h(it)f(is)75 2617 y(guaran)o(teed)g(to)g(b)q(e)g
(serviced)h(within)e(a)h(\014nite)g(time,)e(but)i(I)f(cannot)h(ensure)i
(that)e(it)f(is)g(serviced)j(un)o(til)d(I)g("w)o(ait")75
2673 y(for)19 b(it)g(b)o(y)g(\014nishing)g(the)h Fc(MPI)p
580 2673 V 14 w(IOFFERP)p Fd(.)c(This)j(leads)h(to)f(b)q(oth)g(a)g
(logical)f(con)o(tradiction)h(and)g(a)g(practical)1967
46 y Fb(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 7 9
7 8 bop 75 -100 a Ff(1.4.)34 b(PR)o(OGRESSIVE)17 b(OPERA)l(TIONS)1022
b Fk(7)75 49 y Fd(problem.)17 b(Should)c Fc(MPI)p 468
49 13 2 v 14 w(GETP)g Fd(and/or)g Fc(MPI)p 816 49 V 15
w(PUTP)f Fd(to)i(a)f(lo)q(cal)g Fc(MPI)p 1212 49 V 14
w(IOFFERP)e Fd(b)q(e)j(made)f(a)g(sp)q(ecial)h(case,)g(in)75
106 y(whic)o(h)e(GETP)g(or)f(PUTP)i(op)q(erations)f(blo)q(c)o(k)g(un)o
(til)f(satis\014ed?)18 b(Or)12 b(should)g(this)g(approac)o(h)f(to)h
(accessing)h(a)f(lo)q(cal)75 162 y(region)i(b)q(e)g(ruled)g(out)g
(completely?)166 266 y Fk(MPI)p 258 266 14 2 v 16 w(PUTP)h(is)h(the)f
(progressiv)o(e)g(form)g(of)g(MPI)p 1024 266 V 16 w(PUT.)75
417 y Fg(MPI)p 160 417 V 16 w(PUTP\(combine,)21 b(o)o(rigin)p
611 417 V 15 w(addr,)h(o)o(rigin)p 851 417 V 15 w(count,)h(o)o(rigin)p
1113 417 V 15 w(datat)o(yp)q(e,)g(ta)o(rget)p 1439 417
V 16 w(rank,)f(ta)o(rget)p 1685 417 V 16 w(disp,)g(ta)o(r-)75
473 y(get)p 137 473 V 17 w(count,)16 b(ta)o(rget)p 400
473 V 16 w(datat)o(yp)q(e,)g(tag,)f(comm\))117 550 y
Fd(IN)155 b Fg(combine)430 b Fd(Com)o(bine)12 b(next)j(op)e(with)h
(this)g(one)g(\(Bo)q(olean\))117 626 y(IN)155 b Fg(o)o(rigin)p
427 626 V 16 w(addr)381 b Fd(Data)13 b(to)h(b)q(e)h(put)117
701 y(IN)155 b Fg(o)o(rigin)p 427 701 V 16 w(count)360
b Fd(Num)o(b)q(er)14 b(of)f(data)g(elemen)o(ts)h(at)g(origin)p
1535 701 13 2 v 14 w(addr)117 776 y(IN)155 b Fg(o)o(rigin)p
427 776 14 2 v 16 w(datat)o(yp)q(e)302 b Fd(Datat)o(yp)q(e)14
b(of)f(eac)o(h)i(elemen)o(t)e(at)h(origin)p 1540 776
13 2 v 14 w(addr)117 851 y(IN)155 b Fg(ta)o(rget)p 433
851 14 2 v 17 w(rank)375 b Fd(Rank)13 b(of)h(target)117
926 y(IN)155 b Fg(ta)o(rget)p 433 926 V 17 w(disp)384
b Fd(Relativ)o(e)13 b(displacemen)o(t)g(in)h(target)117
1001 y(IN)155 b Fg(ta)o(rget)p 433 1001 V 17 w(count)353
b Fd(Num)o(b)q(er)14 b(of)f(elemen)o(ts)h(in)f(target)117
1076 y(IN)155 b Fg(ta)o(rget)p 433 1076 V 17 w(datat)o(yp)q(e)295
b Fd(Datat)o(yp)q(e)14 b(of)f(elemen)o(ts)h(in)f(target)117
1152 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 1227 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)166 1351 y Fk(MPI)p
258 1351 V 16 w(GETP)15 b(is)h(the)f(progressiv)o(e)g(form)f(of)h(MPI)p
1025 1351 V 16 w(GET.)75 1502 y Fg(MPI)p 160 1502 V 16
w(GETP\(combine,)22 b(o)o(rigin)p 609 1502 V 15 w(addr,)g(o)o(rigin)p
849 1502 V 15 w(count,)h(o)o(rigin)p 1111 1502 V 16 w(datat)o(yp)q(e,)g
(ta)o(rget)p 1438 1502 V 16 w(rank,)f(ta)o(rget)p 1684
1502 V 16 w(disp,)h(ta)o(r-)75 1559 y(get)p 137 1559
V 17 w(count,)16 b(ta)o(rget)p 400 1559 V 16 w(datat)o(yp)q(e,)g(tag,)f
(comm\))117 1636 y Fd(IN)155 b Fg(combine)430 b Fd(Com)o(bine)12
b(next)j(op)e(with)h(this)g(one)g(\(Bo)q(olean\))117
1711 y(OUT)108 b Fg(o)o(rigin)p 427 1711 V 16 w(addr)381
b Fd(Data)13 b(to)h(b)q(e)h(retriev)o(ed)117 1786 y(IN)155
b Fg(o)o(rigin)p 427 1786 V 16 w(count)360 b Fd(Num)o(b)q(er)14
b(of)f(data)g(elemen)o(ts)h(at)g(origin)p 1535 1786 13
2 v 14 w(addr)117 1861 y(IN)155 b Fg(o)o(rigin)p 427
1861 14 2 v 16 w(datat)o(yp)q(e)302 b Fd(Datat)o(yp)q(e)14
b(of)f(eac)o(h)i(elemen)o(t)e(at)h(origin)p 1540 1861
13 2 v 14 w(addr)117 1936 y(IN)155 b Fg(ta)o(rget)p 433
1936 14 2 v 17 w(rank)375 b Fd(Rank)13 b(of)h(target)117
2011 y(IN)155 b Fg(ta)o(rget)p 433 2011 V 17 w(disp)384
b Fd(Relativ)o(e)13 b(displacemen)o(t)g(in)h(target)117
2087 y(IN)155 b Fg(ta)o(rget)p 433 2087 V 17 w(count)353
b Fd(Num)o(b)q(er)14 b(of)f(elemen)o(ts)h(in)f(target)117
2162 y(IN)155 b Fg(ta)o(rget)p 433 2162 V 17 w(datat)o(yp)q(e)295
b Fd(Datat)o(yp)q(e)14 b(of)f(elemen)o(ts)h(in)f(target)117
2237 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 2312 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)166 2436 y Fg(MPI)p
251 2436 V 16 w(OFFERP)16 b Fk(is)f(the)h(progressiv)o(e)f(form)f(of)h
Fg(MPI)p 1051 2436 V 16 w(OFFER)p Fk(.)-32 46 y Fb(1)-32
103 y(2)-32 159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32
385 y(7)-32 441 y(8)-32 498 y(9)-40 554 y(10)-40 611
y(11)-40 667 y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40
893 y(16)-40 949 y(17)-40 1006 y(18)-40 1062 y(19)-40
1119 y(20)-40 1175 y(21)-40 1232 y(22)-40 1288 y(23)-40
1345 y(24)-40 1401 y(25)-40 1457 y(26)-40 1514 y(27)-40
1570 y(28)-40 1627 y(29)-40 1683 y(30)-40 1740 y(31)-40
1796 y(32)-40 1853 y(33)-40 1909 y(34)-40 1966 y(35)-40
2022 y(36)-40 2078 y(37)-40 2135 y(38)-40 2191 y(39)-40
2248 y(40)-40 2304 y(41)-40 2361 y(42)-40 2417 y(43)-40
2474 y(44)-40 2530 y(45)-40 2587 y(46)-40 2643 y(47)-40
2699 y(48)p eop
%%Page: 8 10
8 9 bop 75 -100 a Fk(8)196 b Ff(CHAPTER)15 b(1.)35 b(ONE)15
b(SIDED)h(COMMUNICA)l(TIONS)g({)f(P/G/O)f(AL)l(TERNA)l(TIVE)75
49 y Fg(MPI)p 160 49 14 2 v 16 w(OFFERP\(ops,)i(base,)f(size,)g(disp)p
736 49 V 18 w(unit,)h(tag,)f(comm,)e(count\))117 126
y Fd(IN)155 b Fg(ops)524 b Fd(Op)q(erations)15 b(to)f(b)q(e)g(serviced)
h(\()p Fc(PUT)p Fd(,)e Fc(GET)p Fd(,)g(or)h(b)q(oth\))117
202 y(INOUT)62 b Fg(base)505 b Fd(Bu\013er)24 b(made)e(a)o(v)n(ailable)
e(to)i(PUTP)i(and/or)e(GETP)g(re-)905 258 y(quests)117
333 y(IN)155 b Fg(size)519 b Fd(Size)15 b(of)e(base)h(in)g(b)o(ytes)117
408 y(IN)155 b Fg(disp)p 395 408 V 18 w(unit)422 b Fd(Scale)14
b(factor)g(for)g(target)p 1304 408 13 2 v 15 w(disp)g(in)f(requests)117
483 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 559 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)117 634 y(IN)155 b
Fg(count)482 b Fd(Num)o(b)q(er)14 b(of)f(requests)j(to)d(service)98
808 y Fk(A)o(tomicit)o(y:)k(The)11 b(servicing)h(of)f(a)f
Fg(PUTP)h Fk(or)f Fg(GETP)h Fk(request)g(is)g(alw)o(a)o(ys)f(atomic)h
(with)g(resp)q(ect)g(to)f(other)189 864 y Fg(PUTP)18
b Fk(and)h Fg(GETP)g Fk(requests,)f(ev)o(en)h(if)g(the)f(request)h(is)g
(constructed)f(from)g(man)o(y)g(individual)189 921 y(requests)d(using)h
(the)f Fg(combine)g Fk(argumen)o(t,)f(but)h(it)g(ma)o(y)g(not)g(b)q(e)g
(atomic)g(with)h(resp)q(ect)f(to)g(lo)q(cal)189 977 y(load/store)f(op)q
(erations.)98 1071 y(Progress:)21 b(If)16 b(an)g Fg(MPI)p
496 1071 14 2 v 16 w(OFFERP)h Fk(op)q(eration)f(is)h(capable)g(of)f
(servicing)h(a)f Fg(PUTP)g Fk(or)g Fg(GETP)g Fk(request,)189
1128 y(it)f(will)i(service)f(that)f(request)g(\(or)f(another\))h
(within)h(a)f(\014nite)h(time.)98 1221 y(Non-Conformance:)i(The)12
b(\014nal)g(conformance)g(constrain)o(t)f(asso)q(ciated)h(with)g
Fg(MPI)p 1544 1221 V 16 w(OFFER)g Fk(do)q(es)g(not)189
1278 y(apply)f(to)e Fg(MPI)p 444 1278 V 16 w(OFFERP)i
Fk(or)e Fg(MPI)p 773 1278 V 16 w(IOFFERP)p Fk(.)h(That)g(is,)h(a)f
(single)h Fg(MPI)p 1394 1278 V 16 w(OFFERP)g Fk(or)f
Fg(MPI)p 1724 1278 V 16 w(IOFFERP)189 1334 y Fk(op)q(eration)j(ma)o(y)g
(service)h(m)o(ultiple)h Fg(GETP)e Fk(or)g Fg(PUTP)h
Fk(op)q(erations)f(with)g(iden)o(tical)j(addresses)d(on)189
1391 y(the)i(target.)166 1497 y Fg(MPI)p 251 1497 V 16
w(IOFFERP)g Fk(is)h(the)f(non-blo)q(c)o(king)i(form)e(of)f
Fg(MPI)p 1099 1497 V 16 w(OFFERP)p Fk(.)75 1648 y Fg(MPI)p
160 1648 V 16 w(IOFFERP\(ops,)h(base,)h(size,)f(disp)p
749 1648 V 18 w(unit,)h(tag,)e(comm,)f(count,)j(request\))117
1725 y Fd(IN)155 b Fg(ops)524 b Fd(Op)q(erations)15 b(to)f(b)q(e)g
(serviced)h(\()p Fc(PUT)p Fd(,)e Fc(GET)p Fd(,)g(or)h(b)q(oth\))117
1800 y(INOUT)62 b Fg(base)505 b Fd(Bu\013er)24 b(made)e(a)o(v)n
(ailable)e(to)i(PUTP)i(and/or)e(GETP)g(re-)905 1857 y(quests)117
1932 y(IN)155 b Fg(size)519 b Fd(Size)15 b(of)e(base)h(in)g(b)o(ytes)
117 2007 y(IN)155 b Fg(disp)p 395 2007 V 18 w(unit)422
b Fd(Scale)14 b(factor)g(for)g(target)p 1304 2007 13
2 v 15 w(disp)g(in)f(requests)117 2082 y(IN)155 b Fg(tag)526
b Fd(T)m(ag)117 2157 y(IN)155 b Fg(comm)470 b Fd(Comm)o(unicator)117
2232 y(IN)155 b Fg(count)482 b Fd(Num)o(b)q(er)14 b(of)f(requests)j(to)
d(service)189 2407 y Fa(A)n(dvic)n(e)i(to)i(implementors.)42
b Fk(Arc)o(hitectures)16 b(in)g(whic)o(h)g(separate)f(pro)q(cesses)h
(do)g(not)f(share)g(ac-)189 2463 y(cess)g(to)f(eac)o(h)h(others)g
(address)g(spaces)g(ma)o(y)f(need)i(to)e(execute)i(an)f(agen)o(t)f
(\(daemon\))h(to)f(service)189 2520 y(PUTP)f(and)g(GETP)g(requests)g
(whenev)o(er)g(an)g(MPI)p 1085 2520 14 2 v 17 w(IOFFERP)g(op)q(eration)
h(is)g(executed.)20 b(\(This)189 2576 y(ma)o(y)f(not)g(b)q(e)i
(necessary)f(if)h(the)f Fg(base)g Fk(and)h Fg(size)f
Fk(argumen)o(ts)f(of)g(the)h(MPI)p 1521 2576 V 17 w(IOFFERP)g(desig-)
189 2633 y(nate)e(a)h(memory)f(range)h(allo)q(cated)g(with)h(MPI)p
1038 2633 V 16 w(RMA)p 1163 2633 V 17 w(MALLOC.\))e(Since)j(MPI)p
1641 2633 V 16 w(PUTP)e(and)189 2689 y(MPI)p 281 2689
V 16 w(GETP)f(op)q(erations)h(can)f(legally)i(b)q(e)f(executed)h(b)q
(efore)f(the)f(MPI)p 1470 2689 V 17 w(OFFERP)l(,)g(an)h(agen)o(t)1967
46 y Fb(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 9 11
9 10 bop 75 -100 a Ff(1.5.)34 b(COLLECTIVE)1369 b Fk(9)189
49 y(m)o(ust)19 b(b)q(e)h(prepared)g(to)f(handle)i(old)f(requests)f
(when)i(it)e(starts.)32 b(The)20 b(agen)o(t)f(can)h(b)q(e)g(put)g(to)
189 106 y(sleep)15 b(or)f(terminated)g(when)h(the)f(MPI)p
872 106 14 2 v 16 w(IOFFERP)h(op)q(eration)f(completes.)20
b(\()p Fa(End)15 b(of)h(advic)n(e)f(to)189 162 y(implementors.)p
Fk(\))75 305 y Fh(1.5)59 b(Collective)75 407 y Fk(The)10
b(collectiv)o(e)i(op)q(erations)f(describ)q(ed)h(in)f(this)f(section)h
(\(i.e.)18 b Fg(MPI)p 1225 407 V 16 w(PUTC)p Fk(,)10
b Fg(MPI)p 1466 407 V 16 w(GETC)p Fk(,)g Fg(MPI)p 1704
407 V 16 w(OFFERC)p Fk(,)75 463 y(and)16 b Fg(MPI)p 249
463 V 16 w(IOFFERC)p Fk(\))h(are)f(completely)h(analogous)f(to)g(the)g
(non-progressiv)o(e)h(p)q(oin)o(t-to-p)q(oin)o(t)g(op)q(era-)75
520 y(tions)g(in)g(the)g(\014rst)f(section)h(\(i.e.)24
b Fg(MPI)p 755 520 V 15 w(PUT)p Fk(,)17 b Fg(MPI)p 973
520 V 15 w(GET)p Fk(,)g Fg(MPI)p 1188 520 V 16 w(OFFER)p
Fk(,)g(and)f Fg(MPI)p 1546 520 V 16 w(IOFFER)p Fk(\))g(except)75
576 y(that)k Fg(MPI)p 264 576 V 15 w(OFFER)h Fk(and)g
Fg(MPI)p 617 576 V 16 w(IOFFER)f Fk(are)g(collectiv)o(e)i(op)q
(erations.)36 b(The)20 b(argumen)o(ts)f(are)h(iden)o(ti-)75
633 y(cal,)k(except)e(that)f(there)h(is)g(no)g(need)h(for)e
Fg(combine)h Fk(or)f Fg(count)i Fk(argumen)o(ts)e(in)h
Fg(MPI)p 1596 633 V 16 w(OFFERC)h Fk(and)75 689 y Fg(MPI)p
160 689 V 16 w(IOFFERC)p Fk(,)14 b(b)q(ecause)h(the)g(collectiv)o(e)h
(execution)f(of)f(these)g(op)q(erations)h(is)f(alw)o(a)o(ys)g(guaran)o
(teed)g(to)75 746 y(satisfy)19 b(all)i(of)e(the)g Fg(GETC)h
Fk(and)g Fg(PUTC)f Fk(requests)h(whic)o(h)g(w)o(ere)f(issued)i(with)f
(the)f(same)g Fg(comm)f Fk(and)75 802 y Fg(tag)h Fk(argumen)o(ts)g
(since)h(the)f(last)g(collectiv)o(e)i Fg(MPI)p 954 802
V 16 w(OFFERC)f Fk(or)f Fg(MPI)p 1302 802 V 16 w(IOFFERC)g
Fk(op)q(eration)h(on)f(that)75 858 y(comm)o(unicator.)166
915 y(Ev)o(en)g(when)g(all)h(pro)q(cesses)f(in)g(a)g(comm)o(unicator)f
(need)i(to)e(p)q(erform)h(1-sided)g(op)q(erations,)h(the)75
971 y(collectiv)o(e)14 b(calls)f(are)f(not)g(necessarily)i(the)e(b)q
(est)g(c)o(hoice.)20 b(Collectiv)o(e)14 b(1-sided)f(op)q(erations)f
(are)g(v)m(aluable)75 1028 y(primarily)18 b(in)g(those)e(cases)h(where)
g(one)f(or)h(more)f(pro)q(cesses)h(cannot)f(easily)i(determine)g(the)f
(n)o(um)o(b)q(er)75 1084 y(of)h(originators)g(whic)o(h)h(will)i(use)d
(it)h(as)f(a)g(target.)29 b(Ho)o(w)o(ev)o(er,)18 b(since)i(MPI)e(m)o
(ust)g(still)i(ascertain)f(this)75 1141 y(information)e(in)o(ternally)i
(on)e(most)f(arc)o(hitectures,)i(the)f(collectiv)o(e)i(op)q(erations)e
(are)g(exp)q(ected)h(to)f(in-)75 1197 y(cur)h(some)f(additional)i(o)o
(v)o(erhead)e(o)o(v)o(er)f(the)i(p)q(oin)o(t-to-p)q(oin)o(t)g(op)q
(erations)f(where)h(the)g(user)f(explicitly)75 1254 y(supplies)j(this)e
(information)g(in)g(the)g(function)g(call.)29 b(The)18
b(collectiv)o(e)h(op)q(erations)f(ma)o(y)f(also)g(pro)o(vide)75
1310 y(a)e(simpler)h(con)o(v)o(ersion)g(path)f(for)g(existing)h(co)q
(des)g(whic)o(h)g(use)f(barrier-based)h(approac)o(hes)f(o\013ered)g(b)o
(y)75 1367 y(some)j(parallel)j(v)o(endors,)e(or)f(those)g(whic)o(h)i
(utilize)h(a)d(Bulk)i(Sync)o(hronous)f(P)o(arallel)h(computational)75
1423 y(mo)q(del.)75 1574 y Fg(MPI)p 160 1574 V 16 w(PUTC\(o)o(rigin)p
420 1574 V 15 w(addr,)k(o)o(rigin)p 662 1574 V 15 w(count,)h(o)o(rigin)
p 926 1574 V 16 w(datat)o(yp)q(e,)g(ta)o(rget)p 1255
1574 V 16 w(rank,)f(ta)o(rget)p 1503 1574 V 16 w(disp,)h(ta)o(rget)p
1743 1574 V 16 w(count,)75 1630 y(ta)o(rget)p 190 1630
V 16 w(datat)o(yp)q(e,)17 b(tag,)d(comm\))117 1708 y
Fd(IN)155 b Fg(o)o(rigin)p 427 1708 V 16 w(addr)381 b
Fd(Data)13 b(to)h(b)q(e)h(put)117 1783 y(IN)155 b Fg(o)o(rigin)p
427 1783 V 16 w(count)360 b Fd(Num)o(b)q(er)14 b(of)f(data)g(elemen)o
(ts)h(at)g(origin)p 1535 1783 13 2 v 14 w(addr)117 1858
y(IN)155 b Fg(o)o(rigin)p 427 1858 14 2 v 16 w(datat)o(yp)q(e)302
b Fd(Datat)o(yp)q(e)14 b(of)f(eac)o(h)i(elemen)o(t)e(at)h(origin)p
1540 1858 13 2 v 14 w(addr)117 1933 y(IN)155 b Fg(ta)o(rget)p
433 1933 14 2 v 17 w(rank)375 b Fd(Rank)13 b(of)h(target)117
2008 y(IN)155 b Fg(ta)o(rget)p 433 2008 V 17 w(disp)384
b Fd(Relativ)o(e)13 b(displacemen)o(t)g(in)h(target)117
2083 y(IN)155 b Fg(ta)o(rget)p 433 2083 V 17 w(count)353
b Fd(Num)o(b)q(er)14 b(of)f(elemen)o(ts)h(in)f(target)117
2158 y(IN)155 b Fg(ta)o(rget)p 433 2158 V 17 w(datat)o(yp)q(e)295
b Fd(Datat)o(yp)q(e)14 b(of)f(elemen)o(ts)h(in)f(target)117
2234 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 2309 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)166 2433 y Fk(MPI)p
258 2433 V 16 w(GETC)19 b(is)h(iden)o(tical)i(to)d(MPI)p
813 2433 V 16 w(GET,)g(but)h(matc)o(hes)f(an)h(MPI)p
1386 2433 V 16 w(OFFER)o(C)f(instead)i(of)e(an)75 2490
y(MPI)p 167 2490 V 16 w(OFFER.)-32 46 y Fb(1)-32 103
y(2)-32 159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32
385 y(7)-32 441 y(8)-32 498 y(9)-40 554 y(10)-40 611
y(11)-40 667 y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40
893 y(16)-40 949 y(17)-40 1006 y(18)-40 1062 y(19)-40
1119 y(20)-40 1175 y(21)-40 1232 y(22)-40 1288 y(23)-40
1345 y(24)-40 1401 y(25)-40 1457 y(26)-40 1514 y(27)-40
1570 y(28)-40 1627 y(29)-40 1683 y(30)-40 1740 y(31)-40
1796 y(32)-40 1853 y(33)-40 1909 y(34)-40 1966 y(35)-40
2022 y(36)-40 2078 y(37)-40 2135 y(38)-40 2191 y(39)-40
2248 y(40)-40 2304 y(41)-40 2361 y(42)-40 2417 y(43)-40
2474 y(44)-40 2530 y(45)-40 2587 y(46)-40 2643 y(47)-40
2699 y(48)p eop
%%Page: 10 12
10 11 bop 75 -100 a Fk(10)173 b Ff(CHAPTER)15 b(1.)35
b(ONE)15 b(SIDED)h(COMMUNICA)l(TIONS)g({)f(P/G/O)f(AL)l(TERNA)l(TIVE)75
49 y Fg(MPI)p 160 49 14 2 v 16 w(GETC\(o)o(rigin)p 417
49 V 15 w(addr,)25 b(o)o(rigin)p 660 49 V 15 w(count,)h(o)o(rigin)p
925 49 V 15 w(datat)o(yp)q(e,)g(ta)o(rget)p 1254 49 V
16 w(rank,)e(ta)o(rget)p 1502 49 V 16 w(disp,)i(ta)o(rget)p
1743 49 V 16 w(count,)75 106 y(ta)o(rget)p 190 106 V
16 w(datat)o(yp)q(e,)17 b(tag,)d(comm\))117 183 y Fd(OUT)108
b Fg(o)o(rigin)p 427 183 V 16 w(addr)381 b Fd(Data)13
b(to)h(b)q(e)h(retriev)o(ed)117 258 y(IN)155 b Fg(o)o(rigin)p
427 258 V 16 w(count)360 b Fd(Num)o(b)q(er)14 b(of)f(data)g(elemen)o
(ts)h(at)g(origin)p 1535 258 13 2 v 14 w(addr)117 333
y(IN)155 b Fg(o)o(rigin)p 427 333 14 2 v 16 w(datat)o(yp)q(e)302
b Fd(Datat)o(yp)q(e)14 b(of)f(eac)o(h)i(elemen)o(t)e(at)h(origin)p
1540 333 13 2 v 14 w(addr)117 408 y(IN)155 b Fg(ta)o(rget)p
433 408 14 2 v 17 w(rank)375 b Fd(Rank)13 b(of)h(target)117
483 y(IN)155 b Fg(ta)o(rget)p 433 483 V 17 w(disp)384
b Fd(Relativ)o(e)13 b(displacemen)o(t)g(in)h(target)117
559 y(IN)155 b Fg(ta)o(rget)p 433 559 V 17 w(count)353
b Fd(Num)o(b)q(er)14 b(of)f(elemen)o(ts)h(in)f(target)117
634 y(IN)155 b Fg(ta)o(rget)p 433 634 V 17 w(datat)o(yp)q(e)295
b Fd(Datat)o(yp)q(e)14 b(of)f(elemen)o(ts)h(in)f(target)117
709 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 784 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)166 908 y Fg(MPI)p
251 908 V 16 w(OFFERC)13 b Fk(is)g(iden)o(tical)i(to)d(MPI)p
816 908 V 16 w(OFFER,)h(but)g(it)g(is)g(collectiv)o(e)h({)f(i.e.)19
b(it)13 b(m)o(ust)f(b)q(e)i(called)g(b)o(y)75 965 y(ev)o(ery)i(pro)q
(cess)g({)g(and)g(requires)h(no)f Fg(count)i Fk(argumen)o(t,)d(b)q
(ecause)i(all)g Fg(GETC)f Fk(and/or)g Fg(PUTC)g Fk(requests)75
1021 y(since)g(the)g(last)f(call)h(to)f(this)g(op)q(eration)h(will)h(b)
q(e)e(pro)q(cessed.)75 1172 y Fg(MPI)p 160 1172 V 16
w(OFFERC\(ops,)h(base,)f(size,)g(disp)p 736 1172 V 18
w(unit,)h(tag,)f(comm\))117 1250 y Fd(IN)155 b Fg(ops)524
b Fd(Op)q(erations)15 b(to)f(b)q(e)g(serviced)h(\()p
Fc(PUT)p Fd(,)e Fc(GET)p Fd(,)g(or)h(b)q(oth\))117 1325
y(INOUT)62 b Fg(base)505 b Fd(Bu\013er)24 b(made)d(a)o(v)n(ailable)f
(to)h(PUTC)i(and/or)f(GETC)f(re-)905 1381 y(quests)117
1456 y(IN)155 b Fg(size)519 b Fd(Size)15 b(of)e(base)h(in)g(b)o(ytes)
117 1531 y(IN)155 b Fg(disp)p 395 1531 V 18 w(unit)422
b Fd(Scale)14 b(factor)g(for)g(target)p 1304 1531 13
2 v 15 w(disp)g(in)f(requests)117 1607 y(IN)155 b Fg(tag)526
b Fd(T)m(ag)117 1682 y(IN)155 b Fg(comm)470 b Fd(Comm)o(unicator)98
1856 y Fk(Completion:)18 b(The)11 b(seman)o(tics)g(for)g(OFFER)o(C,)f
(and)h(IOFFER)o(C)g(are)g(iden)o(tical)h(to)f(those)f(for)h(the)g(non-)
189 1912 y(progressiv)o(e)17 b(1-sided)i(op)q(erations,)f(after)f
(deleting)i(the)f("Com)o(bining")g(paragraph,)g(replacing)189
1969 y(all)23 b(PUT)f(with)g(PUTC)g(and)g(GET)g(with)g(GETC,)f(and)h
(replacing)i(the)e(last)g(clause)h(in)g(the)189 2025
y("Completion")15 b(paragraph,)f(mark)o(ed)h(with)g(a)g("\(*\)",)f
(with)h(the)g(follo)o(wing:)189 2100 y(if)20 b(m-1)g(total)f
Fg(OFFERC)i Fk(and)f Fg(IOFFERC)h Fk(op)q(erations)f(with)g(this)h
Fg(tag)e Fk(and)i Fg(comm)d Fk(argumen)o(ts)189 2157
y(ha)o(v)o(e)e(executed)h(in)h(this)f(pro)q(cess)f(prior)h(to)f(this)h
(one,)g(then)f(m)h(total)f Fg(OFFERC)h Fk(and)g Fg(IOFFERC)189
2213 y Fk(op)q(erations)c(with)h(the)f(same)g(tag)f(and)i(comm)o
(unicator)f(ha)o(v)o(e)g(completed)h(\(or)e(will)j(complete\))f(in)189
2270 y(eac)o(h)h(of)g(the)g(other)g(pro)q(cesses)g(b)q(elonging)i(to)e
(the)g(comm)o(unicator.)166 2376 y(MPI)p 258 2376 14
2 v 16 w(IOFFER)o(C)h(is)f(a)g(non-blo)q(c)o(king)i(v)o(ersion)e(of)g
(MPI)p 1144 2376 V 17 w(OFFER)o(C.)1967 46 y Fb(1)1967
103 y(2)1967 159 y(3)1967 215 y(4)1967 272 y(5)1967 328
y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959
611 y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959
836 y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 11 13
11 12 bop 75 -100 a Ff(1.5.)34 b(COLLECTIVE)1347 b Fk(11)75
49 y Fg(MPI)p 160 49 14 2 v 16 w(IOFFERC\(ops,)15 b(base,)h(size,)f
(disp)p 749 49 V 18 w(unit,)h(tag,)e(comm,)f(request\))117
126 y Fd(IN)155 b Fg(ops)524 b Fd(Op)q(erations)15 b(to)f(b)q(e)g
(serviced)h(\()p Fc(PUT)p Fd(,)e Fc(GET)p Fd(,)g(or)h(b)q(oth\))117
202 y(INOUT)62 b Fg(base)505 b Fd(Bu\013er)15 b(made)e(a)o(v)n(ailable)
f(to)i(PUT)g(and/or)f(GET)h(requests)117 277 y(IN)155
b Fg(size)519 b Fd(Size)15 b(of)e(base)h(in)g(b)o(ytes)117
352 y(IN)155 b Fg(disp)p 395 352 V 18 w(unit)422 b Fd(Scale)14
b(factor)g(for)g(target)p 1304 352 13 2 v 15 w(disp)g(in)f(requests)117
427 y(IN)155 b Fg(tag)526 b Fd(T)m(ag)117 502 y(IN)155
b Fg(comm)470 b Fd(Comm)o(unicator)189 676 y Fa(A)n(dvic)n(e)17
b(to)i(implementors.)56 b Fk(Eac)o(h)18 b(pro)q(cess)g(participating)h
(in)f(an)g(OFFER)o(C)g(or)f(IOFFER)o(C)189 733 y(m)o(ust)k(determine)i
(whether)f(or)g(not)f(it)i(has)e(serviced)j(all)e(of)g(the)g
(outstanding)g(PUTC)g(and)189 789 y(GETC)c(requests)h(targetting)f(it)i
(b)q(efore)f(it)h(can)f(complete.)32 b(The)20 b(most)e(e\016cien)o(t)i
(metho)q(d)f(of)189 846 y(determining)c(this)f(is)g(probably)h(for)e
(eac)o(h)h(pro)q(cess)g(to)f(k)o(eep)h(a)f(coun)o(t)h(of)f(the)h(n)o
(um)o(b)q(er)g(of)f(PUTC)189 902 y(and)21 b(GETC)g(requests)g(it)h(has)
f(issued)i(to)d(eac)o(h)i(pro)q(cess)f(since)i(the)e(previous)h(OFFER)o
(C)f(or)189 959 y(IOFFER)o(C.)c(This)i(will)h(tak)o(e)e(the)g(form)f
(of)h(a)g(v)o(ector)f(\(con)o(taining)i(one)f(elemen)o(t)h(p)q(er)g
(pro)q(cess)189 1015 y(in)c(the)f(comm)o(unicator\))g(on)h(eac)o(h)f
(pro)q(cess)h(in)g(the)g(comm)o(unicator.)k(The)c(collectiv)o(e)h(op)q
(eration)189 1072 y(then)h(consists)h(of)f(p)q(erforming)h(a)f(v)o
(ector)g(sum)g(reduction)i(to)e(pro)q(duce)h(a)f(v)o(ector)g(of)g(the)h
(total)189 1128 y(n)o(um)o(b)q(er)d(of)f(PUTC)h(and)g(GETC)f(op)q
(erations)h(whic)o(h)h(w)o(ere)e(p)q(erformed)i(to)e(eac)o(h)h(pro)q
(cess,)g(then)189 1184 y(a)i(broadcast)f(of)h(that)g(sum)g(v)o(ector)g
(to)f(all)j(pro)q(cesses.)26 b(Eac)o(h)17 b(pro)q(cess)h(can)f(then)h
(individuall)q(y)189 1241 y(\014nish)i(the)f(OFFER)o(C)g(op)q(eration)g
(when)h(they)f(ha)o(v)o(e)g(matc)o(hed)g(the)g(appropriate)g(n)o(um)o
(b)q(er)g(of)189 1297 y(PUTC)14 b(and/or)h(GETC)g(op)q(erations.)189
1373 y(Because)20 b(of)f(the)g(o)q(dd)h(completion)g(condition)h(for)e
(an)g(OFFER)o(C,)g(TEST)g(is)h(free)f(to)g(alw)o(a)o(ys)189
1429 y(return)g("notcompleted")g(for)f(an)o(y)h(request)g(returned)g(b)
o(y)g(an)g(IOFFER)o(C.)g(T)l(o)g(do)g(otherwise)189 1485
y(ma)o(y)d(require)h(TEST)f(to)g(engage)h(in)g(exp)q(ensiv)o(e)h(comm)o
(unication.)25 b(\()p Fa(End)17 b(of)h(advic)n(e)f(to)h(imple-)189
1542 y(mentors.)p Fk(\))166 1695 y Fe(Discussion:)55
b Fd(It)19 b(seems)g(p)q(erfectly)i(reasonable)e(to)g(pro)o(vide)g(p)q
(ersisten)o(t)i(requests)g(for)e(the)h(OFFER)75 1752
y(op)q(erations,)14 b(esp)q(ecially)g(OFFER)o(C)g({)f(i.e.)18
b(MPI)p 853 1752 V 15 w(OFFER)o(C)p 1042 1752 V 15 w(INIT.)-32
46 y Fb(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32 272
y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
===============================================================================
David C. DiNucci | MRJ, Inc., Rsrch Scntst |USMail: NASA Ames Rsrch Ctr
dinucci@nas.nasa.gov| NAS (Num. Aerospace Sim.)| M/S T27A-2
(415)604-4430 | Parallel Tools Group | Moffett Field, CA 94035