%!PS-Adobe-3.0 %%Title: (2001-02-15.fm) %%Creator: (FrameMaker+SGML 6.0: AdobePS 8.7.0) %%CreationDate: (3:14 PM Thursday, February 15, 2001) %%For: (Matt Bishop) %%Routing: (mailto:bishop@cs.ucdavis.edu) %%Pages: 4 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Symbol %%+ Times-Italic %%DocumentNeededResources: font Times-Roman Times-Bold Symbol Times-Italic %%DocumentSuppliedResources: %%DocumentData: Clean7Bit %%PageOrder: Ascend %%Orientation: Portrait %%DocumentMedia: (Default) 612 792 0 () () %RBINumCopies: 1 %RBINupNess: 1 1 %ADO_ImageableArea: 30 31 582 761 %RBIDocumentSuppliedFonts: %%BoundingBox: 0 0 612 792 %%DocumentProcessColors: Cyan Magenta Yellow Black %%DocumentCustomColors: (Red) %%+ (Green) %%+ (Blue) %%+ (PICT Color 1) %%CMYKCustomColor: 0 1 1 0 (Red) %%+ 1 0 1 0 (Green) %%+ 1 1 0 0 (Blue) %%+ 0 0 0 1 (PICT Color 1) %%EndComments %%BeginDefaults %%ViewingOrientation: 1 0 0 1 %%EndDefaults userdict/dscInfo 5 dict dup begin /Title(2001-02-15.fm)def /Creator(FrameMaker+SGML 6.0: AdobePS 8.7.0)def /CreationDate(3:14 PM Thursday, February 15, 2001)def /For(Matt Bishop)def /Pages 4 def end put %%BeginProlog /md 210 dict def md begin/currentpacking where {pop /sc_oldpacking currentpacking def true setpacking}if %%BeginFile: lw8_feature-1.01 %%Copyright: Copyright 1990-1999 Adobe Systems Incorporated and Apple Computer Incorporated. All Rights Reserved. /bd{bind def}bind def /ld{load def}bd /xs{exch store}bd /Z{0 def}bd /T true def /F false def /level2 /languagelevel where { pop languagelevel 2 ge }{ F }ifelse def /odictstk Z /oopstk Z /fcl { count oopstk sub dup 0 gt { {pop}repeat }{ pop }ifelse countdictstack odictstk sub dup 0 gt { {end}repeat }{ pop }ifelse }bd /sfcl2 { /odictstk countdictstack store count/oopstk xs }bd /efcl2 { stopped{$error/newerror F put}if fcl }bd /noload Z /startnoload { {/noload save store}if }bd /endnoload { {noload restore}if }bd /setcopies{ level2 { 1 dict begin/NumCopies exch def currentdict end setpagedevice }{ userdict/#copies 3 -1 roll put }ifelse }def level2 startnoload /ststpgdev{}def /dopgdev{}def /stpgdev{}def /buf Z /didstop T def /sfcl { /didstop T store /odictstk countdictstack store count/oopstk xs currentfile cvx stopped { $error/newerror F put didstop { save/didstop xs /buf vmstatus exch sub exch pop dup 0 lt{pop 0}if dup 64000 gt{pop 64000}if string store { currentfile buf readline { (}efcl)eq{exit}if }{ /UnexpectedEOF errordict/rangecheck get exec }ifelse }loop didstop restore }if }if fcl }bd /efcl { /didstop F store exec stop }bd level2 endnoload level2 not startnoload /setpagedevice where{pop/realstpgdev/setpagedevice ld}if /SC_topddict Z /SC_spdict Z /$spusrdict F def /dopgdev { userdict/setpagedevice undef $spusrdict { userdict/setpagedevice/realstpgdev load put /$spusrdict F store }if SC_topddict realstpgdev }bd /stpgdev { SC_topddict dup 3 -1 roll { SC_spdict 2 index known { SC_spdict 2 index get dup 3 -1 roll { put dup }forall pop put dup }{ put dup }ifelse }forall pop pop }bd /ststpgdev { /setpagedevice where { userdict eq { /$spusrdict T store }if }if userdict/setpagedevice/stpgdev load put /SC_topddict 0 dict store /SC_spdict 3 dict begin /InputAttributes 0 dict def /Policies 0 dict def /OutputAttributes 0 dict def currentdict end store }def /sfcl/sfcl2 ld /efcl/efcl2 ld level2 not endnoload %%EndFile %%BeginFile: lw8_basic-4.0 /xdf{exch def}bd /:L/lineto /lw/setlinewidth /:M/moveto /rl/rlineto /rm/rmoveto /:C/curveto /:T/translate /:K/closepath /:mf/makefont /gS/gsave /gR/grestore /np/newpath 12{ld}repeat /framewidth -1 def /QDframwid -1 def /numframes Z /mTS matrix def /$m matrix def /av 87 def /por T def /normland F def /psb-nosave{}def /pse-nosave{}def /us Z /psb{/us save store}bd /pse{us restore}bd /level3 /languagelevel where { pop languagelevel 3 ge }{ F }ifelse def level2 startnoload /setjob { statusdict/jobname 3 -1 roll put }bd /devg/DeviceGray def /devr/DeviceRGB def /devc/DeviceCMYK def level2 endnoload level2 not startnoload /setjob { 1 dict begin/JobName xdf currentdict end setuserparams }bd /devg[/DeviceGray]def /devr[/DeviceRGB]def /devc[/DeviceCMYK]def level2 not endnoload /pm Z /mT Z /sD Z /mTSsetup{ mT $m currentmatrix mTS concatmatrix pop }bd /pmSVsetup{ /pm save store }bd /initializepage { mT concat }bd /endp { pm restore }bd /adjRect { dup 2 mul 6 2 roll 4 index sub exch 5 -1 roll sub exch 4 2 roll 4 index add exch 5 -1 roll add exch 4 2 roll }bd /frame1up { gS mTS setmatrix QDframwid lw /setstrokeadjust where{pop T setstrokeadjust}if clippath pathbbox 2 index sub exch 3 index sub exch currentlinewidth framewidth mul adjRect numframes dup 0 lt{pop 0}if { 4 copy rS currentlinewidth framewidth mul 4 mul adjRect }repeat pop pop pop pop gR }bd /$c devr def /rectclip where { pop/rC/rectclip ld }{ /rC { np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K clip np }bd }ifelse /rectfill where { pop/rF/rectfill ld }{ /rF { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl fill gR }bd }ifelse /rectstroke where { pop/rS/rectstroke ld }{ /rS { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K stroke gR }bd }ifelse %%EndFile level3 startnoload %%BeginFile: lw8_safeclipL12-1.0 /rectclip where { pop/rCa/rectclip ld }{ /rCa { np 0 1 index length 4 idiv { 2 copy 4 getinterval aload pop 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K 4 add }repeat clip np pop pop }bd }ifelse /savedstack Z /subsavedstack Z /execstring Z /saferCa { /execstring xs /odictstk countdictstack store /oopstk 0 store count 0 ne { savedstack 0 eq{ count 100 gt{count}{100}ifelse array/savedstack xs }{ count savedstack length gt { count array/savedstack xs }if }ifelse count savedstack 0 3 -1 roll getinterval astore/subsavedstack xs }{ /subsavedstack 0 store }ifelse execstring cvx stopped { $error/newerror F put newpath }if fcl subsavedstack 0 ne{ subsavedstack aload pop }if }bd %%EndFile level3 endnoload level3 not startnoload %%BeginFile: lw8_safeclipL3-1.0 /saferCa/pop ld %%EndFile level3 not endnoload %%BeginFile: lw8_level1_colorspace-2.0 /G/setgray ld /:F1/setgray ld /:F/setrgbcolor ld /:F4/setcmykcolor where { pop /setcmykcolor ld }{ { 3 { dup 3 -1 roll add dup 1 gt{pop 1}if 1 exch sub 4 1 roll }repeat pop setrgbcolor }bd }ifelse /:Fx { counttomark {0{G}0{:F}{:F4}} exch get exec pop }bd /$cs Z /:rg{devr :ss}bd /:sc{$cs :ss}bd /:dc { dup type/arraytype eq{0 get}if dup/DeviceCMYK eq { pop devc }{ /DeviceGray eq { devg }{ devr }ifelse }ifelse /$cs xdf }bd /:sgl{}def /:dr{}bd /:fCRD{pop}bd /:ckcs{}bd /:ss{/$c xdf}bd %%EndFile %%BeginFile: lw8_bubn-2.1 /$t Z /$p Z /$s Z /$o 1. def /2state? F def /ps Z level2 startnoload /pushcolor/currentrgbcolor ld /popcolor/setrgbcolor ld /setcmykcolor where { pop/currentcmykcolor where { pop/pushcolor/currentcmykcolor ld /popcolor/setcmykcolor ld }if }if level2 endnoload level2 not startnoload /pushcolor { currentcolorspace $c eq { currentcolor currentcolorspace T }{ currentcmykcolor F }ifelse }bd /popcolor { { setcolorspace setcolor }{ setcmykcolor }ifelse }bd level2 not endnoload /pushstatic { 2state? $o $t $p $s $cs ps }bd /popstatic { /ps xs /$cs xs /$s xs /$p xs /$t xs /$o xs /2state? xs }bd /pushgstate { currentpoint pushcolor currentlinewidth currentlinecap currentlinejoin currentdash exch aload length np clippath pathbbox $m currentmatrix aload pop }bd /popgstate { $m astore setmatrix 2 index sub exch 3 index sub exch rC array astore exch setdash setlinejoin setlinecap lw popcolor np :M }bd /bu { errordict/nocurrentpoint{pop 0 0}put 2state? { pushgstate gR }if pushgstate gR pushgstate pushstatic pm restore mTS setmatrix }bd /bn { /pm save store popstatic popgstate gS popgstate 2state? { gS popgstate }if }bd /cpat{pop 64 div setgray 8{pop}repeat}bd %%EndFile %%BeginFile: lw8_basic_text-3.0 /S/show ld /A{ 0.0 exch ashow }bd /R{ 0.0 exch 32 exch widthshow }bd /W{ 0.0 3 1 roll widthshow }bd /J{ 0.0 32 4 2 roll 0.0 exch awidthshow }bd /V{ 0.0 4 1 roll 0.0 exch awidthshow }bd /fcflg T def /fc{ fcflg{ vmstatus exch sub 50000 lt{ (%%[ Warning: Running out of memory ]%%\r)print flush/fcflg F store }if pop }if }bd /$f[1 0 0 -1 0 0]def /:ff{$f :mf}bd /$o 1. def /gl{$o G}bd /MacEncoding StandardEncoding 256 array copy def MacEncoding dup 9/space put dup 39/quotesingle put 96/grave put /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/Euro/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand /Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave /Oacute/Ocircumflex/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron MacEncoding 128 128 getinterval astore pop level2 startnoload /copyfontdict { findfont dup length dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall }bd /$ckeyd md def /:skey { 1 index maxlength 2 index length sub ge { begin /$mkeys 20 dict def /$mkeys load end dup/$ckeyd xs }if 3 1 roll put }bd /fD1pass { 40 $ckeyd //md ne { pop 1 }if $ckeyd exch :skey }bd /:searchdict Z /:searchdict { exch 2 copy known { get }{ exch/$mkeys get :searchdict }ifelse }bd /lU { //md exch 2 copy known { get }{ exch /$mkeys get :searchdict }ifelse }bd /:xs{ exch 0 1 2 index length 1 sub{ 3 copy gS 1 getinterval show gR exch get 0.0 rm }for pop pop }bd /:ys{ exch 0 1 2 index length 1 sub{ 3 copy gS 1 getinterval show gR exch get 0.0 exch rm }for pop pop }bd /:xys{ exch 0 1 2 index length 1 sub{ 3 copy gS 1 getinterval show gR exch 2 mul 2 copy 1 add get 3 -2 roll get exch rm }for pop pop }bd level2 endnoload level2 not startnoload /copyfontdict { findfont dup length dict copy begin }bd /fD1pass/def ld /lU/load ld level2{ /:xs/xshow ld /:ys/yshow ld /:xys/xyshow ld }if level2 not endnoload /:xbl{ currentpoint 2 index exec :M .03 ps mul currentpoint 2 index 0.0 rm 3 index exec :M currentpoint 2 index dup rm 3 index exec :M 0.0 1 index rm exch exec neg 0.0 exch rm }bd /:xot{ currentpoint -2.0 0.0 rm 2 index exec :M currentpoint 0.0 -2.0 rm 2 index exec :M currentpoint 0.0 2.0 rm 2 index exec :M currentpoint 2.0 0.0 rm 2 index exec :M gS gl exec currentpoint gR :M }bd /:xsh{ 2 ps 0.05 mul add 2 copy currentpoint 5 2 roll 0.0 rm exec currentpoint 6 2 roll sub moveto :xot moveto }bd /fD Z /sf Z /scf Z /sf1pass { lU setfont }bd /scf1pass { exch lU exch scalefont fD }bd /scf2pass { scalefont fD }bd md/fontname known not{ /fontname/customfont def }if /Encoding Z /:mre { copyfontdict /Encoding MacEncoding def fontname currentdict end definefont :ff fD }bd /:bsr { copyfontdict /Encoding Encoding 256 array copy def Encoding dup }bd /pd{put dup}bd /:esr { pop pop fontname currentdict end definefont :ff fD }bd /ps Z /fz{/ps xs}bd /cF/currentfont ld /mbf { /makeblendedfont where { pop makeblendedfont /ABlend exch definefont }{ pop }ifelse fD }def %%EndFile /currentpacking where {pop sc_oldpacking setpacking}if end %%EndProlog %%BeginSetup md begin /fD/def ld/sf/setfont ld /scf/scf2pass ld %RBIIncludeNonPPDFeature: NumCopies 1 %RBIBeginNonPPDFeature: WaitTimeout 600 600/languagelevel where{pop languagelevel 2 ge}{false}ifelse{1 dict dup/WaitTimeout 4 -1 roll put setuserparams}{statusdict/waittimeout 3 -1 roll put}ifelse %RBIEndNonPPDFeature sfcl{ %%BeginFeature: *InputSlot Upper %%EndFeature }efcl sfcl{ %%BeginFeature: *ManualFeed False level2 {1 dict dup /ManualFeed false put setpagedevice}{statusdict begin /manualfeed false store end} ifelse %%EndFeature }efcl sfcl{ %%BeginFeature: *PageRegion LetterSmall level2 { 2 dict dup /PageSize [612 792] put dup /ImagingBBox [30 31 582 761] put setpagedevice }{ /lettersmall where {pop lettersmall} {letterR} ifelse } ifelse %%EndFeature }efcl (Matt Bishop)setjob /mT[1 0 0 -1 30 761]def %RBIIncludeStartNup /sD 16 dict def %%IncludeResource: font Times-Roman /f133/Times-Roman :mre /f148 f133 10 scf %%IncludeResource: font Times-Bold /f161/Times-Bold :mre /f175 f161 18 scf /f188 f161 12 scf %%IncludeResource: font Symbol /f210/Symbol :bsr 240/apple pd :esr /f222 f210 10 scf %%IncludeResource: font Times-Italic /f235/Times-Italic :mre /f250 f235 10 scf /f263 f235 8 scf /f276 f133 8 scf {/Courier findfont[10 0 0 -10 0 0]:mf setfont}stopped{$error/newerror F put}if % PostScript Prolog for use with Macintosh Frame Products 6.0 % Copyright (c) 1986-2000 Adobe Systems Inc. All rights reserved. %%BeginProcSet: "FrameMacDict" 556 12 userdict/FrameMacDict 250 dict put FrameMacDict begin systemdict/setpacking known{/fMSP currentpacking def true setpacking}if[/fM1/fMi1/fMi2/fM2/fM3/fMcl /fMAB/fM5/fM6/fM0/fM8/fM9/fMBC/fMC/fMCD/fMCK/fMCR/fMCS/fMib/fMCN/fMCE/fMCO/fMef /fMet/fMeh/fMew/fMey/fMex/fMei/fMej/fMek/fMel/fMeb/fMGC/fMGL/fMGM/fMIT/fMIx /fMJB/fMJC/fMJG/fMJK/fMJM/fMJR/fMJY/fMK/fML1/fMM/fMCP/fMNC/fMNg/fMND/fMOx/fMPC /fMPG/fMPH/fMPt/fMRC/fMS/fMSJ/fMUC/fMUM/fMUY/fMY/fMdm/fMax/fMa2/fMi/fMk/fMSD /fMcu/fMsg/fms/fMTV/fmBS/fMdp/freq/sangle/sflipx/sflipy/pflipx/pflipy/xx/yy /xindex/yindex/fM1B/fM0B/fMdc/fMds]{0 def}forall/T true def/F false def/FmBD{ bind def}bind def/fmXD{exch def}FmBD/fmBx{dup length exch{dup/FrameMacDict eq{ pop FrameMacDict}{dup type dup/arraytype eq exch/packedarraytype eq or{dup xcheck{fmBi}if}if}ifelse exch}forall systemdict/setpacking known{packedarray}{ array astore}ifelse cvx}FmBD/fmBi{bind fmBx}FmBD/fmax{2 copy lt{exch}if pop} FmBD/fmin{2 copy gt{exch}if pop}FmBD/fML1/languagelevel where{pop languagelevel }{1}ifelse 2 lt def/fMCE fML1{/statusdict where{pop statusdict/processcolors known{statusdict/processcolors get exec 1 gt}{F}ifelse}{F}ifelse}{T}ifelse def /fMXN/statusdict where{pop statusdict/product known{statusdict/product get}{ (Unknown)}ifelse}{(Unknown)}ifelse def/fMHq fMXN(LaserWriter-Sim)eq def fML1{ userdict/FrMacBegin{FrameMacDict begin}fmBi put/FmE{end}FmBD}{/fMdc 6 array def userdict/FrMacBegin{FrameMacDict begin/fMds currentcolorspace store mark 0 0 0 0 0 currentcolor fMdc astore pop cleartomark}fmBi put/FmE{fMds setcolorspace mark fMdc aload pop setcolor cleartomark end}FmBD}ifelse/fMcu F def/fMsg F def /fMSD F def/fmSK{pop pop pop pop}FmBD/FmG/gsave load def/FmR/grestore load def /fm_l/grestoreall load def/fm_v/save load def/fm_g/setgray load def/fm_r /setrgbcolor load def/fm_h/sethsbcolor load def/fm_f/fill load def/fm_e/eofill load def/fm_t/stroke load def/fm_m/imagemask load def/fm_i/image load def/fm_s /show load def/fm_a/ashow load def/fm_w/widthshow load def/fm_y/awidthshow load def/RealKshow/kshow load def/fm_si systemdict/image get def/fm_sg systemdict /setgray get def/fm_sc systemdict/currentgray get def/fm_su systemdict /settransfer get def/fm_sx systemdict/currenttransfer get def fMCE{ /SysColorimage systemdict/colorimage get def}if/fMdm matrix def/fMax matrix def /fMa2 matrix def/fmSM{fMax currentmatrix pop}FmBD/fmRM{fMax setmatrix}FmBD/FmRF {currentpoint 2 copy translate 4 2 roll{-1 1 scale}if rotate neg exch neg exch translate}FmBD/FmU4 true def systemdict/pdfmark known systemdict /currentdistillerparams known and{/fMAB true def/FmPD/pdfmark load def/FmPT /fm_s load def currentdistillerparams/CoreDistVersion get 2000 ge{/FmPD2 /pdfmark load def currentdistillerparams/CoreDistVersion get 4050 ge{/FmPD4 /pdfmark load def}{/FmPD4{FmU4{ (%%[Acrobat Distiller 4.05 and up is required to generate Logical PDF Structure]%%) =(%%[Logical PDF Structure is not generated.]%%)= flush}if/FmU4 false def cleartomark}FmBD}ifelse/fmCG true def/FmND{mark exch/Dest exch 5 3 roll/View[ /XYZ 5 -2 roll FmDC null]/DEST FmPD}FmBD/FmPA{fmCG{pop pop pop}{FmND}ifelse} FmBD}{/FmPD4/cleartomark load def/FmPD2/cleartomark load def/FmPA{pop pop pop} FmBD/FmND{pop pop pop}FmBD}ifelse}{/fMAB false def/FmPD/cleartomark load def /FmPD2/cleartomark load def/FmPD4/cleartomark load def/FmPT/pop load def/FmPA{ pop pop pop}FmBD/FmND{pop pop pop}FmBD}ifelse/FmDC{transform fMdm defaultmatrix itransform cvi exch cvi exch}FmBD/FmBx{dup 3 index lt{3 1 roll exch}if 1 index 4 index lt{4 -1 roll 3 1 roll exch 4 1 roll}if}FmBD/fmkn{2 copy known{get T}{ pop pop false}ifelse}FmBD/fmfp{exch currentfont dup/FontMatrix get exch /FontInfo fmkn{T}{currentfont/df fmkn{dup/FontInfo fmkn{3 1 roll/FontMatrix get mtx concatmatrix exch T}{pop pop pop F}ifelse}{pop pop F}ifelse}ifelse{3 -1 roll fmkn{exch 0 3 1 roll dtransform neg exch pop exch pop}{pop exec}ifelse}{ exec}ifelse}FmBD/FmTx{/fM3 fmXD/fM2 fmXD/fM1 fmXD 0 32 fM1 fM3 stringwidth pop fM2 sub fM3 length div sub 0 fM3 fm_y}FmBD/fMOx matrix def fMOx currentmatrix pop/FmSO{/FmOs save def fmSM fMOx setmatrix}FmBD/FmIO{fmRM}FmBD/FmEO{FmOs restore}FmBD/fmSC{0 1 fMGL{dup fMRC exch get exch dup fMNC exch get exch dup fMBC exch get exch 4 1 roll/fmRY fmGG exec fMeb fMC eq{pop pop pop}{fMeb fMM eq {pop pop exch pop}{fMeb fMY eq{pop 3 1 roll pop pop}{fMeb fMK eq{4 1 roll pop pop pop}{pop pop pop pop 0}ifelse}ifelse}ifelse}ifelse 1 exch sub 255 mul fMGC 3 1 roll put}for}FmBD/fmSW{/fMOP fmGG{nulldevice}{fMNg{{10000000 div}}{{ 10000000 div 1 exch sub}}ifelse fm_su}ifelse}FmBD fML1{/Fmi{save userdict/fM7 3 -1 roll put/fM9 F def{{dup length dup 1 sub/fMGL fmXD array/fMGC fmXD/fMBC fmXD /fMNC fmXD/fMRC fmXD fMeb fMCP ne{fmSC{fMGL mul cvi fMGC exch get} currenttransfer fmcp fm_su}{fMCE{currentcolortransfer/gryt fmXD/blut fmXD/grnt fmXD/redt fmXD 0 1 fMGL{/fMIx fmXD/fMUC 1 fMRC fMIx get sub def/fMUM 1 fMNC fMIx get sub def/fMUY 1 fMBC fMIx get sub def/fMk fMUC fMUM fmin fMUY fmin def /FmU fMk/currentundercolorremoval where{pop currentundercolorremoval exec}{pop 0}ifelse def fMRC fMIx 1 0 fMUC FmU sub fmax sub redt exec put fMNC fMIx 1 0 fMUM FmU sub fmax sub grnt exec put fMBC fMIx 1 0 fMUY FmU sub fmax sub blut exec put fMGC fMIx 1 fMk/currentblackgeneration where{pop currentblackgeneration exec}{}ifelse sub gryt exec put}for{fMGL mul cvi fMRC exch get}{fMGL mul cvi fMNC exch get}{fMGL mul cvi fMBC exch get}{fMGL mul cvi fMGC exch get}setcolortransfer/setundercolorremoval where{pop{pop 0} setundercolorremoval}if/setblackgeneration where{pop{}setblackgeneration}if/fM9 T def}{0 1 fMGL{fMGC exch dup dup fMRC exch get .3 mul exch dup fMNC exch get .59 mul exch fMBC exch get .11 mul add add put}for{fMGL mul cvi fMGC exch get} currenttransfer fmcp fm_su}ifelse}ifelse}{fMeb dup fMK eq exch fMCP eq or{dup length 1 sub/fMGL fmXD/fMGC fmXD{fMGL mul cvi fMGC exch get}currenttransfer fmcp fm_su}{pop fmSW}ifelse}ifelse}{fMeb dup fMK eq exch fMCP eq or{{{1 exch sub}currenttransfer fmcp fm_su}if}{pop fmSW}ifelse}ifelse/fMIT fmXD/fM5 fmXD /fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub}currenttransfer exch fmcp fm_su}if /fMi1 fM8 string def fMcl fMrw fM6[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]{ currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop}fM9{{fMi1}{fMi1}T 3 SysColorimage}{fm_si}ifelse fM7 restore}FmBD}{/Fmi{save userdict/fM7 3 -1 roll put/fM9 F def{{dup length dup 1 sub/fMGL fmXD array/fMGC fmXD/fMBC fmXD/fMNC fmXD/fMRC fmXD fMeb fMCP ne{fmSC[/Indexed/DeviceGray fMGL{fMGC exch get}] setcolorspace}{[/Indexed/DeviceRGB fMGL{dup fMRC exch get exch dup fMNC exch get exch fMBC exch get}]setcolorspace}ifelse}{dup length 1 sub/fMGL fmXD/fMGC fmXD[/Indexed/DeviceGray fMGL{fMGC exch get}]setcolorspace fMeb dup fMK ne exch fMCP ne and{fmSW}if}ifelse}{1 5 index bitshift 1 sub/fMGL fmXD[/Indexed /DeviceGray fMGL 5 -1 roll{{fMGL div 1 exch sub}}{{fMGL div}}ifelse] setcolorspace fMeb dup fMK ne exch fMCP ne and{fmSW}if}ifelse/fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub}currenttransfer exch fmcp fm_su}if /fMi1 fM8 string def 7 dict begin/ImageType 1 def/Width fMcl def/Height fMrw def/ImageMatrix[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]def/DataSource{currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop}def/BitsPerComponent fM6 def /Decode[0 fMGL]def currentdict end fm_si fM7 restore}FmBD}ifelse/fmIv{[{1 exch sub}/exec load dup currenttransfer exch]cvx bind fm_su}FmBD/fm3b{dup fMCP eq{ pop 0 1 4 index length 1 sub{3 index 1 index get .3 mul 3 index 2 index get .59 mul 3 index 3 index get .11 mul add add round cvi 4 index 3 1 roll put}for pop pop}{/fmRY fmGG 0 1 6 index length 1 sub{5 index 1 index get 255 div 5 index 2 index get 255 div 5 index 3 index get 255 div 4 index exec 6 index fMC eq{pop pop pop}{6 index fMM eq{pop pop exch pop}{6 index fMY eq{pop 3 1 roll pop pop}{ 6 index fMK eq{4 1 roll pop pop pop}{pop pop pop pop 0}ifelse}ifelse}ifelse} ifelse 255 mul round cvi 6 index 3 1 roll put}for pop pop pop pop}ifelse}FmBD /Fmci{save userdict/fM7 3 -1 roll put/fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD/fMi1 fM8 string def/fM0 fM8 3 idiv def/fMs fMi1 0 fM0 getinterval def/fMs2 fMi1 fM0 dup getinterval def/fMs3 fMi1 fM0 dup 2 mul exch getinterval def translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub}currenttransfer exch fmcp fm_su}if fMcl fMrw fM6[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]fMeb fMCP eq fMCE and{{currentfile fMi1 fM5{readstring}{ readhexstring}ifelse pop pop fMs}{fMs2}{fMs3}T 3 SysColorimage}{{fmIv currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop pop fMs fMs2 fMs3 fMeb fm3b}fm_si}ifelse fM7 restore}FmBD/fm4b{dup fMCP eq{pop 0 1 5 index length 1 sub{2 copy get dup 6 index 3 index get add 255 fmin .3 mul 1 index 6 index 4 index get add 255 fmin .59 mul 3 -1 roll 5 index 4 index get add 255 fmin .11 mul add add round cvi 5 index 3 1 roll put}for pop pop pop}{dup fMC eq{pop pop pop pop}{dup fMM eq{pop pop pop exch pop}{dup fMY eq{pop pop exch pop exch pop} {fMK eq{4 1 roll pop pop pop}{pop pop pop 0 1 2 index length 1 sub{1 index exch 0 put}for}ifelse}ifelse}ifelse}ifelse}ifelse}FmBD/Fmc4{save userdict/fM7 3 -1 roll put/fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD/fMi1 fM8 string def/fM0 fM8 4 idiv def/fMs fMi1 0 fM0 getinterval def/fMs2 fMi1 fM0 dup getinterval def/fMs3 fMi1 fM0 dup 2 mul exch getinterval def/fMs4 fMi1 fM0 dup 3 mul exch getinterval def translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub}currenttransfer exch fmcp fm_su}if fMcl fMrw fM6[ fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]fMeb fMCP eq fMCE and{{currentfile fMi1 fM5 {readstring}{readhexstring}ifelse pop pop fMs}{fMs2}{fMs3}{fMs4}T 4 SysColorimage}{fmIv{currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop pop fMs fMs2 fMs3 fMs4 fMeb fm4b}fm_si}ifelse fM7 restore}FmBD fML1{/fmAn{ transform round .5 sub exch round .5 sub exch itransform}FmBD/fmAc{transform round 1.5 sub exch round 1.5 sub exch itransform}FmBD/fmDn{dtransform round exch round exch idtransform}FmBD/fmLn{0 dtransform exch cvi 2 idiv 2 mul .1 add exch idtransform pop}FmBD/FmCv{fmDn 6 2 roll fmDn 6 2 roll fmDn 6 2 roll rcurveto}FmBD}{T setstrokeadjust/fmAn{}FmBD/fmAc{}FmBD/fmDn{}FmBD/fmLn{}FmBD /FmCv{rcurveto}FmBD}ifelse/FmM{fmAn moveto}FmBD/M{moveto}FmBD/N{0 rmoveto}FmBD /S{fm_s}FmBD/A{0 exch fm_a}FmBD/W{0 exch 32 exch fm_w}FmBD/X{0 exch 0 32 5 2 roll fm_y}FmBD/fmQP{fML1 fMGM or not{FmG dup 1 fm_g exec FmR}if exec}FmBD/FmB{ newpath fmAn moveto}FmBD/FmL{rlineto}FmBD/FmAL{fmAn lineto}FmBD/FmSo{fmLn setlinewidth setlinecap{fm_t}fmQP 0 0 moveto}FmBD/FmS{fmLn setlinewidth closepath{fm_t}fmQP 0 0 moveto}FmBD/FmDS{fmLn setlinewidth setlinecap{closepath }if setdash{fm_t}fmQP[]0 setdash 0 0 moveto}FmBD/FmFl{FmG{fm_e}fmQP FmR}FmBD /fmq{fmDn 4 2 roll fmAn newpath moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}FmBD/FmqP{fmq fmLn setlinewidth{fm_t}fmQP 0 0 moveto}FmBD /FmqF{fmq FmG{fm_f}fmQP FmR}FmBD/FmKp{{currentpoint}stopped{F 5 1 roll}{T 7 3 roll}ifelse fmDn 4 2 roll fmAn newpath moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath clip{moveto}{newpath}ifelse}FmBD/FmKb{{currentpoint} stopped}FmBD/FmKe{clip{newpath}{moveto}ifelse}FmBD/FmAF{FmG newpath fmAn translate not{0.0 0.0 moveto}if rotate fmDn scale 0.0 0.0 1.0 5 3 roll arc closepath{fm_f}fmQP FmR}FmBD/FmAP{FmG{setdash}if fmLn setlinewidth setlinecap fmSM newpath 2 index 2 div add exch 3 index 2 div sub exch fmAn 2 index 2 div sub exch 3 index 2 div add exch translate rotate scale 0.0 0.0 1.0 5 3 roll exch arcn{closepath}if fmRM{fm_t}fmQP FmR}FmBD/FmST{FmG fmAn translate .3 fmLn setlinewidth 0 setlinecap 0 setlinejoin newpath 1 fm_g 0 0 10 0 360 arc fm_f 0 fm_g 0 0 10 0 360 arc fm_t 36{1 0 moveto 0 0 10 -2.5 2.5 arc fm_f 10 rotate} repeat FmR}FmBD/FmSL{FmG fmAn translate .25 fmLn setlinewidth 0 setlinecap 0 setlinejoin newpath 1 fm_g 0 0 10 0 360 arc fm_f 0 fm_g 10 .5 fmLn neg .1{0 0 3 -1 roll 0 360 arc fm_t}for FmR}FmBD/fMCP 0 def/fMC 1 def/fMM 2 def/fMY 3 def /fMK 4 def/fMS 5 def/fMN 6 def/fMNg 0 currenttransfer exec .5 gt def/fMib fMCP def/fMJK 0 def/fMJY 0 def/fMJM 0 def/fMJC 0 def/fMJR 1 def/fMJG 1 def/fMJB 1 def/fMPG 0 def/fMTV 1 def/fMPt null def/fMCK[0 0 0 1(Black)0 0 0]def/fmCH{fML1{ 14 dict dup begin fMCE{/HalftoneType 2 def currentcolorscreen[/GraySpotFunction /GrayAngle/GrayFrequency/BlueSpotFunction/BlueAngle/BlueFrequency /GreenSpotFunction/GreenAngle/GreenFrequency/RedSpotFunction/RedAngle /RedFrequency]{exch def}forall}{/HalftoneType 1 def currentscreen[/SpotFunction /Angle/Frequency]{exch def}forall}ifelse statusdict/checkscreen known{ statusdict/accuratescreens get exec}{F}ifelse/AccurateScreens exch def end}{ currenthalftone}ifelse}FmBD/fmSH{fML1 fMeb fMCP ne or{begin statusdict /checkscreen known{currentdict/AccurateScreens known{AccurateScreens}{F}ifelse statusdict/setaccuratescreens get exec}if HalftoneType 1 eq{Frequency Angle /SpotFunction load setscreen}{HalftoneType 2 eq{fMeb fMCP eq fMCE and{ RedFrequency RedAngle/RedSpotFunction load GreenFrequency GreenAngle /GreenSpotFunction load BlueFrequency BlueAngle/BlueSpotFunction load GrayFrequency GrayAngle/GraySpotFunction load setcolorscreen}{fMeb fMC eq{ RedFrequency RedAngle/RedSpotFunction load}{fMeb fMM eq{GreenFrequency GreenAngle/GreenSpotFunction load}{fMeb fMY eq{BlueFrequency BlueAngle /BlueSpotFunction load}{fMeb fMY eq currentdict/BlackFrequency known and{ BlackFrequency BlackAngle/BlackSpotFunction load}{GrayFrequency GrayAngle /GraySpotFunction load}ifelse}ifelse}ifelse}ifelse setscreen}ifelse}if}ifelse end}{sethalftone}ifelse}FmBD/FmCS{17 dict begin/HalftoneType 2 def /AccurateScreens exch def/GraySpotFunction exch def/GrayAngle exch def /GrayFrequency exch def/BlackSpotFunction exch def/BlackAngle exch def /BlackFrequency exch def/BlueSpotFunction exch def/BlueAngle exch def /BlueFrequency exch def/GreenSpotFunction exch def/GreenAngle exch def /GreenFrequency exch def/RedSpotFunction exch def/RedAngle exch def /RedFrequency exch def currentdict dup end/fMPH exch def fmSH}FmBD/FmSS{5 dict begin/HalftoneType 1 def/AccurateScreens exch def/SpotFunction exch def/Angle exch def/Frequency exch def currentdict dup end/fMPH exch def fmSH}FmBD/fMPH fmCH def/fmcp{cvlit exch cvlit exch 2 copy length exch length add array dup 0 4 index putinterval dup 3 index length 3 index putinterval 3 1 roll pop pop cvx} FmBD/fmEp{sub dup 0 lt{neg}if .001 le}FmBD/fmQC{2 copy 0 get exch 0 get fmEp{2 copy 1 get exch 1 get fmEp{2 copy 2 get exch 2 get fmEp{3 get exch 3 get fmEp}{ pop pop F}ifelse}{pop pop F}ifelse}{pop pop F}ifelse}FmBD/fmQR{2 copy 5 get exch 0 get fmEp{2 copy 6 get exch 1 get fmEp{7 get exch 2 get fmEp}{pop pop F} ifelse}{pop pop F}ifelse}FmBD/FmSC{/fMib fMS def/fMJB fmXD/fMJG fmXD/fMJR fmXD /fMCN fmXD/fMJK fmXD/fMJY fmXD/fMJM fmXD/fMJC fmXD}FmBD/FmSP{/fMib fmXD fmGb fmCC}FmBD/fMSC 1 dict def/FrameSetSpotColors{dict FrameMacDict/fMSC 3 -1 roll put}fmBi def/FrameSpot{FrameMacDict/fMSC get exch dup 4 get exch put}fmBi def /fMGM T def/fm4q{4{4 index eq 8 1 roll}repeat pop pop pop pop and and and}FmBD /fmGb{/fMeb fMCP def/fMcu/setcustomcolor where{pop T}{F}ifelse def/fMsg /setseparationgray where{pop T}{F}ifelse def/setcmykcolor where{/fMSD T def /setcmykcolor get dup/fm_x fmXD/fmSK fmXD}{/fMSD F def/fmSK{4 1 roll 3{3 index add 0 fmax 1 fmin 1 exch sub 3 1 roll}repeat fm_r pop}FmBD}ifelse fMSD{fMcu{0 fm_sx exec 1 fm_sx exec eq{/fMeb fMN store}{/fm_x where{pop 1 0 0 0 fm_x fm_sc 0 1 0 0 fm_x fm_sc 0 0 1 0 fm_x fm_sc 0 0 0 1 fm_x fm_sc 4{4 copy}repeat 0 1 1 1 fm4q{/fMeb fMC store}if 1 0 1 1 fm4q{/fMeb fMM store}if 1 1 0 1 fm4q{/fMeb fMY store}if 1 1 1 0 fm4q{/fMeb fMK store}if 1 1 1 1 fm4q{/fMeb fMN store}if}if }ifelse}if}if}FmBD/fmCC{/fMND F def/fMCT fMTV 1 fMPG sub mul def fMib fMCP eq{ fMGM fML1 or not{fMeb fMCP eq{fMAB not{[/Pattern[/DeviceCMYK]]setcolorspace fMCK 0 4 getinterval aload pop fMCT 1 lt{4{fMCT mul 4 1 roll}repeat}if}{[ /Pattern[/DeviceRGB]]setcolorspace fMCK 5 3 getinterval aload pop fMCT 1 lt{3{1 exch sub fMCT mul 1 exch sub 3 1 roll}repeat}if}ifelse}{fMcu fMCS and{fMCK 0 5 getinterval aload pop findcmykcustomcolor fMCT setcustomcolor}{0 1 3{fMCK exch get fMCT mul}for fm_x}ifelse currentgray[/Pattern[/DeviceGray]]setcolorspace} ifelse fMPt setcolor}{fMsg fMCR and{1 fMCT sub setseparationgray}{fMcu fMCS and {fMCK 0 5 getinterval aload pop findcmykcustomcolor fMCT setcustomcolor}{fMAB not fMSD and{0 1 3{fMCK exch get fMCT mul}for fm_x}{5 1 7{fMCK exch get 1 exch sub fMCT mul 1 exch sub}for fm_r}ifelse}ifelse}ifelse}ifelse}{fMGM fML1 or not{ [/Pattern[/DeviceGray]]setcolorspace 1 fMCT sub fMPt setcolor}{1 fMCT sub fm_g} ifelse}ifelse}FmBD/K{fMCK astore pop/fMCS T def/fMCR F def/fMTV exch def fmCC} FmBD/H{0 0 0 1(Black)0 0 0 fMCK astore pop/fMCS F def/fMCR T def/fMTV exch def fmCC}FmBD/fMCS F def/fMCR F def/fmPK{fMCK astore pop/fMCS F def/fMCR F def/fMTV exch def fmCC}FmBD/FmCC{1 0 0 0(Cyan)0 1 1 fmPK}FmBD/FmCM{0 1 0 0(Magenta)1 0 1 fmPK}FmBD/FmCY{0 0 1 0(Yellow)1 1 0 fmPK}FmBD/FmCK{0 0 0 1(Black)0 0 0 fmPK} FmBD/G{FmCK}FmBD/B{1 G}FmBD/FmOP/setoverprint where{pop/setoverprint}{/pop} ifelse load def fML1{/patScreenDict 7 dict dup begin<0f1e3c78f0e1c387>[45{pop}{ exch pop}.5 2 sqrt]FmBD<0f87c3e1f0783c1e>[135{pop}{exch pop}.5 2 sqrt]FmBD[0{pop}dup .5 2]FmBD[90{pop}dup .5 2]FmBD<814224 1818244281>[45{2 copy lt{exch}if pop}dup .75 2 sqrt]FmBD<0102040810204080>[45{ pop}{exch pop}.875 2 sqrt]FmBD<8040201008040201>[135{pop}{exch pop}.875 2 sqrt] FmBD end def}{/fMPP 5 dict dup begin<0f87c3e1f0783c1e>{3 setlinewidth -1 -1 moveto 9 9 lineto fm_t 4 -4 moveto 12 4 lineto fm_t -4 4 moveto 4 12 lineto fm_t}FmBD<0f1e3c78f0e1c387>{3 setlinewidth -1 9 moveto 9 -1 lineto fm_t -4 4 moveto 4 -4 lineto fm_t 4 12 moveto 12 4 lineto fm_t}FmBD<8142241818244281>{1 setlinewidth -1 9 moveto 9 -1 lineto fm_t -1 -1 moveto 9 9 lineto fm_t}FmBD<80 40201008040201>{1 setlinewidth -1 -1 moveto 9 9 lineto fm_t 4 -4 moveto 12 4 lineto fm_t -4 4 moveto 4 12 lineto fm_t}FmBD<0102040810204080>{1 setlinewidth -1 9 moveto 9 -1 lineto fm_t -4 4 moveto 4 -4 lineto fm_t 4 12 moveto 12 4 lineto fm_t}FmBD end def/fMPD 15 dict dup begin/PatternType 1 def/PaintType 2 def/TilingType 3 def/BBox[0 0 8 8]def/XStep 8 def/YStep 8 def/PaintProc{begin fMPP fmBS known{fMPP fmBS get exec}{8 8 T[1 0 0 -1 0 8]fmBS fm_m}ifelse end} FmBD end def}ifelse/fMdp 72 0 fMdm defaultmatrix dtransform dup mul exch dup mul add sqrt def/freq fMdp dup 72 div round dup 0 eq{pop 1}if 8 mul div def /sangle 1 0 fMdm defaultmatrix dtransform exch atan def sangle fMa2 rotate fMdm defaultmatrix fMa2 concatmatrix dup 0 get/sflipx exch def 3 get/sflipy exch def fML1{/fmgF{fMa2 exch get mul 0 lt{-1}{1}ifelse}FmBD}if/fmPM fML1{{dup patScreenDict exch known{patScreenDict exch get aload pop freq mul 5 2 roll fMa2 currentmatrix 1 get 0 ne{3 -1 roll 90 add 3 1 roll sflipx 1 fmgF sflipy 2 fmgF mul}{sflipx 0 fmgF sflipy 3 fmgF neg mul}ifelse 0 lt{exch pop}{pop}ifelse fMNg{{neg}fmcp}if bind systemdict/setscreen get exec}{/fmBS fmXD/fM1B 0 def /fM0B 0 def freq 0 fMa2 currentmatrix 1 get 0 ne{90 add/pflipx sflipx 1 fmgF def/pflipy sflipy 2 fmgF def}{/pflipx sflipx 0 fmgF def/pflipy sflipy 3 fmgF neg def}ifelse{pflipy mul/yy fmXD pflipx mul/xx fmXD/xindex xx 1 add 2 div 8 mul cvi def/yindex yy 1 add 2 div 8 mul cvi def fmBS yindex xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne fMNg{not}if{/fM1B fM1B 1 add def 1}{ /fM0B fM0B 1 add def 0}ifelse}setscreen fM0B fM0B fM1B add div fMNg{1.0 exch sub}if}ifelse/fMPG exch def/fMGM F def fmCC}}{/fMPC 8 dict def{dup fMPC exch known{fMPC exch get}{dup fMPD/fmBS 3 -1 roll put fMPD matrix makepattern dup fMPC 4 -1 roll 3 -1 roll put}ifelse/fMPt exch def/fMPG 0 def/fMGM F def fmCC}} ifelse FmBD/fmgr{fMGM not{/fMGM T def fML1{fMPH fmSH}if}if/fMPG exch def fmCC} FmBD/FmP{FrameFillPatternsArray exch get dup type/stringtype eq{fmPM}{fmgr} ifelse}FmBD/fMEd 40 dict def/fmPE{fMEd 3 1 roll fmBi put}bind def/fmgS 32 array def/fMgt 0 def/fMtp 0 def/fmSG{fmgS fMgt get dup null eq{pop fmgS fMgt 10 dict dup 4 1 roll put}if 3 1 roll put}FmBD/fmGG{fMgt -1 -1{fmgS exch get dup null ne {2 copy exch known{2 copy exch get/_notdef ne{exch get dup exit}if}if}if pop} for pop}FmBD/gsave{FrameMacDict begin FmG/fMgt fMgt 1 add def fmgS fMgt get dup null eq{pop}{dup dup{pop/_notdef put dup}forall pop pop}ifelse end}fmPE /grestore{FrameMacDict begin fMgt fMtp gt{/fMgt fMgt 1 sub def}if FmR null fmCN end}fmPE/grestoreall{FrameMacDict begin/fMgt fMtp def fm_l null fmCN end}fmPE /save{FrameMacDict/fm_v get exec FrameMacDict begin/fMgt fMgt 1 add def fmgS fMgt get dup null eq{pop}{dup dup{pop/_notdef put dup}forall pop pop}ifelse /fMtp fMgt def end}fmPE/fMND F def/fMCC null fmSG/fMOP F fmSG/fMKO F fmSG/fmRY{ 1 exch sub 3 1 roll 1 exch sub 3 1 roll 1 exch sub 3 1 roll 3 copy 2 copy le{ pop}{exch pop}ifelse 2 copy le{pop}{exch pop}ifelse dup dup dup 6 1 roll 4 1 roll 7 1 roll sub 6 1 roll sub 5 1 roll sub 4 1 roll}fmSG userdict/fM7 known not{userdict/FrameSuccessfull F put userdict/FrameEndPictStopped F put userdict /fM7 0 put}if/fmLC{fMSC{exch pop exch dup 3 -1 roll fmQC{pop T exit}if}forall dup T ne{pop F}if}FmBD/fmLR{fMSC{exch pop exch dup 3 -1 roll fmQR{pop T exit}if }forall dup T ne{pop F}if}FmBD/fmLM{fMSC exch known}FmBD/fmCN{fMND F fMib fMCP ne{/fMOP fmGG{/fMKO fmGG{pop T}if}if}if dup/fMND exch def{pop pop}{exch dup null ne{exch pop dup type dup/integertype eq exch/realtype eq or{fm_g}{setcolor }ifelse}{pop{1 fm_g}if}ifelse}ifelse}FmBD/findcmykcustomcolor{0 0 0 8 array astore}fmPE/findrgbcustomcolor{FrameMacDict begin 4 1 roll 3 copy/fmRY fmGG exec 8 4 roll 8 array astore end}fmPE/findgraycustomcolor{0 0 0 exch 1 exch sub exch findcmykcustomcolor}fmPE/findhsbcustomcolor{FrameMacDict begin 4 1 roll gsave fm_h currentrgbcolor grestore 4 -1 roll findrgbcustomcolor end}fmPE /setcustomcolor{FrameMacDict begin dup type dup/integertype eq exch/realtype eq or not{1.0}if exch dup/fMCC exch fmSG dup 4 get dup fmLM{fMib fMS eq{fMCN eq{ pop}{pop pop 0}ifelse}{pop pop pop 0}ifelse}{pop fMib fMK eq{3 get mul}{fMib fMY eq{2 get mul}{fMib fMM eq{1 get mul}{fMib fMC eq{0 get mul}{pop pop 0} ifelse}ifelse}ifelse}ifelse}ifelse dup 0 le/fMKO exch fmSG 1 exch sub fmCN end} fmPE/setoverprint{FrameMacDict begin dup FmOP/fMOP exch fmSG null fmCN end}fmPE /currentoverprint{FrameMacDict begin/fMOP fmGG end}fmPE/setrgbtocmyk{ FrameMacDict begin/fmRY exch fmSG null fmCN end}fmPE/currentrgbtocmyk{ FrameMacDict begin/fmRY fmGG end}fmPE/fill{FrameMacDict begin fMND{newpath}{ fm_f}ifelse end}fmPE/eofill{FrameMacDict begin fMND{newpath}{fm_e}ifelse end} fmPE/stroke{FrameMacDict begin fMND{newpath}{fm_t}ifelse end}fmPE/fmNX{load fMND{FmG fMa2 currentmatrix end nulldevice setmatrix exec currentpoint FrameMacDict/FmR get exec moveto}{end exec}ifelse}fmBi def/show{FrameMacDict begin/fm_s fmNX}fmPE/ashow{FrameMacDict begin/fm_a fmNX}fmPE/widthshow{ FrameMacDict begin/fm_w fmNX}fmPE/awidthshow{FrameMacDict begin/fm_y fmNX}fmPE /kshow{FrameMacDict begin/RealKshow fmNX}fmPE/image{FrameMacDict begin dup type /dicttype ne{fMib fMK eq{/fm_i load end exec}{FmG fmSW/fm_i load end exec FrameMacDict begin FmR end}ifelse}{fML1{(image)errordict/typecheck get exec}{ dup begin ImageType 1 eq{currentcolorspace 0 get dup/DeviceGray eq{pop Decode 0 get 0 eq Decode 1 get 1 eq and{pop Width Height BitsPerComponent ImageMatrix /DataSource load fMEd/image get end end exec}{end/fm_i load end exec}ifelse}{ dup/DeviceRGB eq exch/DeviceCMYK eq or{T 0 2 Decode length 2 sub{Decode exch get 0 eq and}for 1 2 Decode length{Decode exch get 1 eq and}for{pop Width Height BitsPerComponent ImageMatrix/DataSource load currentdict /MultipleDataSources known{MultipleDataSources}{F}ifelse{aload pop T}{F}ifelse Decode length 2 idiv fMEd/colorimage get end end exec}{end/fm_i load end exec} ifelse}{end/fm_i load end exec}ifelse}ifelse}{end/fm_i load end exec}ifelse} ifelse}ifelse}fmPE/separationimage{fm_i}fmPE %% The definition of the /imagemask (up to version @@/main/28) used to simulate the definition %% of /image. The structure of the code was the same, and both executed `nulldevice' for non-black %% plates. (/image executed `nulldevice' via `fmSW' call). %% This appears to be incorrect, because of the difference between `image' and `imagemask' %% operators. While `image' operator always paints with black color, which is why the %% definition of /image dicriminated between black and other colors plates, `imagemask' %% operator paints with the current color. Therefore, the discrimination between black and %% other colors plates in /imagemask definition, with sending non-black plates to `nulldevice' %% seems to be wrong, and is eliminated in this version. %% %% itenenbo, cahaverl 07/02/98 %% /imagemask{FrameMacDict begin dup type/dicttype ne{/fm_m load end exec}{/fm_m load end exec}ifelse}fmPE/separationimagemask{fm_m}fmPE/colorimage{FrameMacDict begin FmG dup 4 eq{fmIv pop{/fMP4 exch def/fMP3 exch def/fMP2 exch def/fMP1 exch def{fMP1 fMP2 fMP3 fMP4 fMib fm4b}fm_si}{/fMP1 exch def 1 index 8 ne{ (colorimage)errordict/rangecheck get exec}if/fMs 4 index string def/fMs2 4 index string def/fMs3 4 index string def/fMs4 4 index string def{fMP1 0 1 fMs length 1 sub{2 copy 4 mul 4 getinterval forall fMs4 5 index 3 -1 roll put fMs3 4 index 3 -1 roll put fMs2 3 index 3 -1 roll put fMs 3 -1 roll put}for pop fMs fMs2 fMs3 fMs4 fMib fm4b}fm_si}ifelse}{dup 3 eq{fmIv pop{/fMP3 exch def/fMP2 exch def/fMP1 exch def{fMP1 fMP2 fMP3 fMib fm3b}fm_si}{/fMP1 exch def 1 index 8 ne{(colorimage)errordict/rangecheck get exec}if/fMs 4 index string def/fMs2 4 index string def/fMs3 4 index string def{fMP1 0 1 fMs length 1 sub{2 copy 3 mul 3 getinterval forall fMs4 4 index 3 -1 roll put fMs3 3 index 3 -1 roll put fMs 3 -1 roll put}for pop fMs fMs2 fMs3 fMib fm3b}fm_si}ifelse}{1 eq{pop image}{ (colorimage)errordict/rangecheck get exec}ifelse}ifelse}ifelse FmR end}fmPE /customcolorimage{FrameMacDict begin FmG setcustomcolor currentgray 0 gt{ currentgray 1 ge{/fMOP fmGG{nulldevice}{fMNg{{pop 0}}{{pop 1}}ifelse fm_su} ifelse}{[1 currentgray sub/mul cvx]cvx currentransfer fmcp fm_su}ifelse}if/fm_i get end exec FrameMacDict begin FmR end}fmPE/setgray{FrameMacDict begin fMib fMK eq{F}{fMib fMS eq fMJR 0 eq and fMJG 0 eq and fMJB 0 eq and{F}{pop 1 T} ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE/setseparationgray{FrameMacDict begin /fMKO F fmSG null fmCN fm_sg end}fmPE/setrgbcolor{FrameMacDict begin 3 copy[4 1 roll]fmLR{fMib fMS eq{fMJB eq exch fMJG eq and exch fMJR eq and{0 F}{1 T}ifelse }{pop pop pop 1 T}ifelse}{/fmRY fmGG exec fMib fMK eq{1.0 exch sub 4 1 roll pop pop pop F}{fMib fMY eq{pop 1.0 exch sub 3 1 roll pop pop F}{fMib fMM eq{pop pop 1.0 exch sub exch pop F}{fMib fMC eq{pop pop pop 1.0 exch sub F}{pop pop pop pop 1 T}ifelse}ifelse}ifelse}ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE /sethsbcolor{FrameMacDict begin fm_h currentrgbcolor setrgbcolor end}fmPE /currentcmykcolor where{pop}{/currentcmykcolor{FrameMacDict begin currentrgbcolor/fmRY fmGG exec end}fmPE}ifelse/setcmykcolor{FrameMacDict begin fMib fMK eq{1.0 exch sub 4 1 roll pop pop pop dup 1.0 ge}{fMib fMY eq{pop 1.0 exch sub 3 1 roll pop pop dup 1.0 ge}{fMib fMM eq{pop pop 1.0 exch sub exch pop dup 1.0 ge}{fMib fMC eq{pop pop pop 1.0 exch sub dup 1.0 ge}{pop pop pop pop 1 T}ifelse}ifelse}ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE/setcmykoverprint{ FrameMacDict begin 4 copy[5 1 roll]fmLC{fMib fMS eq{0 fmax fMJK eq exch 0 fmax fMJY eq and exch 0 fmax fMJM eq and exch 0 fmax fMJC eq and{0 F}{1 T}ifelse}{ pop pop pop pop 1 T}ifelse}{fMib fMK eq{1.0 exch sub 4 1 roll pop pop pop dup 1 fmin exch 1 gt}{fMib fMY eq{pop 1.0 exch sub 3 1 roll pop pop dup 1 fmin exch 1 gt}{fMib fMM eq{pop pop 1.0 exch sub exch pop dup 1 fmin exch 1 gt}{fMib fMC eq {pop pop pop 1.0 exch sub dup 1 fmin exch 1 gt}{pop pop pop pop 1 T}ifelse} ifelse}ifelse}ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE/setcmykcoloroverprint{ setcmykoverprint}fmPE/setcmybcolor{setcmykcolor}fmPE/FrameEr where{pop}{ userdict/FrameEr(\000)put}ifelse/fMSJ 100 string def/fmXC{FmE countdictstack userdict begin/showpage{}def/FrameDictStackDepth exch def count/FrameStackDepth exch def userdict/EndFrame5NestedPS dup FrameMacDict exch get put userdict /FrameSuccessfull false put FrameMacDict/fMHq get/$brkpage where dup{exch pop} if or{userdict/FrameEndPictStopped false put}{userdict/FrameEndPictStopped true put currentfile cvx stopped pop FrameSuccessfull not{systemdict/clear get exec userdict/FrameEr get 0 1 put FrameMacDict begin FmG systemdict/initmatrix get exec 0 systemdict/setgray get exec clippath{pathbbox}stopped{100 100 512 692}if exch pop add 2. div newpath moveto(Courier-BoldOblique)findfont 18 scalefont setfont FrameEr1 fm_s( \()fm_s $error begin errorname 20 string cvs fm_s(, ) fm_s/command load 128 string cvs fm_s end(\))fm_s FrameEr2 print flush FrameMacDict/fMSJ get{dup currentfile exch{readline}stopped{pop exch pop T}if not{exit}if(EndFrame5NestedPS)eq{exit}if}loop grestore end}if userdict /FrameSuccessfull false put userdict/FrameEndPictStopped false put FrameMacDict /fmIR get exec}ifelse}fmBi def/FmEp{save userdict/fM7 3 -1 roll put exch fMeb fMCP eq fMib fMCP ne and and{fMEd{userdict 3 1 roll put}forall}if FmOP[/fMef /fMet/fMeh/fMew/fMey/fMex/fMei/fMej/fMek/fMel]{fmXD}forall fMex fMey translate fMet rotate fMew fMeh scale fMef{-1 1 scale}if 1 fMej fMel sub div 1 fMek fMei sub div scale fMej fMel add 2 div neg fMei fMek add 2 div neg translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit[]0 setdash newpath fML1 not{F setstrokeadjust}if fmXC}FmBD/FmPI{0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit[]0 setdash newpath newpath 0 0 moveto}FmBD/FmPc{save userdict/fM7 3 -1 roll put newpath 3 index neg 3 index neg translate 1 -1 scale 0.0 0.0 moveto fmXC}FmBD/fmIR{end countdictstack FrameDictStackDepth sub dup 0 gt{{end}repeat}{pop}ifelse count FrameStackDepth sub dup 0 gt{{pop}repeat}{pop}ifelse fM7 restore FrameMacDict begin}fmBi def /EndFrame5NestedPS{userdict/FrameEndPictStopped get{userdict/FrameSuccessfull true put stop}{FrameMacDict/fmIR get exec}ifelse}fmBi def/alphaimage where{pop} {userdict/alphaimage{1 ne{limitcheck}if not{limitcheck}if pop image}put}ifelse /fmDE{systemdict/initgraphics get exec clippath{pathbbox}stopped{100 100 512 692}if exch pop add 2. div newpath moveto(Courier-BoldOblique)findfont 18 scalefont setfont currentpoint 2 copy FrameEr3 fm_s 20 sub 2 copy moveto FrameEr4 fm_s 20 sub 2 copy moveto(\()fm_s statusdict/jobname get fm_s(\))fm_s 20 sub moveto FrameEr5 fm_s showpage}FmBD/cd where{dup/cd get/fmRC fmXD/cd{ FrameMacDict begin FrameEr 0 get 0 ne{fmDE}if/fmRC load end exec}fmBi put}{ /endp where{dup/endp get/fMRE fmXD/endp{FrameMacDict dup dup/FmU4 get exch/fMRE get exec/FmU4 exch put FrameEr 0 get 0 ne{FrameMacDict begin currentfile fMSJ{ readline}stopped{pop exch pop true}if pop dup(%%Trailer)eq{pop fmDE}{cvx exec} ifelse end}if}fmBi put}if}ifelse systemdict/setpacking known{fMSP setpacking}if end %%EndProcSet /md where{pop countdictstack array dictstack true exch{md eq{pop false exit}if} forall{md begin}if}if %FRMSetup FrameMacDict begin /FrameEr1(PostScript error)def /FrameEr2(A PostScript error occurred. FrameMaker+SGML is attempting recovery.)def /FrameEr3(FrameMaker+SGML has detected one or more)def /FrameEr4(PostScript errors in this document.)def /FrameEr5(Please check your output.)def /FrameFillPatternsArray [ 0 0.1 0.3 0.5 0.7 0.9 0.97 1 <0F1E3C78F0E1C387> <0F87C3E1F0783C1E> <8142241818244281> <0102040810204080> <8040201008040201> ] def end %%EndSetup %%Page: 1 1 %%PageProcessColors: Black %%PageCustomColors: %%BeginPageSetup %RBIIncludePageSlotInvocation mTSsetup pmSVsetup initializepage (Matt Bishop; page: 1 of 4)setjob %%EndPageSetup gS 0 0 552 730 rC 0 0 :M FrMacBegin 0 FmP F FmOP 0 FmSP FmE 42 14 468 14 rC 0 0 :M FrMacBegin 42 15 468 12 FmKp B 0 FmP F FmOP 42 16 FmB 468 0 FmL 2 1 FmSo 42 19 FmB 468 0 FmL 2 1 FmSo FmE gR gS 0 0 552 730 rC 0 0 :M f148 sf ( )S 2 0 :M FrMacBegin B 0 FmP F FmOP 42 11.667 M (Outline for February 15, 2001)S 65.711 N (ECS 251 \320 Winter 2001)S 159.015 N (Page )S (1)S 159.778 725 M (Last modified at )S (3:14 pm on Thursday, February 15, 2001)S FmE 3 0 :M f175 sf ( )S 7 0 :M FrMacBegin B 0 FmP F FmOP 161.215 53 M (Outline f)S -0.453 N (or F)S -0.453 N (ebruary 15, 2001)S FmE 7 0 :M f148 sf ( )S 9 0 :M FrMacBegin B 0 FmP F FmOP 42 83.667 M (1.)S 10.5 N (Greetings and felicitations!)S 60 95.667 M (a.)S 11.062 N (T)S -0.452 N (uesday)S -0.652 N (, Feb 20 3-4:30: Friday Feb 23 1:10-2:30; go to 1101 Hart Hall to vie)S -0.251 N (w)S 42 107.667 M (2.)S 10.5 N (Application: clock synchronization in the f)S -0.1 N (ace of f)S -0.1 N (aults)S 60 119.667 M (a.)S 11.062 N (interacti)S -0.251 N (v)S -0.151 N (e con)S -0.4 N (v)S -0.151 N (er)S -0.181 N (gence algorithm)S 60 131.667 M (b)S -0.4 N (.)S 10.9 N (interacti)S -0.251 N (v)S -0.151 N (e consistenc)S -0.151 N (y algorithm)S 42 143.667 M (3.)S 10.5 N (Example of time protocol: NTP)S 42 155.667 M (4.)S 10.5 N (Distrib)S -0.2 N (uted File Systems)S 60 167.667 M (a.)S 11.062 N (Goals: netw)S -0.1 N (ork transparenc)S -0.151 N (y)S -0.652 N (, high a)S -0.2 N (v)S -0.251 N (ailability)S 60 179.667 M (b)S -0.4 N (.)S 10.9 N (Architecture: \337)S (at \(all serv)S -0.151 N (ers\); ha)S -0.2 N (v)S -0.151 N (e speci\336)S (c \336)S (le serv)S -0.151 N (ers and clients)S 60 191.667 M (c.)S 11.062 N (Critical services: name serv)S -0.151 N (er \(resolv)S -0.151 N (es \336)S (le names\), cache manager \(speeds accessses up\))S 42 203.667 M (5.)S 10.5 N (Building Blocks)S 60 215.666 M (a.)S 11.062 N (Mounting: binds dif)S -0.251 N (fering name spaces to a single global vie)S -0.251 N (w of the name space)S 42 227.666 M (6.)S 10.5 N (Mounting)S 60 239.666 M (a.)S 11.062 N (Put the name space at a point in the \336)S (le tree, as a directory \(mount point\))S 60 251.666 M (b)S -0.4 N (.)S 10.9 N (Mount table maps mount points to remote \336)S (le serv)S -0.151 N (ers)S 60 263.666 M (c.)S 11.062 N (Maintain mount info at client: each client mounts \336)S (le systems indi)S -0.251 N (vidually; updates in client \(NFS\))S 60 275.666 M (d.)S 10.5 N (Maintain mount info at serv)S -0.151 N (er: e)S -0.251 N (v)S -0.151 N (ery client sees identical name space; updates at serv)S -0.151 N (er only \(Sprite\))S 42 287.666 M (7.)S 10.5 N (Caching)S 60 299.666 M (a.)S 11.062 N (Reduces delays in \336)S (le accesses)S 60 311.666 M (b)S -0.4 N (.)S 10.9 N (Cop)S -0.1 N (y data to local client ; e)S -0.151 N (xploits temporal locality)S 42 323.666 M (8.)S 10.5 N (Hints)S 60 335.666 M (a.)S 11.062 N (Lik)S -0.1 N (e caching, b)S -0.2 N (ut re)S -0.151 N (g)S -0.051 N (ard data as not reliable)S 60 347.666 M (b)S -0.4 N (.)S 10.9 N (Example: store name resolution data, and w)S -0.1 N (ork from closest back; in)S -0.4 N (v)S -0.251 N (alidate cache entries on f)S -0.1 N (ailure)S 42 359.666 M (9.)S 10.5 N (Encryption)S 60 371.666 M (a.)S 11.062 N (Use Needham-Schroeder \(describe generic protocol\))S 42 383.666 M (10.)S 5.5 N (Naming)S 60 395.666 M (a.)S 11.062 N (Name resolution: map name to address or object \(or multiple oblects\))S 60 407.666 M (b)S -0.4 N (.)S 10.9 N (Name space: collection of names; need not share name resolution)S 60 419.666 M (c.)S 11.062 N (Approach 1: names identify host: /net/olympus/home/bishop; unique, location dependent \(NFS\))S 60 431.666 M (d.)S 10.5 N (Approach 2: mount remote directories locally: need to kno)S -0.251 N (w host system for mount, b)S -0.2 N (ut then it\325)S -0.552 N (s location )S 78 443.666 M (transparent \(NFS\))S 60 455.666 M (e.)S 11.062 N -0.223(Approach 3: single global directory resolving all name references \(Sprite, )W -0.552 N -0.223(Apollo\); unique, location transpar)W -0.2 N (-)S 78 467.666 M (ent, b)S -0.2 N (ut typically limited to single or)S -0.181 N (g)S -0.051 N (anizational units)S 60 479.666 M (f.)S 12.172 N (Conte)S -0.151 N (xts)S 78 491.666 M (i.)S 12.722 N (P)S -0.151 N (artition of name space; conte)S -0.151 N (xt identi\336)S (es the name resoultion mechanism to use)S 78 503.666 M (ii.)S 9.943 N (Example: )S -0.181 N (T)S -0.352 N (ilde partitions name space into directory trees based upon project; conte)S -0.151 N (xt is the set of tilde )S 96 515.666 M (trees that a process has in its en)S -0.4 N (vironment)S 60 527.666 M (g.)S 10.5 N (Name serv)S -0.151 N (ers)S 42 539.666 M (11.)S 5.5 N (Writing Polic)S -0.151 N (y)S 60 551.666 M (a.)S 11.062 N (Write-through: client writes to \336)S (le, serv)S -0.151 N (er immediately updates \336)S (le written)S 60 563.666 M (b)S -0.4 N (.)S 10.9 N (Delayed write at serv)S -0.151 N (er: client writes to \336)S (le, serv)S -0.151 N (er may hold before updating \336)S (le; idea is that data may not )S 78 575.666 M (need to be written at all because client may delete it; problem is crashes loose that data )S 60 587.666 M (c.)S 11.062 N (Delayed write at client: writes sit at client until \336)S (le is closed, then are \337)S (ushed to serv)S -0.151 N (er)S -0.552 N (. Idea is that \336)S (les are )S 78 599.666 M (open for a v)S -0.151 N (ery short time, so this cuts b)S -0.2 N (urden on serv)S -0.151 N (ers)S 42 611.666 M (12.)S 5.5 N (Cache consistenc)S -0.151 N (y)S 60 623.666 M (a.)S 11.062 N (serv)S -0.151 N (er)S -0.2 N (-initiated: serv)S -0.151 N (ers inform cache managers when data no longer v)S -0.251 N (alid)S 60 635.666 M (b)S -0.4 N (.)S 10.9 N (client-initiated: client cache managers check v)S -0.251 N (alidity of data before returning it to callers)S 60 647.666 M (c.)S 11.062 N (disallo)S -0.251 N (w caching when concurrent-write sharing: \336)S (le open at multiple clients, and at least one for writing )S 78 659.666 M (\(either serv)S -0.151 N (er tracks who has \336)S (le open and ho)S -0.251 N (w)S -0.652 N (, or lock it\))S 60 671.666 M (d.)S 10.5 N -0.142(problem: sequential-write sharing: recently updated \336)W -0.142(le \(by one client\) is opened for writing by a second cli-)W 78 683.666 M -0.12(ent. Second may ha)W -0.2 N (v)S -0.151 N -0.12(e outdated blocks in cache \(cache timestamps, and compare with real timestamps\); \336)W -0.12(rst )W FmE endp showpage %%PageTrailer %%Page: 2 2 %%PageProcessColors: Black %%PageCustomColors: %%BeginPageSetup %RBIIncludePageSlotInvocation mTSsetup pmSVsetup initializepage (Matt Bishop; page: 2 of 4)setjob %%EndPageSetup gS 0 0 552 730 rC 10 0 :M FrMacBegin 0 FmP F FmOP 0 FmSP FmE 42 14 468 14 rC 10 0 :M FrMacBegin 42 15 468 12 FmKp B 0 FmP F FmOP 42 16 FmB 468 0 FmL 2 1 FmSo 42 19 FmB 468 0 FmL 2 1 FmSo FmE gR gS 0 0 552 730 rC 10 0 :M f148 sf ( )S 12 0 :M FrMacBegin B 0 FmP F FmOP 42 11.667 M (Outline for February 15, 2001)S 65.711 N (ECS 251 \320 Winter 2001)S 159.015 N (Page )S (2)S 159.778 725 M (Last modified at )S (3:14 pm on Thursday, February 15, 2001)S 78 47.667 M (client may not ha)S -0.2 N (v)S -0.151 N (e \337)S (ushed cached changes yet \(serv)S -0.151 N (er requires clients to \337)S (ush cache when another client )S 78 59.667 M (opens \336)S (le\))S FmE endp showpage %%PageTrailer %%Page: 3 3 %%PageProcessColors: Black %%PageCustomColors: %%BeginPageSetup %RBIIncludePageSlotInvocation mTSsetup pmSVsetup initializepage (Matt Bishop; page: 3 of 4)setjob %%EndPageSetup gS 0 0 552 730 rC 13 0 :M FrMacBegin 0 FmP F FmOP 0 FmSP FmE 42 14 468 14 rC 13 0 :M FrMacBegin 42 15 468 12 FmKp B 0 FmP F FmOP 42 16 FmB 468 0 FmL 2 1 FmSo 42 19 FmB 468 0 FmL 2 1 FmSo FmE gR gS 0 0 552 730 rC 13 0 :M f148 sf ( )S 15 0 :M FrMacBegin B 0 FmP F FmOP 42 11.667 M (Fault-Tolerant Clock Synchronization)S 33.775 N (ECS 251 \320 Winter 2001)S 159.015 N (Page )S (3)S 159.778 725 M (Last modified at )S (3:14 pm on Thursday, February 15, 2001)S FmE 16 0 :M f175 sf ( )S 20 0 :M FrMacBegin B 0 FmP F FmOP 130.216 53 M (F)S -0.453 N (ault-T)S -1.657 N (olerant Clock Synchr)S -0.325 N (onization)S FmE 20 0 :M f188 sf ( )S 23 0 :M FrMacBegin B 0 FmP F FmOP 42 85 M (Intr)S -0.217 N (oduction)S FmE 23 0 :M f148 sf ( )S 25 0 :M FrMacBegin B 0 FmP F FmOP 42 102.667 M (The goal is to synchronize the time of clocks on dif)S -0.251 N (ferent systems. )S -0.181 N (The protocol includes both f)S -0.1 N (aulty and non-f)S -0.1 N (aulty )S 42 114.667 M (clocks. )S -0.181 N (The assumptions are that initially all clocks are synchronized to within some small v)S -0.251 N (alue )S FmE 26 0 :M f222 sf ( )S 28 0 :M FrMacBegin B 0 FmP F FmOP 429.219 114.667 M (d)S FmE 28 0 :M f148 sf ( )S 30 0 :M FrMacBegin B 0 FmP F FmOP 434.161 114.667 M (, that non-f)S -0.1 N (aulty )S 42 126.667 M -0.298(clocks run at the correct rate \(that is, one tick per second\), and a nonf)W -0.1 N -0.298(aulty process can read a non-f)W -0.1 N -0.298(aulty clock with an )W 42 138.667 M (error of at most )S FmE 31 0 :M f222 sf ( )S 33 0 :M FrMacBegin B 0 FmP F FmOP 106.412 138.667 M (e)S FmE 33 0 :M f148 sf ( )S 35 0 :M FrMacBegin B 0 FmP F FmOP 110.801 138.667 M (. In what follo)S -0.251 N (ws, we shall assume )S FmE 36 0 :M f222 sf ( )S 38 0 :M FrMacBegin B 0 FmP F FmOP 250.782 138.667 M (e)S FmE 38 0 :M f148 sf ( )S 40 0 :M FrMacBegin B 0 FmP F FmOP 255.171 138.667 M ( = 0.)S FmE 41 0 :M f188 sf ( )S 44 0 :M FrMacBegin B 0 FmP F FmOP 42 164 M (Notation)S FmE 44 0 :M f148 sf ( )S 46 0 :M FrMacBegin B 0 FmP F FmOP 42 181.667 M (\245)S FmE 46 0 :M f250 sf ( )S 48 0 :M FrMacBegin B 0 FmP F FmOP 60 181.667 M (n)S FmE 49 0 :M f148 sf ( )S 51 0 :M FrMacBegin B 0 FmP F FmOP 65 181.667 M ( processes)S 42 196.667 M (\245)S FmE 51 0 :M f250 sf ( )S 53 0 :M FrMacBegin B 0 FmP F FmOP 60 196.667 M (p)S FmE 54 0 :M f263 sf ( )S 56 0 :M FrMacBegin B 0 FmP F FmOP 65 199.167 M (i)S FmE 56 0 :M f148 sf ( )S 58 0 :M FrMacBegin B 0 FmP F FmOP 67.223 196.667 M ( process)S FmE 58 0 :M f188 sf ( )S 61 0 :M FrMacBegin B 0 FmP F FmOP 42 223.833 M (Interacti)S -0.12 N (v)S -0.12 N (e Con)S -0.48 N (v)S -0.12 N (er)S -0.12 N (gence Pr)S -0.217 N (otocol)S FmE 61 0 :M f148 sf ( )S 63 0 :M FrMacBegin B 0 FmP F FmOP 42 241.5 M -0.039(This assumes that no tw)W -0.1 N -0.039(o non-f)W -0.1 N -0.039(aulty clocks dif)W -0.251 N -0.039(fer by more than )W FmE 64 0 :M f222 sf ( )S 66 0 :M FrMacBegin B 0 FmP F FmOP 296.865 241.5 M (d)S FmE 66 0 :M f148 sf ( )S 68 0 :M FrMacBegin B 0 FmP F FmOP 301.807 241.5 M -0.039(. )W -0.552 N -0.039(All processes e)W -0.151 N (x)S -0.151 N -0.039(ecute this protocol simultaneously)W -0.652 N (.)S 42 256.5 M (1.)S FmE 69 0 :M f250 sf ( )S 71 0 :M FrMacBegin B 0 FmP F FmOP 60 256.5 M (p)S FmE 71 0 :M f263 sf ( )S 73 0 :M FrMacBegin B 0 FmP F FmOP 65 259 M (i)S FmE 73 0 :M f148 sf ( )S 75 0 :M FrMacBegin B 0 FmP F FmOP 67.223 256.5 M -0.199( obtains the v)W -0.251 N -0.199(alue of the other processes\325)W -0.742 N -0.199( clocks \(for e)W -0.151 N -0.199(xample, by using the OM\()W FmE 76 0 :M f250 sf ( )S 78 0 :M FrMacBegin B 0 FmP F FmOP 383.994 256.5 M (m)S FmE 78 0 :M f148 sf ( )S 80 0 :M FrMacBegin B 0 FmP F FmOP 391.213 256.5 M -0.199(\) protocol\). Call these v)W -0.251 N -0.199(alues )W FmE 81 0 :M f250 sf ( )S 83 0 :M FrMacBegin B 0 FmP F FmOP 60 270.333 M (v)S FmE 83 0 :M f276 sf ( )S 85 0 :M FrMacBegin B 0 FmP F FmOP 64.438 272.833 M (1)S FmE 85 0 :M f148 sf ( )S 87 0 :M FrMacBegin B 0 FmP F FmOP 68.438 270.333 M (, \311, )S FmE 88 0 :M f250 sf ( )S 90 0 :M FrMacBegin B 0 FmP F FmOP 88.438 270.333 M (v)S FmE 90 0 :M f263 sf ( )S 92 0 :M FrMacBegin B 0 FmP F FmOP 92.877 272.833 M (n)S FmE 92 0 :M f148 sf ( )S 94 0 :M FrMacBegin B 0 FmP F FmOP 96.877 270.333 M (.)S 42 284.166 M (2.)S 10.5 N (F)S -0.151 N (or all )S FmE 95 0 :M f250 sf ( )S 97 0 :M FrMacBegin B 0 FmP F FmOP 88.73 284.166 M (j)S FmE 97 0 :M f148 sf ( )S 99 0 :M FrMacBegin B 0 FmP F FmOP 91.509 284.166 M ( < )S FmE 100 0 :M f250 sf ( )S 102 0 :M FrMacBegin B 0 FmP F FmOP 102.148 284.166 M (n)S FmE 102 0 :M f148 sf ( )S 104 0 :M FrMacBegin B 0 FmP F FmOP 107.148 284.166 M (, if |)S FmE 105 0 :M f250 sf ( )S 107 0 :M FrMacBegin B 0 FmP F FmOP 122.754 284.166 M (v)S FmE 107 0 :M f263 sf ( )S 109 0 :M FrMacBegin B 0 FmP F FmOP 127.192 286.666 M (j)S FmE 109 0 :M f148 sf ( )S 111 0 :M FrMacBegin B 0 FmP F FmOP 129.415 284.166 M ( \320 )S FmE 112 0 :M f250 sf ( )S 114 0 :M FrMacBegin B 0 FmP F FmOP 139.415 284.166 M (v)S FmE 114 0 :M f263 sf ( )S 116 0 :M FrMacBegin B 0 FmP F FmOP 143.854 286.666 M (i)S FmE 116 0 :M f148 sf ( )S 118 0 :M FrMacBegin B 0 FmP F FmOP 146.076 284.166 M (| > d, set )S FmE 119 0 :M f250 sf ( )S 121 0 :M FrMacBegin B 0 FmP F FmOP 182.321 284.166 M (v)S FmE 121 0 :M f263 sf ( )S 123 0 :M FrMacBegin B 0 FmP F FmOP 186.76 286.666 M (j)S FmE 123 0 :M f148 sf ( )S 125 0 :M FrMacBegin B 0 FmP F FmOP 188.982 284.166 M (\325)S -0.742 N ( = )S FmE 126 0 :M f250 sf ( )S 128 0 :M FrMacBegin B 0 FmP F FmOP 202.208 284.166 M (v)S FmE 128 0 :M f263 sf ( )S 130 0 :M FrMacBegin B 0 FmP F FmOP 206.646 286.666 M (i)S FmE 130 0 :M f148 sf ( )S 132 0 :M FrMacBegin B 0 FmP F FmOP 208.869 284.166 M (. Otherwise, )S FmE 133 0 :M f250 sf ( )S 135 0 :M FrMacBegin B 0 FmP F FmOP 259.958 284.166 M (v)S FmE 135 0 :M f263 sf ( )S 137 0 :M FrMacBegin B 0 FmP F FmOP 264.396 286.666 M (j)S FmE 137 0 :M f148 sf ( )S 139 0 :M FrMacBegin B 0 FmP F FmOP 266.619 284.166 M (\325)S -0.742 N ( = )S FmE 140 0 :M f250 sf ( )S 142 0 :M FrMacBegin B 0 FmP F FmOP 279.844 284.166 M (v)S FmE 142 0 :M f263 sf ( )S 144 0 :M FrMacBegin B 0 FmP F FmOP 284.282 286.666 M (j)S FmE 144 0 :M f148 sf ( )S 146 0 :M FrMacBegin B 0 FmP F FmOP 286.505 284.166 M (.)S 42 298 M (3.)S 10.5 N (Set )S FmE 147 0 :M f250 sf ( )S 149 0 :M FrMacBegin B 0 FmP F FmOP 75.276 298 M (p)S FmE 149 0 :M f263 sf ( )S 151 0 :M FrMacBegin B 0 FmP F FmOP 80.276 300.5 M (i)S FmE 151 0 :M f148 sf ( )S 153 0 :M FrMacBegin B 0 FmP F FmOP 82.499 298 M (\325)S -0.552 N (s clock to \()S FmE 154 0 :M f222 sf ( )S 156 0 :M FrMacBegin B 0 FmP F FmOP 129.425 298 M (\345)S FmE 156 0 :M f263 sf ( )S 158 0 :M FrMacBegin B 0 FmP F FmOP 136.554 300.5 M (j)S FmE 158 0 :M f148 sf ( )S 160 0 :M FrMacBegin B 0 FmP F FmOP 138.776 298 M ( )S FmE 161 0 :M f250 sf ( )S 163 0 :M FrMacBegin B 0 FmP F FmOP 141.276 298 M (v)S FmE 163 0 :M f263 sf ( )S 165 0 :M FrMacBegin B 0 FmP F FmOP 145.715 300.5 M (j)S FmE 165 0 :M f148 sf ( )S 167 0 :M FrMacBegin B 0 FmP F FmOP 147.938 298 M (\325\)/)S FmE 168 0 :M f250 sf ( )S 170 0 :M FrMacBegin B 0 FmP F FmOP 157.371 298 M (n)S FmE 170 0 :M f148 sf ( )S 172 0 :M FrMacBegin B 0 FmP F FmOP 162.371 298 M (.)S FmE 173 0 :M f188 sf ( )S 176 0 :M FrMacBegin B 0 FmP F FmOP 42 325.166 M (Example)S FmE 176 0 :M f148 sf ( )S 178 0 :M FrMacBegin B 0 FmP F FmOP 42 342.833 M (Suppose )S FmE 178 0 :M f250 sf ( )S 180 0 :M FrMacBegin B 0 FmP F FmOP 78.387 342.833 M (p)S FmE 181 0 :M f276 sf ( )S 183 0 :M FrMacBegin B 0 FmP F FmOP 83.387 345.333 M (0)S FmE 183 0 :M f148 sf ( )S 185 0 :M FrMacBegin B 0 FmP F FmOP 87.387 342.833 M (, )S FmE 185 0 :M f250 sf ( )S 187 0 :M FrMacBegin B 0 FmP F FmOP 92.387 342.833 M (p)S FmE 188 0 :M f276 sf ( )S 190 0 :M FrMacBegin B 0 FmP F FmOP 97.387 345.333 M (1)S FmE 190 0 :M f148 sf ( )S 192 0 :M FrMacBegin B 0 FmP F FmOP 101.387 342.833 M (, )S FmE 192 0 :M f250 sf ( )S 194 0 :M FrMacBegin B 0 FmP F FmOP 106.387 342.833 M (p)S FmE 195 0 :M f276 sf ( )S 197 0 :M FrMacBegin B 0 FmP F FmOP 111.387 345.333 M (2)S FmE 197 0 :M f148 sf ( )S 199 0 :M FrMacBegin B 0 FmP F FmOP 115.387 342.833 M (, and )S FmE 199 0 :M f250 sf ( )S 201 0 :M FrMacBegin B 0 FmP F FmOP 137.325 342.833 M (p)S FmE 202 0 :M f276 sf ( )S 204 0 :M FrMacBegin B 0 FmP F FmOP 142.325 345.333 M (3)S FmE 204 0 :M f148 sf ( )S 206 0 :M FrMacBegin B 0 FmP F FmOP 146.325 342.833 M ( wish to synchronize their clocks. )S -0.181 N (T)S -0.801 N (ak)S -0.1 N (e )S FmE 206 0 :M f222 sf ( )S 208 0 :M FrMacBegin B 0 FmP F FmOP 304.072 342.833 M (d)S FmE 209 0 :M f148 sf ( )S 211 0 :M FrMacBegin B 0 FmP F FmOP 309.013 342.833 M ( = 10, )S FmE 211 0 :M f250 sf ( )S 213 0 :M FrMacBegin B 0 FmP F FmOP 334.653 342.833 M (C)S FmE 214 0 :M f276 sf ( )S 216 0 :M FrMacBegin B 0 FmP F FmOP 341.323 345.333 M (0)S FmE 216 0 :M f148 sf ( )S 218 0 :M FrMacBegin B 0 FmP F FmOP 345.323 342.833 M ( = 2, )S FmE 218 0 :M f250 sf ( )S 220 0 :M FrMacBegin B 0 FmP F FmOP 365.962 342.833 M (C)S FmE 221 0 :M f276 sf ( )S 223 0 :M FrMacBegin B 0 FmP F FmOP 372.632 345.333 M (1)S FmE 223 0 :M f148 sf ( )S 225 0 :M FrMacBegin B 0 FmP F FmOP 376.632 342.833 M ( = 5,)S FmE 225 0 :M f250 sf ( )S 227 0 :M FrMacBegin B 0 FmP F FmOP 394.772 342.833 M (C)S FmE 228 0 :M f276 sf ( )S 230 0 :M FrMacBegin B 0 FmP F FmOP 401.442 345.333 M (2)S FmE 230 0 :M f148 sf ( )S 232 0 :M FrMacBegin B 0 FmP F FmOP 405.442 342.833 M ( = 8, and )S FmE 232 0 :M f250 sf ( )S 234 0 :M FrMacBegin B 0 FmP F FmOP 443.02 342.833 M (C)S FmE 235 0 :M f276 sf ( )S 237 0 :M FrMacBegin B 0 FmP F FmOP 449.69 345.333 M (3)S FmE 237 0 :M f148 sf ( )S 239 0 :M FrMacBegin B 0 FmP F FmOP 453.69 342.833 M ( = 10. )S -0.181 N (Then:)S 42 356.666 M (after this protocol is used, all the clocks are set to \(2 + 5 + 8 + 10\)/4 = 25/4 = 6.)S 42 368.666 M (No)S -0.251 N (w suppose )S FmE 239 0 :M f250 sf ( )S 241 0 :M FrMacBegin B 0 FmP F FmOP 98.404 368.666 M (p)S FmE 242 0 :M f276 sf ( )S 244 0 :M FrMacBegin B 0 FmP F FmOP 103.404 371.166 M (3)S FmE 244 0 :M f148 sf ( )S 246 0 :M FrMacBegin B 0 FmP F FmOP 107.404 368.666 M (\325)S -0.552 N (s clock is f)S -0.1 N (aulty and drifts to )S FmE 246 0 :M f250 sf ( )S 248 0 :M FrMacBegin B 0 FmP F FmOP 226.432 368.666 M (C)S FmE 249 0 :M f276 sf ( )S 251 0 :M FrMacBegin B 0 FmP F FmOP 233.102 371.166 M (3)S FmE 251 0 :M f148 sf ( )S 253 0 :M FrMacBegin B 0 FmP F FmOP 237.102 368.666 M ( = 25. )S -0.181 N (Then:)S 42 382.5 M (\245)S FmE 253 0 :M f250 sf ( )S 255 0 :M FrMacBegin B 0 FmP F FmOP 60 382.5 M (C)S FmE 256 0 :M f276 sf ( )S 258 0 :M FrMacBegin B 0 FmP F FmOP 66.67 385 M (0)S FmE 258 0 :M f148 sf ( )S 260 0 :M FrMacBegin B 0 FmP F FmOP 70.67 382.5 M ( = \(2 + 5 + 8 + 2\)/4 = 17/4 = 4)S 42 396.333 M (\245)S FmE 260 0 :M f250 sf ( )S 262 0 :M FrMacBegin B 0 FmP F FmOP 60 396.333 M (C)S FmE 263 0 :M f276 sf ( )S 265 0 :M FrMacBegin B 0 FmP F FmOP 66.67 398.833 M (1)S FmE 265 0 :M f148 sf ( )S 267 0 :M FrMacBegin B 0 FmP F FmOP 70.67 396.333 M ( = \(2 + 5 + 8 + 5\)/4 = 20/4 = 5)S 42 410.166 M (\245)S FmE 267 0 :M f250 sf ( )S 269 0 :M FrMacBegin B 0 FmP F FmOP 60 410.166 M (C)S FmE 270 0 :M f276 sf ( )S 272 0 :M FrMacBegin B 0 FmP F FmOP 66.67 412.666 M (2)S FmE 272 0 :M f148 sf ( )S 274 0 :M FrMacBegin B 0 FmP F FmOP 70.67 410.166 M ( = \(2 + 5 + 8 + 8\)/4 = 23/4 = 6)S 42 423.999 M (After the ne)S -0.151 N (xt round, assuming )S FmE 274 0 :M f250 sf ( )S 276 0 :M FrMacBegin B 0 FmP F FmOP 168.475 423.999 M (p)S FmE 277 0 :M f276 sf ( )S 279 0 :M FrMacBegin B 0 FmP F FmOP 173.475 426.499 M (3)S FmE 279 0 :M f148 sf ( )S 281 0 :M FrMacBegin B 0 FmP F FmOP 177.475 423.999 M ( reports an)S -0.151 N (y v)S -0.251 N (alue )S FmE 281 0 :M f222 sf ( )S 283 0 :M FrMacBegin B 0 FmP F FmOP 250.927 423.999 M (d)S FmE 284 0 :M f148 sf ( )S 286 0 :M FrMacBegin B 0 FmP F FmOP 255.868 423.999 M ( a)S -0.151 N (w)S -0.1 N (ay from )S FmE 286 0 :M f250 sf ( )S 288 0 :M FrMacBegin B 0 FmP F FmOP 303.646 423.999 M (C)S FmE 289 0 :M f276 sf ( )S 291 0 :M FrMacBegin B 0 FmP F FmOP 310.316 426.499 M (0)S FmE 291 0 :M f148 sf ( )S 293 0 :M FrMacBegin B 0 FmP F FmOP 314.316 423.999 M (, )S FmE 293 0 :M f250 sf ( )S 295 0 :M FrMacBegin B 0 FmP F FmOP 319.316 423.999 M (C)S FmE 296 0 :M f276 sf ( )S 298 0 :M FrMacBegin B 0 FmP F FmOP 325.986 426.499 M (1)S FmE 298 0 :M f148 sf ( )S 300 0 :M FrMacBegin B 0 FmP F FmOP 329.986 423.999 M (, and )S FmE 300 0 :M f250 sf ( )S 302 0 :M FrMacBegin B 0 FmP F FmOP 351.925 423.999 M (C)S FmE 303 0 :M f276 sf ( )S 305 0 :M FrMacBegin B 0 FmP F FmOP 358.595 426.499 M (2)S FmE 305 0 :M f148 sf ( )S 307 0 :M FrMacBegin B 0 FmP F FmOP 362.595 423.999 M (:)S 42 437.833 M (\245)S FmE 307 0 :M f250 sf ( )S 309 0 :M FrMacBegin B 0 FmP F FmOP 60 437.833 M (C)S FmE 310 0 :M f276 sf ( )S 312 0 :M FrMacBegin B 0 FmP F FmOP 66.67 440.333 M (0)S FmE 312 0 :M f148 sf ( )S 314 0 :M FrMacBegin B 0 FmP F FmOP 70.67 437.833 M ( = \(4 + 5 + 6 + 4\)/4 = 19/4 = 5)S 42 451.666 M (\245)S FmE 314 0 :M f250 sf ( )S 316 0 :M FrMacBegin B 0 FmP F FmOP 60 451.666 M (C)S FmE 317 0 :M f276 sf ( )S 319 0 :M FrMacBegin B 0 FmP F FmOP 66.67 454.166 M (1)S FmE 319 0 :M f148 sf ( )S 321 0 :M FrMacBegin B 0 FmP F FmOP 70.67 451.666 M ( = \(4 + 5 + 6 + 5\)/4 = 20/4 = 5)S 42 465.499 M (\245)S FmE 321 0 :M f250 sf ( )S 323 0 :M FrMacBegin B 0 FmP F FmOP 60 465.499 M (C)S FmE 324 0 :M f276 sf ( )S 326 0 :M FrMacBegin B 0 FmP F FmOP 66.67 467.999 M (2)S FmE 326 0 :M f148 sf ( )S 328 0 :M FrMacBegin B 0 FmP F FmOP 70.67 465.499 M ( = \(4 + 5 + 6 + 6\)/4 = 21/4 = 5)S 42 479.333 M (No)S -0.251 N -0.264(w assume )W FmE 328 0 :M f250 sf ( )S 330 0 :M FrMacBegin B 0 FmP F FmOP 95.092 479.333 M (C)S FmE 331 0 :M f276 sf ( )S 333 0 :M FrMacBegin B 0 FmP F FmOP 101.762 481.833 M (3)S FmE 333 0 :M f148 sf ( )S 335 0 :M FrMacBegin B 0 FmP F FmOP 105.762 479.333 M -0.264( is a tw)W -0.1 N (o-f)S -0.1 N -0.264(aced clock. )W -0.181 N -0.264(The danger is that )W FmE 335 0 :M f250 sf ( )S 337 0 :M FrMacBegin B 0 FmP F FmOP 265.147 479.333 M (p)S FmE 338 0 :M f276 sf ( )S 340 0 :M FrMacBegin B 0 FmP F FmOP 270.147 481.833 M (3)S FmE 340 0 :M f148 sf ( )S 342 0 :M FrMacBegin B 0 FmP F FmOP 274.147 479.333 M -0.264( will report a v)W -0.251 N -0.264(alue within )W FmE 342 0 :M f222 sf ( )S 344 0 :M FrMacBegin B 0 FmP F FmOP 378.384 479.333 M (d)S FmE 345 0 :M f148 sf ( )S 347 0 :M FrMacBegin B 0 FmP F FmOP 383.326 479.333 M -0.264( of )W FmE 347 0 :M f250 sf ( )S 349 0 :M FrMacBegin B 0 FmP F FmOP 396.125 479.333 M (C)S FmE 350 0 :M f276 sf ( )S 352 0 :M FrMacBegin B 0 FmP F FmOP 402.795 481.833 M (1)S FmE 352 0 :M f148 sf ( )S 354 0 :M FrMacBegin B 0 FmP F FmOP 406.795 479.333 M -0.264( to )W FmE 354 0 :M f250 sf ( )S 356 0 :M FrMacBegin B 0 FmP F FmOP 419.045 479.333 M (p)S FmE 357 0 :M f276 sf ( )S 359 0 :M FrMacBegin B 0 FmP F FmOP 424.045 481.833 M (1)S FmE 359 0 :M f148 sf ( )S 361 0 :M FrMacBegin B 0 FmP F FmOP 428.045 479.333 M -0.264(, and not within )W FmE 361 0 :M f222 sf ( )S 363 0 :M FrMacBegin B 0 FmP F FmOP 492.259 479.333 M (d)S FmE 364 0 :M f148 sf ( )S 366 0 :M FrMacBegin B 0 FmP F FmOP 497.201 479.333 M -0.264( of )W FmE 366 0 :M f250 sf ( )S 368 0 :M FrMacBegin B 0 FmP F FmOP 42 493.166 M (C)S FmE 369 0 :M f276 sf ( )S 371 0 :M FrMacBegin B 0 FmP F FmOP 48.67 495.666 M (0)S FmE 371 0 :M f148 sf ( )S 373 0 :M FrMacBegin B 0 FmP F FmOP 52.67 493.166 M ( and )S FmE 373 0 :M f250 sf ( )S 375 0 :M FrMacBegin B 0 FmP F FmOP 72.108 493.166 M (C)S FmE 376 0 :M f276 sf ( )S 378 0 :M FrMacBegin B 0 FmP F FmOP 78.778 495.666 M (2)S FmE 378 0 :M f148 sf ( )S 380 0 :M FrMacBegin B 0 FmP F FmOP 82.778 493.166 M (. So, be)S -0.151 N (gin with the same v)S -0.251 N (alues as abo)S -0.151 N (v)S -0.151 N (e, e)S -0.151 N (xcept that )S FmE 380 0 :M f250 sf ( )S 382 0 :M FrMacBegin B 0 FmP F FmOP 299.072 493.166 M (p)S FmE 383 0 :M f276 sf ( )S 385 0 :M FrMacBegin B 0 FmP F FmOP 304.072 495.666 M (3)S FmE 385 0 :M f148 sf ( )S 387 0 :M FrMacBegin B 0 FmP F FmOP 308.072 493.166 M ( reports )S FmE 387 0 :M f250 sf ( )S 389 0 :M FrMacBegin B 0 FmP F FmOP 340.833 493.166 M (C)S FmE 390 0 :M f276 sf ( )S 392 0 :M FrMacBegin B 0 FmP F FmOP 347.503 495.666 M (3)S FmE 392 0 :M f148 sf ( )S 394 0 :M FrMacBegin B 0 FmP F FmOP 351.503 493.166 M ( = 1 to )S FmE 394 0 :M f250 sf ( )S 396 0 :M FrMacBegin B 0 FmP F FmOP 379.921 493.166 M (p)S FmE 397 0 :M f276 sf ( )S 399 0 :M FrMacBegin B 0 FmP F FmOP 384.921 495.666 M (1)S FmE 399 0 :M f148 sf ( )S 401 0 :M FrMacBegin B 0 FmP F FmOP 388.921 493.166 M ( and )S FmE 401 0 :M f250 sf ( )S 403 0 :M FrMacBegin B 0 FmP F FmOP 408.36 493.166 M (C)S FmE 404 0 :M f276 sf ( )S 406 0 :M FrMacBegin B 0 FmP F FmOP 415.03 495.666 M (3)S FmE 406 0 :M f148 sf ( )S 408 0 :M FrMacBegin B 0 FmP F FmOP 419.03 493.166 M ( = 25 to )S FmE 408 0 :M f250 sf ( )S 410 0 :M FrMacBegin B 0 FmP F FmOP 452.448 493.166 M (p)S FmE 411 0 :M f276 sf ( )S 413 0 :M FrMacBegin B 0 FmP F FmOP 457.448 495.666 M (0)S FmE 413 0 :M f148 sf ( )S 415 0 :M FrMacBegin B 0 FmP F FmOP 461.448 493.166 M ( and )S FmE 415 0 :M f250 sf ( )S 417 0 :M FrMacBegin B 0 FmP F FmOP 480.886 493.166 M (p)S FmE 418 0 :M f276 sf ( )S 420 0 :M FrMacBegin B 0 FmP F FmOP 485.886 495.666 M (2)S FmE 420 0 :M f148 sf ( )S 422 0 :M FrMacBegin B 0 FmP F FmOP 489.886 493.166 M (:)S 42 506.999 M (\245)S FmE 422 0 :M f250 sf ( )S 424 0 :M FrMacBegin B 0 FmP F FmOP 60 506.999 M (C)S FmE 425 0 :M f276 sf ( )S 427 0 :M FrMacBegin B 0 FmP F FmOP 66.67 509.499 M (0)S FmE 427 0 :M f148 sf ( )S 429 0 :M FrMacBegin B 0 FmP F FmOP 70.67 506.999 M ( = \(2 + 5 + 8 + 2\)/4 = 17/4 = 4)S 42 520.832 M (\245)S FmE 429 0 :M f250 sf ( )S 431 0 :M FrMacBegin B 0 FmP F FmOP 60 520.832 M (C)S FmE 432 0 :M f276 sf ( )S 434 0 :M FrMacBegin B 0 FmP F FmOP 66.67 523.332 M (1)S FmE 434 0 :M f148 sf ( )S 436 0 :M FrMacBegin B 0 FmP F FmOP 70.67 520.832 M ( = \(2 + 5 + 8 + 1\)/4 = 16/4 = 4)S 42 534.666 M (\245)S FmE 436 0 :M f250 sf ( )S 438 0 :M FrMacBegin B 0 FmP F FmOP 60 534.666 M (C)S FmE 439 0 :M f276 sf ( )S 441 0 :M FrMacBegin B 0 FmP F FmOP 66.67 537.166 M (2)S FmE 441 0 :M f148 sf ( )S 443 0 :M FrMacBegin B 0 FmP F FmOP 70.67 534.666 M ( = \(2 + 5 + 8 + 8\)/4 = 23/4 = 6)S 42 548.499 M (At the ne)S -0.151 N (xt round, )S FmE 443 0 :M f250 sf ( )S 445 0 :M FrMacBegin B 0 FmP F FmOP 117.107 548.499 M (p)S FmE 446 0 :M f276 sf ( )S 448 0 :M FrMacBegin B 0 FmP F FmOP 122.107 550.999 M (3)S FmE 448 0 :M f148 sf ( )S 450 0 :M FrMacBegin B 0 FmP F FmOP 126.107 548.499 M ( reports )S FmE 450 0 :M f250 sf ( )S 452 0 :M FrMacBegin B 0 FmP F FmOP 158.869 548.499 M (C)S FmE 453 0 :M f276 sf ( )S 455 0 :M FrMacBegin B 0 FmP F FmOP 165.539 550.999 M (3)S FmE 455 0 :M f148 sf ( )S 457 0 :M FrMacBegin B 0 FmP F FmOP 169.539 548.499 M ( = 15 to )S FmE 457 0 :M f250 sf ( )S 459 0 :M FrMacBegin B 0 FmP F FmOP 202.957 548.499 M (p)S FmE 460 0 :M f276 sf ( )S 462 0 :M FrMacBegin B 0 FmP F FmOP 207.957 550.999 M (2)S FmE 462 0 :M f148 sf ( )S 464 0 :M FrMacBegin B 0 FmP F FmOP 211.957 548.499 M ( and )S FmE 464 0 :M f250 sf ( )S 466 0 :M FrMacBegin B 0 FmP F FmOP 231.395 548.499 M (C)S FmE 467 0 :M f276 sf ( )S 469 0 :M FrMacBegin B 0 FmP F FmOP 238.065 550.999 M (3)S FmE 469 0 :M f148 sf ( )S 471 0 :M FrMacBegin B 0 FmP F FmOP 242.065 548.499 M ( = 0 to )S FmE 471 0 :M f250 sf ( )S 473 0 :M FrMacBegin B 0 FmP F FmOP 270.483 548.499 M (p)S FmE 474 0 :M f276 sf ( )S 476 0 :M FrMacBegin B 0 FmP F FmOP 275.483 550.999 M (0)S FmE 476 0 :M f148 sf ( )S 478 0 :M FrMacBegin B 0 FmP F FmOP 279.483 548.499 M ( and )S FmE 478 0 :M f250 sf ( )S 480 0 :M FrMacBegin B 0 FmP F FmOP 298.921 548.499 M (p)S FmE 481 0 :M f276 sf ( )S 483 0 :M FrMacBegin B 0 FmP F FmOP 303.921 550.999 M (1)S FmE 483 0 :M f148 sf ( )S 485 0 :M FrMacBegin B 0 FmP F FmOP 307.921 548.499 M (.)S 42 562.332 M (\245)S FmE 485 0 :M f250 sf ( )S 487 0 :M FrMacBegin B 0 FmP F FmOP 60 562.332 M (C)S FmE 488 0 :M f276 sf ( )S 490 0 :M FrMacBegin B 0 FmP F FmOP 66.67 564.832 M (0)S FmE 490 0 :M f148 sf ( )S 492 0 :M FrMacBegin B 0 FmP F FmOP 70.67 562.332 M ( = \(4 + 4 + 6 + 0\)/4 = 14/4 = 4)S 42 576.165 M (\245)S FmE 492 0 :M f250 sf ( )S 494 0 :M FrMacBegin B 0 FmP F FmOP 60 576.165 M (C)S FmE 495 0 :M f276 sf ( )S 497 0 :M FrMacBegin B 0 FmP F FmOP 66.67 578.665 M (1)S FmE 497 0 :M f148 sf ( )S 499 0 :M FrMacBegin B 0 FmP F FmOP 70.67 576.165 M ( = \(4 + 4 + 6 + 0\)/4 = 14/4 = 4)S 42 589.999 M (\245)S FmE 499 0 :M f250 sf ( )S 501 0 :M FrMacBegin B 0 FmP F FmOP 60 589.999 M (C)S FmE 502 0 :M f276 sf ( )S 504 0 :M FrMacBegin B 0 FmP F FmOP 66.67 592.499 M (2)S FmE 504 0 :M f148 sf ( )S 506 0 :M FrMacBegin B 0 FmP F FmOP 70.67 589.999 M ( = \(4 + 4 + 6 + 15\)/4 = 29/4 = 7)S 42 603.832 M (By continuing in this f)S -0.1 N (ashion, )S FmE 506 0 :M f250 sf ( )S 508 0 :M FrMacBegin B 0 FmP F FmOP 163.001 603.832 M (p)S FmE 509 0 :M f276 sf ( )S 511 0 :M FrMacBegin B 0 FmP F FmOP 168.001 606.332 M (3)S FmE 511 0 :M f148 sf ( )S 513 0 :M FrMacBegin B 0 FmP F FmOP 172.001 603.832 M ( can pre)S -0.251 N (v)S -0.151 N (ent the v)S -0.251 N (alue of the clocks of the non-f)S -0.1 N (aulty processors from con)S -0.4 N (v)S -0.151 N (er)S -0.181 N (ging.)S FmE endp showpage %%PageTrailer %%Page: 4 4 %%PageProcessColors: Black %%PageCustomColors: %%BeginPageSetup %RBIIncludePageSlotInvocation mTSsetup pmSVsetup initializepage (Matt Bishop; page: 4 of 4)setjob %%EndPageSetup gS 0 0 552 730 rC 513 0 :M FrMacBegin 0 FmP F FmOP 0 FmSP FmE 42 14 468 14 rC 513 0 :M FrMacBegin 42 15 468 12 FmKp B 0 FmP F FmOP 42 16 FmB 468 0 FmL 2 1 FmSo 42 19 FmB 468 0 FmL 2 1 FmSo FmE gR gS 0 0 552 730 rC 513 0 :M f148 sf ( )S 515 0 :M FrMacBegin B 0 FmP F FmOP 42 11.667 M (Fault-Tolerant Clock Synchronization)S 33.775 N (ECS 251 \320 Winter 2001)S 159.015 N (Page )S (4)S 159.778 725 M (Last modified at )S (3:14 pm on Thursday, February 15, 2001)S FmE 516 0 :M f188 sf ( )S 519 0 :M FrMacBegin B 0 FmP F FmOP 42 49 M (Interacti)S -0.12 N (v)S -0.12 N (e Consistency Pr)S -0.217 N (otocol)S FmE 519 0 :M f148 sf ( )S 521 0 :M FrMacBegin B 0 FmP F FmOP 42 66.667 M -0.039(This assumes that no tw)W -0.1 N -0.039(o non-f)W -0.1 N -0.039(aulty clocks dif)W -0.251 N -0.039(fer by more than )W FmE 521 0 :M f222 sf ( )S 523 0 :M FrMacBegin B 0 FmP F FmOP 296.865 66.667 M (d)S FmE 524 0 :M f148 sf ( )S 526 0 :M FrMacBegin B 0 FmP F FmOP 301.807 66.667 M -0.039(. )W -0.552 N -0.039(All processes e)W -0.151 N (x)S -0.151 N -0.039(ecute this protocol simultaneously)W -0.652 N (.)S 42 81.667 M (1.)S FmE 526 0 :M f250 sf ( )S 528 0 :M FrMacBegin B 0 FmP F FmOP 60 81.667 M (p)S FmE 529 0 :M f263 sf ( )S 531 0 :M FrMacBegin B 0 FmP F FmOP 65 84.167 M (i)S FmE 531 0 :M f148 sf ( )S 533 0 :M FrMacBegin B 0 FmP F FmOP 67.223 81.667 M -0.199( obtains the v)W -0.251 N -0.199(alue of the other processes\325)W -0.742 N -0.199( clocks \(for e)W -0.151 N -0.199(xample, by using the OM\()W FmE 533 0 :M f250 sf ( )S 535 0 :M FrMacBegin B 0 FmP F FmOP 383.994 81.667 M (m)S FmE 536 0 :M f148 sf ( )S 538 0 :M FrMacBegin B 0 FmP F FmOP 391.213 81.667 M -0.199(\) protocol\). Call these v)W -0.251 N -0.199(alues )W FmE 538 0 :M f250 sf ( )S 540 0 :M FrMacBegin B 0 FmP F FmOP 60 95.5 M (v)S FmE 541 0 :M f276 sf ( )S 543 0 :M FrMacBegin B 0 FmP F FmOP 64.438 98 M (1)S FmE 543 0 :M f148 sf ( )S 545 0 :M FrMacBegin B 0 FmP F FmOP 68.438 95.5 M (, \311, )S FmE 545 0 :M f250 sf ( )S 547 0 :M FrMacBegin B 0 FmP F FmOP 88.438 95.5 M (v)S FmE 548 0 :M f263 sf ( )S 550 0 :M FrMacBegin B 0 FmP F FmOP 92.877 98 M (n)S FmE 550 0 :M f148 sf ( )S 552 0 :M FrMacBegin B 0 FmP F FmOP 96.877 95.5 M (.)S 42 109.333 M (2.)S 10.5 N (Set )S FmE 552 0 :M f250 sf ( )S 554 0 :M FrMacBegin B 0 FmP F FmOP 75.276 109.333 M (p)S FmE 555 0 :M f263 sf ( )S 557 0 :M FrMacBegin B 0 FmP F FmOP 80.276 111.833 M (i)S FmE 557 0 :M f148 sf ( )S 559 0 :M FrMacBegin B 0 FmP F FmOP 82.499 109.333 M (\325)S -0.552 N (s clock to the median of )S FmE 559 0 :M f250 sf ( )S 561 0 :M FrMacBegin B 0 FmP F FmOP 183.575 109.333 M (v)S FmE 562 0 :M f276 sf ( )S 564 0 :M FrMacBegin B 0 FmP F FmOP 188.014 111.833 M (1)S FmE 564 0 :M f148 sf ( )S 566 0 :M FrMacBegin B 0 FmP F FmOP 192.014 109.333 M (, \311, )S FmE 566 0 :M f250 sf ( )S 568 0 :M FrMacBegin B 0 FmP F FmOP 212.014 109.333 M (v)S FmE 569 0 :M f263 sf ( )S 571 0 :M FrMacBegin B 0 FmP F FmOP 216.452 111.833 M (n)S FmE 571 0 :M f148 sf ( )S 573 0 :M FrMacBegin B 0 FmP F FmOP 220.452 109.333 M (.)S FmE 573 0 :M f188 sf ( )S 576 0 :M FrMacBegin B 0 FmP F FmOP 42 136.5 M (Example)S FmE 576 0 :M f148 sf ( )S 578 0 :M FrMacBegin B 0 FmP F FmOP 42 154.166 M (Suppose )S FmE 579 0 :M f250 sf ( )S 581 0 :M FrMacBegin B 0 FmP F FmOP 78.387 154.166 M (p)S FmE 581 0 :M f276 sf ( )S 583 0 :M FrMacBegin B 0 FmP F FmOP 83.387 156.666 M (0)S FmE 583 0 :M f148 sf ( )S 585 0 :M FrMacBegin B 0 FmP F FmOP 87.387 154.166 M (, )S FmE 586 0 :M f250 sf ( )S 588 0 :M FrMacBegin B 0 FmP F FmOP 92.387 154.166 M (p)S FmE 588 0 :M f276 sf ( )S 590 0 :M FrMacBegin B 0 FmP F FmOP 97.387 156.666 M (1)S FmE 590 0 :M f148 sf ( )S 592 0 :M FrMacBegin B 0 FmP F FmOP 101.387 154.166 M (, )S FmE 593 0 :M f250 sf ( )S 595 0 :M FrMacBegin B 0 FmP F FmOP 106.387 154.166 M (p)S FmE 595 0 :M f276 sf ( )S 597 0 :M FrMacBegin B 0 FmP F FmOP 111.387 156.666 M (2)S FmE 597 0 :M f148 sf ( )S 599 0 :M FrMacBegin B 0 FmP F FmOP 115.387 154.166 M (, and )S FmE 600 0 :M f250 sf ( )S 602 0 :M FrMacBegin B 0 FmP F FmOP 137.325 154.166 M (p)S FmE 602 0 :M f276 sf ( )S 604 0 :M FrMacBegin B 0 FmP F FmOP 142.325 156.666 M (3)S FmE 604 0 :M f148 sf ( )S 606 0 :M FrMacBegin B 0 FmP F FmOP 146.325 154.166 M ( wish to synchronize their clocks. )S -0.181 N (T)S -0.801 N (ak)S -0.1 N (e )S FmE 607 0 :M f222 sf ( )S 609 0 :M FrMacBegin B 0 FmP F FmOP 304.072 154.166 M (d)S FmE 609 0 :M f148 sf ( )S 611 0 :M FrMacBegin B 0 FmP F FmOP 309.013 154.166 M ( = 10, )S FmE 612 0 :M f250 sf ( )S 614 0 :M FrMacBegin B 0 FmP F FmOP 334.653 154.166 M (C)S FmE 614 0 :M f276 sf ( )S 616 0 :M FrMacBegin B 0 FmP F FmOP 341.323 156.666 M (0)S FmE 616 0 :M f148 sf ( )S 618 0 :M FrMacBegin B 0 FmP F FmOP 345.323 154.166 M ( = 2, )S FmE 619 0 :M f250 sf ( )S 621 0 :M FrMacBegin B 0 FmP F FmOP 365.962 154.166 M (C)S FmE 621 0 :M f276 sf ( )S 623 0 :M FrMacBegin B 0 FmP F FmOP 372.632 156.666 M (1)S FmE 623 0 :M f148 sf ( )S 625 0 :M FrMacBegin B 0 FmP F FmOP 376.632 154.166 M ( = 5,)S FmE 626 0 :M f250 sf ( )S 628 0 :M FrMacBegin B 0 FmP F FmOP 394.772 154.166 M (C)S FmE 628 0 :M f276 sf ( )S 630 0 :M FrMacBegin B 0 FmP F FmOP 401.442 156.666 M (2)S FmE 630 0 :M f148 sf ( )S 632 0 :M FrMacBegin B 0 FmP F FmOP 405.442 154.166 M ( = 8, and )S FmE 633 0 :M f250 sf ( )S 635 0 :M FrMacBegin B 0 FmP F FmOP 443.02 154.166 M (C)S FmE 635 0 :M f276 sf ( )S 637 0 :M FrMacBegin B 0 FmP F FmOP 449.69 156.666 M (3)S FmE 637 0 :M f148 sf ( )S 639 0 :M FrMacBegin B 0 FmP F FmOP 453.69 154.166 M ( = 10. )S -0.181 N (Then:)S 42 168 M (after this protocol is used, all the clocks are set to )S FmE 640 0 :M f250 sf ( )S 642 0 :M FrMacBegin B 0 FmP F FmOP 241.919 168 M (median)S FmE 642 0 :M f148 sf ( )S 644 0 :M FrMacBegin B 0 FmP F FmOP 271.355 168 M (\(2,5, 8, 10\) = \(5 + 8\)/2 = 6.)S 42 180 M (No)S -0.251 N (w suppose )S FmE 645 0 :M f250 sf ( )S 647 0 :M FrMacBegin B 0 FmP F FmOP 98.404 180 M (p)S FmE 647 0 :M f276 sf ( )S 649 0 :M FrMacBegin B 0 FmP F FmOP 103.404 182.5 M (3)S FmE 649 0 :M f148 sf ( )S 651 0 :M FrMacBegin B 0 FmP F FmOP 107.404 180 M (\325)S -0.552 N (s clock is f)S -0.1 N (aulty and drifts to )S FmE 652 0 :M f250 sf ( )S 654 0 :M FrMacBegin B 0 FmP F FmOP 226.432 180 M (C)S FmE 654 0 :M f276 sf ( )S 656 0 :M FrMacBegin B 0 FmP F FmOP 233.102 182.5 M (3)S FmE 656 0 :M f148 sf ( )S 658 0 :M FrMacBegin B 0 FmP F FmOP 237.102 180 M ( = 25. )S -0.181 N (Then:)S 42 193.833 M (\245)S FmE 659 0 :M f250 sf ( )S 661 0 :M FrMacBegin B 0 FmP F FmOP 60 193.833 M (C)S FmE 661 0 :M f276 sf ( )S 663 0 :M FrMacBegin B 0 FmP F FmOP 66.67 196.333 M (0)S FmE 663 0 :M f148 sf ( )S 665 0 :M FrMacBegin B 0 FmP F FmOP 70.67 193.833 M ( = )S FmE 666 0 :M f250 sf ( )S 668 0 :M FrMacBegin B 0 FmP F FmOP 81.31 193.833 M (median)S FmE 668 0 :M f148 sf ( )S 670 0 :M FrMacBegin B 0 FmP F FmOP 110.746 193.833 M (\(2, 5, 8, 25\) = \(5 + 8\)/2 = 6)S 42 207.666 M (\245)S FmE 671 0 :M f250 sf ( )S 673 0 :M FrMacBegin B 0 FmP F FmOP 60 207.666 M (C)S FmE 673 0 :M f276 sf ( )S 675 0 :M FrMacBegin B 0 FmP F FmOP 66.67 210.166 M (1)S FmE 675 0 :M f148 sf ( )S 677 0 :M FrMacBegin B 0 FmP F FmOP 70.67 207.666 M ( = )S FmE 678 0 :M f250 sf ( )S 680 0 :M FrMacBegin B 0 FmP F FmOP 81.31 207.666 M (median)S FmE 680 0 :M f148 sf ( )S 682 0 :M FrMacBegin B 0 FmP F FmOP 110.746 207.666 M (\(2, 5, 8, 25\) = \(5 + 8\)/2 = 6)S 42 221.5 M (\245)S FmE 683 0 :M f250 sf ( )S 685 0 :M FrMacBegin B 0 FmP F FmOP 60 221.5 M (C)S FmE 685 0 :M f276 sf ( )S 687 0 :M FrMacBegin B 0 FmP F FmOP 66.67 224 M (2)S FmE 687 0 :M f148 sf ( )S 689 0 :M FrMacBegin B 0 FmP F FmOP 70.67 221.5 M ( = )S FmE 690 0 :M f250 sf ( )S 692 0 :M FrMacBegin B 0 FmP F FmOP 81.31 221.5 M (median)S FmE 692 0 :M f148 sf ( )S 694 0 :M FrMacBegin B 0 FmP F FmOP 110.746 221.5 M (\(2, 5, 8, 25\) = \(5 + 8\)/2 = 6)S 42 235.333 M (No)S -0.251 N (w assume )S FmE 695 0 :M f250 sf ( )S 697 0 :M FrMacBegin B 0 FmP F FmOP 95.621 235.333 M (C)S FmE 697 0 :M f276 sf ( )S 699 0 :M FrMacBegin B 0 FmP F FmOP 102.291 237.833 M (3)S FmE 699 0 :M f148 sf ( )S 701 0 :M FrMacBegin B 0 FmP F FmOP 106.291 235.333 M ( is a tw)S -0.1 N (o-f)S -0.1 N (aced clock. Be)S -0.151 N (gin with the same v)S -0.251 N (alues as abo)S -0.151 N (v)S -0.151 N (e, e)S -0.151 N (xcept that )S FmE 702 0 :M f250 sf ( )S 704 0 :M FrMacBegin B 0 FmP F FmOP 391.225 235.333 M (p)S FmE 704 0 :M f276 sf ( )S 706 0 :M FrMacBegin B 0 FmP F FmOP 396.225 237.833 M (3)S FmE 706 0 :M f148 sf ( )S 708 0 :M FrMacBegin B 0 FmP F FmOP 400.225 235.333 M ( reports )S FmE 709 0 :M f250 sf ( )S 711 0 :M FrMacBegin B 0 FmP F FmOP 432.986 235.333 M (C)S FmE 711 0 :M f276 sf ( )S 713 0 :M FrMacBegin B 0 FmP F FmOP 439.656 237.833 M (3)S FmE 713 0 :M f148 sf ( )S 715 0 :M FrMacBegin B 0 FmP F FmOP 443.656 235.333 M ( = 1 to )S FmE 716 0 :M f250 sf ( )S 718 0 :M FrMacBegin B 0 FmP F FmOP 472.074 235.333 M (p)S FmE 718 0 :M f276 sf ( )S 720 0 :M FrMacBegin B 0 FmP F FmOP 477.074 237.833 M (1)S FmE 720 0 :M f148 sf ( )S 722 0 :M FrMacBegin B 0 FmP F FmOP 481.074 235.333 M ( and )S FmE 723 0 :M f250 sf ( )S 725 0 :M FrMacBegin B 0 FmP F FmOP 42 249.166 M (C)S FmE 725 0 :M f276 sf ( )S 727 0 :M FrMacBegin B 0 FmP F FmOP 48.67 251.666 M (3)S FmE 727 0 :M f148 sf ( )S 729 0 :M FrMacBegin B 0 FmP F FmOP 52.67 249.166 M ( = 25 to )S FmE 730 0 :M f250 sf ( )S 732 0 :M FrMacBegin B 0 FmP F FmOP 86.088 249.166 M (p)S FmE 732 0 :M f276 sf ( )S 734 0 :M FrMacBegin B 0 FmP F FmOP 91.088 251.666 M (0)S FmE 734 0 :M f148 sf ( )S 736 0 :M FrMacBegin B 0 FmP F FmOP 95.088 249.166 M ( and )S FmE 737 0 :M f250 sf ( )S 739 0 :M FrMacBegin B 0 FmP F FmOP 114.526 249.166 M (p)S FmE 739 0 :M f276 sf ( )S 741 0 :M FrMacBegin B 0 FmP F FmOP 119.526 251.666 M (2)S FmE 741 0 :M f148 sf ( )S 743 0 :M FrMacBegin B 0 FmP F FmOP 123.526 249.166 M (. )S -0.552 N (All apply an agreement protocol:)S FmE 744 0 :M f250 sf ( )S 746 0 :M FrMacBegin B 0 FmP F FmOP 42 262.999 M (p)S FmE 746 0 :M f276 sf ( )S 748 0 :M FrMacBegin B 0 FmP F FmOP 47 265.499 M (3)S FmE 748 0 :M f148 sf ( )S 750 0 :M FrMacBegin B 0 FmP F FmOP 51 262.999 M ( in)S -0.4 N (v)S -0.2 N (ok)S -0.1 N (es OM\(1\))S FmE 751 0 :M f250 sf ( )S 753 0 :M FrMacBegin B 0 FmP F FmOP 78 276.833 M (p)S FmE 753 0 :M f276 sf ( )S 755 0 :M FrMacBegin B 0 FmP F FmOP 83 279.333 M (3)S FmE 755 0 :M f148 sf ( )S 757 0 :M FrMacBegin B 0 FmP F FmOP 87 276.833 M ( sends 1 to p1 and 25 to )S FmE 758 0 :M f250 sf ( )S 760 0 :M FrMacBegin B 0 FmP F FmOP 184.212 276.833 M (p)S FmE 760 0 :M f276 sf ( )S 762 0 :M FrMacBegin B 0 FmP F FmOP 189.212 279.333 M (0)S FmE 762 0 :M f148 sf ( )S 764 0 :M FrMacBegin B 0 FmP F FmOP 193.212 276.833 M ( and )S FmE 765 0 :M f250 sf ( )S 767 0 :M FrMacBegin B 0 FmP F FmOP 212.65 276.833 M (p)S FmE 767 0 :M f276 sf ( )S 769 0 :M FrMacBegin B 0 FmP F FmOP 217.65 279.333 M (2)S FmE 769 0 :M f148 sf ( )S 771 0 :M FrMacBegin B 0 FmP F FmOP 221.65 276.833 M (.)S FmE 772 0 :M f250 sf ( )S 774 0 :M FrMacBegin B 0 FmP F FmOP 78 290.666 M (p)S FmE 774 0 :M f276 sf ( )S 776 0 :M FrMacBegin B 0 FmP F FmOP 83 293.166 M (0)S FmE 776 0 :M f148 sf ( )S 778 0 :M FrMacBegin B 0 FmP F FmOP 87 290.666 M ( recei)S -0.251 N (v)S -0.151 N (es 25 from )S FmE 779 0 :M f250 sf ( )S 781 0 :M FrMacBegin B 0 FmP F FmOP 158.78 290.666 M (p)S FmE 781 0 :M f276 sf ( )S 783 0 :M FrMacBegin B 0 FmP F FmOP 163.78 293.166 M (3)S FmE 783 0 :M f148 sf ( )S 785 0 :M FrMacBegin B 0 FmP F FmOP 167.78 290.666 M ( and in)S -0.4 N (v)S -0.2 N (ok)S -0.1 N (es OM\(0\).)S FmE 786 0 :M f250 sf ( )S 788 0 :M FrMacBegin B 0 FmP F FmOP 114 304.499 M (p)S FmE 788 0 :M f276 sf ( )S 790 0 :M FrMacBegin B 0 FmP F FmOP 119 306.999 M (0)S FmE 790 0 :M f148 sf ( )S 792 0 :M FrMacBegin B 0 FmP F FmOP 123 304.499 M ( sends 25 to )S FmE 793 0 :M f250 sf ( )S 795 0 :M FrMacBegin B 0 FmP F FmOP 172.995 304.499 M (p)S FmE 795 0 :M f276 sf ( )S 797 0 :M FrMacBegin B 0 FmP F FmOP 177.995 306.999 M (1)S FmE 797 0 :M f148 sf ( )S 799 0 :M FrMacBegin B 0 FmP F FmOP 181.995 304.499 M ( and )S FmE 800 0 :M f250 sf ( )S 802 0 :M FrMacBegin B 0 FmP F FmOP 201.434 304.499 M (p)S FmE 802 0 :M f276 sf ( )S 804 0 :M FrMacBegin B 0 FmP F FmOP 206.434 306.999 M (2)S FmE 804 0 :M f148 sf ( )S 806 0 :M FrMacBegin B 0 FmP F FmOP 210.434 304.499 M (.)S FmE 807 0 :M f250 sf ( )S 809 0 :M FrMacBegin B 0 FmP F FmOP 114 318.333 M (p)S FmE 809 0 :M f276 sf ( )S 811 0 :M FrMacBegin B 0 FmP F FmOP 119 320.833 M (1)S FmE 811 0 :M f148 sf ( )S 813 0 :M FrMacBegin B 0 FmP F FmOP 123 318.333 M ( recei)S -0.251 N (v)S -0.151 N (es v)S -0.251 N (alue 25.)S FmE 814 0 :M f250 sf ( )S 816 0 :M FrMacBegin B 0 FmP F FmOP 114 332.166 M (p)S FmE 816 0 :M f276 sf ( )S 818 0 :M FrMacBegin B 0 FmP F FmOP 119 334.666 M (2)S FmE 818 0 :M f148 sf ( )S 820 0 :M FrMacBegin B 0 FmP F FmOP 123 332.166 M ( recei)S -0.251 N (v)S -0.151 N (es v)S -0.251 N (alue 25.)S FmE 821 0 :M f250 sf ( )S 823 0 :M FrMacBegin B 0 FmP F FmOP 78 345.999 M (p)S FmE 823 0 :M f276 sf ( )S 825 0 :M FrMacBegin B 0 FmP F FmOP 83 348.499 M (1)S FmE 825 0 :M f148 sf ( )S 827 0 :M FrMacBegin B 0 FmP F FmOP 87 345.999 M ( recei)S -0.251 N (v)S -0.151 N (es 1 from )S FmE 828 0 :M f250 sf ( )S 830 0 :M FrMacBegin B 0 FmP F FmOP 153.78 345.999 M (p)S FmE 830 0 :M f276 sf ( )S 832 0 :M FrMacBegin B 0 FmP F FmOP 158.78 348.499 M (3)S FmE 832 0 :M f148 sf ( )S 834 0 :M FrMacBegin B 0 FmP F FmOP 162.78 345.999 M ( and in)S -0.4 N (v)S -0.2 N (ok)S -0.1 N (es OM\(0\).)S FmE 835 0 :M f250 sf ( )S 837 0 :M FrMacBegin B 0 FmP F FmOP 114 359.832 M (p)S FmE 837 0 :M f276 sf ( )S 839 0 :M FrMacBegin B 0 FmP F FmOP 119 362.332 M (1)S FmE 839 0 :M f148 sf ( )S 841 0 :M FrMacBegin B 0 FmP F FmOP 123 359.832 M ( sends 1 to )S FmE 842 0 :M f250 sf ( )S 844 0 :M FrMacBegin B 0 FmP F FmOP 167.995 359.832 M (p)S FmE 844 0 :M f276 sf ( )S 846 0 :M FrMacBegin B 0 FmP F FmOP 172.995 362.332 M (0)S FmE 846 0 :M f148 sf ( )S 848 0 :M FrMacBegin B 0 FmP F FmOP 176.995 359.832 M ( and )S FmE 849 0 :M f250 sf ( )S 851 0 :M FrMacBegin B 0 FmP F FmOP 196.434 359.832 M (p)S FmE 851 0 :M f276 sf ( )S 853 0 :M FrMacBegin B 0 FmP F FmOP 201.434 362.332 M (2)S FmE 853 0 :M f148 sf ( )S 855 0 :M FrMacBegin B 0 FmP F FmOP 205.434 359.832 M (.)S FmE 856 0 :M f250 sf ( )S 858 0 :M FrMacBegin B 0 FmP F FmOP 114 373.666 M (p)S FmE 858 0 :M f276 sf ( )S 860 0 :M FrMacBegin B 0 FmP F FmOP 119 376.166 M (0)S FmE 860 0 :M f148 sf ( )S 862 0 :M FrMacBegin B 0 FmP F FmOP 123 373.666 M ( recei)S -0.251 N (v)S -0.151 N (es v)S -0.251 N (alue 1.)S FmE 863 0 :M f250 sf ( )S 865 0 :M FrMacBegin B 0 FmP F FmOP 114 387.499 M (p)S FmE 865 0 :M f276 sf ( )S 867 0 :M FrMacBegin B 0 FmP F FmOP 119 389.999 M (2)S FmE 867 0 :M f148 sf ( )S 869 0 :M FrMacBegin B 0 FmP F FmOP 123 387.499 M ( recei)S -0.251 N (v)S -0.151 N (es v)S -0.251 N (alue 1.)S 78 401.332 M (p2 recei)S -0.251 N (v)S -0.151 N (es 25 from )S FmE 870 0 :M f250 sf ( )S 872 0 :M FrMacBegin B 0 FmP F FmOP 159.78 401.332 M (p)S FmE 872 0 :M f276 sf ( )S 874 0 :M FrMacBegin B 0 FmP F FmOP 164.78 403.832 M (3)S FmE 874 0 :M f148 sf ( )S 876 0 :M FrMacBegin B 0 FmP F FmOP 168.78 401.332 M ( and in)S -0.4 N (v)S -0.2 N (ok)S -0.1 N (es OM\(0\).)S FmE 877 0 :M f250 sf ( )S 879 0 :M FrMacBegin B 0 FmP F FmOP 114 415.166 M (p)S FmE 879 0 :M f276 sf ( )S 881 0 :M FrMacBegin B 0 FmP F FmOP 119 417.666 M (2)S FmE 881 0 :M f148 sf ( )S 883 0 :M FrMacBegin B 0 FmP F FmOP 123 415.166 M ( sends 25 to )S FmE 884 0 :M f250 sf ( )S 886 0 :M FrMacBegin B 0 FmP F FmOP 172.995 415.166 M (p)S FmE 886 0 :M f276 sf ( )S 888 0 :M FrMacBegin B 0 FmP F FmOP 177.995 417.666 M (0)S FmE 888 0 :M f148 sf ( )S 890 0 :M FrMacBegin B 0 FmP F FmOP 181.995 415.166 M ( and )S FmE 891 0 :M f250 sf ( )S 893 0 :M FrMacBegin B 0 FmP F FmOP 201.434 415.166 M (p)S FmE 893 0 :M f276 sf ( )S 895 0 :M FrMacBegin B 0 FmP F FmOP 206.434 417.666 M (1)S FmE 895 0 :M f148 sf ( )S 897 0 :M FrMacBegin B 0 FmP F FmOP 210.434 415.166 M (.)S FmE 898 0 :M f250 sf ( )S 900 0 :M FrMacBegin B 0 FmP F FmOP 114 428.999 M (p)S FmE 900 0 :M f276 sf ( )S 902 0 :M FrMacBegin B 0 FmP F FmOP 119 431.499 M (0)S FmE 902 0 :M f148 sf ( )S 904 0 :M FrMacBegin B 0 FmP F FmOP 123 428.999 M ( recei)S -0.251 N (v)S -0.151 N (es v)S -0.251 N (alue 25.)S FmE 905 0 :M f250 sf ( )S 907 0 :M FrMacBegin B 0 FmP F FmOP 114 442.832 M (p)S FmE 907 0 :M f276 sf ( )S 909 0 :M FrMacBegin B 0 FmP F FmOP 119 445.332 M (1)S FmE 909 0 :M f148 sf ( )S 911 0 :M FrMacBegin B 0 FmP F FmOP 123 442.832 M ( recei)S -0.251 N (v)S -0.151 N (es v)S -0.251 N (alue 25.)S FmE 912 0 :M f250 sf ( )S 914 0 :M FrMacBegin B 0 FmP F FmOP 78 456.665 M (p)S FmE 914 0 :M f276 sf ( )S 916 0 :M FrMacBegin B 0 FmP F FmOP 83 459.165 M (0)S FmE 916 0 :M f148 sf ( )S 918 0 :M FrMacBegin B 0 FmP F FmOP 87 456.665 M ( computes majority \(25, 1, 25\) and tak)S -0.1 N (es the v)S -0.251 N (alue at the source to be 25.)S FmE 919 0 :M f250 sf ( )S 921 0 :M FrMacBegin B 0 FmP F FmOP 78 470.499 M (p)S FmE 921 0 :M f276 sf ( )S 923 0 :M FrMacBegin B 0 FmP F FmOP 83 472.999 M (1)S FmE 923 0 :M f148 sf ( )S 925 0 :M FrMacBegin B 0 FmP F FmOP 87 470.499 M ( computes majority \(25, 1, 25\) and tak)S -0.1 N (es the v)S -0.251 N (alue at the source to be 25.)S FmE 926 0 :M f250 sf ( )S 928 0 :M FrMacBegin B 0 FmP F FmOP 78 484.332 M (p)S FmE 928 0 :M f276 sf ( )S 930 0 :M FrMacBegin B 0 FmP F FmOP 83 486.832 M (2)S FmE 930 0 :M f148 sf ( )S 932 0 :M FrMacBegin B 0 FmP F FmOP 87 484.332 M ( computes majority \(25, 1, 25\) and tak)S -0.1 N (es the v)S -0.251 N (alue at the source to be 25.)S 42 498.165 M (\245)S FmE 933 0 :M f250 sf ( )S 935 0 :M FrMacBegin B 0 FmP F FmOP 60 498.165 M (C)S FmE 935 0 :M f276 sf ( )S 937 0 :M FrMacBegin B 0 FmP F FmOP 66.67 500.665 M (0)S FmE 937 0 :M f148 sf ( )S 939 0 :M FrMacBegin B 0 FmP F FmOP 70.67 498.165 M ( = )S FmE 940 0 :M f250 sf ( )S 942 0 :M FrMacBegin B 0 FmP F FmOP 81.31 498.165 M (median)S FmE 942 0 :M f148 sf ( )S 944 0 :M FrMacBegin B 0 FmP F FmOP 110.746 498.165 M (\(2, 5, 8, 25\) = \(5 + 8\)/2 = 6)S 42 511.999 M (\245)S FmE 945 0 :M f250 sf ( )S 947 0 :M FrMacBegin B 0 FmP F FmOP 60 511.999 M (C)S FmE 947 0 :M f276 sf ( )S 949 0 :M FrMacBegin B 0 FmP F FmOP 66.67 514.499 M (1)S FmE 949 0 :M f148 sf ( )S 951 0 :M FrMacBegin B 0 FmP F FmOP 70.67 511.999 M ( = )S FmE 952 0 :M f250 sf ( )S 954 0 :M FrMacBegin B 0 FmP F FmOP 81.31 511.999 M (median)S FmE 954 0 :M f148 sf ( )S 956 0 :M FrMacBegin B 0 FmP F FmOP 110.746 511.999 M (\(2, 5, 8, 25\) = \(5 + 8\)/2 = 6)S 42 525.832 M (\245)S FmE 957 0 :M f250 sf ( )S 959 0 :M FrMacBegin B 0 FmP F FmOP 60 525.832 M (C)S FmE 959 0 :M f276 sf ( )S 961 0 :M FrMacBegin B 0 FmP F FmOP 66.67 528.332 M (2)S FmE 961 0 :M f148 sf ( )S 963 0 :M FrMacBegin B 0 FmP F FmOP 70.67 525.832 M ( = )S FmE 964 0 :M f250 sf ( )S 966 0 :M FrMacBegin B 0 FmP F FmOP 81.31 525.832 M (median)S FmE 966 0 :M f148 sf ( )S 968 0 :M FrMacBegin B 0 FmP F FmOP 110.746 525.832 M (\(2, 5, 8, 25\) = \(5 + 8\)/2 = 6)S 42 539.665 M (Notice thatall arri)S -0.251 N (v)S -0.151 N (e at the same v)S -0.251 N (alue.)S FmE endp showpage %%PageTrailer %%Trailer end %%EOF